首页 理论教育定时与计数范围-单片机基础及应用

定时与计数范围-单片机基础及应用

【摘要】:在工作方式0下进行计数时,计数值的范围是1~8192。使用定时功能时定时时间的计算公式为或其时间单位与晶振周期或机器周期的时间单位相同,为μs。方式0为13位计数结构。定时器/计数器0不用,所以保持其原来的控制位不变。程序设计定时器方式0例程说明

工作方式0下进行计数时,计数值的范围是1~8192(213)。使用定时功能时定时时间的计算公式为

其时间单位与晶振周期或机器周期的时间单位相同,为μs。若晶振频率为6MHz,则最小定时时间为

最大定时时间为

【例7-1】设单片机晶振频率为6MHz,使用定时器1在工作方式0下产生周期为1000μs的等宽正方波连续脉冲,并由P1.0输出,以查询方式完成。

【解】(1)计算计数器初值

在P 1.0端产生1000μs的等宽正方波,只需在P 1.0端以500μs为周期交替输出高低电平即可实现,为此定时时间应为500μs。单片机晶振频率为6MHz,则一个机器周期为2μs。方式0为13位计数结构。设待求的初值为X,则(www.chuimin.cn)

解得X=7942。二进制数表示为11111000 00110,低5位放入TL1,TL1=06H;高8位放入TH1,TH1=F8H。

(2)相关控制寄存器的设置

TMOD的设置:定时器1工作在方式0下,则M1M0=00;为实现定时功能=0;由TR1启停控制位控制,因此GATE=0,TMOD的高四位为二进制0000。定时器/计数器0不用,所以保持其原来的控制位不变。

定时器的中断控制,由于要求采用查询方式,当定时器1的溢出标志位TF1置1时不允许产生中断,故应禁止中断,即IE的ET1=0。

(3)程序设计

定时器方式0例程说明