收藏 分享(赏)

专题六计算机硬件技术基础输入输出和中断赵晓安.ppt

上传人:hwpkd79526 文档编号:4530226 上传时间:2019-01-02 格式:PPT 页数:82 大小:1.38MB
下载 相关 举报
专题六计算机硬件技术基础输入输出和中断赵晓安.ppt_第1页
第1页 / 共82页
专题六计算机硬件技术基础输入输出和中断赵晓安.ppt_第2页
第2页 / 共82页
专题六计算机硬件技术基础输入输出和中断赵晓安.ppt_第3页
第3页 / 共82页
专题六计算机硬件技术基础输入输出和中断赵晓安.ppt_第4页
第4页 / 共82页
专题六计算机硬件技术基础输入输出和中断赵晓安.ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、,专题六 输入输出和中断系统,第五章,主讲教师 赵晓安,计算机科学与软件学院计算机基础教学部,主讲教师 赵晓安,计算机硬件技术基础,1 输入/输出的基本概念 2 输入/输出数据的传送方式 3 中断技术MCS-51的中断系统学会MCS-51中断程序设计及应用学会与中断有关的硬件连线,本章重点及要求,5.1 输入/输出的基本概念 5.2 输入/输出数据的传送方式 5.3 中断技术 5.4 MCS-51的中断系统 5.5 MCS-51对外部中断源的扩展,第五章 输入/输出和中断,511 输入/输出设备 512 输入/输出传送的信息 513 输入/输出接口的作用及其类型 514 I/O端口的编址方式,

2、51 输入/输出的基本概念,521 无条件传送方式(又称同步传送) 522 查询式传送方式(又称条件传送异步传送),5.2 输入/输出数据的传送方式,523 中断传送方式 524 DMA传送方式,531 中断的定义及必要性 532 中断源 533 中断的分类 534 中断系统的功能 535 中断处理过程,5.3 中断技术,541 MCS-51的中断源和中断标志 542 MCS-51对中断请求的控制 543 MCS-51对中断的响应和撤除 544 MCS-51中断系统的初始化及应用,5.4 MCS-51的中断系统, MCS-51 的中断程序设计举例, MCS-51 的中断系统的结构,5.5.1

3、借用定时器/计时器溢出中断扩展外部中断源(P160 利用计数溢出,扩展中断源)来自P3.4(T0)或P3.5(T1)引脚的外部输入计数脉冲相当于中断请求信号 5.5.2 使用硬件申请软件查询法扩展外部中断源 (P161 硬件申请,软件查询的方法),55 MCS-51对外部中断源的扩展,511 输入/输出设备, 输入设备: 定义:往主机传送信息的设备 常用的输入设备:键盘、鼠标、扫描仪、读卡机等 输出设备 定义:接收主机信息并送出信息呈现给人们的设备 常用的输出设备:显示器、打印机、绘图仪等,外设与CPU是通过接口连接,地址总线 AB,数据总线 DB,控制总线 CB,512 输入/输出传送的信息

4、, 数据信息 数字量 模拟量 开关量 状态信息 表征外设状态 控制信息 控制外设启停,在输入时,输入装置的信息是否准备好(Ready);在输出时 ,输出装置是否有空(Empty),若输出装置正在输出信息,则以Busy指示。,二进制形式表示的数或以ASC码表示的数或字符 。,模拟量必须先经过A/D转换才能输入计算机,计算机的控制输出也必须先经过D/A转换才能控制执行机构。,只要用一位二进制数即可表示的量,如电机的运转与停止,开关的合与断,阀门的打开和关闭等。,513 输入/输出接口的作用及其类型,接口电路的作用 锁存作用 防止由于CPU速度快,外设慢而产生的丢数现象 隔离作用 防止DB上的信息重

