收藏 分享(赏)

第7章 中断系统.ppt

上传人:tkhy51908 文档编号:8010279 上传时间:2019-06-04 格式:PPT 页数:64 大小:535KB
下载 相关 举报
第7章 中断系统.ppt_第1页
第1页 / 共64页
第7章 中断系统.ppt_第2页
第2页 / 共64页
第7章 中断系统.ppt_第3页
第3页 / 共64页
第7章 中断系统.ppt_第4页
第4页 / 共64页
第7章 中断系统.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、第七章 中断系统,7.1 中断的概念 7.2 89C51的中断系统 7.3 中断处理过程 7.4 中断系统的应用,7.1.1 中断的概念,所谓中断:是指CPU正在处理某件事情的时候,外部发生了某一事件,请求CPU迅速去处理。CPU暂时中断当前的工作,转入处理所发生的事件,处理完毕后,再回来继续执行被中止了的工作,这个过程称为中断。实现这种功能的部件称为中断系统,产生中断的请求源称为中断源;原来正在运行的程序称为主程序;主程序被断开的位置称为断点。,7.1.2 中断技术的优点,分时操作能解决快速CPU和慢速外设之间的矛盾,可使CPU、外设同时工作。 实现实时处理外界变化量可以根据要求,随时向CP

2、U发出中断请求,要求CPU及时处理,CPU就可以马上响应,加以处理。 故障处理计算机运行过程中,出现无法预料的故障时,能自行处理,而不必停机。,7.1.3 中断系统的功能,1、实现中断及返回,2、实现优先权排队,3、实现中断嵌套,RETI,7.2 89C51的中断系统,7.2.2 中断请求标志,7.2.4 中断优先级控制寄存器IP,7.2.3 中断允许控制寄存器IE,7.2.1 中断源,图7-3 89C51单片机的中断系统,7.2.1 中断源,(1) 外部中断类有两个中断源:外部中断0和外部中断1,相应的中断请求信号输入端是INT0和INT1,有两种触发方式:电平触发方式和脉冲触发方式。 (2

3、) 定时中断类有两个中断源:定时/计数器0溢出中断和定时/计数器1溢出中断。 (3) 串行中断类串行口中断请求标志:每当串行口接收或发送一组串行数据完毕时,由硬件使TI或RI置位,即产生一个串行口中断请求。,5个中断请求源: (1)INT0:外部中断0请求,由P3.2脚输入。由IT0决定是低电平有效还是负跳变有效。一旦有效,则向CPU申请中断,且建立IE0标志。 (2)INT1:外部中断1请求,由P3.3脚输入。由IT1决定是低电平有效还是负跳变有效。一旦有效,则向CPU申请中断,且建立IE1标志。 (3)TF0:定时器T0溢出中断请求。当T0产生溢出,TF0置位,请求中断处理。 (4)TF1

4、:定时器T1溢出中断请求。当T1产生溢出,TF1置位,请求中断处理。 (5)RI或TI:串行中断请求。当接收或发送完一组数据后就置位RI或TI,请求中断。,7.2.2 中断请求标志,1、定时器控制寄存器TCON的中断标志,IE0(IE1):外中断请求标志。 IT0(IT1):外中断请求信号方式控制位。 当IT0(IT1)=1时:脉冲触发方式(边沿触发 方式),负跳变有效。当IT0(IT1)=0时:电 平触发方式,低电平有效。 TF0(TF1):定时计数溢出标志位。 当定时/计数器产生溢出时,由硬件置1;当转 向中断服务时,由硬件自动清零。,2、串行口控制寄存器SCON的中断标志,RI:串行口接

5、收中断请求标志位。当单片机接 收到一串行数据后,由硬件置1;当CPU转向中 断服务程序后,该位必须由软件清零。 TI:串行口发送中断请求标志位。当单片机发 送完一串行数据后,由硬件置1;当CPU转向中 断服务程序后,该位必须由软件清零。,7.2.3 中断允许控制寄存器IE,EA:中断允许总控制位。EA=0,表示CPU禁止所 有中断;EA=1时,表示CPU开放中断。 EX0(EX1):外部中断允许控制位。EX0(EX1) =0,禁止外中断;EX0(EX1)=1,允许外中断。 ET0(ET1):定时/计数器的中断允许控制位。 ET0(ET1)=0,禁止定时/计数器中断; ET0(ET1)=1,允许

