课件第7章-带中断的交通灯控制系统优秀PPT.ppt

上传人:wj151****6093 文档编号:86830961 上传时间:2023-04-15 格式:PPT 页数:86 大小:549.50KB
返回 下载 相关 举报
课件第7章-带中断的交通灯控制系统优秀PPT.ppt_第1页
第1页 / 共86页
课件第7章-带中断的交通灯控制系统优秀PPT.ppt_第2页
第2页 / 共86页
点击查看更多>>
资源描述

《课件第7章-带中断的交通灯控制系统优秀PPT.ppt》由会员分享,可在线阅读,更多相关《课件第7章-带中断的交通灯控制系统优秀PPT.ppt(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、视视察察与与思思索索n n1、实际交通灯限制是怎样的?n n2、此程序会出现问题吗?n n3、是什么缘由出现问题的?n n4、如何改正?n n答案见KEIL程序中的注释,可单步执行,视察现象,再说明。第七章单片机的中断系统 n n学问目标:理解单片机中断系统的结构,驾驭其限制寄存器,驾驭中断嵌套的概念,理解单片机中断的执行过程。n n技能目标:能运用中断的方法编写交通灯限制程序,能利用中断的方法设计中等难度的单片机限制系统。n n素养目标:养成不断提升学问水平及技能水平的学习习惯。养成将学习内容与日常生活类比的学习习惯。交交通通灯灯限限制制系系统统n n前面存在的主要问题:n n无法在随意时间

2、通过S1及S2强制使交通灯到所需的状态.n n怎么办?n n通过中断的方式:强制执行所需的工作(暂停现在的工作)项项目目二二任任务务2改改进进的的交交通通灯灯限限制制器器 n n要求:用中断的方法限制交通灯限制器中的S1、S2.n n任务分析:交通灯限制系统存在的主要问题:n n无法在随意时间通过S1及S2强制使交通灯到所需的状态.n n分析就可知道,必需等交通灯的一个转换循环结束,S1及S2的强制作用才能生效,通过仿真也可视察到这一现象,但这在现实中是不允许的,如有地方发生火灾或有重病病人要紧急送往医院,这类事情是耽搁不得的。硬硬件件电电路路及及限限制制方方法法流流程程图图起先东西向通行60

3、秒黄灯亮3秒南北向通行120秒黄灯亮3秒中断的初始化:开中断;电平触发方式;外中断0为低优先级,外中断1为高优先级东西向通行3S中断返回中断入口南北向通行3S中断返回中断入口S1按下,产生外部中断0S2按下,产生外部中断1要要求求n n驾驭中断的概念;n n驾驭中断的限制方法:开关中断;外部中断的中断触发方式;优先级;n n驾驭中断处理函数的编制方法;n n能应用中断的方法处理交通灯限制及其它中断问题;中中断断要要做做哪哪些些工工作作 n n中断处位置的记录。因为中断后还要回来,回到何处,只有记录了位置,才能回到正确的位置。n n中断前的重要信息存储。因为去处理中断事务,可能更改原来的记录信息

4、,故必需将原来的重要信息保存起来,回到原来处理的事情时,才能利用原有的信息,而不是被中断程序更改过的信息。n n正正正正在在在在执执执执行行行行显显显显示示示示程程程程序序序序键键键键盘盘盘盘按按按按下下下下处处处处理理理理键键键键盘盘盘盘扫扫扫扫描描描描接接接接着着着着处处处处理理理理键键键键盘盘盘盘扫扫扫扫描描描描接接接接着着着着执执执执行行行行显显显显示示示示程程程程序序序序处处处处理理理理定定定定时时时时器器器器动动动动作作作作定定定定时时时时时时时时间间间间到到到到图图图图 7 7.3 3 显显显显示示示示及及及及键键键键盘盘盘盘中中中中断断断断流流流流程程程程图图图图n n中中中中

5、断断断断处处处处理理理理的的的的去去去去向向向向。要要要要处处处处理理理理中中中中断断断断的的的的事事事事情情情情,必必必必需需需需知知知知道道道道到到到到哪哪哪哪里里里里去去去去处处处处理理理理。n n中中中中断断断断允允允允许许许许。因因因因为为为为,假假假假如如如如现现现现在在在在处处处处理理理理的的的的问问问问题题题题很很很很重重重重要要要要,现现现现在在在在的的的的进进进进程程程程就就就就不不不不能能能能被被被被打打打打断断断断。只只只只有有有有在在在在重重重重要要要要的的的的事事事事情情情情处处处处理理理理完完完完之之之之后后后后,才才才才去去去去响响响响应应应应中中中中断断断断的

6、的的的恳恳恳恳求求求求。n n中中中中断断断断的的的的优优优优先先先先级级级级。假假假假犹犹犹犹如如如如时时时时出出出出现现现现几几几几个个个个中中中中断断断断事事事事由由由由要要要要求求求求处处处处理理理理,必必必必需需需需依依依依据据据据轻轻轻轻重重重重缓缓缓缓急急急急处处处处理理理理,因因因因此此此此,必必必必需需需需对对对对它它它它们们们们编编编编制制制制一一一一个个个个优优优优先先先先等等等等级级级级。单单片片机机的的中中断断系系统统的的结结构构 n n中断是指在突发事务到来时先中止当前正在进行的工作,转而去处理突发事务。待处理完成后,再返回到原先被中止的工作处,接着进行随后的工作。

7、MCS-51单片机的中断系统结构执行主程序主程序接着执行主程序断点中断恳求中断响应执行中断处理程序中断返回n n引起突发事务的来源称为中断源n n中断源要求服务的恳求称为中断恳求n n对中断恳求供应的服务称为中断服务n n中断管理系统处理事务的过程称为中断响应过程引起引起引起引起CPUCPU中断的根源,称为中断源。中断源向中断的根源,称为中断源。中断源向中断的根源,称为中断源。中断源向中断的根源,称为中断源。中断源向CPUCPU提出提出提出提出的中断恳求。的中断恳求。的中断恳求。的中断恳求。CPUCPU短暂中断原来的事务短暂中断原来的事务短暂中断原来的事务短暂中断原来的事务A A,转去处理事务

8、,转去处理事务,转去处理事务,转去处理事务B B。对事务对事务对事务对事务B B处理完毕后,再回到原来被中断的地方(即断点),处理完毕后,再回到原来被中断的地方(即断点),处理完毕后,再回到原来被中断的地方(即断点),处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统称为中断返回。实现上述中断功能的部件称为中断系统称为中断返回。实现上述中断功能的部件称为中断系统称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。(中断机构)。(中断机构)。(中断机构)。8051的中断源 n n一一、(P P3 3.2 2)。可可由由I IT T0 0(T

9、TC COONN.0 0)选选择择其其为为低低电电平平有有效效还还是是下下降降沿沿有有效效。当当C CP PU U检检测测到到P P3 3.2 2引引脚脚上上出出现现有有效效的的中中断断信信号号时时,中中断断标标记记I IE E0 0(T TC COONN.1 1)置置1 1,向向C CP PU U申申请请中中断断。n n二二、(P P3 3.3 3)。可可由由I IT T1 1(T TC COONN.2 2)选选择择其其为为低低电电平平有有效效还还是是下下降降沿沿有有效效。当当C CP PU U检检测测到到P P3 3.3 3引引脚脚上上出出现现有有效效的的中中断断信信号号时时,中中断断标标

10、记记I IE E1 1(T TC COONN.3 3)置置1 1,向向C CP PU U申申请请中中断断。n n以以上上两两个个中中断断源源称称作作外外部部中中断断源源,因因为为它它们们都都是是由由外外部部输输入入的的。n n三三、定定时时器器T T0 0。T TF F0 0(T TC COONN.5 5),片片内内定定时时/计计数数器器T T0 0溢溢出出中中断断恳恳求求标标记记。当当定定时时/计计数数器器T T0 0发发生生溢溢出出时时,置置位位T TF F0 0,并并向向C CP PU U申申请请中中断断。n n四四、定定时时器器T T1 1。T TF F1 1(T TC COONN.7

11、 7),片片内内定定时时/计计数数器器T T1 1溢溢出出中中断断恳恳求求标标记记。当当定定时时/计计数数器器T T1 1发发生生溢溢出出时时,置置位位T TF F1 1,并并向向C CP PU U申申请请中中断断。n n五五、串串行行通通信信。R RI I(S SC COONN.0 0)或或T TI I(S SC COONN.1 1),串串行行口口中中断断恳恳求求标标记记。当当串串行行口口接接收收完完一一帧帧串串行行数数据据时时置置位位R RI I或或当当串串行行口口发发送送完完一一帧帧串串行行数数据据时时置置位位T TI I,向向C CP PU U申申请请中中断断。二、中断恳求标记二、中断

12、恳求标记1、TCON的中断标记的中断标记IT0IT0(TCON.0TCON.0),外部中断),外部中断),外部中断),外部中断0 0触发方式限制位。触发方式限制位。触发方式限制位。触发方式限制位。当当当当IT0=0IT0=0时,为电平触发方式。时,为电平触发方式。时,为电平触发方式。时,为电平触发方式。当当当当IT0=1IT0=1时,为边沿触发方式(下降沿有效)。时,为边沿触发方式(下降沿有效)。时,为边沿触发方式(下降沿有效)。时,为边沿触发方式(下降沿有效)。IE0IE0(TCON.1TCON.1),外部中断),外部中断),外部中断),外部中断0 0中断恳求标记位。中断恳求标记位。中断恳求

