微机原理与接口技术(楼顺天第二版)第七章习题解答.docx
微机原理与接口技术(楼顺天第二版)第七章习题解答微机原理与接口技术楼顺天第二版习题解答第7章常用芯片的接口技术7.1答:1地址选择;2控制功能;3状态指示;4速度匹配;5转换信息格式;6电平转换;7可编程性。7.2答:I/O接口是指I/O设备与系统总线之间的连接部件;I/O端口是指I/O接口内部可由CPU进行读写操作的各种寄存器,根据存放信息的不同,这些寄存器分别称为数据端口、控制端口和状态端口。7.3答:I/O端口编址的方式能够分为独立编址和统一编址两种方式。独立编址方式是指I/O端口与存储器有互相独立的地址空间。统一编址方式是指I/O端口与存储器分享一个地址空间,所有的存储单元只占用其中的一部分地址,而I/O端口则占用另外一部分地址。优缺点:独立编址方式的优点之一是存储器的容量能够到达与地址总线所决定的地址空间一样;优点之二是访问I/O端口时的地址位数能够较少,提高总线的利用率。但是缺点是必须设置专门的I/O指令,增加了指令系统和有关硬件的复杂性。与独立编址方式相比,统一编址方式的优点是无需专门的I/O指令,进而使编程较灵敏,但是I/O端口占用了存储器的一部分地址空间,因此影响到系统中的存储器的容量,并且访问存储器和访问I/O端口必须使用一样位数的地址,使指令地址码加长,总线中传送信息量增加。7.4答:程序查询方式的优点在于能够防止数据的丢失,实现起来较为简单;缺点是它占用了微处理器的大量时间,实时性较差。中断方式具有较好的实时性;但在一定程度上增加成本和复杂性。DMA方式的突出优点是传送经过无须处理器的控制,数据也无须经过微处理器,而是直接在I/O设备与主存储器间进行,因而既节约了微处理器的时间,也使传送速率大大提高;缺点是输入/输出操作占用微处理器时间。7.5答:I/O设备种类繁多、数据传送与响应速度差异大、电平信号各不一样、一般不直接具备控制功能和可编程性,所以,一般不能直接将I/O设备连接到系统总线上。7.6答:一般不考虑外设的状态且传输数据少时采用无条件传送;当需要查询外设的状态且微机系统规模小,CPU不需做其他事情时,能够采用查询式输入输出;当CPU工作在较为复杂的系统,且需要实时响应对发生的事件处理时,能够采用中断方式;当需要传送的数据较多时,一般采用DMA方式。7.7答:20,1MB,00000HFFFFFH,16,64K,0000HFFFFH,10,1K,000H3FFH。7.8答:I/O接口。7.9答:I/O设备,系统总线。7.10答:数据、状态、控制;双向、I/O接口-CPU,CPU-I/O接口。7.11答:状态寄存器。7.12答:速度7.13答:独立,统一。7.14答:BC7.15答:C7.16答:A7.17答:C7.18答:D7.19答:B7.20答:IN,OUT7.21答:由于片内有16个端口,分别占用30030FH地址。因而,该接口模块的片选信号的译码电路设计时,A3A0不参加译码。其译码电路如图7.21所示。IORIOW图7.217.22答:在IBMPC系统中,假如AEN信号未参加I/O端口地址译码,则会出现DMA机构与I/O端口竞争总线的问题,即会出现总线竞争问题。在没有DMA机构的其他微机系统中,不会存在同样的问题。7.23答:连接图如图7.23所示。74LS244A10A7A2A0图7.237.24答:连接图如图7.24所示。74LS374A15A14A8A2IOWA12A11A9A7A6图7.24程序如下:MOVCX,10LEASI,BUFFERMOVDX,04E5HWAIT1:INAL,DXANDAL,98HCMPAL,98HJNZWAIT1MOVDX,0E504HL1:MOVAL,SIOUTDX,ALINCSILOOPL1HLT7.25答:硬件连接图如图7.25所示。当前位置:文档视界微机原理与接口技术(楼顺天第二版)第七章习题解答微机原理与接口技术(楼顺天第二版)第七章习题解答MOVDX,IOSTATECHECK:INAL,DXTESTAL,08HJZCHECKMOVDX,IODATAINAL,DX7.27答:PC机使用A9A0共10位地址进行I/O端口选择,现I/O接口的地址为3C0H,即1111000000B,假如将高7位用来产生片选信号。7.28答:IOSTATE=124HIODATA1=120HIODATA2=122HMOVSI,OFFSETBUF1MOVDI,OFFSETBUF2CHECK:MOVDX,IOSTATEINAL,DXTESTAL,01HJNZREADDATA1TESTAL,10HJNZREADDATA2JMPCHECKREADDATA1:MOVBX,OFFSETBUF1;下面4行判定能否从设备1读入100个数ADDBX,100CMPSI,BXJAEENDDATA1;读满100个数则不再读MOVDX,IODATA1INAL,DXMOVSI,ALINCSIENDDATA1:JMPCHECKREADDATA1:MOVBX,OFFSETBUF2;下面4行判定能否从设备2读入100个数ADDBX,100CMPDI,BXJAEENDDATA2;读满100个数则不再读MOVDX,IODATA2INAL,DXMOVDI,ALINCDIENDDATA2:JMPCHECK7.29答:IOSTATE=0FAH;状态端口IOIN=0FCH;纸币数据输入端口IOOUT=0FEH;硬币数据输出端口CHECKIN:MOVDX,IOSTATEINAL,DXTESTAL,04H;D2位表示检测到纸币JNZEXCHANGEJMPCHECKINEXCHANGE:MOVDX,IOIN;读入纸币类型INAL,DXMOVBL,AL;将类型数据暂存在BL中ANDAL,0F0H;获得高4位10位MOVCL,4SHRAL,CL;右移4位MOVCL,10MULCL;10位乘10ANDBL,0FH;个位ADDAL,BLSHLAL,1;乘2,得到5角硬币数MOVAH,AL;将纸币元值存入AHMOVDX,IOSTATECHECKOUT:INAL,DXTESTAL,08HJZCHECKOUTMOVDX,IOOUTMOVAL,AHOUTDX,AL;将5角硬币数输出到输出口JMPCHECKIN