6、定时/计数器中断。 ES:串行中断允许控制位。ES=0,禁止串行中 断;ES=1,允许串行中断。,7.2.4 中断优先级控制寄存器IP,PX0:外部中断0优先级设定位; PX0:定时器T0中断优先级设定位; PX1:外部中断1优先级设定位; PT1:定时器T1中断优先级设定位; PS:串行中断优先级设定位。当某一控制位被置0,则该中断源被定义为 低优先级;若被置1,则该中断源被定义为高优 先级。中断优先级控制寄存器IP的各个控制位, 都可以通过编程来置位或清零。,中断优先级的控制原则: (1)低优先级中断请求不能打断高优先级的 中断服务,但高优先级可打断低优先级的中 断服务,实现中断嵌套。 (

7、2)一个中断一旦得到响应,与它同级的中 断请求不能中断它。 (3)同级的多个中断请求同时出现,则按 CPU查询次序确定哪个中断请求先被响应。 查询次序为:外部中断0定时/计数器中断0外部中断1 定时/计数器中断1串行中断。,7.3 中断处理过程,7.3.1 中断响应 7.3.2 中断处理 7.3.3 中断返回 7.3.4 中断请求的撤除 7.3.5 中断响应时间,7.3.1 中断响应,1、CPU的中断响应条件 (1)首先要有中断源发出中断申请; (2)中断总允许位EA=1,即CPU允许所有中断源申请中断; (3)申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。 注:当出现下面

8、一种情况时,中断会被阻断: (1)CPU正在执行一个同级或高一级的中断服务程序; (2)当前的机器周期不是正在执行的指令的最后一个周期,即正在执行的指令还未完成前,任何中断请求都得不到响应;,(3)正在执行的指令是返回指令或者对专用寄存器IE、IP进行读/写的指令,此时在执行RETI或者读写IE或IP之后,不会马上响应中断请求,至少在执行一条其他指令之后才会响应。 2、中断响应过程中断源 入口地址外部中断0 0003H定时器T0中断 000BH外部中断1 0013H定时器T1中断 001BH串行口中断 0023H,7.3.2 中断处理,中断处理:中断服务程序从入口地址开始执行,直至遇到指令“R

9、ETI”为止,称中断处理。编写中断服务程序需注意以下几点: (1)各入口地址间隔8个字节,需在入口地址单元处存放一条无条件转移指令。 (2)若要在执行当前中断程序时禁止更高优先级中断源中断,要先关闭CPU中断,或禁止更高中断源的中断,而在中断返回前再开中断。 (3)在保护现场和恢复现场时,为了不使现场数据受到破坏,在保护现场和恢复现场时,CPU不响应新的中断请求。,7.3.3 中断返回,7.3.4 中断请求的撤除,定时器溢出中断,CPU在响应中断后,用硬件清除中断请求标志IF0或IF1。 边沿触发的外部中断,CPU在响应中断后,用硬件清除中断请求标志IE0或IE1。 串行口中断,CPU在响应中

10、断后,没有硬件清除TI、RI,用户必须用软件来清除。 电平触发的外部中断,CPU在响应中断后,由硬件自动清除中断申请标志IE0或IE1,但不能彻底撤除中断请求。,7.3.4 中断请求的撤除,图7-5 外部中断撤除电路,CLR P1.0SETB P1.0,D触发器锁存中断请求用的低电平,并通过输出端Q送到INT0;D触发器锁存中断请求低电平,只要P1.0输出一个负脉冲,就使D触发器置1,撤销请求。,附:D触发器的真值表。,7.3.5 中断响应时间,中断响应时间:是从查询中断请求标志位开始转向中断入口地址所需的机器周期数。89C51单片机的最短响应时间是3个机周。查询标志位1机周,LCALL指令2

11、机周。一般,外中断响应时间:大于3个机周,小于8个机周。如出现同级或高级中断正在响应或服务中等待的时候,响应时间就不好计算了。,7.4 中断系统的应用,中断系统中需要人为控制的部分: (1)CPU的开中断和关中断; (2)各中断源中断请求的允许和禁止; (3)各中断源优先级别的设定; (4)外部中断请求的触发方式。在保护现场和恢复现场之前要关中断,在保护现场和恢复现场之后要开中断,中断服务程序的格式为:CLR EA CLR EAPUSH ACC POP PSWPUSH PSW POP ACC SETB EASETB EA RETI,【例7-1】利用定时器T0定时,在P1.0端输出一方波,方波周