13、标记位。中断恳求标记位。IT1IT1(TCON.2TCON.2),外部中断),外部中断),外部中断),外部中断1 1触发方式限制位。触发方式限制位。触发方式限制位。触发方式限制位。IE1IE1(TCON.3TCON.3),外部中断),外部中断),外部中断),外部中断1 1中断恳求标记位。中断恳求标记位。中断恳求标记位。中断恳求标记位。TF0TF0(TCON.5TCON.5),定时),定时),定时),定时/计数器计数器计数器计数器T0T0溢出中断恳求标记位。溢出中断恳求标记位。溢出中断恳求标记位。溢出中断恳求标记位。TF1TF1(TCON.7TCON.7),定时),定时),定时),定时/计数器计

14、数器计数器计数器T1T1溢出中断恳求标记位。溢出中断恳求标记位。溢出中断恳求标记位。溢出中断恳求标记位。2、SCON的中断标记的中断标记n nRIRI(SCON.0SCON.0),串行口接收中断标记位。当允),串行口接收中断标记位。当允),串行口接收中断标记位。当允),串行口接收中断标记位。当允许串行口接收数据时,每接收完一个串行帧,由许串行口接收数据时,每接收完一个串行帧,由许串行口接收数据时,每接收完一个串行帧,由许串行口接收数据时,每接收完一个串行帧,由硬件置位硬件置位硬件置位硬件置位RIRI。同样,。同样,。同样,。同样,RIRI必需由软件清除。必需由软件清除。必需由软件清除。必需由软

