51单片机定时器中断详解及应用示例
需积分: 0 192 浏览量
更新于2024-07-12
收藏 1.94MB PPT 举报
"定时器中断-C51单片机04(定时器)课件"
这篇内容主要介绍了C51系列单片机中的定时器中断功能,特别是如何使用定时器T0进行中断服务程序的编写。C51单片机内有两个定时器/计数器,即T0和T1,而C52单片机则有三个,增加了T2。这些定时器/计数器可以被配置为定时模式或计数模式,并且可以通过系统时钟定时,或者对特定外部信号进行计数。
在定时器中断服务程序中,`timer0()`函数展示了如何处理定时器T0的中断。当定时器T0的溢出标志TF0被设置时,中断服务程序会被调用。在该程序中,`static uchar tt`用于记录中断发生的次数,每累计10次中断,LED0将发光保持一段时间,这个时间由变量`scale`决定。中断服务程序会清除溢出标志,更新计数,并根据`tt`的值来控制LED0的亮灭,从而实现不同的占空比输出。
定时器/计数器的工作方式通过TMOD寄存器进行设置,其中M1和M0位用于确定工作模式。例如,M1和M0都为0时,定时器工作在13位定时/计数器模式;M1为1,M0为1时,工作在16位定时/计数器模式。此外,C/T位用来区分定时和计数模式,GATE位则决定定时/计数器是否受外部中断请求信号影响。
控制定时器启停的是TCON寄存器,其中TR0和TR1分别用于启动或停止T0和T1。而TF0和TF1是对应的溢出标志位,当定时器计数达到预设值时,这些标志会被设置,通知CPU有中断发生。
在实际应用中,如示例所示,可以通过设置定时器T0在方式2下工作,实现一个自动重置的8位计数器,从而在P1.0端口输出周期可调的方波。这种方式下,TL0作为计数器,TH0存储初值,当TL0计数到256溢出后,其值会自动重置回初值,继续计数。
总结来说,C51单片机的定时器中断功能是通过设置TMOD和TCON寄存器,配合中断服务程序来实现的。它可以用于生成周期性信号、延时、脉宽调制等用途,是单片机控制中不可或缺的一部分。理解并熟练掌握定时器中断的使用,对于开发基于C51单片机的控制系统至关重要。
122 浏览量
165 浏览量
点击了解资源详情
385 浏览量
130 浏览量
438 浏览量
329 浏览量
671 浏览量
561 浏览量
深井冰323
- 粉丝: 24
- 资源: 2万+
最新资源
- HPUX系统优化简述-公众第一版
- ATMEGA16单片机
- IAR C LIBRARY FUNCTIONS Reference Guide
- Catia二次开发-界面定制
- GEC2410B实验箱教学平台-基础实验教程
- GEC2410B实验箱教学平台--uCOS----uCOS教程
- 嵌入式系统原理(简介与入门)
- 广嵌2440开发板实验资料本实验指导手册针对目前国内非常流行的三星公司 ARM9 嵌入式微处理器――S3C2440A,通过具体的实例精讲,详细介绍了 ARM9 嵌入式常用模块的原理和驱动程序实现方法。
- 网络工程师复习笔记1至15章(DOC)
- 基于TMS320LF2407A的SVPWM控制技术
- Spring-JdbcTemplate(中文)
- 应变式称重传感器的设计
- 软件工程——实践者的研究方法(原始版)
- Struts in Action 中文修正版.pdf
- 运行时类型识别(RTTI)原理.当你看到一种颜色,想知道它的RGB成分比,不查色表行吗?当你持有一种产品,想知道它的型号,不查型录行吗?要达到RTTI的能力,我们一定要在类构建起来的时候,记录必要的信息,已建立型录。型录中的类信息,最好以链表方式连接起来,将来方便一一比较
- 毕业设计中英文翻译中英文翻译