1、基本要求:熟练掌握程序控制的基本要求:熟练掌握程序控制的I/O方式和方式和MCS51的中断方式的中断方式 教学难点:教学难点:中断的过程。中断的过程。第六章第六章 MCS-51中断系统中断系统第一节第一节 输入输入/输出输出(I/O)及接口的基本概念及接口的基本概念8051RAMROMI/OPI设备O设备RAM ROM一、接口的概念一、接口的概念4、缓冲锁存数据缓冲锁存数据二、使用二、使用I/O接口的原因接口的原因三、三、I/O接口的功能接口的功能1、地址译码、地址译码2、通讯联络(通讯联络(BUSY、DONE、Ready)3、控制信息(启、停控制信息(启、停)5、信息格式转换信息格式转换6、
2、电平转换电平转换1、种类不同、种类不同2、速度不同、速度不同3、信号类型、电、信号类型、电 平种类不同平种类不同4、信息结构复杂、信息结构复杂四、四、CPU与与I/O设备之间传递的信息设备之间传递的信息数据信息数据信息状态信息状态信息控制信息控制信息 8031I/O接口I/OD90H91H92H图 5-1与内存独立编址与内存独立编址 五、五、I/OP的寻址方式的寻址方式与内存统一编址与内存统一编址80510000H0001HFEFFHFF00HFF01HFFFFHMI/O接口输入设备输入设备图5-2 I/O端口与M统一编址方式示意图80510000H0001HFFFFH0000H0001H00
3、FFHMI/O接口输入设备输入设备图5-3 I/O端口独立编址方式示意图一、无条件传送方式一、无条件传送方式二、有条件传送方式(查询传送方式)二、有条件传送方式(查询传送方式)三、中断方式三、中断方式四四、直接存储器存取、直接存储器存取(DMA)第二节第二节 I/O的控制方式的控制方式对无条件传送方式和有条件传送方式下面将各对无条件传送方式和有条件传送方式下面将各举一例;中断方式与举一例;中断方式与CPU型号有关,本章重点型号有关,本章重点介绍介绍MCS-51的中断系统;对直接存储器存取方的中断系统;对直接存储器存取方式了解概念。式了解概念。(1)MOV R0,#30H MOV B,#32H
4、MOV R1,#10HLOOP:MOV A,R0 MOVX R1,A LCALL DELAY50MS INC R0 DJNZ B,LOOP SJMP$例例1:欲将欲将8031内部内部RAM 30H开始的开始的50个数通过打印机个数通过打印机 打印(接口地址如图示打印(接口地址如图示)(1)用无条件控制方式)用无条件控制方式(P速度为速度为50ms/字符字符)(2)用查询方式)用查询方式 分别编程分别编程.803110H P30H(a)(2)MOV R0,#30H MOV B,#32HLOOP:MOV R1,#11H MOVX A,R1 JB ACC.0,LOOP MOV R1,#10H MOV
5、 A,R0 MOVX R1,A INC R0 DJNZ B,LOOP SJMP$803110H P30H(b)11H D0 BUSY 第三节第三节 中断技术中断技术一、中断的必要性一、中断的必要性(1)分时操纵)分时操纵(2)实时处理)实时处理(3)故障处理)故障处理二、中断源二、中断源(1)常用的)常用的I/O设备设备(2)实时时钟)实时时钟(3)故障源)故障源(4)人为设置的中断源)人为设置的中断源三、中断的分类三、中断的分类(1)按产生的位置:)按产生的位置:外部中断外部中断内部中断内部中断(2)按接受方式)按接受方式可屏蔽中断可屏蔽中断非屏蔽中断非屏蔽中断四、中断系统的功能四、中断系统
6、的功能(一)实现中断及返回(一)实现中断及返回(二)实现优先级排队(二)实现优先级排队(三)实现中断嵌套(三)实现中断嵌套五、中断处理过程五、中断处理过程(一)中断请求(一)中断请求(二)中断响应(二)中断响应响应条件:响应条件:CPU是允许的;是允许的;现行指令执行完现行指令执行完1.关中断关中断2.保护断点保护断点3.转中断服务子程序转中断服务子程序(三)中断处理(三)中断处理1 保护现场保护现场2 中断服务中断服务3 恢复现场恢复现场4 开中断返回开中断返回 一、中断源及中断标志一、中断源及中断标志优先级优先级2个:个:0、1级级第四节第四节 MCS-51的的 中断系统中断系统/INT0
7、、/INT1、T0、T1、S0 中断源(中断源(5个):个):TCON.0-IT0(控制(控制/INT0)IT0=0:电平触发电平触发(低低)IT0=1:边沿边沿(下下)TCON.5-TF0:TF0=1 有中断(有中断(T0定时定时/计数到计数到 )TF0=0 无中断无中断TF1TR1TF0TR0IE0IE1 IT1IT0 88H TCON.1-IE0(控制(控制/INT0)IE0=0 无中断无中断 IE0=1 有中断有中断(前提前提:/INT0为边沿触发为边沿触发)IT1、IE1 类同类同 IT0、IE0-/INT1TCON.4-TR0:启动启动T0TR1、TF1类同类同TR0、TR1(一)
8、定时器控制(一)定时器控制 寄存器寄存器TCON二、二、中断的管理中断的管理RI=1-接收中断接收中断TI=1-发送中断发送中断(二)(二)串行口控制寄存器串行口控制寄存器SCON TI RI98H(一)中断开放与禁止寄存器(一)中断开放与禁止寄存器IE IE:IE.i=1,开放开放(允许允许)IE.i=0,禁止禁止EAET0ET1EX0ESEX1(二)中断优先级寄存器(二)中断优先级寄存器IP IP:IP.i=1-1级级 IP.i=0-0级级 PT0PT1PX0PSPX1如:开放如:开放T0中断中断:SETB EA(SETB 0AFH)SETB ET0 或或:ORL IE,#82H注:同级注
9、:同级,同时申请同时申请,事先规定顺序事先规定顺序:/INT0T0/INT1T1S0 三、三、MCS-51中断的响应:中断的响应:接到中断请求信号后的反应接到中断请求信号后的反应.(一)响应条件(一)响应条件:(1)源有请求源有请求,且该源的中断允许位为且该源的中断允许位为1(开放开放)(2)EA=1(3)无同级或高级中断在服务无同级或高级中断在服务 (5)如现行指令为如现行指令为RETI或访问或访问IE、IP的指令,则要执行完的指令,则要执行完 该指令且再执行完紧接着的下一条指令。该指令且再执行完紧接着的下一条指令。(4)现行指令执行完(最后一个)现行指令执行完(最后一个M的最后一个的最后一
10、个S的的P2)中断过程概括成如图5-8外部中断请求0内部定时器0外部中断请求1内部定时器1内部 T串行口 R 中断源标识符中断源标识符查询硬件高优先级低优先级中断矢量中断矢量/INT1/INT0中断允许寄存器源允许 总允许中断优先级寄存器(二)响应过程(二)响应过程 注:注:1、两中断源间相隔、两中断源间相隔8个单元,子程个单元,子程 序存放不下时,可:序存放不下时,可:ORG 0003H 0003H:AJMP.2、复位后复位后 PC=0000H,为执行,为执行 你的程序你的程序MAIN,可:,可:ORG 0000H 0000H:AJMP MAIN入口地址入口地址/INT0:0003H T0:
11、000BH/INT1:0013H T1:001BHS0:0023H四、四、MCS51中断系统的初始化及举例中断系统的初始化及举例初始化初始化2、设置优先级、设置优先级3、对、对/INT0、/INT1说明是电平还是边缘触发说明是电平还是边缘触发1、开中断、开中断例例2 设外部中断源设外部中断源1为边沿为边沿 触发方式,当其有中断触发方式,当其有中断 请求时请求时,使累加器使累加器A内容内容 左移一次左移一次,并送并送P1口显示口显示,试编其主程序和中断服试编其主程序和中断服 务子程序。务子程序。解解:ORG 0000H AJMP MAIN ORG 0013H AJMP WBINT ORG 800
12、0HMAIN:MOV SP,#50H MOV A,#01H SETB IT1 SETB EX1 SETB EA CLR PX1 SJMP$ORG 8100HWBINT:CLR IE1 RLC A MOV P1,A RETI主程序主程序CLR ITCLR IT0 0 ;设;设/INT0/INT0为电平触发方式为电平触发方式 SETB PXSETB PX0 0 ;设;设/INT0/INT0为为1 1级中断级中断SETB EXSETB EX0 0 ;开;开/INT0/INT0中断中断SETB EA SETB EA ;开;开CPUCPU中断中断 中断服务子程序中断服务子程序:JNB JNB ,$JB
13、JB ,$RETIRETIINTINT0 0INTINT0 0例例3 3 利用利用80318031的外部中断源的外部中断源0()0()来实现单步操作,来实现单步操作,用以调试程序。用以调试程序。INTINT0 0例例4 MCS51对中断源的扩展对中断源的扩展+INT1 8031P1.0 P1.1 P1.2 P1.3 ORG 0013H LJMP ITROV ITROV:PUSH PSW PUSH A ORL P1,#0FH MOV A,P1 JNB P1.0,N1 ACALL BR0 N1:JNB P1.1 N2 ACALL BR1 N2:JNB P1.2,N3 ACALL BR2 N3:JNB P1.3 N4 ACALL BR3 N4:POP A POP PSW RETI图5-10