单片机C语言编程(中断).ppt

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

5.4 中断应用举例 IT0=1; //选边沿触发方式 EA=1; //CPU开中断 while (1); //等待中断 } void int0_int(void) interrupt 0 { unsigned char data d; P1=0xf0; //设P1.4~P1.7为输入 d=P1; //取开关数 P1=~(d4); //驱动LED发光 } * 5.4 中断应用举例 汇编程序: ORG 0000H SJMP MAIN ;上电,转向主程序 ORG 0003H ;外部中断0入口地址 SJMP INSER ;转向中断服务程序 ORG 0030H ;主程序 MAIN: SETB EX0 ;允许外部中断0中断 SETB IT0 ;选择边沿触发方式 SETB EA ;CPU开中断 * 5.4 中断应用举例 HERE: SJMP HERE ;等待中断 INSER: ;中断服务程序 MOV A MOV P1,#0F0H ;设P1.4~P1.7为输入 MOV A,P1 ;取开关数据 SWAP A ;A的高、低四位互换 CPL MOV P1,A ;输出驱动LED发光 RETI ;中断返回 END * 本章小结 本章介绍了中断的基本概念,中断系统的逻辑结构,中断控制的过程、以及中断的应用。 89C52单片机内部有6个中断源,它们分别是外部中断0、外部中断1、定时器0,1,2和串行口。对应8个中断标志,6个中断允许和优先级控制位。 不同中断源有不同的中断入口地址,读者在编制程序时一定要注意正确区分中断源,从而保证中断功能的正确实现。 * 5.2.2 MCS-51单片机的中断源 PS(IP.4):串行口中断优先级控制位 PS=0,设置为低优先级; PS=1,设置为高优先级。 PT1(IP.3):T1的中断优先级控制位 功能同PT2。 PX1(IP.2):外中断1中断优先级控制位 PX1=0,设置为低优先级; PX1=1,设置为高优先级。 * 5.2.2 MCS-51单片机的中断源 PT0(IP.1):T0中断优先级控制位 功能同PT1。 PX0(IP.0):外中断0中断优先级控制位 功能同PX1。 89C52单片机的中断优先级采用了自然优先级和人工设置高、低优先级的策略。中断处于同一级别时,就由自然优先级确定。开机时,每个中断都处于低优先级,中断优先级可以通过程序来设定,由中断优先级寄存器IP来统一管理。 如下图所示: * 5.2.2 MCS-51单片机的中断源 系统优先级规则图: 表 5-1 中断优先级的排列顺序 中断源 自然优先级顺序 外部中断0 定时器/计数器0 外部中断1 定时器/计数器1 串行口中断 定时器/计数器2 最 高 最低 * 5.2.2 MCS-51单片机的中断源 中断优先级规则: (1)对同时发生多个中断申请 不同优先级的中断同时申请:先高后低 相同优先级的中断同时申请:按序执行 (2)不同时发生多个中断申请 正处理低优先级中断又接到高级别中断:高打断低 正处理高优先级中断又接到低级别中断:高不理低 * 5.2.2 MCS-51单片机的中断源 在上述规则中,当CPU正在处理一个中断请求时,又出现了另一个优先级比它高的中断请求,就暂时中止执行优先级较低的中断源的服务程序,保护当前断点,转去处理更高的中断请求,服务完毕,回到原来被中止的中断程序继续执行。此过程为中断嵌套。 两级中断嵌套的处理过程如图5-7所示。 * 5.2.2 MCS-51单片机的中断源 思考:当系统正在处理定时器0中断的过程中,定时器1和外部中断0有中断请求,描述CPU的中断处理过程? * 5.2.2 MCS-51单片机的中断源 例5-2 设定时器和串行口中断为高优先级,两个外部中断为低优先级,试设置IP的值。 解:C语言程序 IP=0x3a; 汇编语言程序: (1)使用字节操作指令: MOV IP,#3AH (2)使用位操作指令: CLR PX0 ;设置外部中断0为低级中断 * 5.2.2 MCS-51单片机的中断源 CLR PX1 ;置外部中断1为低级中断 SETB PT0 ;置定时器/计数器0为高级中断 SETB PT1 ;置定时器/计数器0为高级中断 SETB PS ;置串行口中断为高优先级 SETB PT2 ;置定时器/计数器2为高级中断 由于复位后IP=00H,外部中断在此可以不设置。 * 5.3 中断响应及处理过程 主

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档