MCS51系列单片机的中断系统及定时计数器

上传人:博****1 文档编号:568333787 上传时间:2024-07-24 格式:PPT 页数:53 大小:720.50KB
返回 下载 相关 举报
MCS51系列单片机的中断系统及定时计数器_第1页
第1页 / 共53页
MCS51系列单片机的中断系统及定时计数器_第2页
第2页 / 共53页
MCS51系列单片机的中断系统及定时计数器_第3页
第3页 / 共53页
MCS51系列单片机的中断系统及定时计数器_第4页
第4页 / 共53页
MCS51系列单片机的中断系统及定时计数器_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《MCS51系列单片机的中断系统及定时计数器》由会员分享,可在线阅读,更多相关《MCS51系列单片机的中断系统及定时计数器(53页珍藏版)》请在金锄头文库上搜索。

1、 Copyright http:/ 2006第第3章章 MCS51系列单片机的中断系系列单片机的中断系统及定时计数器统及定时计数器1.中断的基本概念2.MCS-51的中断系统3.中断源和中断标志4.中断的允许和优先权5.中断的处理过程6.外部中断源的扩展7.中断的应用中断系统中断系统1 Copyright http:/ 2006中断的基本概念日常生活中断的例子单片机中的中断概念中断技术的优点 什么是中断,我们从生活中的例子引入。什么是中断,我们从生活中的例子引入。 看书的例子:你正在看书,突然电话铃响了,看书的例子:你正在看书,突然电话铃响了,.。 中断就是正常的工作被外部事件打断了。中断就是

2、正常的工作被外部事件打断了。2 Copyright http:/ 2006日常生活中的中断仔细研究一下生活中的中断,对于我们学习计算机中仔细研究一下生活中的中断,对于我们学习计算机中的中断也很有好处。的中断也很有好处。 1、什么可以引起中断?生活中有很多事件可以引起中、什么可以引起中断?生活中有很多事件可以引起中断:有人按了门铃,电话铃响了,你的闹钟铃响了,断:有人按了门铃,电话铃响了,你的闹钟铃响了,你烧的水开了你烧的水开了,你内急了你内急了.等等诸如此类的事件,我等等诸如此类的事件,我们把可以引起中断的事件称之为中断源。计算机中们把可以引起中断的事件称之为中断源。计算机中也有一些可以引起中

3、断的事件,像也有一些可以引起中断的事件,像MCU51单片机就单片机就有有5个中断源。个中断源。3 Copyright http:/ 2006 2、中断的嵌套与优先级处理:、中断的嵌套与优先级处理: 设想一下,我们正在看书,电话铃突然响了,同时设想一下,我们正在看书,电话铃突然响了,同时又有人按了门铃,你该先做那样呢?如果你正在等又有人按了门铃,你该先做那样呢?如果你正在等一个很重要的电话,你一般不会去理会门铃的,而一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个很重要的客人,则可能就不会反之,你正在等一个很重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也去理会

4、电话了。如果不是这两者(即不等电话,也不等人上门)你可能会按你通常的习惯去处理。总不等人上门)你可能会按你通常的习惯去处理。总之这里存在一个优先级问题。之这里存在一个优先级问题。优先级问题不仅仅发优先级问题不仅仅发生在两个或以上的中断同时产生的情况,也发生在生在两个或以上的中断同时产生的情况,也发生在一个中断已经产生,又有一个中断产生的情况。一个中断已经产生,又有一个中断产生的情况。如如你正在接电话,有人按门铃的情况,或你正在开门你正在接电话,有人按门铃的情况,或你正在开门与人交谈,又有电话铃了的情况。考虑一下我们会与人交谈,又有电话铃了的情况。考虑一下我们会怎么办吧。怎么办吧。4 Copyr

5、ight http:/ 2006 3、中断的响应过程:、中断的响应过程:(看书的例子)当有事件产生,进入中断之前我们必(看书的例子)当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理当前页的位置,然后去处理不同的事情(因为处理完了,我们还要来继续看书)。完了,我们还要来继续看书)。 (接电话的例子)电话铃响了我们要到放电话的地方(接电话的例子)电话铃响了我们要到放电话的地方去,门铃响了,我们要到门那边去,也就是说,不去,门铃响了,我们要到门那边去,也就是说,不同的中断,我们要在不同

