第05章中断系统_第1页
第05章中断系统_第2页
第05章中断系统_第3页
第05章中断系统_第4页
第05章中断系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章 单片机中断系统5.1 中断源5.2 中断控制5.3 中断过程5.3.1中断请求5.3.2中断响应5.3.3中断处理5.3.4中断返回5.4 外部中断源扩展5.5 全自动洗衣机“启动/暂停”控制Ptoteus仿真中断概念中断概念单片机正在处理某项事务(如执行洗衣程序)的时候,系统发生了紧急事件(如衣物缠绕),需要处理;单片机暂停当前正在处理的工作,而转去处理这个紧急事件;待紧急事件处理完成后,再回到原来中断的地方,继续处理原来被中断的事务,这个过程称作中断。中断过程中断请求、中断响应、中断处理、中断返回中断作用1.通过中断系统,单片机可以同时控制多个外设并行操作。2.通过中断系统,单片机

2、可以方便实现实时处理,及时处理随机事件。3.通过中断系统,可以及时处理系统故障,如掉电、运算溢出等5.1中断源 能够向CPU申请中断的事件叫中断源。外部中断源INT0/INT1内部中断源T0/T1/串行口中断矢量中断源中断标志中断矢量引脚优先次序INT0外部中断0IE00003HP3.2高低定时/计数器0中断TF0000BHP3.4INT1外部中断1IE10013HP3.3定时/计数器1中断TF1001BHP3.5串行中断TI/RI0023H5.2中断控制 80518051单片机设有四个特殊功能寄存器:单片机设有四个特殊功能寄存器:定时控制寄存器定时控制寄存器TCONTCON串行控制寄存器串行

3、控制寄存器SCONSCON中断屏蔽寄存器中断屏蔽寄存器IEIE中断优先级寄存器中断优先级寄存器IP IP 1.1.定时控制寄存器定时控制寄存器TCON TCON TCONTCON的字节地址为的字节地址为88H88H,位地址为,位地址为88H8FH 88H8FH IT0/IT1IT0/IT1:外部中断:外部中断0/10/1请求触发方式控制位。请求触发方式控制位。1 1为脉冲触发,下降沿有效。为脉冲触发,下降沿有效。0 0为电为电平触发,低电平有效。平触发,低电平有效。IE0/IE1IE0/IE1:外中断:外中断/ /请求标志位。当请求标志位。当CPUCPU采样到(采样到(INT0/INT1INT

4、0/INT1)端出现有效中断)端出现有效中断请求时,请求时,IE0IE0(IE1IE1)位由硬件置)位由硬件置“1”1”。当中断响应,转向中断服务程序后,由硬。当中断响应,转向中断服务程序后,由硬件把件把IE0IE0(或(或IE1IE1)清零。)清零。 TR0/TR1TR0/TR1:定时:定时/ /计数器运行控制位。计数器运行控制位。TF0/TF1TF0/TF1:定时:定时/ /计数溢出标志位。用于定时计数溢出标志位。用于定时/ /计数器控制。计数器控制。 1INT 1INT0INT 0INTTCOND7D6D5D4D3D2D1D0位名称TF1TR1TF0TR0IE1IT1IE0IT0位地址8

5、FH8EH8DH8CH8BH8AH89H88H功能 T1 中断标志T1启动控制T0中断标志T0启动控制中 断标志触 发方式中断标志触发方式电平中断电平中断单片机在每个机器周期的单片机在每个机器周期的S5P2S5P2检查中断源口线一次,检查中断源口线一次,检测到低电平,即置位中断请求标志,向检测到低电平,即置位中断请求标志,向CPUCPU请求中请求中断。断。中断标志寄存器不锁存电平触发中断请求信号。单片机把每个机器周期的S5P2采样到的外部中断源口线的电平逻辑直接赋值到中断标志寄存器。但当中断请求被阻塞而没有得到及时响应时,将被丢失。电平触发中断请求不能及时撤销,将引起重复中断电平触发中断请求不

6、能及时撤销,将引起重复中断 边沿中断边沿中断单片机在上一个机器周期检测到中断源口线为高电平,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请下一个机器周期检测到低电平,即置位中断标志,请求中断。求中断。中断标志寄存器锁存边沿中断请求。中断口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU响应并转向该中断服务程序时,由硬件自动清除。因此因此当当CPUCPU正在执行同级中断(甚至是外部中断本身)或正在执行同级中断(甚至是外部中断本身)或高级中断时,产生的外部中断(负跳变)同样将被记高级中断时,产生的外部中断(负跳变)同样将被记录在中断标志寄存器中

