第四章_2MCS51单片机的内部资源及其编程外部中断zxl技术总结.ppt

第四章_2MCS51单片机的内部资源及其编程外部中断zxl技术总结.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例1 如图按下按钮,对输出灯取反 查询方式 中断方式 中断服务程序常见问题 中断服务程序代码过长,占了过多的进程; 定义全局标志变量:中断里设置标志,主程序根据标志执行程序,完成后清除该标志 中断端口不够用(8051只有2个中断INT0、INT1); 更换MPU 会扩展 中断如何扩充2 void main(void) { IT0=1; IT1=1; EX0=1; EX1=1; EA=1; LED_A=0;LED_B=0;LED_C=0; IA=1;IB=1;IC=1; while(1); } 中断如何扩充2 void int0(void) interrupt 0 { LED_A=0;LED_B=0;LED_C=0; IE1=0; EX1=1; } void int1(void) interrupt 2 { EX1=0; if(IA==0) LED_A=1; else if(IB==0) LED_B=1; else if(IC==0) LED_C=1; } 中断如何扩充3 利用硬件扩充多个中断源 采用一个8/3优先编码器74LS148,把多个中断源信号作为一个中断效果很好。 I7-I0优先级逐步降低 GS为标志位:判断是否有有效输入 中断如何扩充3 软件设计思路 #include reg51.h unsigned char status; bit flag; void int1(void) interrupt 2 using 2 { flag=1; /*设置标志*/ status=P1; /*存状态*/ ?} 中断如何扩充3 软件设计思路 void main(void) { PX1=1; /*置INT1高优先级中断*/ EX1=1; EA=1; /*INT1开中断,CPU开中断*/ while(1) { if(flag) /*有中断*/ { switch(status) /*根据中断源分支*/ { case 0: break; /*处理0*/ case 1: break; /*处理1*/ case 2: break; case 3: break; default:; } flag=0; } } } 第四章 MCS-51单片机的内部资源及其编程 单片机技术与应用 4-2、外部中断 8051外部中断 中断 中断源 中断优先级 中断嵌套 8051外部中断 中断:当CPU正处理某项事务时,若外界或内部发生紧急事件,要求CPU暂停正在处理的工作转而去处理这个紧急事件,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。(堆栈) 中断源:向CPU提出中断请求的源称为中断源 外部跳变信号(下降延) 外部低电平等 (0) 8051外部中断 中断优先级:当几个中断源同时请求中断时,CPU应优先响应最需紧急处理的中断请求。为此,需要规定各个中断源的优先级。在优先级高的中断请求处理完了以后。再响应优先级低的中断请求。 中断嵌套:当CPU正在处理一个优先级低的中断请求的时,如果发生另一个优先级比它高的中断请求,CPU能暂停当前处理的中断,转去处理优先级高的中断请求,待处理完以后,再回到原来正在处理的低级中断程序,这种高级中断源能中断低级中断源的中断处理称为中断嵌套。 8051中断 8051单片机有 5个中断源 2个中断优先级(2级中断嵌套),优先级可通过编程实现 IE(中断允许寄存器):中断源的中断请求是否能得到响应,受IE的控制; IP(中断优先级寄存器):各个中断源的优先级可由IP的各位来确定;同一优先级中的各中断源同时请求中断时,由内部的查询逻辑来确定响应的次序。 8051中断源 8051五个中断源 INT0中断(P3.2) T0中断 (P3.4) INT1中断(P3.3) T1中断 (P3.5) 串行中断(P3.0、P3.1) 8051中断入口(ROM)地址和优先级 中断源 中断号(n) 中断入口地址(8n+3) 中断优先级 INT0中断 0 0003H 高 低 T0中断 1 000BH INT1中断 2 0013H T1中断 3 001BH 串行口中断 4 0023H T2中断 5 002BH 8051 INT0中断机理 当INT0引脚输入如下信号: 下降沿(IT0=1)

文档评论(0)

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

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

1亿VIP精品文档

相关文档