15、件清除。n nTITI(SCON.1SCON.1),串行口发送中断标记位。当),串行口发送中断标记位。当),串行口发送中断标记位。当),串行口发送中断标记位。当CPUCPU将一个发送数据写入串行口发送缓冲器时,将一个发送数据写入串行口发送缓冲器时,将一个发送数据写入串行口发送缓冲器时,将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬就启动了发送过程。每发送完一个串行帧,由硬就启动了发送过程。每发送完一个串行帧,由硬就启动了发送过程。每发送完一个串行帧,由硬件置位件置位件置位件置位TITI。CPUCPU响应中断时,不能自动清除响应中断时,不能自动清除响应中断时,不

16、能自动清除响应中断时,不能自动清除TITI,TITI必需由软件清除。必需由软件清除。必需由软件清除。必需由软件清除。一、中断允许限制一、中断允许限制一、中断允许限制一、中断允许限制 CPU CPU对中断系统全部中断以及某个中断源对中断系统全部中断以及某个中断源对中断系统全部中断以及某个中断源对中断系统全部中断以及某个中断源的开放和屏蔽是由中断允许寄存器的开放和屏蔽是由中断允许寄存器的开放和屏蔽是由中断允许寄存器的开放和屏蔽是由中断允许寄存器IEIE限制的。限制的。限制的。限制的。80C5180C51中断的限制中断的限制 n nEX0EX0(IE.0)(IE.0),外部中断,外部中断,外部中断,