7、。录在中断标志寄存器中。2.2.串行中断控制寄存器串行中断控制寄存器SCON SCON 串行控制寄存器串行控制寄存器SCONSCON的字节地址为的字节地址为98H98H,位地址为,位地址为98H-9FH98H-9FHTI: TI: 串行口发送中断请求标志位。当发送完一帧串行数据后,由硬件置串行口发送中断请求标志位。当发送完一帧串行数据后,由硬件置“1”1”;在中断响应,转向中断服务程序后,接口硬件不能自动将;在中断响应,转向中断服务程序后,接口硬件不能自动将TITI或或RIRI清清零,需用户用软件清零,来撤消中断。中断撤消必须在下一个中断到来之零,需用户用软件清零,来撤消中断。中断撤消必须在下

8、一个中断到来之前完成。前完成。 RIRI:串行口接收中断请求标志位。当接收完一帧串行数据后,由硬件置:串行口接收中断请求标志位。当接收完一帧串行数据后,由硬件置“1”1”;在中断响应,转向中断服务程序后,需用软件清;在中断响应,转向中断服务程序后,需用软件清“0”0”。串行中断请。串行中断请求由求由TITI和和RIRI的逻辑或得到。的逻辑或得到。 TCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功能 方式选择方式选择多机通讯控制接收允许发送第9位接收第9位串行发送中断串行接收中断3.3.中断屏蔽寄存

9、器中断屏蔽寄存器IE IE 中断屏蔽寄存器中断屏蔽寄存器IEIE用于控制各中断源的中断开放或关闭。字节地址为用于控制各中断源的中断开放或关闭。字节地址为0A8H0A8H,位地,位地址为址为0A8H-0AFH 0A8H-0AFH EAEA:中断允许总控位。:中断允许总控位。EA=0EA=0,屏蔽所有的中断请求;,屏蔽所有的中断请求;EA=1EA=1,开放所有中断请求。,开放所有中断请求。EAEA的作用是使中断允许形成两级控制。的作用是使中断允许形成两级控制。ESES:串行口中断允许位。:串行口中断允许位。ES=0ES=0,禁止串行口中断;,禁止串行口中断;ES=1ES=1允许串行口中断。允许串行

10、口中断。ET1ET1:定时器:定时器/ /计数器计数器T1T1的溢出中断允许位。的溢出中断允许位。ET1=0ET1=0,禁止,禁止T1T1中断;中断;ET1=1ET1=1,允许,允许T1T1中断。中断。EX1EX1:外部中断:外部中断1()1()的中断允许位。的中断允许位。EX1=0EX1=0,禁止外部中断,禁止外部中断1 1中断;中断;EX1=1EX1=1,允许外,允许外部中断部中断1 1中断。中断。ET0ET0:定时器:定时器/ /计数器计数器T0T0的溢出中断允许位。的溢出中断允许位。ET0=0ET0=0,禁止,禁止T0T0中断;中断;ET0=1ET0=1,允许,允许T0T0中断。中断。

11、EX0EX0:外部中断:外部中断0()0()的中断允许位。的中断允许位。EX0=0EX0=0,禁止外部中断,禁止外部中断0 0中断;中断;EX0=1EX0=1允许外部允许外部中断中断0 0中断。中断。 1INT0INTIED7D6D5D4D3D2D1D0位名称EA ESET1EX1ET0EX0位地址AFH ACHABHAAHA9HA8H中断源CPU 串口T1T04.4.中断优先级控制寄存器中断优先级控制寄存器IP IP MCS-51MCS-51单片机的中断源可以设置为两个优先级:高优先级和低优先级,从而实现两单片机的中断源可以设置为两个优先级:高优先级和低优先级,从而实现两级中断嵌套。级中断嵌

12、套。优先级控制可以通过修改中断优先级控制寄存器优先级控制可以通过修改中断优先级控制寄存器IPIP的内容实现。的内容实现。IPIP的字节地址为的字节地址为0B8H0B8H,位地址为,位地址为0BFH0BFH0B8H0B8H PSPS:串行口中断优先级控制位。:串行口中断优先级控制位。“0”0”为低优先级为低优先级,“1”,“1”为高优先级。为高优先级。PT1PT1:定时器:定时器/ /计数器计数器1 1(T1T1)的中断优先级控制位。)的中断优先级控制位。“0”0”为低优先级为低优先级,“1”,“1”为为高优先级。高优先级。PX1PX1:外部中断:外部中断1 1的中断优先级控制位。的中断优先级控

