5.2定时器/计数器的工作方式选择及控制 (二)定时/计数器控制寄存器(TCON) 控制定时计数器的起停,反映定时/计数器是否计满。 D7 D6 D5 D4 D3 D2 DI DO TCON TFI TRI TFO TRO IE1 ITI IE0 ITO 定时器计数器1 的溢出标志 TR0=1启动定时/计数器T0 TR0=0定时/计数器T0停止计数 定时器计数器1 的起停控制位 TR1=1启动定时/计数器T1 定时器/计数器0 TR1=0定时/计数器T停止计数 的溢出标志 定时器计数器0 的起停控制位
6 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 定时器/计数器1 的溢出标志 TCON D7 D6 D5 D4 D3 D2 D1 D0 定时器/计数器0 的起停控制位 定时器/计数器1 的起停控制位 定时器/计数器0 的溢出标志 5.2 定时器/计数器的工作方式选择及控制 (二) 定时/计数器控制寄存器(TCON) 控制定时/计数器的起停,反映定时/计数器是否计满。 TR0 =1 启动定时/计数器T0 TR0 =0 定时/计数器T0停止计数 TR1 =1 启动定时/计数器T1 TR1 =0 定时/计数器T1停止计数
5.2定时器/计数器的工作方式选择及控制 (二)定时/计数器控制寄存器(TCON) 单片栩复位时,特殊功能寄存器TCON被漬0 TFX(x=0,1)和TRx(x=0,1)由软件方法置或 清0。既可按单元操作的方式,也可以按位操作方式。 如启动定时计数器T0和T1,清除溢出标志位TFO和 TF1操作如下 SETB TRO SETB TRI CLR TFO CLR TF1 或: MOV TCON,#01010003
7 (二) 定时/计数器控制寄存器(TCON) 单片机复位时,特殊功能寄存器TCON被清0。 TFx(x=0,1)和TRx(x=0,1)由软件方法置1或 清0。既可按单元操作的方式,也可以按位操作方式。 如启动定时/计数器T0和T1,清除溢出标志位TF0和 TF1操作如下: SETB TR0 SETB TR1 CLR TF0 CLR TF1 或: MOV TCON, #01010000B 5.2 定时器/计数器的工作方式选择及控制
5.2定时器/计数器的工作方式选择及控制 (二)定时/计数器控制寄存器(TCON) 注意:使用定时器/计数器时应注意以下几个方面: (1)MCS=5的定时器注数器为加计数器。 (2)定时器计数器T1的工作方式没有方式3 如果设置它为方式3(MM0=11),定时器计数器 T1停止工作 (3)一般情况下,定时器/计数器T溢出后, TF1自动置1,可以以此为判断标志,检测定时或计 数是否完成,但在定时器计数器T0设置为方式3时, TF1为1时意味着8位计数器TH0溢出,TFO为1表示8 位计数器TL0溢出。 (4)在计数器模式时,计数脉冲的频率不高于 振荡器频率的1/24
8 注意:使用定时器/计数器时应注意以下几个方面: (1)MCS-51的定时器/计数器为加1计数器。 (2)定时器/计数器T1的工作方式没有方式3, 如果设置它为方式3(M1M0=11),定时器/计数器 T1停止工作。 (3)一般情况下,定时器/计数器T1溢出后, TF1自动置1,可以以此为判断标志,检测定时或计 数是否完成,但在定时器/计数器T0设置为方式3时, TF1为1时意味着8位计数器TH0溢出,TF0为1表示8 位计数器TL0溢出。 (4)在计数器模式时,计数脉冲的频率不高于 振荡器频率的1/24. 5.2 定时器/计数器的工作方式选择及控制 (二) 定时/计数器控制寄存器(TCON)
5.3定时器/计数器的工作方式及工作原理 53.1方式0 OSC 12分频 C/T=O TLO THO (位)(3位) 中断请求 T0引脚 CT= CONTROL 计数器的高八位计数器的低五位 GAtE INT引脚 THO TLO 定时器/计数器T0工作方式0的逻辑结构
9 5.3.1 方式0 5.3 定时器/计数器的工作方式及工作原理 定时器/计数器T0工作方式0的逻辑结构 计数器的高八位 计数器的低五位 TH0 TL0
5.3定时器/计数器的工作方式及工作原理 53.1方式0 当GATE=0时,只要TR0为1,TL0及TH0组成的 13位计数器就开始计数; 当GATE=1时,仅当TR0为1,且INT0引脚输入信 号状态为1时,13位计数器开始计数。 计数器开始工作时,当13位计数器从初始值开始 加1计数,当13位计数器各位全1以后,再计数1次, 计数器就产生溢出,则TF0位由硬件自动置1,同时把 计数器清0。 在方式0下,计数器计数范围是1~8192(213) 定时时间范围为1~8192个机器周期
10 当GATE=0时,只要TR0为1,TL0及TH0组成的 13位计数器就开始计数; 当GATE=1时,仅当TR0为1,且INT0引脚输入信 号状态为1时,13位计数器开始计数。 计数器开始工作时,当13位计数器从初始值开始 加1计数,当13位计数器各位全1以后,再计数1次, 计数器就产生溢出,则TF0位由硬件自动置1,同时把 计数器清0。 在方式0下,计数器计数范围是1~8192(2 13)。 定时时间范围为1~8192个机器周期。 5.3 定时器/计数器的工作方式及工作原理 5.3.1 方式0