17、外部中断0 0允许位;允许位;允许位;允许位;n nET0ET0(IE.1)(IE.1),定时,定时,定时,定时/计数器计数器计数器计数器T0T0中断允许位;中断允许位;中断允许位;中断允许位;n nEX1EX1(IE.2)(IE.2),外部中断,外部中断,外部中断,外部中断1 1允许位;允许位;允许位;允许位;n nET1ET1(IE.3)(IE.3),定时,定时,定时,定时/计数器计数器计数器计数器T1T1中断允许位;中断允许位;中断允许位;中断允许位;n nESES(IE.4)IE.4),串行口中断允许位;,串行口中断允许位;,串行口中断允许位;,串行口中断允许位;n nEAEA(IE.

18、7)(IE.7),CPUCPU中断允许(总允许)位。中断允许(总允许)位。中断允许(总允许)位。中断允许(总允许)位。n n以上各位为时,允许相应的中断,为时禁止相应的中断,其中,EA为中断的总开关。二、中断优先级限制二、中断优先级限制 80C51单片机有两个中断优先级,即可实单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器级都是由中断优先级寄存器IP中的相应位的状中的相应位的状态来规定的态来规定的。n nPX0PX0(IP.0IP.0),外部中断),外部中断),外部中断),外部中断0 0优先级设定位;优先级

19、设定位;优先级设定位;优先级设定位;n nPT0PT0(IP.1IP.1),定时),定时),定时),定时/计数器计数器计数器计数器T0T0优先级设定位;优先级设定位;优先级设定位;优先级设定位;n nPX1PX1(IP.2IP.2),外部中断),外部中断),外部中断),外部中断0 0优先级设定位;优先级设定位;优先级设定位;优先级设定位;n nPT1PT1(IP.3IP.3),定时),定时),定时),定时/计数器计数器计数器计数器T1T1优先级设定位;优先级设定位;优先级设定位;优先级设定位;n nPSPS (IP.4IP.4),串行口优先级设定位;),串行口优先级设定位;),串行口优先级设定

20、位;),串行口优先级设定位;n nPT2 PT2(IP.5)(IP.5),定时,定时,定时,定时/计数器计数器计数器计数器T2T2优先级设定位。优先级设定位。优先级设定位。优先级设定位。n n上面各位为时,是高优先级,为时为低优先级。同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:80C51单片机的中断优先级有三条原则:单片机的中断优先级有三条原则:n nCPUCPU同时接收到几个中断时,首先响应优先级别最同时接收到几个中断时,首先响应优先级别最同时接收到几个中断时,首先响应优先级别最同时接收到几个中断时,

21、首先响应优先级别最高的中断恳求。高的中断恳求。高的中断恳求。高的中断恳求。n n正在进行的中断过程不能被新的同级或低优先级的正在进行的中断过程不能被新的同级或低优先级的正在进行的中断过程不能被新的同级或低优先级的正在进行的中断过程不能被新的同级或低优先级的中断恳求所中断。中断恳求所中断。中断恳求所中断。中断恳求所中断。n n正在进行的低优先级中断服务,能被高优先级中断正在进行的低优先级中断服务,能被高优先级中断正在进行的低优先级中断服务,能被高优先级中断正在进行的低优先级中断服务,能被高优先级中断恳求所中断。恳求所中断。恳求所中断。恳求所中断。中中断断的的入入口口n n单片机响应中断时,系统会