13、制位。“0”0”为低优先级为低优先级,“1”,“1”为高优先级。为高优先级。PT0PT0:定时器:定时器/ /计数器计数器0 0(T0T0)的中断优先级控制位。)的中断优先级控制位。“0”0”为低优先级为低优先级,“1”,“1”为为高优先级。高优先级。PX0PX0:外部中断:外部中断0 0的中断优先级控制位。的中断优先级控制位。“0”0”为低优先级为低优先级,“1”,“1”为高优先级。为高优先级。同一级别中,优先权次序遵从自然优先级,从高到低依次为:同一级别中,优先权次序遵从自然优先级,从高到低依次为:INT0INT0、T0T0、INT1INT1、T1T1、RI/TIRI/TI。 1INT0I

14、NTIPD7D6D5D4D3D2D1D0位名称 PSPT1PX1PT0PX0位地址 BCHBBHBAHB9HB8H中断源 串口T1T0中断优先级遵循下列原则:中断优先级遵循下列原则:正在进行中断服务的中断过程不能被新的同级正在进行中断服务的中断过程不能被新的同级或更低优先级的中断请求所中断,一直到该中断或更低优先级的中断请求所中断,一直到该中断服务程序结束,返回主程序且执行了主程序中的服务程序结束,返回主程序且执行了主程序中的一条指令后,一条指令后,CPUCPU才响应新的同级或低级中断请才响应新的同级或低级中断请求。求。正在进行的低优先级中断服务程序能被高优先正在进行的低优先级中断服务程序能被

15、高优先级中断请求所中断,实现两级中断嵌套。高级中级中断请求所中断,实现两级中断嵌套。高级中断结束后,返回低级中断服务。断结束后,返回低级中断服务。CPUCPU同时接收到几个中断请求时,首先响应高同时接收到几个中断请求时,首先响应高优先级的中断请求,同一优先级内部,按照自然优先级的中断请求,同一优先级内部,按照自然优先级响应。优先级响应。 5.3 5.3 中断过程中断过程 .1中断请求中断请求 中断请求就是中断源向中断请求就是中断源向CPUCPU申请中断的过程,即建立中断请求申请中断的过程,即建立中断请求标志位标志位IE0IE0、IE1IE1、TF0TF0、TF1TF1、TI/R

16、ITI/RI的过程的过程外部中断请求:经由引脚外部中断请求:经由引脚P3.2P3.2、P3.3P3.3向向CPUCPU申请中断的过程。申请中断的过程。外部中断请求有两种方式:低电平触发和下降沿触发。通过设置触发外部中断请求有两种方式:低电平触发和下降沿触发。通过设置触发方式控制位方式控制位IT0IT0、IT1IT1进行选择。进行选择。IT0=0IT0=0,表示为低电平触发方式;,表示为低电平触发方式;IT0=1IT0=1,表示为下降沿触发方式。,表示为下降沿触发方式。IT1IT1的情况类似。的情况类似。 外部中断请求标志存放在外部中断请求标志存放在IE0/IE1IE0/IE1中。中。IE0IE

17、0为中断请求标志位。当有中为中断请求标志位。当有中断请求时断请求时IE0IE0置置1 1。IE1IE1的情况类似。的情况类似。 内部中断请求:内部中断请求: 当当T0T0计数产生溢出时,由硬件置位计数产生溢出时,由硬件置位TF0TF0。当。当CPUCPU响应中断后,再由硬响应中断后,再由硬件将件将TF0TF0清清0 0。 T1T1的情况类似。的情况类似。当串行口发送结束时,使当串行口发送结束时,使TI=1TI=1;当串行口接收结束时,使;当串行口接收结束时,使RI=1RI=1。 CPUCPU响应中断后,由软件将响应中断后,由软件将TI/RITI/RI位清位清0 0。.2中断响应

18、中断响应 CPUCPU对中断请求进行判断,形成中断矢量,转入相应对中断请求进行判断,形成中断矢量,转入相应的中断服务程序的过程叫中断响应。的中断服务程序的过程叫中断响应。 一、一、CPUCPU响应中断的基本条件响应中断的基本条件有中断源提出中断请求;有中断源提出中断请求;中断总允许位中断总允许位EAEA1 1,即,即CPUCPU中断开放;中断开放;申请中断的中断源的中断允许位为申请中断的中断源的中断允许位为1 1,即中断源,即中断源开放;开放;CPUCPU没有响应同级或更高优先级的中断;没有响应同级或更高优先级的中断;当前指令执行结束;当前指令执行结束;如果正在执行的指令是如果正在执行的指令是