5、叠 变换作用 在CPU与外设之间进行信息类型、电平、传送接收方式变换 联络作用 在CPU与外设之间进行联络,Ready, Busy,输出接口电路锁存作用,输出接口中必须含锁存器,来自CPU,速度匹配,输入接口电路隔离作用,输入接口中必须含三态门,防止信息重叠,1、 I/O接口的种类很多,有两种基本类型 串行I/O接口并行I/O接口 2、不可编程接口例:74LS273、74LS373、74LS138 、74LS244 3、可编程接口例:8155、8255、8250、8253,I/O接口的类型,514 I/O端口的编址方式, 统一编址 I/O端口与内存储器采用一套地址,完全象存储器单元一样处理,使

6、用访问存储器的指令。如:movx 类指令 独立编址 采用一套与存储器不同的地址,利用/MREQ(存储器请求)和/IORQ(输入输出请求), CPU 有专门的I/O指令 如:IN, OUT MCS51系列采用统一编址 片内RAM 与P0P3均用MOV指令 片外RAM与外扩口I/O口均用MOVX指令,接口与端口,接口:由一个或多个端口组成。 端口:可被独立选通的I/O接口电路,简称口。 端口地址:端口在系统中被分配的惟一地址,简称口地址。 端口可分为:输入端口CPU从中读取外设的状态或数据信息输出端口CPU通过它输出控制信号或数据信息状态端口CPU从中读取外设的状态信息控制端口由CPU控制输出控制

7、信号数据端口 可以是输入数据端口或输出数据端口I/O信息都是通过数据总线传递的。,521 无条件传送方式(又称同步传送),应用于定时为已知的且 固定不变的低速I/O无需等待的高速I/O movx A,DPTR movx DPTR,A,无条件I/O举例显示程序设计,输入接口原理图,DB,外设准备好,置入状态信号 Q=1 CPU读数据口时清掉状态信号,522 查询式传送方式(又称条件传送异步传送), CPU查询外设状态信息(Ready,Busy),条件 满足时,进行数据传送 程序简单 高速CPU查询低速外设 浪费CPU时间,效率低 输入接口原理图 输出接口原理图 程序流程图,条件传送方式程序举例,

8、Test:mov DPTR,#PORTSmovx A,DPTRanl A,#40Hjz Test ;(jnz Test)mov DPTR,#PORTDmovx A,DPTR ;输入(movx DPTR,A;输出),0/1,状态信号,D6,Ready=1 Busy=0,(A),523 中断传送方式,中断:要求进行输入、输出的外设,发出就绪信号给CPU,作为中断请求,打断CPU正在进行的工作,即中断CPU正在执行的程序。 中断过程 中断方式与查询方式比较 提高了CPU的效率 CPU与外设可并行工作 CPU可及时响应外部事件,中断方式与查询方式CPU占用时间比较,中断过程, 利用DMAC(DMA控制

9、器)实现成组、大批量的数据在内存和外设之间的快速传送。 DMA过程: 优点:速度快 缺点:硬件复杂,成本增加,524 DMA传送方式,DMA过程,外设向DMAC发DMA申请 DMAC向CPU发BUSRQ CPU发BUSAK响应 DMAC发存储器地址和读写信号 DMA控制结束,恢复CPU对总线控制,531 中断的定义及必要性,定义:所谓中断是指中央处理器CPU正在处理某件事的时候,外部发生了某一事件,请求CPU迅速处理,CPU暂时中断当前的工作,转入处理所发生的事件,处理完后,再回到原来被中断的地方,继续原来的工作。这样的过程称为中断。,必要性及应用 中断功能便于实现 1分时操作 2实时处理 3

10、故障处理 4.主机与外设之间的速度匹配,CPU和外设同时工作;CPU可以通过分时操作启动多个外设同时工作,统一管理。大大提高了CPU的利用率,也提高了输入、输出的速度。,当计算机用于实时控制时,中断是一个十分重要的功能。现场的各个参数、信息,需要的话可在任何时候发出中断申请,要求CPU处理;CPU就可以马上响应(若中断是开放的话)加以处理。这样的及时处理在查询的工作方式是做不到的。,计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些故障:如电源突跳,存储出错,运算溢出等等。计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。, 外设中断请求 实时时钟中断请求 控制对象中断源

