单片机讲稿2.doc

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

第2章 中断系统 定时/计数器与串行通信 计算机对外部事件的实时处理是利用中断,系统来实现的.51CPU片内集成了中断部件.并提供二级中断的优先级处理. 2.1 中断系统结构及管理 基本的8051 支持5 个中断源,两个外部中断,两个定时/计数器中断,一个串行口输入/输出中断,中断发生后处理器转到将五个中断入口处之一执行中断处理.程序中断向量位于代码段的最低地址.除串行口输入输出中断共用一个中断,向量中断服务程序必须在中断入口处或通过跳转分支转移到别处. 2.1.1 中断系统的结构 1.外部中断源 由P3.2端口线引入,低电平或下降沿引起。 由P3.3端口线引入,低电平或下降沿引起。 2.内部中断源 T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。 中断入口地址 8051的中断系统的结构如图所示. 2.1.2 中断控制 1.中断允许寄存器IE(A8H) 通过设置中断使能寄存器IE 的EA 位,使能所有中断每个中断源都有单独的使能位,IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。其格式如图 2.中断优先寄存器IP(B8H) 8051 支持两个中断优先级有标准的中断机制。低优先级的中断只能被高优先级的中断所中断,而高优先级的中断不能被中断。每个中断源都可通过设置中断优先级寄存器IP 来单独设置中断优先级。如果每个中断源的相应位被置位则该中断源的优先级为高,如果相应的位被复位则该中断源的优先级为低。IP 寄存器的各位此寄存器可位寻址,IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位。 如IP,优先顺序为:外部中断0,定时中断0,串口中断,外部中断1,定时中断1。 判定原则:先区分优先级 的高低,同级中断是的响应顺序为:外部中断0,定时中断0,外部中断1,定时中断1,串口中断 2.1.3 中断响应过程 单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。 中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。 下列任何一种情况存在中断申请将被封锁: (1)CPU正在执行一个同级或高一级的中断服务程序。 (2)当前正在执行的那条指令还未执行完。 (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。 中断延迟 2.1.4 外部中断 8051 支持两个外部中断信号,外部器件能请求中断,得到相应的服务。外部中断由外部中断引脚外部中断0 为P3.2 外部(中断1 为P3.3) 电平为低或电平由高到低跳变引起。电平触发还是跳变触发取决于寄存器TCON 的ITX 位。电平触发时,当CPU检测到中断引脚电平为低时将产生中断低电平应至少保持一个指令周期或12 个时钟周期,因为处理器每个指令周期检测一次引脚。跳变触发时当在连续的两个周期中检测到由高到低的电平跳变时将产生中断而电平的0 状态应至少保持一个周期。 1、外部中断寄存器TCON IE1:外部中断1(INT1,P3.3)请求源标志, IE1=1请求中断。 当IE1=1时,外部中断1向CPU请求中断, CPU相应中断后,由硬件清0 IE1。 IE0:外部中断0 (INT0,P3.2)请求源标志, IT1:外部中断源1触发方式控制位。 IT1=0时为电平触发方式,当P3.3脚输出为低电平时,IE1=1,当P3.3脚输出为高电平时,IE1=0。 IT1=1时为边沿触发方式,只有两个采样周期监测到负跳变时IE1=1。 IT0:外部中断源0触发方式控制位。同上 2、程序设计 例:当外部按键每按1下,P1.0的小灯亮一秒。 方法1: ORG 0000H LOP:JNB P3.2,LOP LOP1:JB P3.2,LOP1 SETB P1.0 LCALL DELAY1S CLR P1.0 SJMP LOP 方法2: ORG 0000H SETB IT0 LOP:JNB TF0,LOP CLR TF0 SETB P1.0 LCALL DELAY1S CLR P1.0 SJMP LOP 方法3 ORG 0000H LJMP MAIN ORG 0003H SETB P1.0; LCALL DELAY1S CLR P1.0 RET

文档评论(0)

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

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

1亿VIP精品文档

相关文档