华中科技大学微机原理考前接口习题.ppt

上传人:小飞机 文档编号:6449105 上传时间:2023-11-01 格式:PPT 页数:36 大小:325.50KB
返回 下载 相关 举报
华中科技大学微机原理考前接口习题.ppt_第1页
第1页 / 共36页
华中科技大学微机原理考前接口习题.ppt_第2页
第2页 / 共36页
华中科技大学微机原理考前接口习题.ppt_第3页
第3页 / 共36页
华中科技大学微机原理考前接口习题.ppt_第4页
第4页 / 共36页
华中科技大学微机原理考前接口习题.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《华中科技大学微机原理考前接口习题.ppt》由会员分享,可在线阅读,更多相关《华中科技大学微机原理考前接口习题.ppt(36页珍藏版)》请在三一办公上搜索。

1、第五章 12设计一个64K8存储器系统,采用74LS138和EPROM2764器件,使其寻址范围为40000H4FFFFH,解:EPROM2764容量为8K8=64kbits,存储系统容量为64K8=512Kbits,故需要512/64=8片2764;8192=213,每片2764需要13根地址线。分两种情况分析:(1)采用8088微处理器的计算机系统:由于采用8位数据总线,A12 A0用于芯片内部存储字节寻址线。地址范围为:40000H4FFFFH,A19A16=0100,A15A13作为74LS138译码输入产生片选信号。参考电路图如下:,(2)采用8088微处理器的计算机系统:由于采用1

2、6位数据总线,A13 A1用于芯片内部存储字节寻址线。地址范围为:40000H4FFFFH,A19A17=0100,A16A14作为74LS138译码输入产生片选信号Y3Y0。参考电路图如下:,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

3、:FFFF0HFFFFFH(8086复位后,CS=0FFFFH,IP=0000H,因此微处理器每次上电都从地址0FFFF0H执行第一条指令),若各ROM地址连续分布,4片ROM实现的地址空间为:0F8000H0FFFFFH(32KB)RAM:00000H003FFH空间为存储中断向量表,要使微机系统能正常工作(处理各种中断),存储器子系统包括这段空间。4片RAM实现的地址空间为:00000H07FFFH(32KB),系统连线分别参考课本P43图2.15和课本P230页图5.22。,+5V,M/IO,RD,74LS138,A12A0,A12A0,OE,A13A1,A13A1,CE2,CE2,CE

4、2,CE2,1#,2#,3#,4#,WR,A0,BHE,RD,WR,A12A0,D7D0,2#,1#,A12A0,D7D0,2#,1#,DB,A13A1,A13A1,RD,RD,D7D0,D15D8,D7D0,D15D8,GND,习题1:试用SRAM62256(32Kx8)芯片为8086系统设计一个64KB的存储子系统。要求地址从8086的存储器地址空间80000H开始连续编址。(用3-8译码器74LS138译码):(1)需要几片SRAM芯片,若采用全译码,需要多少位地址产生片选信号?(2)每片SRAM访问内部存储单元的地址线为多少条?写出每片SRAM的地址范围。(3)画出其地址译码及连接电路

5、图。(假设系统20位地址总线为A19A0,16位数据总线为D15D0,控制信号为RD、WR,奇存储体选择信号为/BHE,偶存储体选择信号是A0),(1)需要2片SRAM,需要4条地址线进行译码(2)15条地址线奇存储体的地址范围 80000H8FFFFH中奇地址偶存储体的地址范围 80000H8FFFFH中偶地址(3)电路连接图如下,BHE,A,15,1,A,0,M2,CS,D7D0,A14A0,M1,CS,D7D0,A14A0,D7D0,D15D8,A,G1,C,B,A,74LS138,A19,A18,A17,GND,A16,8.假定中断类型号15的中断处理程序的首地址为ROUT15,编写主

6、程序中为建立一个中断向量的程序。,解:MOVAX,0 MOVES,AXMOVBX,15*4MOVAX,OFFSET ROUT15MOVES:WORD PTRBX,AXMOVAX,SEG ROUT15MOVES:WORD PTRBX+2,AXSTI ROUT15:IRET,注意十进制和十六进制的计算:15*4=60=3CH 15H*4=54H 而不是60H,第七章,10.给定SP=0100H,SS=0500H,flags=0240H,在存储单元中已有内容为(00024)=0060H,(00026)=1000H,在段地址为0800H及偏移地址为00A0的单元中,有一条中断指令INT9。问:执行IN