6、的地点处理,而这个地点同的中断,我们要在不同的地点处理,而这个地点通常还是固定的,这也和计算机中的中断类似,如通常还是固定的,这也和计算机中的中断类似,如51MCU 的的5个中断源都有各自的中断入口地址,当个中断源都有各自的中断入口地址,当某个中断源产生中断时,某个中断源产生中断时,CPU响应中断便到相应的响应中断便到相应的中断入口地址执行程序。中断入口地址执行程序。 5 Copyright http:/ 2006 计算机中的中断计算机中的中断 计算机执行正常程序时,系统出现某些急需处理的异计算机执行正常程序时,系统出现某些急需处理的异常情况和特殊请求,常情况和特殊请求,CPU暂时中止现在正在

7、执行的暂时中止现在正在执行的的指令,转去对随机发生的更紧迫事件处理;处理的指令,转去对随机发生的更紧迫事件处理;处理完后,完后,CPU会自动返回原来的程序继续执行。会自动返回原来的程序继续执行。 就如:你正在家中看书,突然电话铃响了,你放下书就如:你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的回来继续看你的书。这就是生活中的“中断中断”的现象,的现象,就是正常的工作过程被外部的事件打断了。就是正常的工作过程被外部的事件打断了。计算机中的中断6 Copyright http:/

8、2006计算机中的中断 中断中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源中断源。CPUCPU现行运行的程序称为主程序主程序。处理随机事件的程序称为中断服务中断服务子程序子程序。 7 Copyright http:/ 2006 中断技术的优点中断技术的优点分时操作分时操作 CPU可以同多个外设“同时”工作实时处理实时处理 CPU及时处理随机事件故障处理故障处理 电源掉电、存储出错、运算溢出 8 Copyright http:/ 2006MCS-51中断系统中断源中断源中断标志中断

9、标志中断允许中断允许中断优先级中断优先级MCS-51中断系统结构中断系统结构中断寄存器中断寄存器9 Copyright http:/ 2006 MCS-51的中断系统的中断系统中断源中断源8051单片机有5个个中断请求源:单片机单片机INT0或 外部输入中断源INT0(P3.2)INT1或 外部输入中断源INT1(P3.3)T0 片内定时器T0的溢出T1 片内定时器T1的溢出串行口 片内串行口发送或接收中断源10 Copyright http:/ 2006 MCS-51的中断系统的中断系统中断标志中断标志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断源中断标

10、志位中断标志位 每一个中断源都有相应的中断标志位; 某一个中断源申请中断,相应中断标志位置1。11 Copyright http:/ 2006 MCS-51的中断系统的中断系统中断允许中断允许CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断源中断标志位中断标志位 EA总中断允许位,总中断允许位,EA=1开放所有中断,开放所有中断,EA=0,禁止禁止所有中断;所有中断; 某一个中断源还有相应的中断允许位,某一个中断源还有相应的中断允许位,1允许相应中断源的允许相应中断源的中断,中断,0禁止相应中断源的中断。禁止相应中断源的中断。中断允许中断允许ESET0EX0E

11、X1ET1EA12 Copyright http:/ 2006 IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自自然然优优先先级级矢量地址高高级级中中断断请请求求自自然然优优先先级级矢量地址低低级级中中断断请请求求PX0PT0PX1PT1PSIEIP MCS-51 MCS-51的中断系统结构图的中断系统结构图中断标志位中断源允许总允许中断优先级13 Copyright http:/ 2006 TF1 TF0 IE1 IT1 IE0 IT0TCONT1溢出中断标志溢出中断标志(

12、TCON.7): T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。76543210TCONTCON寄存器寄存器T0T0和和T1T1控制寄存器控制寄存器14 Copyright http:/ 2006 TF1 TF0 IE1 IT1 IE0 IT0TCON 88H外部中断外部中断INT1中断标志中断标志位位(TCON.3) : IE11,外部中断1向CPU申请中断 外部中断外部中断INT1触发方触发方式控制位式控制位(TCON.2): IT1=0,电平触发方式 IT1=1, 下降沿触发方式76

13、543210TCON寄存器T0和T1控制寄存器注意:该寄存器可以位寻址。15 Copyright http:/ 2006TF1:定时器1的溢出中断标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF1,同时向CPU发出中断。TF0:定时器0溢出中断标志。其操作功能同TF1。IE1:外部中断1标志。IE1 = 1,外部中断1向CPU申请中断。IT1:外中断1触发方式控制位。当IT1 = 0时,外部中断1控制为电平触发方式。当IT1 = 1时,外部中断1控制为电平触发方式。IE0:外部中断0中断标志。其操作功能与IE1相同。IT0:外中断0触发方式控制位。其操作功能与IT1相同。16

