89C51定时器详解:模式、功能与中断服务程序

需积分: 37 3 下载量 141 浏览量 更新于2024-08-17 收藏 2.54MB PPT 举报
"程序流程及程序清单-C51定时器课件" 本文主要讲解了89C51单片机中的定时器概念、结构、功能以及其四种工作模式,并结合具体的中断服务程序阐述了如何实现计时操作。89C51具有两个16位的定时器/计数器,即定时器0(T0)和定时器1(T1),它们由TH0、TL0、TH1和TL1四个8位特殊功能寄存器组成。定时器可以在定时或计数两种工作方式下运行,不占用CPU时间,除非发生溢出并触发中断。 定时器功能主要由特殊功能寄存器TMOD和TCON控制。TMOD用于设定定时器的工作模式,它不能位寻址,但可以通过字节设置T0和T1的工作模式。在89C51系统复位后,TMOD所有位默认被清零。TCON是定时器/计数器控制寄存器,可以控制定时器的启动、停止以及中断请求标志。 在定时工作方式下,定时器根据片内振荡器输出的12分频脉冲进行计数,当计数值满后会溢出并可能触发中断。例如,采用12MHz晶振时,定时器的计数频率为1MHz。而在计数工作方式下,定时器通过T0(P3.4)和T1(P3.5)引脚对外部脉冲进行计数,最高计数频率受限于振荡频率的1/24,且要求输入脉冲的保持时间和下降沿间隔满足一定的条件。 中断服务程序(PITO)主要负责计时操作,每秒更新秒、分、时的位置。程序首先检查计数是否达到10次,这代表1秒的时间已经过去。若未达到10次,中断返回;否则,执行相应的计时更新:秒位32H加1,满60则分位31H加1,满60分钟则时位30H加1,满24小时则所有相关计数器清零。中断服务程序流程如图6-14所示,这是实现定时功能的关键部分。 总结起来,89C51单片机的定时器是实现各种时间控制和计数任务的基础,通过灵活设置TMOD和TCON寄存器,可以实现丰富的定时和计数功能,而中断服务程序则确保了时间的精确管理。了解这些知识对于开发基于89C51的嵌入式系统至关重要,特别是涉及到实时性要求的项目。