19、RETIRETI或是访问或是访问IEIE、IPIP指指令。令。 CPUCPU在执行在执行RETIRETI或访问或访问IEIE、IPIP指令后,至指令后,至少还需要再执行一条其它指令后才会响应中断请少还需要再执行一条其它指令后才会响应中断请求。求。二、中断响应过程二、中断响应过程单片机在每个机器周期的单片机在每个机器周期的S5P2S5P2期间,顺序期间,顺序采样每个中断源,建立中断请求标志。在采样每个中断源,建立中断请求标志。在下一个机器周期按优先级查询中断标志,下一个机器周期按优先级查询中断标志,如查询到有中断标志为如查询到有中断标志为1 1,则按优先级进行,则按优先级进行中断响应。中断响应。

20、 硬件将程序计数器硬件将程序计数器PCPC的当前内容压入堆栈的当前内容压入堆栈保护,然后将对应的中断矢量装入程序计保护,然后将对应的中断矢量装入程序计数器数器PCPC,使程序转向相应的中断。这相当,使程序转向相应的中断。这相当于执行一条长调用指令。于执行一条长调用指令。 中断响应过程中断响应过程中断响应过程: 保护断点地址; 把程序转向中断服务程序的入口地址(通常称矢量地址)执行中断服务程序。中断响应特别注意:这些工作是硬件自动完成的! 断点地址中断服务子程序的入口地址程序存储器程序存储器ROMROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外

21、部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口使用时,通常在这些入口地址处存放一条长跳转LCALL addr16指令,使程序跳转到用户安排的中断服务程序起始地址上去!5个固定固定的中断源矢量地址程序存储器程序存储器ROMROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH包含T0中断服务子程序的程序结构:ORG 0000HORG 0000HAJMP MAINORG 000BHORG

22、 000BHAJMP INTT0ORG 0100HORG 0100HMAIN: MOV A, #08 . .INTT0:MOV A, #03 . . RETI ENDAJMP MAINAJMP INTT0 5.3.3 5.3.3 中断处理中断服务程序从入口地址入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(执行中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是中断源服务(中断事务处理)。中断响应入口地址入口地址RETI保护现场INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL P

23、OP DPH POP ACC RETI保护现场恢复现场关中断保护现场开中断中断服务恢复现场开中断中断返回断点地址由堆栈弹出保护和恢复现场之后开中断,是为了允许响应更高级别的中断。保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。关中断RETI指令功能:把断点地址从堆栈取出,送到PC。并清除优先级状态触发器。 特别注意:不能用RET指令代替RETI指令!中断响应中断返回RETI.4中断返回中断返回 .5 5 中断请求撤消中断请求撤消外部中断外部中断INT0INT0、INT1INT1的中断请求标志的中断请求标志位位IE0IE0、IE1IE1在在CPUCPU响应中

24、断后,由硬件响应中断后,由硬件清清0 0撤消。撤消。定时定时/ /计数器计数器T0T0、T1T1溢出标志溢出标志TF0TF0、TF1TF1在在CPUCPU响应中断后,由硬件清响应中断后,由硬件清0 0撤撤消。消。串行口发送结束串行口发送结束/ /接收结束接收结束TI/RITI/RI在在 CPUCPU响应中断后,由软件清响应中断后,由软件清0 0撤消。撤消。.6 6中断响应时间中断响应时间中断响应时间是指中断响应时间是指CPUCPU检测到中断请求信号到转入中断检测到中断请求信号到转入中断服务程序所需要的时间。服务程序所需要的时间。若中断检测时正好是一条指令的最后若中断检测时正好是一

25、条指令的最后1 1个个机器周期,且机器周期,且不是不是RETIRETI或访问或访问IEIE、IPIP指令,则指令,则CPUCPU执行执行2 2个个机器周期的机器周期的长调用转移指令即可执行中断服务程序,共长调用转移指令即可执行中断服务程序,共1+2=31+2=3个个机器机器周期。周期。若中断检测时若中断检测时CPUCPU正在执行正在执行RETIRETI或访问或访问IEIE、IPIP指令的第指令的第一个机器周期,需一个机器周期,需2 2个个机器周期完成上述操作,若紧接着机器周期完成上述操作,若紧接着的下一条指令是乘法,则需的下一条指令是乘法,则需4 4个个机器周期,之后机器周期,之后CPUCPU

