MCS-51定时/计数器工作原理与结构解析

需积分: 10 2 下载量 28 浏览量 更新于2024-08-20 收藏 398KB PPT 举报
"MCS-51定时/计数器方式逻辑图及相关知识点" MCS-51系列微控制器内置了两个16位的定时/计数器T0和T1,而MCS-52系列则在此基础上增加了一个T2。这些定时/计数器在系统中扮演着多种角色,包括但不限于定时、计数以及生成串行口的波特率。它们具有可编程的特性,可以灵活地适应不同的应用需求。 1. **定时/计数器的四种工作方式** - **方式0**:13位定时器,TL0的低5位和TH0的全部8位组成13位计数器,计数范围是0-8191。 - **方式1**:16位定时器,TH0和TL0组合成16位计数器,计数范围是0-65535。 - **方式2**:8位自动重装载定时器,仅使用TL0,当达到预设值时,TH0会自动装载当前TL0的值,形成一个8位的循环计数器。 - **方式3**:仅适用于T1,此时T1被配置为两个8位的独立计数器。 2. **控制寄存器TCON和TMOD** - **TCON** (88H):控制定时/计数器的启动、停止和中断。其中,TR0和TR1用于启动/停止定时器,TF0和TF1表示定时器的溢出标志,GATE控制外部门控信号,INT0和INT1是外部中断请求标志。 - **TMOD** (89H):设置定时/计数器的工作模式。高4位用于T1,低4位用于T0。C/T位用于切换定时或计数模式,M1和M0位定义具体的工作方式。 3. **定时/计数器的工作流程** - 当定时器/计数器被启动(如TR0或TR1置1)后,它们将根据预设的计数模式开始计数或定时。 - 定时器的计数值会根据系统时钟频率和分频系数进行累加。默认分频系数为12,意味着每个时钟周期后,计数值增加1/12。 - 当计数值达到预设阈值或溢出时,会触发中断(如果TF0或TF1被设置),并可能向CPU发送中断请求。 4. **中断处理** - 如果允许中断,定时/计数器溢出时,TF0或TF1标志会被置1,并且根据中断允许位IE和中断优先级寄存器IP,决定是否执行中断服务程序。 - 完成中断服务后,通常需要清除溢出标志,以便下次中断。 5. **串行口波特率发生器** - T1或T2可以被用来生成串行通信的波特率,通过调整预置值和分频系数,可以得到不同速率的波特率。 6. **特殊应用** - 定时器/计数器还可以用于实现软件延时、脉宽调制(PWM)、频率测量等功能,根据实际应用需求进行配置。 MCS-51系列微控制器的定时/计数器功能强大且灵活,能够满足各种嵌入式系统的定时和计数需求。理解其工作原理和配置方法对于开发基于MCS-51的系统至关重要。