12、期为20ms,已知晶振频率为12MHz。 主程序如下: ORG 0000HLJMP 2000H T0的中断服务程序ORG 000BH AJMP 0070H ORG 0070HMOV TL0,0F0H ;重赋初值 MOV TH0,0D8H,CPL P1.0 ;输出取反RETIORG 2000HMOV TMOD,01H;设置T0为模式1MOV TL0,0F0H;赋初值MOV TH0,0D8H MOV IE,82H;CPU开中断,T0开中断SETB TR0 ;启动T0HERE:SJMP HERE ;循环等待定时到,【例7-2】用定时器T1定时,在P1.0端输出一方波,周期为2min,已知晶振频率为1

13、2MHz。 解:(方法1)采用中断方法。设定时器T1采用模式1定时10ms,用60H单元做毫秒计数单元,用61H单元做秒计数单元,用4FH位做1分计时到标志。T1中断服务程序入口地址为001BH。 主程序如下: ORG 0000HLJMP 2000H T1的中断服务程序ORG 001BH,AJMP 0100HORG 0100HMOV TH1,0D8H;重赋初值 MOV TL1,0F0H DJNZ 60H,TT1 ;判1s定时到否?MOV 60H,100DJNZ 61H,TT1M0V 61H,60;判1min定时到否?SETB 4FH ;到1min,置标志位4FH=1TT1:RETI ;中断返回

14、ORG 2000H ;主程序MOV TMOD,10H;设置T1为定时模式1,MOV TH1,0D8H;赋初值MOV TL1,0F0HMOV IE,88H ;CPU开中断,TT1开中断SETB TR1 ;启动T1工作MOV 60H,100;赋毫秒计数初值MOV 61H,60 ;赋秒计数初值CLR 4FH ;清标志位TT:JNB 4FH,TT ;等1min时间到CLR 4FH ;清标志位CPL P1.0 ;输出反相AJMP TT ;反复循环END,(方法2)采用软、硬相结合的方法。电路连接如图7-8,使P1.2与T0(P3.4)相连,P1.0仍然用做输出波形,定时器T1做10ms定时,定时器T0设

15、为模式1计数,定时器T1控制P1.2输出方波,T0(P3.4)做计数输入端。T0的计数初值X应为X=65536-3000=62536=F448H主程序如下:ORG 2000HMOV TMOD,15H ;设置T1为模式1定时,T0为模式1计数MOV TH1,0D8H ;赋T1定时10ms初值MOV TL1,0F0H,MOV TH0,0F4H;赋T0计数3000初值MOV TL0,48HMOV IE,8AH;CPU开中断,T0、T1开中断SETB TR1SETB TR0LI:SJMP L1;等10ms到T1的中断服务 程序 T1的中断服务程序(由001BH转来)ORG 0100HMOV TH1,0

16、D8H ;重赋定时初值,MOV TL1,0F0HCPL P1.2RETI T0的中断服务程序(由000BH转来)ORG 0200HMOV TH0,0F4H ;重赋计数初值MOV TL0,48HCPL P1.0RETI,【例7-3】计价器的计程方法:车轮每转一圈产生一个脉冲,从外中断INT0引脚输入,行驶里程为轮胎周长X圈数。假设周长为2m,试编程计算行驶里程:数据存放到32H,31H,30H。 解:编程如下:ORG 0000H ;入口地址LJMP START ;转向主程序初始化ORG 0003H ;INT0中断入口地址LJMP INT ;转向中断服务程序ORG OO30H ;主程序初始化 ST

17、ART : MOV SP,#60H ;置堆栈指针SETB IT0 ;置INT0边沿触发方式MOV IP,#01H ;置INT0高优先级,MOV IE,#81H ;CPU开中断,INT0开中断MOV 30H,#00H ;里程计数器清零MOV 31H,#00H ;MOV 32H,#OOHLJMP $ ;等待中断ORG 0100H ;中断程序,中断一次里程加2 INT: PUSH ACC ;保护现场PUSH PSW MOV A,30H ;读里程计数器低8位ADD A,#02 ;低8位计数器加2mMOV 30H,A ;回存CLR A ;A清零,ADDC A,31H ;中8位计数器加进位 MOV 31H