11、故障引起的中断 人为设置的中断,532 中断源,人为设置的中断,不是随机的,故称为自愿中断。,强迫中断 引起的中断都是随机。,533 中断的分类,MCS-51就是具有可屏蔽中断功能的一类CPU。,534 中断系统的功能, 中断系统 包括中断源的产生、中断判优、中断查询、中断处理等实现这一全过程的硬件和软件。,中断技术 对中断全过程的分析、研究及实现的方法,中断判优,多中断源同时发出中断请求,CPU根据中断的优先级判断优先执行的中断请求。 中断嵌套,CPU正在执行主程序,CPU正在执行低级中断服务程序,CPU正在执行高级中断服务程序,CPU正在执行低级中断服务程序,挂起的中断,中断查询, 软件查

12、询 硬件查询 中断优先级链式电路 中断优先级编码电路,mov DPTR,#PortImovx A,DPTRRLC AJC ASVRLC AJC BSV ASV: BSV:,先查询的优先级高,硬件申请 软件查询,中断处理,中断响应条件 CPU处于开中断状态:51内部有中断允许触发器EAEA=0 禁止中断;EA=1 开放中断。 中断响应过程 中断响应:停止现行程序,转向中断处理程序入口地址 关中断 (MCS-51响应中断后,不自动关中断) 保护断点 (自动将断点地址压入堆栈) 执行中断处理程序,执行中断处理程序, 保护现场 保护中断服务程序中用到的寄存器和状态标志的内容 中断服务 相应的中断源服务

13、,完成一定的I/O操作 恢复现场 完成中断服务后,将保存在堆栈中的现场数据恢复 开中断和中断返回 RETI (中断返回指令),push PSW push ACC push DPH push DPL,pop DPL pop DPH pop ACC pop PSW,请看P150图5-22,(1)设置中断请求触发器( 又称中断标志触发器)每个中断源需有一个中断请求触发器, 保持中断请求信号 ,直至CPU响应这个中断后,才可清除中断请求。当中断请求触发器为“1”状态时(Q=1),表示有中断产生;Q=0表示没有中断产生。,中断响应条件,CPU响应中断的条件主要有以下几点:,设置中断请求的情况,CPU 中

14、也要有中断标志触发器,有中断请求则置1。,(2)需设置中断屏蔽触发器(又称中断允许触发器)每一个中断源的接口电路中需增加一个中断屏蔽触发器,只有当此触发器为“1”时,中断源的中断请求才能被送出至CPU 。,具有中断屏蔽的接口电路,(3)中断是开放的在CPU内部有一个中断允许触发器EA。只有当EA为“1”时(即中断开放时),CPU才能响应中断;若EA为“0”(即中断是关闭的),这时外部有中断请求,CPU不会响应,EA的状态是可以用指令来控制的(称为可编程的)。(4)需设中断优先级触发器在CPU内部要设置中断优先级触发器,以实现嵌套;在各中断源中也要设一个中断优先级触发器,由指令置位/复位,以表示

15、本中断源在中断系统中的优先级。 (5)CPU在现行指令结束后响应中断 在开中断情况下,若中断源有中断请求,CPU也并不是立即响应,只是当正在执行的指令运行到最后一个机器周期T状态时,CPU才采样中断源。若发现有中断请求,则把内部的中断标志锁存器置“1”,然后下一个机器周期不进入取指周期,而进入中断周期 。,LED显示器程序设计_无条件I/O传送例1, LED显示器结构与原理 LED显示接口 显示程序设计,LED显示器结构与原理,LED显示器是由个发光二极管显示字段的显示器件, 通过点亮不同的字段可显示09、AF及小数点等字形。其外形结构与原理见图8-1所示。,(a)LED管脚图;(b)共阴极;