14、 Copyright http:/ 2006返回 TI (SCON.1)串行发送中断标志。 RI (SCON.0)串行接收中断标志。 TI RISCON寄存器串行口控制寄存器SCON 98H76543210注意:该寄存器可以位寻址。17 Copyright http:/ 2006TI:串行发送中断标志 CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。注意:CPU响应中断时并不清除TI,必须由软件清除。RI:串行接收中断标志 在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。注意:CPU在响应中断时不会清除RI,必须由软件清除18 Copyrigh

15、t http:/ 2006 IE A8H EA ESET1EX1 ET0EX0例:允许定时器T0中断: SETB EA SETB ET0 或 MOV IE,#82H76543210注意:该寄存器可以位寻址。IE寄存器中断允许寄存器19 Copyright http:/ 2006 EA:总中断允许控制位。EA = 1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA = 0,禁止所有中断。ES:串行口中断允许位。ES = 1,允许串行口中断;ES = 0,禁止串行口中断。ET1:定时器1中断允许位。ET1 = 1,允许定时器1中断;ET1 = 0,禁止定时器1中断。EX

16、1:外部中断1中断允许位。EX1 = 1,允许外部中断1中断;EX1 = 0,禁止外部中断1中断。ET0:定时器0中断允许位。ET0 = 1,允许定时器0中断;ET0 = 0,禁止定时器0中断。EX0: 外部中断0中断允许位。EX0 = 1,允许外部中断0中断;EX0 = 0,禁止外部中断0中断。 20 Copyright http:/ 2006 51单片机有两个中断优先级单片机有两个中断优先级高级和低级高级和低级 专用寄存器专用寄存器IP为中断优先级寄存器,用户可用软件设定为中断优先级寄存器,用户可用软件设定 相应位为相应位为1,对应的中断源被设置为,对应的中断源被设置为高优先级高优先级,相

17、应位为,相应位为0,对应,对应的中断源被设置为低优先级的中断源被设置为低优先级 系统复位时,均为低优先级系统复位时,均为低优先级 该寄存器可以位寻址该寄存器可以位寻址 PSPT1PX1PT0PX0IP寄存器中断优先级寄存器 IP B8H 7654321021 Copyright http:/ 2006PS:串行口中断优先控制位 PS = 1,设定串行口为高优先级中断;PS = 0,设定串行口为低优先级中断。PT1:定时器T1中断优先控制位 PT1 = 1,设定定时器T1中断为高优先级中断;PT1 = 0,设定定时器T1中断为低优先级中断。PX1:外部中断1中断优先控制位 PX1 = 1,设定外

18、部中断1为高优先级中断;PX1 = 0,设定外部中断1为低优先级中断。 PT0:定时器T0中断优先控制位 PT0 = 1,设定定时器T0中断为高优先级中断;PT0 = 0,设定定时器T0中断为低优先级中断。PX0:外部中断0中断优先控制位 PX0 = 1,设定外部中断0为高优先级中断;PX0 = 0,设定外部中断0为低优先级中断。 当系统复位后,所有中断源均设定为低优先级中断。22 Copyright http:/ 2006中断的处理过程 中断处理过程分为三个阶段:中断响应、中断处理和中断返回。v 中断响应v 中断处理(又称中断服务)v 中断返回v 中断请求的撤除中断请求的撤除 中断响应中断返

19、回23 Copyright http:/ 2006中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程: 保护断点地址;中断响应 把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意:这些工作是硬件自动完成的! 断点地址中断服务子程序的入口地址外部中断外部中断0 0入口地址入口地址0003AJMP ZD0ZD0中断响应24 Copyright http:/ 2006中断服务子程序入口地址又称为中断矢量或中断向量。中断响应单片机中5个中断源的矢量地址是固定固定的,不能改动。断点地址中断服务子程序的入口地址中断响应25 Copyright http:/ 2

20、006程序存储器程序存储器ROMROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!26 Copyright http:/ 2006程序存储器程序存储器ROMROM0000H:复位后,程序的 入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时

21、器1溢出中断入口002AH包含T0中断服务子程序的程序结构: ORG 0000HORG 0000H AJMP MAIN ORG 000BHORG 000BH AJMP NTT0 ORG 0100HORG 0100HMAIN: . . . INTT0:. . RETI ENDAJMP MAINAJMP INTT027 Copyright http:/ 2006中断处理中断处理中断服务程序从中断子程序入入口地址口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。中断响应入口地址入口地址RETI28

22、 Copyright http:/ 2006中断处理中断处理INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI保护现场恢复现场29 Copyright http:/ 2006 中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。 中断返回由专门的中断返回指令RETI来实现。中断响应中断返回中断返回30 Copyright http:/ 2006 RETI指令功能:把断点地断点地址取出,送回到程序计数器址取出,送回到程序计数器PC中去。另外,它还

