89C51定时器详解:模式、功能与中断服务程序
需积分: 37 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的嵌入式系统至关重要,特别是涉及到实时性要求的项目。
2023-03-09 上传
2022-05-24 上传
2022-06-16 上传
2024-03-07 上传
2015-05-31 上传
2010-05-20 上传
2022-09-24 上传
2022-06-22 上传
欧学东
- 粉丝: 785
- 资源: 2万+
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库