16、(c)共阳极,要使数码管显示指定的字符 对共阴极接法的电路: 1、要发光的二极管段加高电平 2、共阴极端接低电平,称0CFH为字形码 G端称为字位,LED显示器有静态显示与动态显示两种形式 : 1、静态显示接口 常采用MC14495芯片作为LED的静态显示器接口,它是MOTOROLA公司生产CMOS BCD七段十六进制锁存、译码驱动芯片,可以与LED显示器直接相连。具体应用略。 2. 动态显示接口 常用可编程并行接口芯片8155作为LED动态显示器的接口。实验设备中8031通过8155接六只共阴极LED动态显示器的接口。PA口作为字位码口,PB口作为字形(字段)码口。,LED显示接口,静态显示

17、电路,所谓动态显示就是一位一位地轮流点亮各位显示器(称为动态扫描),对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度即与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。,动态显示原理,显示缓冲区每个显示块对应一个存储单元,存放该块要显示的字形码表中的序号或字形码。,7EH,7DH,7CH,7BH,7AH,79H,6,5,4,3,2,1,查字形码表得到字符6的字形码82H送字形码口 将20H送字位码口则该位显示6,其它位的显示类同,依次循环往复从低位到高位查字形码表,得到对应的字形码送字形码口,其块的字位码送字位码口,由于视觉残留,六个不同

18、的字符就同时显示出来。,字形码表,字位表,8155动态显示电路,ORG 0000HDISP: MOV SP,#5FHMOV A,#03H;对8155初始化,A口、B口输出 MOV DPTR,#0FF20HMOVX DPTR,ADISP4: MOV R5,#01H ;置字位码初值MOV R0,#79H ;置显示缓冲区指针初值MOV A,R5LD0: MOV DPTR,#0FF21H ;字位码送8155 A口 MOVX DPTR,AMOV DPTR,#0FF22HMOV A,R0ADD A,#0EHMOVC A,A+PC ;查字形码表MOVX DPTR,A ;字形码送8155 B口ACALL DL

19、AY ;延时 1MSINC R0 MOV A,R5,JB ACC.5,LD1RL A MOV R5,AAJMP LD0 LD1: SJMP DISP4DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H,0C6HDB 0A1H,86H,8EH,0FFH,0CH,89HDB 0C8H,0C1H,7FH,0BFHDLAY: MOV R7,#02H ;延时子程序DL1: MOV R6,#0FFHDL2: DJNZ R6,DL2DJNZ R7,DL1RETEND,;字形码表,口指针DPTR,查表PC,ORG 0000HDISP: MOV

20、SP,#5FHMOV A,#03H;对8155初始化,A口、B口输出 MOV R1,#20HMOVX R1,ADISP4: MOV R5,#01H ;置字位码初值MOV R0,#79H ;置显示缓冲区指针初值MOV A,R5LD0: MOV R1,#21H ;字位码送8155 A口 MOVX R1,AMOV R1,#22HMOV A,R0MOV DPTR,#TABMOVC A,A+DPTR ;查字形码表MOVX R1,A ;字形码送8155 B口ACALL DLAY ;延时 1MSINC R0 MOV A,R5,JB ACC.5,LD1RL A MOV R5,AAJMP LD0 LD1: SJ

21、MP DISP4 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H,0C6HDB 0A1H,86H,8EH,0FFH,0CH,89HDB 0C8H,0C1H,7FH,0BFHDLAY: MOV R7,#02H ;延时子程序DL1: MOV R6,#0FFHDL2: DJNZ R6,DL2DJNZ R7,DL1RETEND,;字形码表,口指针R1,查表DPTR,MCS-51 的中断系统的结构,5.4.1 MCS-51的中断源和中断标志,MCS-51 共有5个中断源 外部中断0 外部中断1 T0溢出中断 T1溢出中断 串

