—单片机的中断系统精要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
方式2:最大计数值为M=28,因此定时器的初值应为: X = 28-(1×10-3)/(2×10-6) = 256-500= -254 计算得到的初值为负值,说明当fosc=6MHz时,不能采用方式2(即常数自动装入)来产生1ms的定时,除非把单片机的时钟频率降得很低。 第5章 中断系统和定时器 实验1: 设单片机的fosc=12MHz,采用T0定时方式1在P1.0脚上输出周期为2ms的方波(分别采用查询法和中断法)。 虚拟示波器 第5章 中断系统和定时器 解:周期为2ms的方波由2个半周期为1ms的正负脉冲组成 方波输出原理:定时1ms后将端口输出电平取反。 2ms 1ms 已知机器fosc =12MHz,则1ms定时的计数初值应为: a = - t×fosc/12 = -1000 第5章 中断系统和定时器 (1)用T0定时方式1查询方式编程,程序如下: #include reg51.h sbit P1_0=P1^0; void main (void) { TMOD = 0x01; //T0定时方式1 TR0=1; //启动T0 for( ; ; ){ TH0 = -(1000/256); //装载计数初值 TL0 = -(1000%256); do{ } while(!TF0); //查询等待TF0复位 P1_0 =!P1_0; //定时时间到P1.0反相 TF0 = 0; //软件清TF0 } } T0 第5章 中断系统和定时器 第5章 中断系统和定时器 (2)用T0定时方式1中断方式编程,程序如下: #include reg51.h sbit P1_0=P1^0; void timer0 (void) interrupt 1 { P1_0 = !P1_0; //P1.0取反 TH0 = -(1000/256); //计数初值重装载 TL0 = -(1000%256); } void main (void) { TMOD = 0x01; //T0定时方式1 P1_0=0; TH0=-(1000/256); //预置计数初值 TL0=-(1000%256); EA=1; ET0=1; TR0=1; do { } while (1); } 图5.1 实验实例1仿真效果图 第5章 中断系统和定时器 图5.2 实验实例1仿真波形图 第5章 中断系统和定时器 本章小结 51单片机的中断系统,包括中断控制寄存器、中断响应和中断处理过程。 中断处理流程的基本步骤是:关中断→保护现场→开中断→中断服务→关中断→恢复现场→开中断→中断返回。 C51中断函数声明的格式为: [ void] 函数名 ([void]) interrupt n [using m] { 函数体语句 } 第5章 中断系统和定时器 第5章 中断系统和定时器 使用定时/计数器的步骤: (1)设置TMOD工作方式字 ——确定T0? T1? ——确定定时模式?计数模式? ——确定方式0、方式1、方式2、方式3? ——确定定时/计数器的工作状态 (2)设置合适的计数初值——产生期望的定时间隔: 计数初值 a = 2n - t×fosc/12 = - t×fosc/12 TH0 = -t / 256; TL0 = -t % 256; 装载初值,例: (12MHz晶振) 第5章 中断系统和定时器 ET0 = 1; EA = 1; void tx_srv (void) interrupt n using n { … … } 3)确定采用何种方式处理溢出结果 查询方式?中断方式? if (TF0) { … … } while (!TF0) { … … } 第5章 中断系统和定时器 4)启动定时器: TR0 = 1 或 TR1= 1 5)进行定时或计数结束后的工作 6)为下次定时/计数做准备(清TF标志+重装载初值) 若是中断方式,则无需软件清TF标志位; 若是查询方式,还需软件清除TF标志位 若是方式2,没有重装载问题,否则需重装载初值 第5章 中断系统和定时器 第5章 中断系统和定时器 练习:定时器中断控制的跑马灯 采用定时中断方式,实现下图跑马灯控制功能。要求跑马灯的闪烁速率为每秒1次。 分析: 利用定时器直接进行1s延时是无法实现的,但可以利用统计法(利用定

文档评论(0)

文档资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档