51单片机教程:定时器/计数器的使用与配置

需积分: 0 2 下载量 32 浏览量 更新于2024-07-12 收藏 1.94MB PPT 举报
"本资源主要介绍了C51系列单片机中的定时器/计数器功能,包括定时器/计数器的特性、工作方式、配置步骤以及相关寄存器TMOD和TCON的详细解释。通过实例展示了如何设置定时器来在P1.0端口输出周期为500μs的方波。" C51单片机的定时器/计数器是其重要的组成部分,主要用作定时或对外部信号进行计数。51系列单片机有两个定时/计数器,即T0和T1,而C52系列则增加了一个T2。这些定时器/计数器都可以根据系统时钟进行定时,并且能够对P3.4(P0.4)和P3.5(P0.5)引脚上的外部信号进行计数。每个定时器/计数器具有多种工作模式,以满足不同的应用需求。 使用定时器/计数器通常需要以下步骤: 1. **方式选择**:通过设置TMOD寄存器来确定定时器/计数器的工作模式。TMOD寄存器的M1和M0位决定了工作方式,包括13位定时/计数器、16位定时/计数器、8位自动重置定时/计数器以及两个8位定时/计数器(仅T0支持)。 2. **初值设置**:根据所选的工作方式,将初始值写入TH0、TL0、TH1或TL1寄存器。 3. **中断允许**:启用全局中断EA,并根据需要开启特定定时器的中断,如ET0或ET1。 4. **启动操作**:设置TR0或TR1为1,启动定时器/计数器。 TMOD寄存器的其他位如C/T和GATE也非常重要。C/T位决定定时器是工作在计数模式还是定时模式,GATE位则控制定时器是否受外部中断请求信号影响。在实际应用中,GATE通常设置为0,以确保定时器的启动不受外部中断影响。 TCON寄存器用于控制定时器的启动和溢出标志,其中TF1和TF0分别表示T1和T0的溢出标志,TR1和TR0则是启动位,置1启动定时器,置0停止。 在方式2(自动重置8位计数)下,TL0作为计数器,当计数达到256(对于12MHz晶振的8位定时器)时,会自动重置并从TH0中加载新的初值,这在生成周期性脉冲或方波时非常有用。例如,通过设置TH0和TL0为0x06,可以在P1.0端口输出周期为500μs的方波。 这个课件不仅涵盖了理论知识,还提供了一个简单的C语言示例,展示了如何通过查询方式设置定时器来生成所需频率的方波。这对于学习C51单片机的定时器功能是非常有价值的实践指导。