22、自动跳到相应的地址,即中断入口地址执行中断程序。这一过程是由中断系统自动支配的,不须要人为干预。中断入口地址表如上表所示,它们位于程序最起先的一段区间(0003H-0023H)。80C51单片机中断处理过程 一、中断响应条件一、中断响应条件 中断源有中断恳求;中断源有中断恳求;此中断源的中断允许位为此中断源的中断允许位为1;CPU开中断(即开中断(即EA=1)。)。同时满足时,同时满足时,CPU才有可能响应中才有可能响应中断。断。中断响应条件和时间中断响应条件和时间 n n二、中断服务的进入与返回n n进入中断服务是单片机自动支配的,如进入前会保存中断处地址及重要信息。进入中断服务程序后则执行

23、相应的服务程序,执行完后还要复原原来的地址及重要信息,然后返回到原来被中断处断续执行原来的程序。三三、中中断断响响应应时时间间 n n即从发出中断恳求到响应中断之间的时间,这一时间不长,一般为-个机器周期。中中断断服服务务程程序序的的编编制制 n n一、中断服务程序编制的格式n n中断响应过程就是自动调用并执行中断函数的过程。n nC51编译器支持在C源程序中干脆以函数形式编写中断服务程序。常用的中断函数定义语法如下:中断处理函数void 函数名()interrupt n 中断源中断源 n 入口地址入口地址外部中断0 0 0003H 定时/计数器0 1 000BH外部中断1 2 0013H定时

24、/计数器1 3 001BH串行口 4 0023H中中断断要要做做哪哪些些工工作作呢呢?n n中断处位置的记录。n n中断前的重要信息存储。n n中断处理的去向。n n中断允许。n n中断的优先级。二二、项项目目二二任任务务2解解答答:交交通通灯灯中中断断限限制制器器设设计计n n、电路图图 7.11 交通灯电路图2n n电路与原来的不同是将两个限制开关S1及S2移到了外部中断输入端口 处。当开关合上时,输入低电平产生中断,断开时不产生中断。、限限制制程程序序流流程程图图 n n限制程序流程图如图7.1所示。中断的产生是随机的,并没有固定的时刻。只有S1或S2按下则产生中断,还可对它们设置中断优

25、先级,从而避开以前同时按下时,不好确定响应哪个中断的状况。#include void delay(unsigned int);main()IE=0 x85;/开中断TCON=0 x00;/电平触发方式IP=0 x04;/外中断0为低优先级,外中断1为高优先级、限限制制程程序序while(1)P1=0 x21;delay(200);P1=0 x12;delay(20);P1=0 x0c;delay(400);P1=0 x12;delay(20);void int0()interrupt 0 /外中断0 P1=0 x21;delay(100);void int1()interrupt 2 /外中断

26、1 P1=0 x0c;delay(100);void delay(unsigned int j)unsigned int i,k;for(k=0;kj;k+)for(i=0;i500;i+);三三、关关于于中中断断触触发发方方式式及及程程序序编编制制的的探探讨讨n n1、关于边沿触发与电平触发的探讨n n1)电平触发中断n n电电平平触触发发方方式式比比较较好好理理解解.处处理理器器每每个个指指令令周周期期查查询询中中断断引引脚脚,当当发发觉觉引引脚脚电电平平为为低低时时,触触发发中中断断.假假如如信信号号从从1 1变变为为0 0,一一个个周周期期后后又又变变为为1 1 ,中中断断并并不不会会

27、被被清清除除,直直到到中中断断执执行行完完毕毕并并用用R RE ET TI I指指令令返返回回之之后后.但但是是假假如如输输入入信信号号始始终终为为低低,那那么么将将始始终终触触发发中中断断,当当要要求求中中断断服服务务的的器器件件在在中中断断服服务务结结束束一一段段时时间间之之后后才才释释放放信信号号线线时时就就会会发发生生这这种种状状况况.这这时时你你会会发发觉觉中中断断被被执执行行了了多多次次,所所消消耗耗的的时时间间比比预预期期的的要要长长很很多多,这这时时应应运运用用边边沿沿触触发发方方式式 2)边边沿沿触触发发方方式式n n当外部中断引脚电平由高向低变更时,将触发中断处理器.每个指