22、行口中断,外部中断请求0、1, 中断请求信号输入引脚:,中断请求信号, 外部中断请求信号触发方式选择(IT0/1位),SETB IT0, 外部中断请求标志位、中断允许位、优先级选择位:,高,低,TCON, IT0(IT1):外部中断请求0(1)的触发方式选择 IT0=0 电平触发方式;IT0=1 边沿触发方式 IE0(IE1):外部中断请求0(1)的中断申请标志 IT0=0 CPU每个机器周期采样/INT0,若/INT0=1 则IE0=0 否则/INT0=0, IE0=1申请中断 IT0=1 若第一个机器周期/INT0=1,第二个机器周期/INT0=0,则IE0=1申请中断,否则IE0=0 转

23、向中断服务时边沿触发方式下IE由硬件清零 转向中断服务时电平触发方式下硬件不清IE,待申请信号撤消。,T0、T1溢出中断,TCON, TF0:51片内定时/计数器0溢出中断请求标志。 定时/计数器0溢出时,TF0由硬件置1 CPU 响应中断时 自动清零 TF0 TF0 也可软件清零, TF1: 51片内定时/计数器1溢出中断请求标志,串行口中断, RI:串行口接收中断标志RI=1串行口接收中断 TI:串行口发送中断标志TI=1串行口发送中断 RI、TI 由硬件置位必须由软件清零,SCON,5.4.2 MCS-51 对中断请求的控制,总结中断源的各个触发器(p154)表5-1),寄存器: TCO

24、N、SCON 、IE 、IP复位后,这四个寄存器均为00H。,若设置串行口和定时器/计数器1为高级中断:SETB PSSETB PT1 问:设置后,那个中断源的优先级最高?那个中断源的优先级最低? 答: 设置后,优先级的顺序为:TF1RI/TIINT0TF0INT1,5.4.3 MCS-51对中断的响应与撤消, MCS-51中断响应的基本条件 MCS-51中断响应过程 MCS-51中断响应时间 MCS-51中断请求的撤消,MCS-51中断响应的基本条件, 51 CPU 中断受阻的条件: CPU 正在处理相同或更高级中断 现行的机器周期不是所执行指令的最后一个机器周期 正在执行的指令是访问IE、

25、IP或RETI指令 在执行上述指令后至少再执行一条指令,才可能响应中断。, MCS-51的中断响应的基本条件: 首先要有中断源发出中断申请; 中断总允许位EA=1,即CPU允许所有中断源申请中断; 在中断源寄存器TCON和SCON中,申请中断的中断允许位为1,即此中断源可以向CPU申请中断。,A 51CPU自动完成: CPU先在每个机器周期的S5P2期间,对各中断源重复进行查询,并设置相应的中断标志位 。 如果中断响应条件满足,且不存在中断阻断的情况,则CPU就响应中断。 硬件生成长调用指令自动地把断点地址压入堆栈保护,并随之将对应的中断入口装入程序计数器PC,使程序转向该入口地址,以执行中断

26、服务程序。 A 用户必须完成:在这些入口地址存放一条无条件跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去 。,MCS-51响应中断的过程,MCS-51 的中断响应过程,中断入口地址表,低级中断源的 中断服务程序,用户编程设计,CLR EA,SETB EA,MCS-51 的中断程序设计举例,ORG 0000HAJMP MAIN ORG 0003HLJMP EX1SVRORG 0100H MAIN:MOV SP#6FHSETB IT0SETB EX0SETB EASJMP $;等待中断,EX1SVR: PUSH PSWPUSH ACCMOV A,#0FFHMOV P1,AMOV A,P1

27、SWAP AMOV P1,APOP ACCPOP PSWRETIEND,初始化部分,答:将子程序入口地址压入堆栈,因为它是CALL指令的转移目标地址, 而不是CALL的下一条指令地址。,问:响应中断后什么地址压入堆栈?,答:将 SJMP $ 指令的转移目标地址压入堆栈。即 中断在本指令处产生,本指令的目标地址是本指令地址。,问:若中断在CALL指令执行后产生,响应中断后什么地址压入堆栈?,问:若要控制中断的次数,在主程序中采用CJNE R7,#10,NEXT指令,NEXT标号应写在什么语句上?,答:将NEXT标号写在本指令上。即:NEXT:CJNE R7,#10,NEXT;等待中断必须在中断服

