8051单片机定时器/计数器的工作原理是相同的,都是对脉冲进行计数,只不过脉冲来源不同。8051定时器的脉冲来源于晶振的12分频,8051计数器的来源则来自于外部脉冲。8051是工作于定时器还是计数器,计数脉冲是多少,可以通过相关的SFR寄存器来设定。当计数脉冲记满后利用溢出标志信号实现查询或中断处理。
2.8051单片机定时器/计数器涉及的专用寄存器及其作用
8051单片机定时器/计数器涉及的专用寄存器有:工作模式控制寄存器TMOD、T2MOD负责设定8051是工作于定时模式还是计数模式。TMOD是一个8位寄存器,其中低4位负责T0的设定,高4位负责T1的设定。TMOD寄存器中的M0、M1为工作模式设置位,通过设定M0、M1,可以使定时器/计数器工作于4种工作模式。而对于AT89S51、AT89S52系列,由于有3个定时/计数器,所以增加了T2MOD特殊功能寄存器供定时器/计数器T2使用。
控制寄存器TCON、T2CON(AT89S51、AT89S52系列专用):通过TCON寄存器既可以查询定时器/计数器有没有溢出,又可以启动和停止定时/计数器。
定时器/计数器寄存器TH0、TH1、TH2和TL0、TL1、TL2:其中TH是计数器的高8位,TL是计数器的低8位。3个计数器都是加法计数器,在预置初值的基础上进行加“1”操作,计数记满后,产生中断信号。
SP、IE、IP这三个寄存器在用到中断时会使用:SP是堆栈指针,设置堆栈栈顶的位置,以保护中断用到的寄存器;IE是中断允许控制寄存器;IP是中断优先级设置寄存器。(www.xing528.com)
定时监视器复位特殊功能寄存器WDTRST:AT89S51、AT89S52系列单片机看门狗设置寄存器,用于对程序进行监视,防止程序跑飞。
3.定时/计数器应用需考虑的内容
(1)工作方式、模式的设定 确定使用T0还是T1,是用定时器还是计数器,用4种模式的哪一种等问题。
(2)计数/计数初值的计算 当工作在定时器时,要根据晶振频率的数值和工作模式选择,计算出定时器的初始值。当工作在计数器时,除了考虑初值计算,还需注意外加脉冲的频率。外部输入的计数脉冲的最高频率不得高于系统振荡频率的1/24。
(3)程序设计 主要包含定时/计数初始化程序(中断入口地址给定、模式设定、计数初值的给定)、中断允许设置、启动定时、中断子程序设计等问题。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。