28、令周期查询中断引脚,当前一个指令周期是引脚电平为高,紧接着下一个指令周期检测到引脚电平为低时,将触发中断.像前面所提到的那样,这种方法适用于恳求中断服务的器件在中断服务结束一段时间之后才释放信号线时的状况.因为这时只有下降沿才会触发中断,假如你还想触发下一个中断就必需把电平先置高.n n当设计中断结构时,你要记住边沿触发适用于那些器件发出的中断恳求信号不须要软件清除的场合.最为普遍的例子是系统的时标.这种信号一般由实时时钟电路产生,这些器件一般供应一个占空比为50%的信号(即信号的一半是高电平,另一半为低电平).假如运用电平触发,将将产生很多中断,这样即使不扰乱程序的运行也将奢侈系统的资源.关

29、关于于程程序序文文档档的的规规范范化化问问题题探探讨讨n n尽量用易于理解的文字、符号替换专业等号n n为使程序简化,可定义简洁的符号代替常用的沉长的符号或关键字n n延时程序单独作为一个子程序n n主程序要尽量简洁化,让读者明白程序的骨干、主旨n n每一功能,无论简洁或困难,最好编为一子程序n n下面是交通灯限制的另一种程序写法,请留意它的规范性。中中断断限限制制的的交交通通灯灯#include/宏定义#define uchar unsigned char#define uint unsigned int/位变量定义sbit EAST_REDLIGHT=P10;sbit EAST_YELLO

30、WLIGHT=P11;sbit EAST_GREENLIGHT=P12;sbit SOUTH_REDLIGNT=P13;sbit SOUTH_YELLOWLIGHT=P14;sbit SOUTH_GREENLIGHT=P15;/延时子程序void delay(uint k)uint i,j;for(i=0;i1000;i+)for(j=0;jk;j+);/外部中断0响应程序 void int0()interrupt 0 EAST_REDLIGHT=1;/东西路口红灯开启 EAST_YELLOWLIGHT=0;/黄绿灯关闭 EAST_GREENLIGHT=0;SOUTH_REDLIGHT=1;/

31、南北路口红灯开启SOUTH_YELLOWLIGHT=0;/黄绿灯关闭SOUTH_GREENLIGHT=0;delay(850);/东西路口通行的子程序 void east()EAST_REDLIGHT=0;EAST_YELLOWLIGHT=0;EAST_GREENLIGHT=1;SOUTH_REDLIGHT=1;SOUTH_YELLOWLIGHT=0;SOUTH_GREENLIGHT=0;delay(850);EAST_REDLIGHT=0;EAST_YELLOWLIGHT=1;EAST_GREENLIGHT=0;delay(85);/南北路口通行子程序 void south()EAST_RE

32、DLIGHT=1;EAST_YELLOWLIGHT=0;EAST_GREENLIGHT=0;SOUTH_REDLIGHT=0;SOUTH_YELLOWLIGHT=0;SOUTH_GREENLIGHT=1;delay(850);SOUTH_REDLIGHT=0;SOUTH_YELLOWLIGHT=1;SOUTH_GREENLIGHT=0;delay(85);/主程序 main()IE=0 x81;/开中断 TCON=0 x00;/触发方式为电平方式 IP=0 x00;/while(1)east();/东西路口通行 south();/南北路口通行中中断断嵌嵌套套n n上面列举的几个例子中都有中断嵌

33、套的问题。中断嵌套,即中断被中断。n n千万是留意,多次中断并不是中断嵌套!要要求求n n驾驭中断嵌套的概念;n n能运用中断嵌套处理简洁的嵌套问题;n n能仿真中断嵌套试验;中中断断嵌嵌套套n n具具有有个个响响应应优优先先级级,可可以以实实现现中中断断的的嵌嵌套套,即即高高优优先先级级的的中中断断恳恳求求可可以以打打断断低低优优先先级级的的中中断断程程序序程程序序。n n等等高高优优先先级级的的中中断断程程序序执执行行完完后后再再转转到到低低优优先先级级的的中中断断服服务务程程序序接接着着执执行行。n n中中断断嵌嵌套套即即中中断断被被 中中断断;n n日日常常生生活活中中中中断断嵌嵌套套

