您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 5章3数字量输入输出110822
微机原理与应用主讲教师:姜涛教学内容:第一章微型计算机基础第二章微型计算机指令系统第三章汇编语言程序设计第四章半导体存储器第五章数字量输入输出第六章模拟量输入输出微机原理与应用第1章、微型计算机基础1.3微型计算机系统的组成、分类和配置1.3.1微型计算机系统的组成4微型计算机系统的三个层次微处理器存储器I/O接口总线硬件系统软件系统微型计算机系统微型计算机(主机)外设ALU寄存器控制器键盘、鼠标显示器软驱、硬盘、光驱打印机、扫描仪系统软件应用软件5微型计算机的概念结构存储器I/O接口输入设备I/O接口地址总线AB输出设备CPU数据总线DB控制总线CBI/O接口AB:AddressBusDB:DataBusCB:ControlBus8086/8088最大模式结构5.2系统总线及接口7第5章数字量输入输出8主要内容:5.1概述5.2系统总线及接口5.3中断控制系统5.4计数定时接口5.5并行输入输出接口5.6串行输入输出接口5.7直接存储器存取DMA5.8高档微机中的I/O接口电路95.1概述5.1.4I/O的控制方式主机与外设之间数据传送的控制方式有以下四种:无条件/直接/同步传送条件/查询/异步式传送中断方式传送直接存储器存取(DMA,DirectMemoryAccess)关键:发起方式+完成方式10115.3中断控制系统5.3.1中断的基本概念1、什么是中断?与生活场景的比较正在看书电话铃响接电话继续看书执行程序事件发生事件处理继续执行程序中断处理中断请求及响应实际场景计算机中断返回中断的定义CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。为何计算机中要引入中断?提高数据传输率;避免了CPU不断检测外设状态的过程,提高了CPU的利用率。实现对特殊事件的实时响应。如多任务系统操作系统中:缺页中断设备中断各类异常实时钟,。。。等2、中断源引起CPU中断的事件——中断源。例如:外设——请求输入输出数据,报告故障等事件——掉电、硬件故障、软件错误、非法操作、定时时间到等3、中断分类中断源分类为:外部中断、内部中断,用中断类型号n(0-255)区分。内部中断:CPU内部执行程序时自身产生的中断除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。单步中断:类型号1,TF=1时产生(当前指令需执行完)断点中断:类型号3,这是一个软件中断,即INT3指令。溢出中断:类型号4,这是一个软件中断,即INTO指令。软件指令中断:即INTn指令,类型号n(0-255)。外部中断:CPU以外的设备、部件产生的中断非屏蔽中断NMI:类型号2,不可用软件屏蔽,CPU必须响应它。(正跳变加到NMI引脚,产生。由NMI屏蔽寄存器控制)可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。(高电平加到INTR引脚,IF=1时,产生。)8086/8088中断源类型4、中断过程5个步骤:中断请求中断优先级比较中断响应中断服务中断返回外设接口(中断源)发出中断请求信号,送到CPU的INTR或NMI引脚;中断请求信号:边沿请求,电平请求例如,NMI为边沿请求,INTR为电平请求中断请求信号应保持到中断被处理为止;CPU响应中断后,中断请求信号应及时撤销。在8086/8088系统中,外设的中断要经过8259A可编程中断控制器(PIC)的排队判优后向CPU发出:(I/O接口)→PIC→CPUn11)中断请求:2)中断优先级比较优先级从高到低顺序如下:内部中断NMIINTR单步中断3)中断响应:三项工作:获取中断源类型号,向中断源发出INTA中断响应信号;断点保护:包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回被中断的程序。获得中断服务程序首地址(入口)。固定入口法中断向量法——常用8086/8088CPU的中断响应过程内部中断响应过程无INTA#周期中断类型码固定或由指令给出响应过程主要步骤:①PUSHFLAG②IF=0③PUSHCS④PUSHIP⑤取中断向量送入IP和CS中断响应过程(续)外部中断响应过程非屏蔽中断,与内部中断响应过程类似可屏蔽中断①INTA#(1),PIC进行优先级排队判优处理②INTA#(2),PIC把中断类型码放到DB上,CPU读入③PUSHFLAG④IF=0⑤PUSHCS⑥PUSHIP⑦取中断向量送入IP和CS与内部中断一样中断源类型的识别8088系统采用中断类型码来识别不同的中断源,每个中断源都有一个与它相对应的中断类型码。溢出、断点、除法溢出、单步、NMI非屏蔽中断的类型码为固定值INTn软件中断的类型码由指令给出INTR可屏蔽中断的类型码由PIC给出CPU响应INTR中断时,会产生两个中断响应总线周期,要求PIC在第2个中断响应总线周期把中断类型码放到数据总线上,供CPU读入。4)中断服务:根据中断类型号n到中断向量表获得中断服务程序入口(CS:IP)共4个字节中断向量表(IVT)存放各类中断的中断服务程序的入口地址(段和偏移)——中断向量表的地址位于内存的00000H~003FFH,大小为1KB,共256个中断向量每个中断向量占用4Bytes,低字为段内偏移IP,高字为段基址CS.根据中断类型号获得中断服务程序入口的方法:(n为中断类型号)中断向量在IVT中的存放地址=4×n中断向量表的初始化初始化——将中断服务程序的入口地址放入向量表例:中断类型码n为48H的中断处理子程序的名字为int48h,编写程序段将该中断处理子程序的入口地址放入向量表。中断向量表的初始化CLI;关中断MOVAX,0MOVDS,AXMOVSI,48H*4MOVAX,OFFSETint48hMOV[SI],AXMOVAX,SEGint48hMOV[SI+2],AXSTI;开中断5)中断返回执行中断返回指令IRETIRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG进入中断服务程序时中断返回后295.3中断控制系统5.3.2可编程中断控制电路8259APIC,ProgrammableInterruptController可对8个外部中断源INTR实现优先级控制:屏蔽安排,中断优先权,中断矢量安排根据中断源向x86提供不同中断类型码可扩展至对64个中断源实现优先级控制软件可编程设置不同工作方式1)引脚分配及功能数据总线:D0----D7;地址总线:CSA0---;控制总线:RD,WR;INT,INTA;IR0---IR7;SP/EN,CA0—CA3图5.198259A引脚8259A的内部结构中断请求寄存器IRR保存从IR0~IR7来的中断请求信号,某位=1表示对应的IRi有中断请求中断服务寄存器ISR保存所有正在服务的中断源,某位=1表示对应的IRi中断正在被服务中断屏蔽寄存器IMR存放中断屏蔽字,某位=1表示对应的IRi输入被屏蔽中断优先权判别电路确定是否向CPU发出中断请求,中断响应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上8259A的级连:8*8=64个中断主片:SP/EN=H,CA0—CA3从片:SP/EN=L,CA0—CA3级联工作方式单片8259A可支持8个中断源;采用多片8259A级连,可最多支持64个中断源。n片8259A可支持7n+1个中断源;级连时只能有一片8259A为主片,其余的均为从属片;涉及到的8259A引脚包括:CAS0-CAS2SP#/EN#IRiINT级连电路连接方法8259A(从片1)D0-D7INTAINTSP/ENIR7IR0IR2IR3IR4IR5IR6IR1CAS0CAS1CAS28259A(从片2)D0-D7INTAINTSP/ENIR7IR0IR2IR3IR4IR5IR6IR1CAS0CAS1CAS28259A(主片)D0-D7INTAINTSP/ENIR7IR0IR2IR3IR4IR5IR6IR1CAS0CAS1CAS2VCC系统总线AB、DB、CBA0CSA0A0CSCSRDWRWRRDWRRD2)8259A的编程使用程序选定工作状态(命令字)优先权安排,中断屏蔽,中断矢量OUT指令---8259A的控制命令分为初始化命令字ICWICW1~ICW4寄存器向8259A写入ICW的过程称为初始化编程操作命令字OCWOCW1~OCW3寄存器向8259A写入OCW的过程称为操作方式编程8259A内部寄存器的寻址方法需要CS#、A0、RD#、WR#和D4、D3(特征位)的配合内部寄存器的访问方法如下表:8259A的初始化顺序注意次序不可颠倒8259A的控制命令字ICW1初始化8259A必须从ICW1开始写ICW1意味着重新初始化8259A写入ICW1后,8259A的状态如下:清除ISR和IMR(全0);将中断优先级设成初始状态:IR0最高,IR7最低;设定为一般屏蔽方式;采用非自动中断结束方式;状态读出逻辑预置为读IRR。ICW1——初始化字D7~D5+D2:中断向量的低8位D2=1时:中断地址间隔为4D7~D5--A7~A5A4~A2--中断序号A1~A0–00D2=0时:中断地址间隔为8D7~D6--A7~A6A5~A3--中断序号A2~A0--000ICW2——中断向量码8088系统中断向量的低8位D7~D3:中断向量码的高5位D2~D0:最低3位为中断源的序号IRn000~111分别对应IR0~IR7由8259A根据中断源的序号自动填入ICW3——级连控制字S7~S0主片的级联控制字Si=1对应IRi线上连接了从片ID2~ID0从片的标识码本从片连接到主片的哪个IR引脚上。000~111分别对应IR0~IR7。ICW3——级连控制字(续)ICW3必须与主从片的连接关系一致:例如,主片的IR4与从片的INT线连接,则主片的ICW3=10H,从片的ICW3=04H。中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与CAS2-CAS0比较,二者一致的从片才可发送中断向量码。ICW4——中断结束方式字ICW4决定的工作方式缓冲方式和非缓冲方式一般的全嵌套方式和特殊的全嵌套方式自动中断结束方式和普通(正常)中断结束方式8259A的操作命令字OCW3个OCW用于设置8259的工作状态在初始化后写入OCW的写入顺序可任意写入地址要求:OCW1必须写入奇地址端口(A0=1)OCW2,OCW3必须写入偶地址端口(A0=0)OCW1——中断屏蔽字Mi=1中断请求线IRi被屏蔽(不允许中断)=0允许该IRi中断OCW1将写入IMR寄存器。A0=1时读OCW1可读出设置的IMR内容。OCW2——中断结束和优先级循环D4D3:特征位00L2~L0:优先级编码R:优先级自动循环0--优先级固定1--优先级旋转SL:指定优先级EOI:结束中断命令与OCW2有关的工作方式中断优先权的旋转方式:固定优先级、优先级自动旋转和优先级特殊旋转普通(正常)中断结束方式:EOI方式和SEOI方式5.3中断系统的功能OCW3——屏蔽方式和读出控制字与OCW3有关的工作方式查询方式和非查询方式读IRR或ISR方式特殊屏蔽方式和一般屏蔽方式5.3中断系统的功能515.3中断控制系统5.3.3Intel8259A的应用1)Intel8259A的系统连接写操作时8259A的寄存器地址:20H:ICW1,OCW2,OCW32
本文标题:5章3数字量输入输出110822
链接地址:https://www.777doc.com/doc-2930011 .html