单片机中断优先级.docVIP

  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文档。上传文档
查看更多
单片机中断优先级

单片机中断优先级 实验目的 掌握AT89C51单片机中断优先级和优先权。 用PROTEUS设计、仿真基于AT89C51单片机的中断优先级 掌握中断编程。 单片机主程序控制P0口数码管循环显示0~8;外中断0(INT0)、外中断1(INT1)发生时分别在P2、P1口依次显示0~8;INT1为高优先级,INT0为低优先级。本仿真借助PROTEUS仿真功能形象直观演示了AT89C51单片机高低两级优先级工作原理。高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级,同一优先级不能相互中断。 Proteus电路设计 1.从PROTEUS库中选取元器件 (1)AT89C51:单片机 (2)RES、RX8、RESPACK-8:电阻、8排阻、带公共端的排阻; (3)7SEG-COM-AN-GRN:带公共端共阳七段绿色数码管 (4)BUTTON:按钮 (5)CAP、CAP-ELEC:电容、电解电容 (6)CRYSTAL:晶振 2. 放置元器件、放置电源和地、连线、元器件属性设置、电气检测 中断优先级的仿真电路原理图如下 (1)排阻:RESPACK-8(RP2)所示,在本电路中作P0口的上拉电阻,默认阻值如下图所示,在Component Value一栏中显示元器件名RESPACK-8,在此可更改阻值。 (2)总线连线法:P0口的接线采用总线方式, (1)选择总线按钮 (2)绘制方法:与普通电线的绘制方法一样,选择合适起点、终点单击。若终点在空白处,左双击结束连线。起点、终点可以是总线引脚、已有的总线或是空白处。 (3)电线与总线连接:把总线当做电线连接的一个终端,照常规连线即可。 (4)电线标注:与P0.0~P0.6相连的线标签名依次为P00~P06。本电路中P0口的上拉电阻通过总线与P0口相连,演示主程序的数码管的限流电阻通过总线与P0相连,这些都需要电线标注,以表明正确的电气连接。单击标签(Label)按钮后,单击引脚P0.0与总线相连的电线,弹出线标签编辑框如图所示。在“String”一栏中输入线标签名P00;单击排阻1脚与总线间的电线,将其标注为P00‘同样单击用于上拉的排阻2脚与总线的连线,将其标注为P00。其他的连线的标准按同样方法进行,结果如下图。 (3)P1.0~P1.6串联电阻后依次与数码管的a~g段相连,与数码管串联的电阻值设为300。其接线如下图。 源程序设计、生成目标代码文件 流程图 源程序设计 生成目标代码文件 PROTEUS仿真 1.加载目标代码文件 打开元器件单片机属性窗口,在“PROTEUS File”栏中添加上面编译好的目标代码“.HEX”文件,在“Clock Frequency”栏中输入晶振频率为12MHZ。 2.仿真 单击启动按钮,启动仿真。主程序控制P0口数码管循环显示1~8。 (1)低优先级INT0中断主程序:当主程序运行时,单片机控制与P0口相接的数码管循环显示1~8;而P1、P2口的数码管不显示。当前在主程序控制P0口显示“8”的时刻单击“低优先级输入”按钮,触发INT0如图所示,INT0服务程序控制P2口依次显示1~8,当前显示“4”。 (2)高优先级INT1中断低优先级INT0:在上一步的基础上,即主程序被INT0中断在输出“8”,而INT0服务程序在P2口输出“2”的时刻,单击“高优先级输入”按钮,触发高优先级INT1,所在INT0被中断在显示“2”,INT1服务程序控制P1口依次显示1~8,运行片段如下图所示,当P1口输出“4”。接下来,INT1控制P1口输出5、6……8,关闭显示,中断返回至INT0显示“2”的断点,接着P2口输出3、4……、8,中断返回至主程序断点显示“8”。接着主程序控制P0口输出循环显示1、2……8。 用PROTEUS图形化的仿真功能,很好地演示了中断优先级的原理。

文档评论(0)

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

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

1亿VIP精品文档

相关文档