《华中科技大学微机原理考前接口习题课件》由会员分享,可在线阅读,更多相关《华中科技大学微机原理考前接口习题课件(36页珍藏版)》请在金锄头文库上搜索。
1、第五章 12设计一个64K8存储器系统,采用74LS138和EPROM2764器件,使其寻址范围为40000H4FFFFHEPROM27648K8=64kbits,存储系统容量为64K8=512Kbits,故需要512/64=8片2764;8192=213,每片2764需要13根地址线。分两种情况分析:(1)采用8088微处理器的计算机系统:由于采用8位数据总线,A12A0用于芯片内部存储字节寻址线。地址范围为:40000H4FFFFH,A19A16=0100,A15A13作为74LS138译码输入产生片选信号。参考电路图如下:1华中科技大学微机原理考前接口习题A19A18A17A16G1G2
2、AG2BCBAM/IOA15A14A13RDD7D0A12A0CEOED7D0Y774LS138Y0A12A0CEOED7D0A12A01#8#2华中科技大学微机原理考前接口习题(2)采用8088微处理器的计算机系统:由于采用16位数据总线,A13A1用于芯片内部存储字节寻址线。地址范围为:40000H4FFFFH,A19A17=0100,A16A14作为74LS138译码输入产生片选信号Y3Y0 。参考电路图如下:3华中科技大学微机原理考前接口习题A19A18A17G1G2AG2BCBAM/IOA16A15A14RDD7D0Y374LS138Y0A12A0CEOED7D0A12A0CEOED
3、7D0A13A1。Y7A13A1D15D84华中科技大学微机原理考前接口习题13用8K8位的EPROM2764、 8K8位的6264和译码器74LS138构成一个16K字ROM、16K字RAM的存储器子系统。8086工作在最小模式,系统带有地址锁存器8282,数据收发器8286。画出存储器系统与CPU的连线图,写出各芯片的地址分配。解:(1)16K字ROM需要4片2764(8K8)16K字RAM需要4片6264(8K8)(2)对于8086系统存储子系统至少要包括的存储空间ROM:FFFF0HFFFFFH(8086复位后,CS=0FFFFH,IP=0000H,因此微处理器每次上电都从地址0FFF
4、F0H执行第一条指令),若各ROM地址连续分布,4片ROM实现的地址空间为:0F8000H0FFFFFH(32KB)RAM: 00000H003FFH空间为存储中断向量表,要使微机系统能正常工作(处理各种中断),存储器子系统包括这段空间。 4片RAM实现的地址空间为:00000H07FFFH(32KB)5华中科技大学微机原理考前接口习题READYX1 X2(8284A)8086地址锁存器STB(8282*3)(8286*2)OE(选用)BHEA19A0D15D0地址总线数据总线+5VMN/MXCLKRESETAD15AD0A19A16DENDT/RM/IOWRRDHOLDHLDAINTRINT
5、AALEBHEREADYRESETT存储器子系统系统连线分别参考课本P43图2.15和课本P230页图5.22。6华中科技大学微机原理考前接口习题G1G2AG2BCBA+5VM/IOA16A15A14RDY174LS138Y0A12A0CEOEA12A0CE1OEA13A1Y7A13A1CE2CE2CE2CE21#2#3#4#WEWEWRA0BHERDWRA12A0CEOED7D02#1#A12A0CEOED7D02#1#DBA13A1A13A1RDRDD7D0D15D8D7D0D15D8Y6GND7华中科技大学微机原理考前接口习题习题1:试用SRAM62256(32Kx8)芯片为8086系统
6、设计一个64KB的存储子系统。要求地址从8086的存储器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1)需要几片SRAM芯片,若采用全译码,需要多少位地址产生片选信号?(2)每片SRAM访问内部存储单元的地址线为多少条?写出每片SRAM的地址范围。(3)画出其地址译码及连接电路图。(假设系统20位地址总线为A19A0,16位数据总线为D15D0,控制信号为RD、WR,奇存储体选择信号为/BHE,偶存储体选择信号是A0)8华中科技大学微机原理考前接口习题(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存储体的地址范围80000H8FFFFH中奇地址
7、偶存储体的地址范围80000H8FFFFH中偶地址(3)电路连接图如下9华中科技大学微机原理考前接口习题BHE A151A0 M2CSD7D0A14A0 M1CSD7D0A14A0D7D0D15D8AG1G2AG2BCBA74LS138Y7Y4Y0M/IOA19A18A17GNDA1610华中科技大学微机原理考前接口习题8.假定中断类型号15的中断处理程序的首地址为ROUT15,编写主程序中为建立一个中断向量的程序。解:MOVAX,0MOVES,AXMOVBX,15*4MOVAX,OFFSETROUT15MOVES:WORDPTRBX,AXMOVAX,SEGROUT15MOVES:WORDPT
8、RBX+2,AXSTIROUT15:IRET注意十进制和十六进制的计算:15*4 = 60 = 3CH 15H*4= 54H 而不是60H第七章第七章11华中科技大学微机原理考前接口习题10.给定SP=0100H,SS=0500H,flags=0240H,在存储单元中已有内容为(00024)=0060H,(00026)=1000H,在段地址为0800H及偏移地址为00A0的单元中,有一条中断指令INT9。问:执行INT9指令后,SS、SP、IP、flags的内容是什么?栈顶的三个字是什么?答:执行中断指令后,CPU自动将当前flags、CS、IP内容入栈保护。清除IF、TF,禁止外部中断和单步
9、中断。从中断向量表中取(4n)地址中内容IP,取(4n+2)地址中内容CS。所以SS=0500H,堆栈地址向上移6个字节,SP=0100H-6=00FAH.IP=0060H.flags中第9位IF和第8位TF被清零,flags=0040H。栈顶三个字为:(IP)00A2H,(CS)0800H,(flags)0240H。12华中科技大学微机原理考前接口习题14.系统中有3个中断源,从8259的IR0、IR2、IR4端引入中断,以脉冲触发。中断类型号分别为50H,52H和54H,中断入口地址分别为5020H、6100H和3250H,段地址为1000H。使用完全嵌套中断,普通EOI结束,试编写初始化
10、程序,使CPU响应任一级中断时,能正确工作。并编写一段中断服务程序,保证中断嵌套的实现和正确返回。分析:题目考察如何用8259管理多个外部中断源,并实现中断的嵌套。假设系统采用单片8259,初始化程序应包括8259初始化和中断向量建立。IR0 INTINTA8259AINTRINTACPU.中断请求IR2IR413华中科技大学微机原理考前接口习题1、8259A初始化:单片8259A工作,边沿触发方式,IR0中断类型号为01010000B=50H,完全嵌套中断,普通EOI结束。设8259A的端口地址为20H和21H。8259初始化程序如下:MOVAL,13HOUT20H,AL;设置ICW1MOV
11、AL,50HOUT21H,AL;设置ICW2MOVAL,01HOUT21H,AL;设置ICW4MOVAL,0EAH;OCW1OUT21H,AL0A0D7D6D51D4LTIMD3D2SNGLD11D0ICW1T7D7 1A0 IR编码D2 D1 D0T6D6T5D5T4D4T3D3ICW21A00D70D6AEOID10D51D0SFNMD4BUFD3M/SD2ICW4 0 0 0 014华中科技大学微机原理考前接口习题CLIMOV AX,0MOV ES,AX ;置矢量表段地址MOV DI, 140H;置矢量表偏移地址,50H*4=140HMOV AX,5020H;IR0中断服务程序入口CLD
12、 STOSW ;IR0中断服务程序偏移量地址MOV AX, 1000HSTOSW ;IR0中断服务程序段地址MOV DI, 148H;置矢量表偏移地址,52H*4=148HMOV AX,6100H; IR2中断服务程序入口STOSW ; IR2中断服务程序偏移量地址MOV AX, 1000HSTOSW ; IR2中断服务程序段地址MOV DI, 150H;置矢量表偏移地址,54H*4=150HMOV AX,3250H; IR4中断服务程序入口STOSW ; IR4中断服务程序偏移量地址MOV AX, 1000HSTOSW ; IR4中断服务程序段地址2、中断向量的形成 (1)串操作15华中科技
13、大学微机原理考前接口习题2、中断向量的形成(2)DOS功能调用MOV AX, 1000H;IR0 DS:DX =1000H:5020HMOV DS, AXMOV DX, 5020HMOV AL, 50H;IR0类型号50HMOV AH,25HINT21HMOV DX, 6100H ;IR2 DS:DX =1000H:5020HMOV AL, 52H ;IR2类型号52HINT21HMOV DX, 3250H ;IR4 DS:DX =1000H:3250HMOV AL, 54H ;IR4类型号54HMOV AH,25HINT21H注意:在DOS系统中使用中断机制时,若原中断服务程序还将使用,在设
14、置新中断向量前需先通过AH=35功能调用,获取并保存原中断向量,以便能恢复原中断向量。16华中科技大学微机原理考前接口习题3、中断服务程序IntSern:PUSH AXSTI;开中断,允许中断嵌套CLIMOV AL, 20H ;定义OCW2,普通EOI方式边沿触发。OUT 20H, AL ;8259端口POPDXPOPAXIRET17华中科技大学微机原理考前接口习题15.假如外设A1、A2、A3、A4、A5按优先级排列,外设A1优先级最高,按下列提问,说明中断处理的运行次序(中断服务程序中有STI指令):(1)外设A3,A4同时发中断请求。(2)外设A3中断处理中,外设A1发中断请求。(3)外
15、设A1中断处理完成前,发出EOI结束命令,外设A5发中断请求。答:A3A1A3A4A518华中科技大学微机原理考前接口习题16. 某系统中有3片8259A,1片为8259A主片,2片为8259A从片,从片接入8259A主片的IR2和IR5端,并且当前8259A主片的IR3及两片8259A从片的IR4各接有一个外部中断源。中断类型基号分别为80H、90H、A0H,中断入口段基址在2000H,偏移地址分别为1800H、2800H、3800H,主片8259A的端口地址为F8H、FAH。一片8259A从片的端口地址为FCH、FEH,另一片为FEECH、FEEEH。中断采用电平触发,全嵌套工作方式,普通
16、EOI结束。(1)画出硬件连接图。(2)编写初始化程序。19华中科技大学微机原理考前接口习题;中断向量表MOV AX, 2000HMOV DS, AXMOV DX, 1800HMOV AL, 83HMOV AH, 25HINT 21HMOV DX, 2800HMOV AL, 94HINT 21HMOV DX, 3800HMOV AL, A4HINT 21H;主片初始化MOV AL, 19H; ICW1MOV DX, 0F8HOUT DX, ALMOV AL, 80H; ICW2MOV DX, 0FAHOUT DX, ALMOV AL, 24H; ICW3OUT DX, ALMOV AL, 01
17、H; ICW4OUT DX, ALMOV AL, 0D3H; OCW1OUT DX, AL;1#从片初始化MOV AL, 19H; ICW1MOV DX, 0FCHOUT DX, ALMOV AL, 90H; ICW2MOV DX, 0FEHOUT DX, ALMOV AL, 02H; ICW3OUT DX, ALMOV AL, 01H; ICW4OUT DX, ALMOV AL, 0EFH; OCW1OUT DX, AL;2#从片初始化MOV AL, 19H; ICW1MOV DX, 0FEECHOUT DX, ALMOV AL, A0H; ICW2MOV DX, 0FEEEHOUT DX,
18、 ALMOV AL, 05H; ICW3OUT DX, ALMOV AL, 01H; ICW4OUT DX, ALMOV AL, 0EFH; OCW1OUT DX, AL20华中科技大学微机原理考前接口习题习题 8086CPU的外部可屏蔽中断扩展电路如下图所示: 21华中科技大学微机原理考前接口习题(1)分析电路工作原理,写出CPU获取外部中断类型码的流程?(2)写出电路中所有可屏蔽中断类型号及其中断向量在内存中的地址范围。若要求中断请求IR0具有高优先级,写出各中断源对应的中断类型号。(3)外部中断源IR1的中断服务程序的首地址为IRS1,编写为该中断源建立中断向量的程序。(4)若中断响应前
19、CPU中寄存器SP=0100H,SS=0200H,flags=0240H。则IR1中断响应后,寄存器SS、SP、flags的内容分别是什么?22华中科技大学微机原理考前接口习题第八、九章4若8255A的系统基地址为2F9H,且各端口都是奇地址,则8255A的3个端口和控制寄存器的地址各是多少?已知CPU的系统总线为A0A9,D15D0,M/IO,/IOR,/IOW,RESET,试画出8255A的地址译码电路及它与CPU系统总线的连接图。A口:2F9HB口:2FBHC口:2FDH控制寄存器:2FFH23华中科技大学微机原理考前接口习题24华中科技大学微机原理考前接口习题习题习题1、8255的的A
20、口和口和B口接有一个口接有一个44键盘,键盘的键值分别为键盘,键盘的键值分别为0F,8255的的C口接有一个七段发光二极管,硬件连接电路如下口接有一个七段发光二极管,硬件连接电路如下图,回答:图,回答:(1)写出写出8255各端口的地址。各端口的地址。(2)编写编写8255A的初始化程序。的初始化程序。(3)要求通过键盘扫描法确定按键的键值,并通过七段发光二极要求通过键盘扫描法确定按键的键值,并通过七段发光二极管显示键值,编写实现以上操作的程序。管显示键值,编写实现以上操作的程序。25华中科技大学微机原理考前接口习题说明:1、七段发光二极管的显示码如下表:显示字符123456789ABCDEF
21、0七段代码(H)065B4F666D7D077F6F777C395E79313F2、8255控制字格式如下:D7=1,为标志位D6 D5 A组工作方式;D41,A口输入,D40,A口输出;D3=1,C口PC7PC4输入 D3=0,C口PC7PC4输出 ;D2,B组工作方式;D11,B口输入,D10,B口输出;D0=1,C口PC3PC0输入,D0=0, C口PC3PC0输出26华中科技大学微机原理考前接口习题(1)端口地址1A0H,1A2H,1A4H,1A6H(2)见程序 (3)程序如下:PORTA EQU01A0HPORTB EQU01A2HPORTC EQU01A4HCONTR EQU01A
22、6HDATSEG SEGMENT TABLE DB 3FH,06H,5BH,4FH,66H,6DH, 7DH, DATSEG ENDS CODSEG SEGMENT ASSUME DS:DATSEG,CS:CODSEG START:MOV AX,DATSEG MOV DS,AX MOVDX,CONTRMOVAL,10000010B;控制字;控制字(或或90H)OUTDX,AL27华中科技大学微机原理考前接口习题WAIT:MOVDX,PORTAMOVAL,00H ;选通各行OUTDX,ALMOVDX,PORTB INAL,DX ;检查各行CMPAL,0FFH ;有键压下码JEWAIT ;否,等待
23、MOVBL,0 ;置键号初值MOVBH,0FEH ;逐行扫描MOVCX,4 ;设置行计数FNDROW: MOVAL,BHMOVDX,PORTAOUTDX,ALROLBH,1 ;选通下一行MOVDX,PORTBINAL,DX ;取列值CMPAL,0FFH ;有键压下码?JNZFNDCOL ;有,找键值ADDBL,4 ;无,选下行增加行号LOOPFNDROW ;循环扫描4行JMPDONE ;转无键压下处理28华中科技大学微机原理考前接口习题FNDCOL:RORAL,1 ;处理被按键列值JNCRIGHT ;找到该列的键号INCBL ;BL中键号加1JMPFNDCOLRIGHT:MOVAL,BL ;键
24、号送ALMOV BX, OFFSETTABLEXLATMOV DX,PORTCOUT DX,ALJMPWAIT29华中科技大学微机原理考前接口习题习题2、已知某微机系统的I/O控制接口电路如下图所示。系统每100ms检测开关K7K0状态,若闭合则点亮对应的发光二极管,否则熄灭。要求:(1)根据图中接线,写出8255、8253各端口的地址(未用位为0);30华中科技大学微机原理考前接口习题(2)编写8255和8253的初始化程序。(3)编写I/O控制程序,循环检测PC0脚,当从0变为1时,读取开关状态并点亮对应的发光二极管。(4)若要将检测周期改为1秒,简述实现方法。说明:8255控制字格式如下
25、:D7=1,为标志位D6 D5 A组工作方式;D41,A口输入,D40,A口输出;D3=1,C口PC7PC4输入 D3=0,C口PC7PC4输出 ;D2,B组工作方式;D11,B口输入,D10,B口输出;D0=1,C口PC3PC0输入,D0=0, C口PC3PC0输出8253控制字格式如下:D7 D6, 通道选择;D5 D4 计数器读/写操作方式(11先低字节,再高字节);D3 D2 D1计数器工作方式;D0 计数方式(0二进制计数,1BCD码计数) 31华中科技大学微机原理考前接口习题(1)8255端口地址:180H186H中的偶地址 8253端口地址:188H18EH中的偶地址(2)825
26、3初始化程序: MOV DX,18EH MOV AL,76H(或01110110B) OUT DX,ALMOV DX, 18DH(18CH) MOV AX,10000 OUT DX,AL MOV AL,AH OUT DX,AL8255初始化程序:MOV DX,188H MOV AL,91H(99H)(1001x001B) OUT DX,AL32华中科技大学微机原理考前接口习题(3)MOV DX, 186H ;从C口读PC0状态 IN AL, DXAA: TEST AL, 01H ;PC00,循环等待 JZ AA0JMP AAAA0: IN AL, DXJZ AA0 MOV DX, 180H ;
27、从A口对开关值 IN AL, DXNOT AL MOV DX,182H ;将开关值从A口输出,送显示部分 OUT DX,ALJMP AA33华中科技大学微机原理考前接口习题(4) 方法一:(8253多通道级联法)将8253通道1输出,连接到通道0(或2)的时钟输入,通道0(或2)的输出out连接到PC0引脚,通道0(2)和通道1分频数的乘积为100000.当检测到一个低到高的跳变时,读取8255的A口状态,根据A口状态产生控制输出。方法二:(软件法)在程序中增加一个计数单元,并清零。每次检测到一个低到高的跳变时,计数单元加1,计到10次跳变时,再读取8255的A口状态,根据A口状态产生控制输出
28、。34华中科技大学微机原理考前接口习题习题习题3:计算机中并口:计算机中并口1的端口起始地址为的端口起始地址为0x378.并口由并口由3个个 8-位端位端口组成口组成. 如下图所示:如下图所示:端口端口0为一个双向数据寄存器为一个双向数据寄存器; 直接连接到物理连接器的管脚直接连接到物理连接器的管脚 2 9.端口端口1为一个只读状态寄存器为一个只读状态寄存器; 端口端口2为控制寄存器为控制寄存器, D4控制是否中控制是否中断使能,断使能,D4=1允许中断。外设状态信号允许中断。外设状态信号Busy和和nAck(TTL 电平电平)分别通过连接器分别通过连接器11脚和脚和10脚接入,外设忙时脚接入,外设忙时Busy信号为高电平,信号为高电平,nAck由高到低时触发并口中断。由高到低时触发并口中断。35华中科技大学微机原理考前接口习题要求计算机通过要求计算机通过PC机并口输出字符机并口输出字符“Hello I/O”,并编写控制,并编写控制程序。程序。(1)采用查询方式输出。采用查询方式输出。 (2)采用中断方式输出。(并口采用中断方式输出。(并口1中断类型号为中断类型号为0FH)36华中科技大学微机原理考前接口习题