34、的的例例子子n n如如科科代代表表交交作作业业中中断断了了老老师师的的备备课课,在在老老师师处处理理科科代代表表交交作作业业时时,老老师师又又补补系系领领导导叫叫去去有有其其它它事事情情,老老师师回回来来后后接接着着与与科科代代表表交交谈谈,了了解解班班级级学学习习状状况况,科科代代表表离离开开后后老老师师接接着着备备课课。项项目目二二任任务务3中中断断嵌嵌套套仿仿真真仿仿真真试试验验n n如图所示,正常时与中相接的数码管显示-;假如低优先级的开关按下,则中的数码管停止不动,与口相接的数码管显示-;假如这时高优先级的开关按下,则与口相接的数码管显示-;断开高优先级的开关后,等-一次循环显示完后

35、,转到低优先级的数码管接着显示;低优先级的开关断开后,转到正常的与口相连的数码管接着循环显示-.任任务务分分析析:n n这里有三个显示程序,即P0、P1、P2口的数码管都循环显示0-9。正常是P0口的显示,假如发生开关按下的状况,则要运程其它两个口的显示程序,既然有中断的状况有两个,就要对它们排队,这就是中断嵌套的问题。程程序序/中中中中断断断断嵌嵌嵌嵌套套套套试试试试验验验验/头头头头文文文文件件件件引引引引用用用用#i in nc cl lu ud de e r re eg g5 51 1.h h /宏宏宏宏定定定定义义义义#d de ef fi in ne e u uc ch ha ar

36、 r u un ns si ig gn ne ed d c ch ha ar r#d de ef fi in ne e u ui in nt t u un ns si ig gn ne ed d i in nt t/延延延延时时时时子子子子程程程程序序序序v vo oi id d d de el la ay y(u ui in nt t k k)u ui in nt t i i,j j;f fo or r(i i=0 0;i i0 0;i i+)f fo or r(j j=0 0;j j k k;j j+);/外外部部中中断断响响应应程程序序n nv vo oi id d i in nt t0

37、 0()i in nt te er rr ru up pt t 0 0n n n n u uc ch ha ar r i i;n n f fo or r(i i=0 0 x x0 00 0;i i 0 0 x x0 0a a;i i+)n n n n P P1 1=i i;n n d de el la ay y(8 85 50 0);n n n n P P1 1=0 0;n n n n/外外部部中中断断响响应应程程序序n nv vo oi id d i in nt t1 1()i in nt te er rr ru up pt t 2 2n n n nu uc ch ha ar r i i;n

38、 nf fo or r(i i=0 0 x xf f0 0;i i 0 0 x xf fa a;i i+)n n n n P P2 2=i i;n n d de el la ay y(8 85 50 0);n n n n P P2 2=0 0;n n n n/主主程程序序n nmma ai in n()n n n nu uc ch ha ar r i i;n nI IE E=0 0 x x8 85 5;/开开中中断断总总开开关关及及开开外外部部中中断断与与n n/E EA A=1 1;E EX X0 0=1 1;E EX X1 1=1 1;n nT TC COONN=0 0 x x0 00 0

39、;/外外部部中中断断为为电电平平触触发发n n/I IT T0 0=0 0;I IT T1 1=0 0;n nI IP P=0 0 x x0 04 4;/外外部部中中断断为为低低级级中中断断,外外部部中中断断为为高高级级中中断断n n/P PX X0 0=0 0;P PX X1 1=1 1;n nwhile(1)n nn nfor(i=0;i10;i+)n n n n P0=i;n n delay(850);/延时秒n n n nn nn n留意:假如口不接上拉电阻,则口的数码管显示不正常;n n这说明口的高阻状态;n n即口没有输出高电平的实力;n n因为口是集电极(漏极)开路的;n n三个