23、通知中断系统已完成中断处理,将清除优先级状态触发器。 特别注意:不能用RET指令代替RETI指令!中断响应中断返回中断返回31 Copyright http:/ 2006中断源发中断请求中断源发中断请求中断响应条件中断响应条件 是否满足?是否满足?中断是否受阻?中断是否受阻? 把把PC断点地址压入堆栈断点地址压入堆栈 相应中断源的中断入口地址相应中断源的中断入口地址送入送入PC,转向中断服务程序,转向中断服务程序NYYN 由硬件自动完成中断处理过程示意图32 Copyright http:/ 2006 关中断关中断保护现场保护现场中断服务中断服务 开中断开中断 关中断关中断恢复现场恢复现场 开

24、中断开中断中断返回中断返回断点地址由堆栈弹入断点地址由堆栈弹入PC保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。保护和恢复现场之后的开中断是为了允许有更高级中断打断此中断服务程序。 中断服务程序硬件自动完成33 Copyright http:/ 2006 CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。 定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的中断请求是自动撤除的。 边沿激活的外部中断:CPU在响应中断后,也是用硬件自动用硬件自动清除清除有关的中断请求标志IE0或IE1。 串行口中断:CP

25、U响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志要靠软件来清除相应的标志。中断请求的撤除中断请求的撤除34 Copyright http:/ 2006电平触发外部中断撤除方法较复杂。 因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。 在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。电平激活的外部中断源中断标志的撤除电平激活的外部中断源中断标志的撤除35 Copyright http:/ 2006单片机仅有两个外部中断输入端

26、.可用两种方法扩展: 1. 定时器T0,T1。(工作在计数方式下) 2. 中断和查询结合。外部中断源的扩展36 Copyright http:/ 2006 1用定时器作外部中断源 例例5.5 将定时器T0扩展为外部中断源。解解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:MOVTMOD,#06H MOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEA T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断 T0脚相当于边沿触发的外部中断源输入线。脚相当于边沿触发的外部中断源输入

27、线。37 Copyright http:/ 20062中断和查询相结合图: 一个外中断扩展成多个外中断的原理图38 Copyright http:/ 2006中断服务程序如下:中断服务程序如下: ORG0003H;外部中断0入口 AJMP INT0;转向中断服务程序入口 INT0: PUSH PSW ;保护现场 PUSH ACC JB P1.0,EXT0 ;中断源查询并转相应中断服务程序 JB P1.1,EXT1 JB P1.2,EXT2 JB P1.3,EXT3 EXIT: POP ACC ;恢复现场 POP PSW RETI39 Copyright http:/ 2006EXT0: ; E

28、XINT0中断服务程序 AJMPEXITEXT1: ; EXINT1中断服务程序 AJMPEXITEXT2: ;EXINT2中断服务程序AJMPEXITEXT3: ;EXINT3中断服务程序 AJMP EXIT 同样,外部中断同样,外部中断1也可作相应的扩展。也可作相应的扩展。40 Copyright http:/ 2006中断的处理即为用户根据自己的需要编写的中断服务程序,在编写时应该注意:中断现场保护和恢复 中断的现场保护主要是在中断时刻单片机的存储单元中的数据和状态的存储。中断的恢复是恢复单片机在被中断前存储单元中的数据和状态。开中断和关中断 对于一个不允许在执行中断服务程序时被打扰的重

29、要中断,可以在进入中断时关闭中断系统,在执行完后,再开放中断系统。中断的处理中断的处理41 Copyright http:/ 2006 中断返回是在中断服务程序的最后一句指令“RETI”执行时进行的。它的主要功能是:中断响应时压入堆栈的程序计数器“PC”的值从堆栈中取出,重新赋予“PC”,使程序重新执行被中断前的程序。中断返回中断返回42 Copyright http:/ 2006MCS-51单片机具有两个外中断源:单片机具有两个外中断源:INT0:外中断:外中断0v中断入口地址:0003Hv中断允许控制位:EX0v中断请求标志:IE0v中断触发方式选择位:IT0v优先级设置位:PX0INT1

30、:外中断外中断1v中断入口地址:0013Hv中断允许控制位:EX1v中断请求标志:IE1v中断触发方式选择位:IT1v优先级设置位:PX1初始化时设置初始化时设置初始化时设置初始化时设置MCS-51单片机的外中断单片机的外中断43 Copyright http:/ 2006外中断的初始化内容外中断的初始化内容设定中断的优先级设定中断的优先级(在大部分情况下,可以(在大部分情况下,可以使用默认方式)使用默认方式)设定中断的触发方式设定中断的触发方式开中断允许开中断允许开总中断允许开总中断允许外中断的初始化外中断的初始化44 Copyright http:/ 2006方法方法1CLR PX0 ;设