28、务程序中用INC R7指令更新R7的值。R7的初值在主程序的初始化部分置入。,子程序与中断服务程序的区别, 对强迫中断的服务程序具有随机性 要考虑可能在程序的什么指令处发生, 要保护什么内容,才能保证返回断点后正常工作。 对人为设置的软件中断与子程序调用的区别返回指令不同 子程序返回用RET 中断服务程序返回用RETI 处理内容不同,中断一般处理I/O操作。,544 MCS-51中断系统的初始化及应用,1、MCS-51中断系统的初始化,中断系统初始化步骤为:1)CPU开中断或关中断;2)某中断源中断请求的允许或禁止(屏蔽);3)设定所用中断的中断优先级;4)若为外部中断,则应规定低电平还是负边

29、沿的中断触发方式。,解: (1)采用位操作指令SETB EA ;CPU开中断SETB EX1 ;开/INT1中断SETB PX1 ;令/INT1为高优先级CLR IT1 ;令/INT1为电平触发(2)采用字节型指令MOV IE,#84H ;开/INT1中断ORL IP,#04H ;令/INT1为高优先级ANL TCON,#OFBH ;令/INT1为电平触发,IT1=0,例5-2请写出/INT1为低电平触发的中断系统初始化程序,(1)主程序主程序除了用来对MCS-51本身中断系统初始化外,还经常用来对具有中断功能的外部扩展的可编程I/O接口、可编程内部定时器/计数器T0、T1和可编程内部串行口等

30、初始化,程序如下:ORG 0000HAJMP MAINMAIN: ; MAIN为主程序首地址复位后,其PC的内容被强迫置成0000H上电启动,CPU就执行0000H单元的指令,必须在0000H单元放一条跳转到主程序的跳转指令, 实现了上电自动转向主程序,2、程序设计方法,(2)中断服务程序中断服务程序是一种具有特定功能的独立程序段,它为中断源的特定要求服务,其一般低级中断源程序编写格式如下:ORG ZDRKAJMP INTVS INTVS:CLR EAPUSH ACCPUSH 01HSETB EA 中断服务 CLR EAPOP 01HPOP ACCSETB EARETI,中断服务程序入口 地址

31、:ZDRK0003H000BH0013H001BH0023H,高级中断服务程序的设计GJZHD: CLR EA保护现场中断处理恢复现场SETB EARETI,嵌套,RETI,1、一个单级的中断系统中必要响应时间 从中断请求有效(CPU响应中断)到开始执行中断服务程序的第一条指令(中断入口地址处指令)为止,至少要经历三个完整的机器周期:第一个机器周期用于查询中断标志位;第二和第三个机器周期用于保护断点并自动转入执行一条长转移LCALL指令 ,进入中断服务程序入口地址。,MCS-51中断响应时间,2、附加等待时间逢RETI或其它访问IE、IP指令的第一个周期,而这类指令之后又跟随着MUL或DIV指令引起的附加等待时间不会超过5个机器周期:一个周期完成正在进行的指令,再加MUL或DIV的4个周期。得出结论:在一个单级的中断系统中,MCS-51响应中断的时间一般在3-8个机器周期之间。 3、中断受阻引起响应时间延长当一个同级或更高级的中断正在进行,则附加的等待时间取决于正在进行的中断程序。,CPU必须在中断返回前,把它的响应中断标志位复位成“0”状态。8031单片机的5个断源,撤除中断请求的方法是不相同。,MCS-51中断请求的撤除,外部中断请求的撤除,INSVR:ANL P1,#0FEHORL P1,#01H RETIEND,专题六结束,

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

当前位置:首页 > 网络科技 > 计算机硬件与维护

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


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

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

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