18、,A ;回存 CLR A ; A清零 ADDC A,32H ;高8位计数器加进位 MOV 32H,A ;回存 POP PSW ;恢复现场 POP ACC RETI,【例7-4】 现有5个中断源EX1、EX20、EX21、EX22、EX23,高电平时表示请求中断,要求执行相应的中断服务程序,试编制程序。,解:89C51有5个中断源,可供用户使用的外部中断只有2个,因此设法扩展外部中断源。,其中EX1因其重要单独占用一个中断源INT0,且为高优先级,其余4个中断源EX1、EX20、EX21、EX22、EX23通过或非门合用一个外部中断,并分别连接到P1.0-P1.3,在中断服务程序中查询P1.0-

19、P1.3就可判别是哪一个申请中断。,图7-7 软件查询中断源流程图,查询流程图如图7-7。查询次序为E20E23。在查到一个高级中断申请后,就转去为这个中断申请服务,服务结束后,就返回继续查询较低级的中断申请,直到查不到其他中断申请时返回,并再等待INT1上出现新的中断申请信号。ORG 0013H ;INT1中断入口地址LJMP PINT0 ;转INT1中断服务程序 PINT0 :CLR EA ;CPU关中断PUSH ACC ;保护现场PUSH DPHPUSH DPLSETB EA ;CPU开中断JB P1.0,LWK20 ;P1.0=1, EX20请求中断JB P1.1,LWK21 ;P1.

20、1=1, EX21请求中断JB P1.2,LWK22 ;P1.2=1, EX22请求中断SJMP LWK23 ; P1.3=1, EX23请求中断,LERT: CLR EA ;CPU关中断POP ACC ;恢复现场POP DPH POP DPLSETB EA ;CPU开中断RETI ;中断返回 LWK20:LCALL WORK20 ;E20中断服务子程序SJMP LERTLWK21: ;E21中断服务子程序LWK22: ;E22中断服务子程序LWK23: ;E23中断服务子程序,几个需注意问题:1、为防止保护现场和恢复现场过程中,现场数据受到破坏,在保护现场和恢复现场期间CPU禁止中断,待保护

21、现场和恢复现场结束后,再开中断。 2、在INT1中断服务程序中,只判P1.0、P1.1和P1.2而不需再判P1.3. 3、执行各自的中断功能服务子程序后,必须返回INT1恢复现场、中断返回处,否则出错。,【例7-5】已知某89C51单片机采用6MHz晶振,现要求P1.0输出一个5KHz的方波,同时对外部输入的脉冲信号进行计数,每当计满200时,使内部数据存储单元60H内容增1,当增到100时停止计数,并使P1.2输出高电平,定时器T1做串行口的波特率发生器。 解:定时器T0为工作模式3,TH0作为8位定时器用,TL0作为8位计数器用,利用T0(P3.4)引脚作为外部脉冲计数输入,用TL0计数,

22、把TL0置初值38H(256-200=38H);用TH0作为8位定时器,由P1.0输出5KHz方波,即每隔100s使P1.0的电平变化一次,定时初值为CEH(256-100/2=206)。 主程序如下:,MOV TL0,38H ;赋计数初值MOV TH0,0CEH;赋定时初值MOV TL1,BAND;根据波特率要求设定常数BANDMOV TH1,BANDMOV TMOD,27H;T1为模式2定时,T0为模式3计数MOV TCON,50H;启动T0、T1工作MOV IE,9AH;开放CPU中断,开放 串口、T0、T1中断MOV 60H,0 ;60H单元清零HERE:SJMP HERE ;循环等待

23、 TL0计数溢出中断服务程序(由000BH转来)MOV TLO,38H ;重赋初值,INC 60HMOV A,60HCJNE A,100,LPSETB P1.2 CLR ET0 ;关T0中断CLR TR0LP:RETI TH0溢出中断服务程序(由001BH转来)MOV TH0,0CEH ;重赋初值CPL P1.0 ;P1.0输出取反RETI,【例7-6】已知甲乙两台89C51单片机所使用的晶振均为11.0592MHz。现要求两机之间进行串行通信,甲机发送,乙机接收。传输波特率定为9600。甲机以78H、77H中的内容为发送数据的起始地址,以76H、75H中的内容为发送数据的末地址。甲机首先发送