7、T9指令后,SS、SP、IP、flags的内容是什么?栈顶的三个字是什么?,答:执行中断指令后,CPU自动将当前flags、CS、IP内容入栈保护。清除IF、TF,禁止外部中断和单步中断。从中断向量表中取(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。,14.系统中有3个中断源,从8259的IR0、IR2、IR4端引入中断,以脉冲触发。中断类型号分

8、别为50H,52H和54H,中断入口地址分别为5020H、6100H和3250H,段地址为1000H。使用完全嵌套中断,普通EOI结束,试编写初始化程序,使CPU响应任一级中断时,能正确工作。并编写一段中断服务程序,保证中断嵌套的实现和正确返回。,分析:题目考察如何用8259管理多个外部中断源,并实现中断的嵌套。假设系统采用单片8259,初始化程序应包括8259初始化和中断向量建立。,IR0,INTR,CPU,.,中断请求,IR2,IR4,1、8259A初始化:单片8259A工作,边沿触发方式,IR0中断类型号为01010000B=50H,完全嵌套中断,普通EOI结束。设8259A的端口地址为

9、20H和21H。8259初始化程序如下:MOV AL,13H OUT 20H,AL;设置ICW1 MOV AL,50H OUT 21H,AL;设置ICW2 MOV AL,01H OUT 21H,AL;设置ICW4 MOV AL,0EAH;OCW1OUT 21H,AL,D7,ICW1,ICW2,1,A0,0,D7,0,D6,AEOI,D1,0,D5,1,D0,SFNM,D4,BUF,D3,M/S,D2,ICW4,0 0 0 0,CLIMOV AX,0MOV ES,AX;置矢量表段地址MOV DI,140H;置矢量表偏移地址,50H*4=140HMOV AX,5020H;IR0中断服务程序入口CL

10、D 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)串操作,2、中断向量的形成(2)DOS功能调用,M

11、OVAX,1000H;IR0 DS:DX=1000H:5020HMOVDS,AXMOV DX,5020HMOV AL,50H;IR0类型号50HMOV AH,25HINT21HMOVDX,6100H;IR2 DS:DX=1000H:5020HMOVAL,52H;IR2类型号52HINT21HMOV DX,3250H;IR4 DS:DX=1000H:3250HMOV AL,54H;IR4类型号54HMOV AH,25HINT21H,注意:在DOS系统中使用中断机制时,若原中断服务程序还将使用,在设置新中断向量前需先通过AH=35功能调用,获取并保存原中断向量,以便能恢复原中断向量。,3、中断服务

12、程序,IntSern:PUSH AXSTI;开中断,允许中断嵌套CLIMOVAL,20H;定义OCW2,普通EOI方式边沿触发。OUT 20H,AL;8259端口POPDXPOPAXIRET,15.假如外设A1、A2、A3、A4、A5按优先级排列,外设A1优先级最高,按下列提问,说明中断处理的运行次序(中断服务程序中有STI指令):(1)外设A3,A4同时发中断请求。(2)外设A3中断处理中,外设A1发中断请求。(3)外设A1中断处理完成前,发出EOI结束命令,外设A5发中断请求。,答:A3A1A3A4A5,16.某系统中有3片8259A,1片为8259A主片,2片为8259A从片,从片接入8

13、259A主片的IR2和IR5端,并且当前8259A主片的IR3及两片8259A从片的IR4各接有一个外部中断源。中断类型基号分别为80H、90H、A0H,中断入口段基址在2000H,偏移地址分别为1800H、2800H、3800H,主片8259A的端口地址为F8H、FAH。一片8259A从片的端口地址为FCH、FEH,另一片为FEECH、FEEEH。中断采用电平触发,全嵌套工作方式,普通EOI结束。(1)画出硬件连接图。(2)编写初始化程序。,;中断向量表MOV AX,2000HMOV DS,AXMOV DX,1800HMOV AL,83HMOV AH,25HINT 21HMOV DX,280

14、0HMOV 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,01H;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,AL

15、MOV 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,ALMOV AL,05H;ICW3OUT DX,ALMOV AL,01H;ICW4OUT DX,ALMOV AL,0EFH;OCW1OUT DX,AL,习题 8086CPU的外部可屏蔽中断扩展电路如下图所示:,(1)分析电路工作原理,写出CPU获取外部中断类型码的流程?(2)写出电路中所有可屏蔽中断类型号及其中断向量在内存中的地址范围。若要

16、求中断请求IR0具有高优先级,写出各中断源对应的中断类型号。(3)外部中断源IR1的中断服务程序的首地址为IRS1,编写为该中断源建立中断向量的程序。(4)若中断响应前CPU中寄存器SP=0100H,SS=0200H,flags=0240H。则IR1中断响应后,寄存器SS、SP、flags的内容分别是什么?,第八、九章 4若8255A的系统基地址为2F9H,且各端口都是奇地址,则8255A的3个端口和控制寄存器的地址各是多少?已知CPU的系统总线为A0A9,D15D0,M/IO,/IOR,/IOW,RESET,试画出8255A的地址译码电路及它与CPU系统总线的连接图。,A口:2F9H B口:

