80C51单片机定时/计数器详解

需积分: 5 0 下载量 122 浏览量 更新于2024-09-10 收藏 269KB DOC 举报
"这篇资料主要介绍了单片机学习,特别是80C51单片机中的定时/计数器的使用方法,内容简洁易懂,适合快速掌握相关知识。" 在单片机学习中,定时/计数器是至关重要的组成部分,80C51单片机内置了两个16位的可编程定时器/计数器,它们具有灵活的功能,如工作模式、定时时间等,可以通过指令进行设定和调整。这两个16位的计数器由两个8位的专用寄存器组成,分别是T0(TH0和TL0)和T1(TH1和TL1),它们的访问地址分别为8AH到8DH,可以独立访问。此外,定时器/计数器还包含了一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。 TMOD寄存器用于设定定时器的工作模式,可以选择不同的计数或定时方式。而TCON则负责控制定时器的启动和停止,同时存储T0和T1的溢出和中断标志,以便进行中断处理。 定时器/计数器的工作原理基于加1计数机制。当设置为定时工作模式时,计数器会在每个机器周期结束时自动加1,这个加1信号来源于振荡器的12分频信号。定时时间与系统振荡频率直接相关,最短定时周期为1μs。通过设置不同的定时器初值和选择不同长度的计数器(如8位、13位、16位),可以实现不同范围的定时。 在计数工作模式下,外部事件通过T0(P3.4)和T1(P3.5)引脚输入,每个机器周期的S5P2阶段,计数器会采样引脚电平。若检测到由1到0的下降沿,计数器会在下一个机器周期的S3P1期间加1。因此,外部脉冲的最高计数频率为振荡频率的1/24。以12MHz晶振为例,最高计数频率为0.5MHz。为确保正确采样,外部脉冲的高电平和低电平持续时间都应足够长。 学习单片机的定时/计数器功能,不仅可以帮助理解单片机内部的工作机制,还能为开发实际应用提供基础,例如在脉冲测量、延时控制、频率测量等方面有广泛的应用。熟悉这些基本知识,对于进一步深入学习单片机编程和嵌入式系统设计至关重要。