网站大量收购独家精品文档,联系QQ:2885784924

北航7系单片机第五讲mail.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北航7系单片机第五讲mail

第二章 51系列单片机的结构原理 2.1 概述 2.2 存储器配置 2.3 输入/输出端口 2.4 定时/计数器 2.5 串行口 2.6 中断系统 2.7 振荡器,时钟电路,MCU时序及复位电路 2.8 80C51的节电运行 2.6 中断系统 中断:当机器在执行程序的过程中,一旦遇到一些异常情况或特殊请求时,就暂时停止正在执行的程序,而转入必要的处理(叫做中断处理或中断服务),并且在处理完毕后,立即返回原来被停止程序的间断点(叫做断点),继续执行原来被中断的程序,这一过程叫做中断。 中断源:中断请求的来源,或引起中断的原因。 中断判优:当多个中断源同时发出中断请求时,CPU通过判断中断的优先级而响应优先权最高的中断,这种判断过程叫中断判优。 中断嵌套:当一个低级别的中断服务时,有高级别的中断到来,则高级别中断源中断低级别中断。高级别的中断执行后再执行低级别的中断,从而形成中断嵌套。 中断响应的条件:CPU允许中断和CPU必须执行完一条指令。 中断响应:CPU响应中断,停止现行程序,通过查询到相应的中断入口(对应中断向量)执行中断处理,之后自动从中断处返回。 注意:在响应中断过程中,有两个过程是CPU自动完成的。 在转入中断处理前,自动完成 保留断点,即被中断程序的下一条指令的地址(PC)入栈,以备返回用。 把程序转向中断服务程序的入口地址 在中断处理后(RETI) 中断返回,PC出栈,返回中断处。 51单片机的中断系统 51单片机有5个中断源/INT0,/INT1,T0,T1,UART。它们在允许中断寄存器中对应着相应的控制允许位,并由IE中EA总控制。 它们可以通过中断优先级寄存器设为高级或低级两个级(IP)。 不同的中断源对应不同的中断向量。 注:除与IE、IP有关外,还与串行控制SCON,定时/计数控制TCON有关。尤其是TCON的后四位IE1,IT1,IE0,IT0。TI和RI由软件清除,其他由硬件清除。 TCON:定时/计数控制寄存器 IE1:外部中断1请求标志。中断到来时由硬件置位,请求中断;进入中断服务后硬件清除。 IT1:外部中断1类型控制位,靠软件来置位或清除,来控制触发类型。IT1=1时,下降沿触发;IT1=0时,低电平触发。 IE0:外部中断0请求标志 。 IT0:外部中断0类型控制位 。 IE:中断允许寄存器 EA:中断总允许位。=0,禁止所有中断;=1,又相应的源允许=1则可中断。 ES:串口中断允许位。 ET1:T1中断允许位。 EX1:外部中断1允许位。 ET0:T0中断允许位。 EX0:外部中断0允许位。 以上5位=1时,中断允许;=0时中断禁止。 中断优先级寄存器IP及中断优先级 PS:串口中断优先级设定位,=1时为高级。 PT1:T1中断优先级设定位,=1时为高级。 PX1:外部中断1优先级设定位,=1时为高级。 PT0:T0中断优先级设定位,=1时为高级。 PX0:外部中断0优先级设定位,=1时为高级。 IP寄存器把各个中断源的优先级分为高低两级,中断嵌套时:低优先级中断可被高优先级中断所中断,反之不能。 一种中断得到响应后,与它同级的中断不能再中断它。 当同一级的中断同时到来时,响应的前后顺序为: 中断源 中断向量单元 外部中断0 0003H 定时器0溢出 000BH 外部中断1 0013H 定时器1溢出 001BH 串行口中断 0023H 外部中断0,1 外部中断有下降沿触发和电平触发之分。由TCON中的两位控制。 当下降沿触发方式时(ITX=1),若/INTX在相继的两个机器周期中,采样分别为高和低,则IEX被置1,请求中断,所以高和低都要有一个机器周期以上,中断服务时,IEX被硬件自动清除。 当电平触发方式时(ITX=0),检测到低电平则IEX被置1,请求中断,中断服务时IEX被清除,中断服务中应有针对/INTX变高的设计,硬件上也要有相应的电路。 中断服务程序举例 定时器中断实验:单片机晶振为6Mhz,编程设定6秒定时,定时中断到来时,通过P1.0口发出信号,按规律点亮发光二极管。 定时器0中断服务子程序程序 #includereg51.h char data flag; sbit P10=P1^0; void time0() interrupt 1 using 1 { TH0=0x0B; TL0=0xDC; flag++; } 主程序 void main() { P10=1; //开始发光二极管不亮 TMOD=0x01; //使用定时器0

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档