26、执行执行一条一条2 2个个机器周期的长调用转移指令才可执行中断服务程机器周期的长调用转移指令才可执行中断服务程序,故共需序,故共需8 8个个机器周期。机器周期。5.4 5.4 外部中断源扩展外部中断源扩展 MCS-51MCS-51单片机只提供了两个外部中断请求单片机只提供了两个外部中断请求输入端,在实际应用中,如果需要使用多于输入端,在实际应用中,如果需要使用多于两个的外部中断源,就必须进行外部中断源两个的外部中断源,就必须进行外部中断源的扩展。常用的几种外部中断源扩展方法是:的扩展。常用的几种外部中断源扩展方法是:利用单片机中的定时器利用单片机中的定时器/ /计数器计数器T0T0、T1T1来

27、来扩展;扩展;外接硬件电路并配合查询程序扩展;外接硬件电路并配合查询程序扩展;外接中断控制芯片(如外接中断控制芯片(如82598259)进行扩展)进行扩展。 1用定时器/计数器扩展外部中断源将定时器/计数器T0、T1设置为计数方式工作方式2负跳变触发初值设为0FFH允许中断当计数输入端发生一个负跳变时,计数器加1,便发生溢出,从而产生中断。 ORG 0100H MOV TMOD,#06H ;设置定时器T0为工作方式2、计数模式 MOV TH0,#0FFH ;设置计数器初值 MOV TL0,#0FFH SETB ET0 ;允许定时器中断SETB EA ;CPU开中断SETB TR0 ;启动定时器

28、T0初始化程序如下:2 2查询方式扩展外部中断源多个中断源通过一个中断请求引脚申请中断多个中断源通过一个中断请求引脚申请中断中断源内部采用查询方式确定中断源内部采用查询方式确定例:通过例:通过OCOC门实现外部中断源扩展的基本原理如下图所示门实现外部中断源扩展的基本原理如下图所示参考程序如下:参考程序如下: ORG 0003H LJMP INTER_PRO ORG 0100H INTER_PRO: JNB P1.0 ,SUB0_PRO JNB P1.1, SUB1_PRO . JNB P1.7, SUB7_PRO . .中断控制芯片(如)进行扩展中断控制芯片(如)进行扩展 当需要扩展的外部中断

29、源比较多时,可以当需要扩展的外部中断源比较多时,可以使用专用中断控制器使用专用中断控制器82598259实现。一个实现。一个82598259可以直可以直接扩展接扩展8 8个中断源,经级联后,最多可以扩展个中断源,经级联后,最多可以扩展6464个中断源。个中断源。堆栈设置触发方式设置中断开放优先级设置中断应用中断应用 8 8件事件事在入口放转移指令保护/恢复现场开关中断中断标志撤销【例例】 按键中断控制按键中断控制LED LED ORG 0000HAJMP MAINORG 0003HCLR EA AJMP PINT0ORG 0100HMAIN : MOV SP,#3FHSETB EASETB E

30、X0CLR IT0 H : SJMP HORG 0200HPINT0:CPL P2.0WAIT: JNB P3.2, WAITSETB EARETIEND 例例 两级中断两级中断ORG 0000HORG 0000H; ;在在0000H0000H单元存放转移指令单元存放转移指令 LJMP START LJMP START ; ;转移到主程序转移到主程序ORG 0003HORG 0003H; ;外部中断外部中断INT0INT0入口入口 LJMP EXT0 LJMP EXT0 ; ;转移到外部中断转移到外部中断0 0的中断服务程序的中断服务程序ORG 0013HORG 0013H; ;外部中断外部中

31、断INT1INT1入口入口 LJMP EXT1 LJMP EXT1 ; ;转移到外部中断转移到外部中断1 1的中断服务程序的中断服务程序ORG 0030H ORG 0030H ; ;主程序从主程序从0030H0030H开始存放开始存放START: MOV IE,#10000101B START: MOV IE,#10000101B ;CPU;CPU、INT0INT0、INT1INT1中断开放中断开放 MOV IP,#00000100B MOV IP,#00000100B ;INT1;INT1高中断优先级高中断优先级 MOV TCON,#00000101B MOV TCON,#00000101B

