习题一1.什么是接口?接口就是微处理器CPU与外部世界的连接部件,是CPU与外界进行信息交换的中转站。2.为什么要在CPU与外设之间设置接口?在CPU与外设之间设置接口主要有4个原因:(1)CPU与外设二者的信号不兼容,包括信号线的功能定义、逻辑定义和时序关系(2)CPU与外设的速度不匹配,CPU的速度快,外设的速度慢(3)若不通过接口,而由CPU直接对外设的操作实施控制,会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率(4)若外设直接由CPU控制,会使外设的硬件结构依赖于CPU,对外设本身的发展不利。3.微型计算机的接口一般应具备那些功能?微机的接口一般有如下的几个功能:(1)执行CPU命令的功能:CPU将对外设的控制命令发到接口电路中的命令寄存器(命令口)中,在经分析去控制外设(2)返回外设状态的功能:通过状态寄存器(状态口)完成,包括正常工作状态和故障状态(3)数据缓冲的功能:接口电路中的数据寄存器(数据口)对CPU于外设间传送的数据进行中转(4)设备寻址的功能:CPU某个时刻只能和一台外设交换数据,CPU发出的地址信号经过接口电路中的地址译码电路来选中I/O设备(5)信号转换的功能:当CPU与外设的信号功能定义、逻辑关系、电平高低及工作时序不兼容时接口电路要完成信号的转换功能(6)数据宽度与数据格式转换的功能:由于CPU处理的数据都是并行的,当外设采用串行传送方式时,接口电路就要完成串、并之间的转换,并进行数据格式的转换。4.接口技术在微机应用中起的作用?随着计算机技术的高速发展,计算机的应用越来越广泛。然而,在微机系统中,微处理器的强大功能必须通过外部设备才能实现,而外设与微处理器之间的信息交换和通信又是靠接口来实现的,所以,接口技术成为了一门关键技术,它直接影响微机系统的功能和微机的推广应用。5.接口电路的硬件一般由哪几部分组成?接口电路的硬件一般由以下几部分组成:(1)基本逻辑电路:包括命令寄存器、状态寄存器和数据缓冲寄存器,是接口电路中的核心(2)端口地址译码电路:实现设备的选择功能(3)供选电路:根据不同任务和功能要求而添加的功能模块电路。6.接口电路的软件控制程序一般包括哪几部分?接口电路的软件控制程序一般包括以下的程序段,各部分程序是相互渗透、融为一体的:(1)初始化程序段:对可编程接口芯片进行初始化编程(2)传送方式处理程序段:不同的传送方式(查询、中断、DMA方式)程序段不同(3)主控程序段:完成接口任务的程序段(4)程序终止与退出程序段:程序退出前对接口电路中硬件进行保护的程序段(5)辅助程序段:人-机对话、菜单等7.接口电路的结构有哪几种形式?接口电路的结构主要有四种:(1)固定式结构:不可编程的接口电路,结构简单、功能单一、固定(2)半固定式结构:由PAL或GAL器件构成的接口电路,功能和工作方式可以通过改写内部的逻辑表达式来改变,但逻辑表达式一旦烧入芯片,其功能和工作方式就固定下来了(3)可编程结构:其功能和工作方式可由编程指定,使用灵活、适应面广,且种类繁多(4)智能型结构:芯片本身就是一个微处理器,外设的全部管理都由智能接口完成,如I/O处理器I0809或通用单片机8.CPU与接口之间有哪几种传送数据的方式?它们各应用在什么场合?CPU与接口之间的数据传送方式主要有查询方式、中断方式和DMA方式:(1)查询方式:主要用于CPU不太忙且传送速度不高的情况下。无条件传送方式作为查询方式的一个特例,主要用于对简单I/O设备的控制或CPU明确知道外设所处状态的情况下。(2)中断方式:主要用于CPU的任务比较忙的情况下,尤其适合实时控制和紧急事件的处理(3)DMA方式(直接存储器存取方式):主要用于高速外设进行大批量数据传送的场合。习题二1什么是端口?端口是接口电路中能被CPU直接访问的寄存器。2.I/O端口的编址方式有几种?各有何特点?I/O端口的编址方式有两种——统一编址方式(存储器映象方式)和独立编址方式(I/O映象方式、专用I/O指令方式)(4)统一编址方式:从整个寻址空间中划出一部分给I/O设备,其余的给存储器,通过地址码区分操作对象是存储器还是I/O,二者的地址码不重叠。这种方式的优点是①I/O端口的编址空间大,且易于扩展②I/O指令丰富、功能齐全;缺点是①存储器的地址空间减少,达不到系统最大的寻址空间②I/O指令比独立编址方式的专用I/O指令长,译码时间长,执行速度慢(5)独立编址方式:存储单元与I/O端口分别编址,地址码重叠,通过操作码区分操作对象是存储器还是I/O。这种方式的优点是①I/O端口不占存储器的编址空间,使存储器的容量可达系统的最大寻址能力②I/O指令短、执行速度快;指令清晰、可读性强;缺点是①I/O端口地址范围一旦确定,不易扩展②I/O指令种类有限,操作单一3.设计I/O设备接口卡时,为防止地址冲突,选用I/O端口地址的原则是什么?为了避免端口地址发生冲突,在选择I/O端口地址时一般要遵循以下的原则:(6)凡是被系统配置所占用了的地址一律不能使用(7)原则上讲,未被占用的地址,用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则会发生I/O端口地址重叠和冲突(8)一般,用户可使用300H~31FH地址,这是IBM-PC微机留作实验卡的,用户可以使用。为了避免与其他用户开发的插件板发生地址冲突,最好采用地址开关。12.在独立编址方式下,CPU采用什么指令来访问端口?独立编址方式下,采用专用的I/O指令——输入/输出指令(如PC系列微机中的IN、OUT)来访问端口。13.在I/O指令中端口地址的宽度及寻址方式有哪两种?PC系列微机中,I/O指令对端口的寻址方式有两种:直接寻址和间接寻址(必须由DX间址)。直接寻址方式中,端口地址的宽度为8位,即地址范围是00H~FFH;间接寻址方式中,端口地址的宽度为16位,即地址范围是0000H~FFFFH。15.I/O端口地址译码电路一般有哪几种结构形式?I/O端口地址译码电路一般有两种结构形式:固定式端口地址译码——硬件电路不改动,译码输出的地址或地址范围不变可选式端口地址译码——电路中有若干个DIP开关,硬件电路不改动,只改变开关的状态,就可以使译码输出的地址或地址范围发生变化。习题三3微机系统中的外部定时有哪两种方法?其特点如何?微机系统中的外部定时有软件定时和硬件定时两种方法。软件定时:利用CPU执行指令需要一定时间的特点产生延时。这种方法不需增加硬件设备,只需编制延时程序即可;但是它降低了CPU的效率,浪费了CPU的资源,而且由于同样的延时程序在不同计算机上运行的时间会不同,所以通用性比较差。5.8253初始化编程包括哪两项内容?在对8253进行始化编程时,首先向命令寄存器中写入方式字,选择计数通道、工作方式、计数初值的长度及写入顺序、计数码制。然后按方式字的要求向选定的计数通道中写入计数初值。6.8253有哪几种工作方式?区分不同工作方式的特点体现在哪几个方面?为什么3方式使用最普遍?8253有6种工作方式——方式0~方式5。区分不同工作方式的特点主要体现在以下的4个方面:(9)启动计数器的触发方式不同(10)计数过程中门控信号GATE对计数操作的控制作用不同(11)计数/定时到时输出端OUT输出的波形不同(12)在计数过程中,写入新的计数初值的处理方式不同3方式由于具有自动重新装载计数初值,能输出重复波形,且输出波形的高低电平比为1:1或近似1:1(方波或近似方波),所以在实际中应用最广泛。10利用8253作为波特率发生器,当CLK=1.1931816MHz,波特因子为16时,要求产生4800波特的传输速率,试计算8253的定时常数。由于波特因子=波特率收、发f,所以8253输出的频率应该是Hz76800164800=OUTf,由此可计算出8253的定时常数:165.1576800101931816.1N6OUTCLKff=习题五1.什么是中断?是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完毕,再返回去继续运行被暂时中断的程序,这个过程称为中断。2.可屏蔽中断处理的一般过程是什么?可屏蔽中断的处理过程一般可分为4个阶段:(13)中断申请:外设向CPU发出中断申请信号,CPU检测到有效的INTR,且无DMA请求、IF=1,当前指令执行完毕就进入响应阶段(14)中断响应:CPU通过总线控制器发出两个连续的中断响应信号(2个负脉冲)组成中断响应周期。在中断响应周期中,CPU取得中断类型号n,将程序状态字(PSW)及断点的地址(CS和IP)依次入栈保护。再查中断向量表,将(4*n)IP;(4*n+2)CS,进入中断服务阶段(15)中断服务:CPU执行中断服务程序,为中断源服务(16)中断返回:当执行到中断服务程序中的IRET指令时,将堆栈栈顶的三个字单元内容弹出,依次送给IP、CS、PSW,CPU返回到原来的程序去执行。4.什么是中断嵌套?是指CPU正在执行一个中断服务程序时,有另一个优先级更高的中断提出中断请求,这时会暂时挂起当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,这个过程就是中断嵌套。5.什么是中断向量?它是如何装入中断向量表的?中断向量是中断服务程序的入口地址,一个中断向量由4个字节组成,它包括中断服务程序的段首址和偏移地址。中断向量并非常驻内存,而是由程序装入中断向量表中的。系统配置和使用的中断所对应的中断向量由系统软件负责装入;系统若未配置系统软件(如单板INTA机系统),或用户自定义的中断向量,由用户自行装入。6.什么是中断类型号?它的作用是什么?中断类型号是系统为每一个中断源分配的代号,它是8位的,与系统的中断源一一对应。中断类型号负责引导CPU找到中断服务程序的入口点。通过中断类型号查中断向量表可得到中断向量(中断服务程序入口地址),其中:物理地址为4*n的单元是中断服务程序入口点的偏移地址;物理地址为4*n+2的单元是中断服务程序的段首址。14如何对8259A进行初始化编程(包括单片使用和双片使用)?在单片8259A系统中,初始化时按顺序依次写入ICW1、ICW2、和ICW4;在双片8259A系统中,初始化时要按顺序依次写入ICW1、ICW2、ICW3和ICW4。18中断结束命令安排在程序的什么地方?在什么情况下要求发中断结束命令?为什么?中断结束命令一般安排在中断服务程序中,在中断服务完成,中断返回指令(IRET)之前。在8259A工作于非自动结束方式时,要送中断结束命令。因为这种方式,即使中断已经服务完毕,ISR中的对应位也不会自动清0,这样就使得低优先级的中断和同级中断得不到应有的响应。通过发中断结束命令,将服务完的中断级在ISR中的对应位清0,以便开放同级和低级中断。习题七1.可编程并行接口芯片8255A面向I/O设备一侧的端口有几个?其中C口的使用有哪些特点?8255A面向I/O设备一侧有3个8位的端口:A口、B口和C口,或者说有2个8位的端口(A口、B口)和2个4位的端口(C上、C下)。其中,C口比较特殊,它的特点主要有:作为数据口,可分为两个独立的4位口(C上、C下)使用;1方式和2方式时,C口的部分引脚作为A、B口的固定联络信号线;1方式和2方式时,C口作为状态口使用;C口的引脚可以用按位置/复位命令字进行按位控制。14可编程并行接口芯片8255A的编程命令有哪两个?试分别说明它们的作用及其命令格式中每位的含义是什么?8255A有两个编程命令:方式命令字和C口按位置/复位命令字。方式命令字:用于对8255A进行初始化编程,设定A、B、C口的工作方式及传送方向,其命令格式及各位含义如下:C口按位置/复位命令字:用于对8255A进行动态控制,在应用过程中,需要对C口的某个引脚进行按位操作时使用,对已设定好的工作方式无影响,其命令字格式及各位含义如下:3.“