24、数据的起始地址和末地址,然后再开始发送数据。乙机以接收到的第12字节作为存放接收数据的起始地址,第34字节作为存放接收数据的末地址,第5字节为起始数据。 解:设定时器1按模式1工作,串行口也按模式 1工作。 程序如下: 甲机发送:ORG 2000H,TAN:MOV TMOD,10H;定时器1设置为模式2MOV TL1,0FDH;定时器1赋初值MOV TH1,0FDHSETB EA ;CPU开中断SETB ET1 ;定时器1开中断CLR ES ;串行口关中断SETB PT1 ;定时器1置高中断优先级CLR PS ;串行口置低中断优先级SETB TR1 ;启动定时器1工作CLR TI ;清发送中断

25、标志MOV SCON,40H;串行口置工作模式1MOV SBUF,78H ;输出高位地址JNB TI, ;等待地址发送CLR TI ;TI清“零”,MOV SBUF,77H;输出低位地址JNB TI, ;等待地址发送CLR TI ;TI清“零”MOV SBUF,76H;输出末位地址高位字节JNB TI, ;等待地址发送CLR TI ;TI清“零”MOV SBUF,75H;输出末位地址低位字节SETB ES ;串行口开中断SJMP ;等待发送定时器1中断服务程序(由001BH转来)TIN:CLR TR1 ;关定时器1MOV TL1,0FDH;T1重置初值MOV TH1,0FDH,SETB TR1

26、 ;启动T1工作RETI ;中断返回 串行口中断服务程序(由0023H转来) ESS:PUSH DPL ;把DPTR压入堆栈保护PUSH DPHPUSH ACC ;把A压入堆栈保护MOV DPH,78H ;发送数据地址DPTRMOV DPL,77HMOVX A,DPTR ;发送数据ACLR TI ;TI清“零”MOV SBUF,A ;输出数据MOV A,DPH,CJNE A,76H,EN1;数据未送完转至EN1MOV A,DPLCJNE A,75H,EN1CLR ES ;串行口关中断CLR ET1 ;定时器1关中断CLR TR1 ;关定时器1 ESC:POP ACC ;恢复现场POP DPHP

27、OP DPLRETI EN1:INC 77H ;低位地址加1MOV A,77HJNZ EN2 ;低位地址非零转移,INC 78H ;高位地址加1 EN2:SJMP ESC ;无条件转移 乙机接收:ORG 2000H REV:MOV TMOD,10H ;定时器1设置为模式1MOV TL1,0FDH ;定时器1赋初值MOV TH1,0FDHSETB EA ;CPU开中断SETB ET1 ;定时器1开中断SETB ES ;串行口开中断SETB PT1 ;定时器1置最高中断优先级CLR PS ;串行口置低中断优先级,SETB TR1 ;启动定时器1工作MOV SCON,50H;串行口置工作模式1接收C

28、LR B.0 ;设置接收地址标志MOV 70H,78H;设置起始地址SJMP ;等待接收 定时器1中断服务程序(由001BH转来) REV1:CLR TR1 ;关定时器1MOV TL1,0FDH ;定时器1重置初值MOV TH1,0FDH SETB TR1 ;启动定时器1工作RETI,串行口中断服务程序(由0023H转来) ESS:PUSH DPL ;DPTR压栈保护PUSH DPHPUSH ACC ;A压栈保护MOV A,R0 ;R0压栈保护PUSH ACCJB B.0,DA0 ;非地址转移MOV R0,70HMOV A,SBUF ;接收地址信息MOV R0,ADEC 70H ;修改接收地址

29、CLR RI ;RI清“零”MOV A,74H,CJNE A,70H,DA2 ;地址未接收完转移SETB B.0 ;设置接收数据标志 DA2:POP ACC ;将A弹出堆栈送R0MOV R0,APOP ACCPOP DPH ;恢复现场POP DPLRETI DA0:MOV DPH,78H ;接收的起始地址送DPTRMOV DPL,77HMOV A,SBUF ;接收数据信息MOVX DPTR,ACLR RI ;RI清“零”INC 77H ;地址低位加1,MOV A,77H ;地址低位非零转移JNZ DA3INC 78H ;地址高位加1 DA3:MOV A,76HCJNE A,78H,DA2;数据

