单片机电子琴系统程序设计 第4页
个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。
捕捉方式
在捕捉模式下,通过T2CON中的EXEN2来选择两种方式。如果EXEN2=0,定时器2时一个16位定时/计数器,溢出时,对T2CON的TF2标志置位,TF2引起中断。如果EXEN2=1,定时器2做相同的操作。除上述功能外,外部输入T2EX引脚(P1.1)1至0的下跳变也会使得TH2和TL2中的值分别捕捉到RCAP2H和RCAP2L中。除此之外,
T2EX的跳变会引起T2CON中的EXF2置位。像TF2一样,T2EX也会引起中断。捕捉模式下图所示。
2.5 基本功能介绍
(1)TMOD-定时器2控制寄存器
(2)T2CON:定时器/计数器2控制寄存器
符号 功能
TF2 定时器2溢出标志位。必须软件清“0”。RCLK=1或TCLK=1时,TF2不用置位。
EXF2 定时器2外部标志位。EXEN2=1时,T2EX上的负跳变而出现捕捉或重载时,EXF2会被硬件置位。定时器2打开,EXF2=1时,将引导CPU执行定时器2中断程序。EXF2必须如见清“0”。在向下/向上技术模式(DCEN=1)下EXF2不能引起中断。
RLCLK 串行口接收数据时钟标志位。若RLCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作模式1和3的串口接收时钟;RLCLK=0,将使用定时器1计数溢出作为串口接收时钟。
TCLK 串行口发送数据时钟标志位。若TCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作模式1和3的串口发送时钟;TCLK=0,将使用定时器1计数溢出作为串口发送时钟。
EXEN2 定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟,T2EX(P1.1)的负跳变见引起定时器2捕捉和重载。若EXEN2=0,定时器2将视T2EX端的信号无效
TR2 开始/停止控制定时器2。TR2=1,定时器2开始工作
定时器2定时/计数选择标志位。 =0,定时; =1,外部事件计数(下降沿触发)
捕捉/重载选择标志位。当EXEN2=1时, =1,T2EX出现负脉冲,会引起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载操作。 =0将引起T2EX的负脉冲。当RCKL=1或TCKL=1时,此标志位无效,定时器2溢出时,强制做自动重载操作。
(三)波特率发生器
通过设置T2CON(见表2)中的TCLK或RCLK可选择定时器2作为波特率发生器。如果定时器2作为发送或接收波特率发生器,定时器1可用作它用,发送和接收的波特率可以不同。如图8所示,设置RCLK和(或)TCLK可以使定时器2工作于波特率产生模式。波特率产生工作模式与自动重载模式相似,因此,TH2的翻转使得定时器2寄存器重载被软件预置16位值的RCAP2H和RCAP2L中的值。模式1和模式3的波特率由定时器2溢出速率决定,具体如下公式:
定时器可设置成定时器,也可为计数器。在多数应用情况下,一般配置成定时方式(CP/T2=0)。定时器2用于定时器操作与波特率发生器有所不同,它在每一机器周期(1/12晶振周期)都会增加;然而,作为波特率发生器,它在每一机器状态(1/2晶振周期)都会增加。波特率计算公式如下:
其中,(RCAP2H,RCAP2L)是RCAP2H和RCAP2L组成的16位无符号整数。定时器2作为波特率发生器,如图8所示。图中仅仅在T2CON中RCLK或TCLK=1才有效。特别强调,TH2的翻转并不置位TF2,也不产生中断; EXEN2置位后,T2EX引脚上1~0的下跳变不会使(RCAP2H,RCAP2L)重载到(TH2,TL2)中。因此,定时器2作为波特率发生器,T2EX也还可以作为一个额外的外部中断。定时器2处于波特率产生模式,TR2=1,定时器2正常工作。TH2或TL2不应该读写。在这种模式下,定时器在每一状态都会增加,读或写就不会准确。寄存器RCAP2可以读,但不能写,因为写可能和重载交迭,造成写和重载错误。在读写定时器2或RCAP2寄存器时,应该关闭定时器(TR2清0)。
(四)中断允许控制寄存器(IE)
(五)晶振特性
AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。
Ⅰ 内部振荡电路连接图 Ⅱ 外部振荡电路连接图
石英晶振 C1,C2=30PF±10PF
陶瓷谐振器 C1,C2=40PF±10PF
(六)空闲模式
在空闲工作模式下,CPU处于睡眠状态,而所有片上外部设备保持激活状态。这种状态可以通过软件产生。在这种状态下,片上RAM和特殊功能寄存器的内容保持不变。空闲模式可以被任一个中断或硬件复位终止。由硬件复位终止空闲模式只需两个机器周期有效复位信号,在这种情况下,片上硬件禁止访问内部RAM,而可以访问端口引脚。空闲模式被硬件复位终止后,为了防止预想不到的写端口,激活空闲模式的那一条指令的下一条指令不应该是写端口或外部存储器。
上一页 [1] [2] [3] [4] [5] [6] 下一页