32、 ;INT0;INT0、INT1INT1为下降沿触发为下降沿触发 MOV SP,#3FH MOV SP,#3FH ; ;重置堆栈重置堆栈LOOP: MOV P1,#03H LOOP: MOV P1,#03H ; ;点亮点亮2 2只只LEDLED AJMP LOOP AJMP LOOP; ;等待中断等待中断EXT0: PUSH ACC EXT0: PUSH ACC ; ;堆栈保护堆栈保护 PUSH PSWPUSH PSW MOV R2,#0AH MOV R2,#0AH ; ;闪烁闪烁1010次次LOOP1: MOV P1,#00H LOOP1: MOV P1,#00H ; ;使使LED0LED0

33、、LED1LED1灭灭 LCALL DELAYLCALL DELAY MOV P1,#01H MOV P1,#01H ; ;使使LED0LED0亮亮 LCALL DELAYLCALL DELAY DJNZ R2,LOOP1 DJNZ R2,LOOP1 ; ;循环循环1010次次 POP PSWPOP PSW POP ACCPOP ACC RETIRETIEXT1: PUSH ACC EXT1: PUSH ACC ; ;堆栈保护堆栈保护 PUSH PSWPUSH PSW MOV R3,#0AH MOV R3,#0AH ; ;闪烁闪烁1010次次LOOP2: MOV P1, #00H LOOP2:

34、 MOV P1, #00H ; ;使使LED0LED0、LED1LED1灭灭 LCALL DELAYLCALL DELAY MOV P1,#02H MOV P1,#02H ; ;使使LED1LED1亮亮 LCALL DELAYLCALL DELAY DJNZ R3,LOOP2 DJNZ R3,LOOP2 ; ;循环循环1010次次 POP PSWPOP PSW POP ACC POP ACC RETI RETI ; ;中断返回中断返回DELAY: MOV R5, #20 DELAY: MOV R5, #20 ; ;延时延时200ms200ms子程序子程序 DLY1: MOV R6, #200D

35、LY1: MOV R6, #200 DLY2: MOV R7, #200DLY2: MOV R7, #200 DJNZ R7, $ DJNZ R7, $ DJNZ R6, DLY2 DJNZ R6, DLY2 DJNZ R5, DLY1 DJNZ R5, DLY1 RET RET; ;中断返回中断返回 END END PtoteusPtoteus仿真仿真 全自动洗衣机工作过程中,当遇到意外事件发生,如全自动洗衣机工作过程中,当遇到意外事件发生,如衣物缠绕,或需要干预洗衣进程时,如需要添加消衣物缠绕,或需要干预洗衣进程时,如需要添加消毒液,就需要暂停当前洗衣进程,处理这些事件。毒液,就需要暂停当

36、前洗衣进程,处理这些事件。假设全自动洗衣机有假设全自动洗衣机有8 8个流程,用个流程,用8 8个指示灯表示;个指示灯表示;用用8 8个按键进行选择控制。当某个流程工作时,对应个按键进行选择控制。当某个流程工作时,对应的指示灯点亮。当按下按键的指示灯点亮。当按下按键K K时,中断正在进行的流时,中断正在进行的流程,对应的流程指示灯闪烁,洗衣机进入等待状态;程,对应的流程指示灯闪烁,洗衣机进入等待状态;再次按下再次按下K K时,指示灯停止闪烁,变成点亮状态,表时,指示灯停止闪烁,变成点亮状态,表示洗衣机恢复原来被中断的洗衣流程。示洗衣机恢复原来被中断的洗衣流程。X111.0592MHzC133pC

37、233pVCCXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3

38、.6/WR16P3.5/T115U180C51PROGRAM=Text1.HEXSRCFILE=Text1.ASMR11kR21kR31kR41kR51kR61kR71kR81kVCCU2NOTU3NOTU4NOTU5NOTU6NOTU7NOTU8NOTU9NOTR16100R14100R13100R12100R11100R10100R15100R9100123U10:A7400456U10:B7400R171kR181kSW1SW-SPDTVCCQ12N5551R191kR201kVCCVCCD1D2D3D4D5D6D7D8LS1SPEAKERORG 0000H ORG 0000H ;在;在0000H0000H单元存放转移指令单元存放转移指令 AJMP MAIN AJMP MAIN ;转移至主程序;转移至主程序 ORG 0003H ORG 0003H ;INT0INT0中断入口中断入口 AJMP WBI AJMP WBI ;转中断服务程序;转中断服务程序 ORG 0030H ORG 0030H ;主程序;主程序 MAIN: MOV P2MAIN: MOV P2,#00H #00H ;全灯灭;全灯灭 SETB IT0 S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论