31、定外中断;设定外中断0为低优先级为低优先级 SETB IT0 ;设定外中断;设定外中断0为边沿触发方式为边沿触发方式SETB EX0 ;开放外中断;开放外中断0允许允许SETB EA ;开;开CPU中断允许中断允许方法方法2MOV IP, #00H ;设定外中断;设定外中断0为低优先级为低优先级 MOV TCON,#01H ;设定外中断;设定外中断0为边沿触发为边沿触发方式方式MOV IE, #81H ;开外中断;开外中断0和和CPU中断允中断允许许外中断的初始化外中断的初始化45 Copyright http:/ 2006在如图所示的电路中,用P1口输出控制的8只发光二极管,实现8位二进制计

32、数器,对INT0上出现的脉冲进行计数。脉冲产生电路脉冲产生电路显示电路显示电路外中断应用举例外中断应用举例146 Copyright http:/ 2006在该电路中,有两个与非门构成硬件去抖动电路,开关S每动作一次,在单片机的INT0引脚上就会收到一个脉冲信号。如果把外中断0设定为脉冲触发方式,则每当S动作一次,则外中断触发一次在外中断的中断服务程序中计数,并把计数的结果从P1口输出。题意分析题意分析47 Copyright http:/ 2006 ORG 0000H AJMP MAIN ;转主程序;转主程序 ORG 0003H ;外中断入口地址;外中断入口地址 AJMP SER ;中断服务

33、程序;中断服务程序 MAIN:SETB IT0 ;设定外中断;设定外中断0为边沿触发为边沿触发 SETB EX0 ;开外中断;开外中断0允许允许 SETB EA ;开;开CPU中断允许中断允许 CLR A ;计数单元清;计数单元清0 MOV P1,A ;清显示;清显示 HERE:SJMP $ ;等待中断;等待中断 SER:INC A ;计数单元加;计数单元加1 MOV P1,A ;显示;显示 RETI ;中断返回;中断返回 END 中断程序的主中断程序的主程序和中断服程序和中断服务程序的布局务程序的布局中断的中断的初始化初始化主主程程序序中中断断服服务务程程序序程序清单程序清单48 Copyr

34、ight http:/ 2006在如图所示的电路中,P1口输出控制8只发光二极管呈现循环灯状态,当开关按下时,发光二极管全部熄灭一段时间,然后回到原来的状态。外中断应用举例外中断应用举例249 Copyright http:/ 2006开始设置堆栈地址设置中断方式开外中断0设置显示初值输出显示显示值移位延时,保持中断入口地址保存中断时的存储器单元内容置P1口为00H中断返回延时,保持恢复中断时存储器单元内容和P1口的状态主程序:主程序:中断程序:中断程序:v一定要开一定要开辟在用户辟在用户区区00H-7FH中中流程图流程图50 Copyright http:/ 2006 ORG 0000H A

35、JMP ST ORG 0003H AJMP SER ST:MOV SP,#40H MOV IE,#81H MOV IP,#01H MOV TCON,#00H MOV A,#01H ;ACC初始化初始化 RES:MOV P1,A ;显示;显示 RL A ;循环移位;循环移位 LCALL DEL ;延时保持;延时保持 SJMP RES ;循环;循环中断的中断的初始化初始化中断程序的主中断程序的主程序和中断服程序和中断服务程序的布局务程序的布局主程序主程序循环体循环体程序清单(主程序)程序清单(主程序)51 Copyright http:/ 2006 SER: PUSH ACC ;存当前的;存当前的

36、ACC值值 MOV 30H,R1 ;存延时程序的计数值;存延时程序的计数值 MOV 31H,R2 MOV P1,#00H ;把二极管熄灭;把二极管熄灭 MOV R3,#10 ;保持;保持 LOOP:LCALL DEL DJNZ R3,LOOP MOV R1,30H ;取延时程序的计数值;取延时程序的计数值 MOV R2,31H POP ACC ;取当前的;取当前的ACC值值 MOV P1,ACC RETI ;中断返回;中断返回 DEL:MOV R1,#123 ;延时程序;延时程序 DEL1:MOV R2,#200 DEL2:DJNZ R2,DEL2 DJNZ R1,DEL1 RET END 保护现场保护现场恢复现场恢复现场延时子程序延时子程序程序清单(中断服务程序)程序清单(中断服务程序)52谢谢观赏!谢谢观赏!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号