30、未接收完转至DA2MOV A,75HCJNE A,77H,DA2CLR ES ;串行口关中断CLR ET1 ;定时器1关中断CLR TR1 ;关定时器1SETB PSW.5 ;设置传送结束标志AJMP DA2END,【例7-8】多机通信软件设计。 1)软件协议 (1)系统中允许有255台从机,其地址分别为00HFEH。 (2)地址FFH是对所有从机都起作用的一条控制命令,命令各从机恢复SM2=1状态。 (3)主机和从机的联络过程为:主机首先发送地址,被寻址从机向主机回送本机地址,主机在判断地址相符后给被寻址的从机发送控制命令,被寻址的从机根据其命令向主机回送自己的状态,若主机判断状态正常,主机

31、即开始发送或接收数据,发送或接收的第一个字节为数据块长度。若从机状态不正常,主机重联络。,(4)设主机发送的控制命令代码为:00H:要求从机接收数据块;01H:要求从机发送数据块;其他:非法命令。 (5)从机状态字格式为:其中 若ERR=1,从机接收到非法命令;若TRDY=1,从机发送准备就绪;若RRDY=1,从机接收准备就绪。,2)主机查询、从机中断方式的多机通信软件设计 (1)主机串行通信子程序。 入口参数;(R0)主机发送的数据块首地址;(R1)主机接收的数据块首地址;(R2)被寻址的从机地址;(R3)主机发出的命令;(R4)数据块长度。 流程图见图7-9。,图7-9 多机通信主机查询方

32、式程序流程,程序清单如下: MSIO: MOV TMOD,20H ;初始化T1为定 时功能,模式2MOV TL1,0F3H ;送入初值MOV TH1,0F3H SETB TR1 ;启动定时器T1MOV PCON,80H ;设置SMOD=1MOV SCON,0D8H ;设置串行口模式3,允许接收, TB8=1 MSIO1:MOV SBUF,R2 ;发送从机地址JNB TI, ;等待发送结束CLR TI ;发送完,清TI,为下一次发送做准备,WAIT1:JBC RI,MSIO2 ;等待从机应答SJMP WAIT1 MSIO2:MOV A,SBUF ;取出从机应答地址XRL A,R2 ;核对地址JZ

33、 MSIO4 ;地址相符,则转MSIO4 MSIO3:SETB TB8 ;地址不符,重新联络MOV SBUF,0FFH;给从机发复位命令(TB8=1)JNB TI,;等待发送结束CLR TI ;清TISJMP MSIO1;转重发地址 MSIO4:CLR TB8 ;地址符合,TB8=0,准备 发送数据/命令,MOV SBUF,R3 ;给从机发送命令JNB TI,CLR TI WAIT2:JBC RI,MSIO5 ;等待接收从机应答SJMP WAIT2 MSIO5:MOV A,SBUF ;取出应答信息JNB ACC.7,MSIO6;核对命令接收是否出错,正确则转SJMP MSIO3 ;从机接收命令

34、出错,转重新联络 MSIO6:CJNE R3,00H,MSIO7;若要求从机发送,则转MSIO7,JNB ACC.0,MSIO3;要求从机接收,从 机未准备好,重新联络STX:MOV SBUF,R4 ;从机准备好,向从机发送数据块长度 WAIT3:JBC TI,STX1 ;发送结束,则转SJMP WAIT3 ;未发送完,等待STX1:MOV SBUF,R0 ;向从机发送数据JNB TI,CLR TIINC R0 ;修改地址,指向下一个地址单元DJNZ R4,STX1 ;数据未发送完,继续发送,RET ;数据发送完毕,返回主程序 MSIO7:JNB ACC.1,MSIO3;若从机发送未准备好,转

35、重新联络SRT:JNB RI, ;等待接收从机发来的数据块长度CLR RI ;清TI位,为下一次接收做准备MOV A,SBUF ;取出收到的数据MOV R4,A ;数据块长度送计数器R4MOV R1,A ;数据块长度存入数据存储区INC R1 ;修改地址,SRX1:JNB RI,;等待接收从机发来的数据CLR RIMOV R1,SBUF ;接收的数据存入数据存储区INC R1 ;修改地址,指向下一个地址单元DJNZ R4,SRX1 ;数据未接收完,继续接收RET ;数据接收完毕,返回主程序,(2)从机中断方式通信程序。程序规定:标志位PSW.1做发送准备就绪标志,PSW.5做接收准备就绪标志,由主程序置位。发送的数据存放在片内RAM区中,首址为40H单元,第一个数据为数据块的长度;接收的数据存放在片内RAM区中,首址为60H单元, 接收的第一个数据为数据块的长度。SLAVE为本机地址。,本 章 到 此 结 束,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报