第七章MCS单片机内部定时器计数器研讨
选择计数器工作方式时,计数脉冲来自相应的外部引脚T0和T1。当输入信号产生由1至0的跳变时,计数寄存器(TH0、TL0或TH1、TL1)的值增1。每个机器周期的S5P2期间,对外部输入进行采样。如果在第一个周期中采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的再下一个周期的S3P1期间,计数值就增1。由于确认一次下跳变要花2个机器周期,即24个振荡器周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24。对外部输入信号的占空比并没有什么限制,但是为了确保某一给定的电平在变化之前至少被采样一次,则这一电平至少要保持一个机器周期。 当TMOD寄存器中的M1M0为00时,定时器/计数器0或1被置为方式0。方式0为13位的计数器,由TL0的低5位(TL0的高3位弃之不用)和TH0的高8位构成。 当TMOD寄存器中的M1M0为10时,定时器/计数器0或1被置为方式2。方式2把TL0配置成一个可自动重装载的8位计数器。TL0加1计数器溢出时,不仅将溢出标志位TF0置位,同时还自动把TH0中的内容重装载到TL0中,重装载后TH0的内容不变。因为是靠溢出来装载的,故计数初值要同时预置TH0和TL0。 这种重装载工作方式非常适用于循环定时或循环计数,可以省去程序中的计数初值重新预置指令,此外还可以作串行数据通信的波特率发生器使用。 用中断法编制的程序如下:
原创力文档

文档评论(0)