17、2FBH C口:2FDH 控制寄存器:2FFH,习题1、8255的A口和B口接有一个44键盘,键盘的键值分别为0F,8255的C口接有一个七段发光二极管,硬件连接电路如下图,回答:,(1)写出8255各端口的地址。(2)编写8255A的初始化程序。(3)要求通过键盘扫描法确定按键的键值,并通过七段发光二极管显示键值,编写实现以上操作的程序。,说明:1、七段发光二极管的显示码如下表:,2、8255控制字格式如下:D7=1,为标志位D6 D5 A组工作方式;D41,A口输入,D40,A口输出;D3=1,C口PC7PC4输入 D3=0,C口PC7PC4输出;D2,B组工作方式;D11,B口输入,D1

18、0,B口输出;D0=1,C口PC3PC0输入,D0=0,C口PC3PC0输出,(1)端口地址1A0H,1A2H,1A4H,1A6H(2)见程序(3)程序如下:PORTAEQU01A0HPORTBEQU01A2HPORTCEQU01A4HCONTREQU01A6HDATSEG 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;控制字(或9

19、0H)OUTDX,AL,WAIT:MOVDX,PORTAMOVAL,00H;选通各行OUTDX,ALMOVDX,PORTB INAL,DX;检查各行CMPAL,0FFH;有键压下码JEWAIT;否,等待MOVBL,0;置键号初值MOVBH,0FEH;逐行扫描MOVCX,4;设置行计数FNDROW:MOVAL,BHMOVDX,PORTAOUTDX,ALROLBH,1;选通下一行MOVDX,PORTBINAL,DX;取列值CMPAL,0FFH;有键压下码?JNZFNDCOL;有,找键值ADDBL,4;无,选下行增加行号LOOPFNDROW;循环扫描4行JMPDONE;转无键压下处理,FNDCOL:

20、RORAL,1;处理被按键列值JNCRIGHT;找到该列的键号INCBL;BL中键号加1JMPFNDCOLRIGHT:MOVAL,BL;键号送ALMOV BX,OFFSETTABLEXLATMOVDX,PORTCOUTDX,ALJMPWAIT,习题2、已知某微机系统的I/O控制接口电路如下图所示。系统每100ms检测开关K7K0状态,若闭合则点亮对应的发光二极管,否则熄灭。要求:,(1)根据图中接线,写出8255、8253各端口的地址(未用位为0);,(2)编写8255和8253的初始化程序。(3)编写I/O控制程序,循环检测PC0脚,当从0变为1时,读取开关状态并点亮对应的发光二极管。(4)

21、若要将检测周期改为1秒,简述实现方法。说明: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输出8253控制字格式如下:D7 D6,通道选择;D5 D4 计数器读/写操作方式(11先低字节,再高字节);D3 D2 D1计数器工作方式;D0 计数方式(0二进制计数,1BCD码计数),(1)8255端口地址:180H186H中的偶地址 8253端口地址:188H18E

22、H中的偶地址(2)8253初始化程序: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,AL,(3)MOV DX,186H;从C口读PC0状态 IN AL,DXAA:TEST AL,01H;PC00,循环等待 JZ AA0JMP AAAA0:IN AL,DXJZ AA0 MOV DX,180H;从A口对开关值 IN AL,DXNOT

23、AL MOV DX,182H;将开关值从A口输出,送显示部分 OUT DX,ALJMP AA,(4)方法一:(8253多通道级联法)将8253通道1输出,连接到通道0(或2)的时钟输入,通道0(或2)的输出out连接到PC0引脚,通道0(2)和通道1分频数的乘积为100000.当检测到一个低到高的跳变时,读取8255的A口状态,根据A口状态产生控制输出。方法二:(软件法)在程序中增加一个计数单元,并清零。每次检测到一个低到高的跳变时,计数单元加1,计到10次跳变时,再读取8255的A口状态,根据A口状态产生控制输出。,习题3:计算机中并口1的端口起始地址为0 x378.并口由3个 8-位端口组成.如下图所示:,端口0为一个双向数据寄存器;直接连接到物理连接器的管脚 2 9.端口1为一个只读状态寄存器;端口2为控制寄存器,D4控制是否中断使能,D4=1允许中断。外设状态信号Busy和nAck(TTL 电平)分别通过连接器11脚和10脚接入,外设忙时Busy信号为高电平,nAck由高到低时触发并口中断。,要求计算机通过PC机并口输出字符“Hello I/O”,并编写控制程序。(1)采用查询方式输出。(2)采用中断方式输出。(并口1中断类型号为0FH),

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号