40、数码管分别通过BCD码-七段码译码器CD4511与P0、P1、P2的低四位的四根引脚相连,故送入三个端口的数据干脆为十进制数,无需送七段码。两个开关接到外部中断输入端,按下开关就可产生中断。程程序序更更改改与与思思索索n n变更IE的值,如为0 x81/84,看看再按下中断开关,状况是怎样的?为什么?n n变更IP的值,如为0 x00/01/11,看看在按下开关时,状况是怎样的?为什么?n n变更TCON的值,如为0 x05,即为边沿触发,看看按下开关时,状况是怎样的,分析为什么。启启示示n n按下中断开关,立刻停止主程序中的口的显示,转到中断的显示;反应出中断响应的实时性;n n高级中断中断

41、低级中断服务程序时,也是实时性的;即立刻停止低级显示,转到高级显示。n n高级中断撤消时,一次轮回显示-必需进行完后才回到低级中断限制的显示;反应出高级中断程序必需进行完才去执行低级的中断,即高级中断服务程序执行的完整性;n n低级中断撤消,回到主程序时,也是如此。n n留意ls47(cd4511)为译码驱动器;n nLS是输出低电平有效的;n nCD4511是输出高电平有效的;n n故用时接共阳的数码管,而用时,应接共阴的数码管;思思索索n n假如不用译码器,干脆将数码管接到三个端口,要达到同样的效果,程序该如何编写?n n画出电路图;n n画出主程序及中断程序流程图;n n编写相应的程序;

42、作业:如图所示,假如开关断开,作业:如图所示,假如开关断开,运行流水灯程序(即从上到下依次运行流水灯程序(即从上到下依次点亮一个点亮一个LED);假如开关闭合,);假如开关闭合,产生中断:产生中断:LED全亮。用中断的方全亮。用中断的方式实现。式实现。作业:如图所示,假如开关断开,运行作业:如图所示,假如开关断开,运行流水灯程序(即从上到下依次点亮一个流水灯程序(即从上到下依次点亮一个LED);假如开关闭合,产生中断:从);假如开关闭合,产生中断:从下到上依次点下到上依次点 亮亮LED一次。用中一次。用中断的方式实现。断的方式实现。作业:如图所示,假如开关断开,运行流水灯程序(即从作业:如图所

43、示,假如开关断开,运行流水灯程序(即从作业:如图所示,假如开关断开,运行流水灯程序(即从作业:如图所示,假如开关断开,运行流水灯程序(即从上到下依次点亮一个上到下依次点亮一个上到下依次点亮一个上到下依次点亮一个LEDLED);假如开关);假如开关);假如开关);假如开关(P3.2(P3.2处处处处)闭合,产闭合,产闭合,产闭合,产生中断:从下到上依次点亮生中断:从下到上依次点亮生中断:从下到上依次点亮生中断:从下到上依次点亮LEDLED一次;这时假如开关一次;这时假如开关一次;这时假如开关一次;这时假如开关(P3.3P3.3处)闭合,中断原来的中断:处)闭合,中断原来的中断:处)闭合,中断原来

44、的中断:处)闭合,中断原来的中断:LEDLED闪烁。用中断的闪烁。用中断的闪烁。用中断的闪烁。用中断的方式实现。方式实现。方式实现。方式实现。解解答答n n上面三个问题,一个一个推动,难度增加,但都是中断及中断嵌套问题。n n下面是最终一个的解答:#include#includeunsigned char a;main()unsigned int t;unsigned char i;EA=1;EX0=1;IT0=0;PX0=0;EX1=1;IT1=0;PX1=1;for(;)a=0 x7f;for(i=0;i=7;i+)P1=a;for(t=0;t=10000;t+);a=_crol_(a,1);void int0()interrupt 0 unsigned char i;unsigned int t;a=0 x7f;for(i=0;i8;i+)P1=a;for(t=0;t=10000;t+);a=_cror_(a,1);void int1()interrupt 2 unsigned int t;P1=0 x00;for(t=0;t=10000;t+);P1=0 xff;for(t=0;t=10000;t+);n n仿真可用文件夹“中断LED灯”

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 商业计划书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