6-外部中断应用程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6-外部中断应用程序设计

* * 单片机原理与接口技术 外部中断应用程序设计 学情分析 本节选自第五章:MCS-51中断、定时/计数器及串行接口/第1节:中断系统。中断系统是单片机课程体系中非常重要的一环。在学习完第2章后应对单片机的硬件结构有所掌握,第3、第4章是对单片机的软件编程进行讲解,第2-4章作为第5章的基础。 单片机的中断可以归类为3种。在大家理解中断概念及中断相关的控制寄存器后本节通过两个应用举例为大家讲解第1种中断方式—外部中断。 教学内容 (1)复习中断控制寄存器 (2)中断的程序的初始化步骤 (3)中断和查询结合的方法扩展多个外中断源 (4)基于外部中断的出租车计程器编程 说课 掌握中断服务程序初始化步骤,外部中断的入口地址 教学重点 外部中断服务程序编写方法 单片机扩展多个中断源方法的理解 案例式教学 教学 方法 教学难点 知识目标 学会中断服务程序 编写方法 (1)中断控制寄存器 定时/计数器控制寄存器(TCON) 中断允许控制寄存器(IE) 中断优先级控制寄存器(IP) * * D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 (2)中断的程序的初始化步骤 * * 1) 设置中断允许控制寄存器IE,允许相应的中断源请求中断。 2) 设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。 3) 若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发方式还是边沿触发方式。 (3)中断和查询结合的方法扩展多个外中断源 * * 当4台设备工作正常时,4个设备的故障源输入端(P1.1,P1.3,P1.5,P1.7)全为低电平0,显示灯全熄灭。 当某台设备出现故障时,则引发对应的故障源输入线由低电平0变为高电平1,从而引起8051的中断,在中断服务程序中通过查询即可判断故障源编号,并进行相应的LED显示。 #include reg51.h sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P1_2=P1^2; sbit P1_3=P1^3; sbit P1_4=P1^4; sbit P1_5=P1^5; sbit P1_6=P1^6; sbit P1_7=P1^7; void main( ) {P1=0x00; IT0=1; EX0=1; EA=1; while(1); } * * void ex0( ) interrupt 0 { if (P1_1==1) P1_0=1; else if(P1_3==1) P1_2=1; else if(P1_5==1) P1_4=1; else if(P1_7==1) P1_6=1; } 例 出租车计价器计程方法是车轮每运转一圈产生一个负脉冲,从外中断(INT0 P3.2)引脚输入,行驶里程=轮胎周长×运转圈数,设轮胎周长为2m,试实时计算出租车行驶里程(单位:m),数据存于 32H、31H、30H中。 * 第5章 中断系统 * (4)基于外部中断的出租车计程器编程 ORG 0000H ;复位地址 LJMP STAT ;转初始化 ORG 0003H ;中断入口地址 LJMP INT ;转中断服务程序 ORG 0100H ;初始化程序首地址 STAT: SETB IT0 ;置边沿触发方式 MOV IE,#81H ;开中断 MOV IP,#01H ;置高优先级 MOV 30H,#0 ;里程计数器清零 MOV 31H,#0 MOV 32H,#0 SJMP $ ; 等待中断 * 第5章 中断系统 * ORG 0200H ;中断服务子程序首地址 INT: MOV A, 30H ;读低8位里程计数器 ADD A, #2 ;低8位里程计数器加2m MOV 30H, A ;回存 CLR A ADDC A, 31H ;中8位里程计数器加进位

文档评论(0)

561190792 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档