微型计算机习题及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

有一个由10个字组成的数据区,其起始地址为1200H:0120H。试写出该数据区的首末存储单元的实际地址12120H~(12120H+10*2-1=12133H)。什么叫中断向量?它放在哪里?对应于1CH的中断向量在哪里?如1CH中断程序从5110H:2030H开始,则中断向量应怎样存放?[解答]中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量存放在0000:0070处。由于中断处理入口地址为5110:2030所以0070H,0071H,0072H,0073H这四个单元的值分别为30H,20H,10H,51H。使用下列RAM芯片,组成所需的存储容量,各需多少RAM芯片?各需多少RAM芯片组?共需多少根寻址线?每块芯片需多少寻址线?(1)512×4的芯片,组成8K×8的存储容量(32,16,13,9)(2)4K×1的芯片,组成64K×8的存储容量(128,16,16,12)(3)1K×8的芯片,组成32K×8的存储容量(32,32,15,10)下图中,AD7~AD0为CPU低八位地址总线。试分析,要求写出分析过程。1、8259A占用了几个端口地址,分别为什么?其中ICW1的地址是什么?2、8255A占用占用了几个端口地址,分别为什么?其中控制寄存器的地址是什么?答:1、8259A占2个端口地址:20H,22H或24H,26H其中ICW1的地址:20H或24H2、8255A占4个端口地址:80H,82H,84H,86H控制寄存器的地址:86H已知某8086微机系统包括8255A,8253两个可编程接口电路。1、分别列出8255A,8253各个端口的地址2、根据附图所示8255A的A口和B口的连接方式,写出8255A接口初始化程序片断。3、附图给出了8253各个计数器的要求的工作方式,设已知外部时钟频率为F,计数器0的技术初值为L(字节型),工作在方式2;计数器1的计数初值为M(字型),工作在方式1;计数器2的技术初值为N(字型),工作在方式3。L、M、N是在程序的其他地方已经定义好的变量,L、M为二进制数,N为BCD码。试按上述要求完成8253的初始化程序片断。1、8255A的端口地址:08H-0BH;8253的端口地址:0CH-0FH2、MOVAL,82HOUT0BH,AL3、8253各通道的初始化程序MOVAL,14HOUT0FH,ALMOVAL,LOUT0CH,ALMOVAL,72HOUT0FH,ALMOVAX,MOUT0DH,ALMOVAL,AHOUT0DH,ALMOVAL,0B7HOUT0FH,ALMOVAX,NOUT0EH,ALMOVAL,AHOUT0EH,AL例:8255A作为打印机接口的电路示意图如图所示,假设8255A以方式0工作,试编写用查询方式完成将内存缓冲区BUFF中的100个字符送打印机打印的程序。已知8255A的端口地址为80H、82H、84H、86H。MOVAL,81HOUT86H,ALMOVAL,0FHOUT86H,ALMOVSI,OFFSETBUFFMOVCX,100LOOP1:INAL,84HTESTAL,08HJNZLOOP1MOVAL,[SI]INCSIOUT80H,ALMOVAL,0EHOUT86H,ALINCALOUT86H,ALLOOPLOOP1RET已知8253的端口地址为40H~43H,CLK2的时钟是4MHz。要求通过三个定时器级联,实现从OUT2输出频率为1000Hz的方波,从OUT1输出频率为100Hz的单时钟脉冲波,从OUT0输出频率为1Hz的方波。1、画出8253各通道的GATE0~GATE2、CLK1、CLK2的接线图;2、选定各通道的工作方式,并计算各自的计数初值;3、编写各通道的初始化程序段。计数器2工作在方式3,计数初值为:4MHz/1000Hz=4000=0FA0H计数器1工作在方式2,计数初值为:1000Hz/100Hz=10=0AH计数器0工作在方式3,计数初值为:1000Hz/1=1000=3E8H;计数器2:MOVAL,10110110BOUT73H,ALMOVAL,0A0HOUT72H,ALMOVAL,0FHOUT72H,AL;计数器1:MOVAL,01010100BOUT73H,ALMOVAL,0AHOUT71H,AL;计数器0:MOVAL,00110110BOUT73H,ALMOVAL,0E8HOUT70H,ALMOVAL,03HOUT70H,AL下图为采用8253产生定时中断信号IR2。已知Fclk0=1MHz,要求每隔1小时发出一个中断请求,8253的端口地址为180H~183H,试编制8253的初始化程序。解:本题采用2个计数通道串联使用,要求两个计数通道的计数初值乘积为:n0×n1=TOUT1/TCLK0TCLK0=1/fclk0=1/1MHz=1µsn0×n1=3600s/1µs=36×108可选取n0=n1=6×104。因为n0和n1大于10000,必须采用二进制计数。设定二个计数器都工作于方式2。8252初始化程序如下:MOVAL,00110100B;通道0初始化MOVDX,183HOUTDX,ALMOVAL,01110100B;通道1初始化OUTDX,ALMOVAX,60000;通道0写入计数初值MOVDX,180HOUTDX,ALMOVAL,AHOUTDX,ALMOVDX,181HMOVAX,60000;通道1写入计数初值OUTDX,ALMOVAL,AHOUTDX,AL6.35对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。6.36设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置0/置1方式对PC6置1,对PC4置0。6.408255A的方式1有什么特点?参考教材中的说明,用控制字设定8255A的A口工作于方式1,并作为输入口;B口工作于方式1,半作为输入口,用文字说明各个控制信号和时序关系。假定8255A的端口地址为00C0H,00C2H,00C4H,00C6H。例1:计数器0工作模式4,初始化计数器,使装入计数器10s后产生选通信号(设时钟频率2MHz,8253端口地址为50H~53H)。解:n=T/TCLK=T×fCLK=10×2=20n=14HMOVAL,18HOUT53H,ALMOVAL,14HOUT50H,AL例3:8253的CLK0的时钟频率是8KHz,问1)T/C0最大定时时间是多少?2)要求8253端口地址为90H、92H、94H和96H,请使用74LS138译码器加简单门电路完成地址连线。3)现在要求使用该8253产生周期为9秒,占空比为4:9的方波,请在上面的电路图中完成电路,并编写初始化程序。答:1)TCLK0=1/fCLK0=1/8000=0.125ms最大定时时间=65536×0.125ms=8.192秒或:fCLK0/fOUT=65536=Tmax=1/fOUT=65536/fclk0=65536/8000=8.192秒练习1:若用8253的计数器1,工作在方式0,按8位二进制计数,初值为128,试编写初始化程序,设口地址为48H-4BH。解:控制字为01010000=50H,8位计数初值为80Hmoval,50H;设置通道1控制字out4BH,almoval,80H;写通道1计数初值,只写低out49H,al;8位练习2:若用8253计数器1,工作在方式1,按二-十进制计数,计数初值为2010,口地址同上,试编写初始化程序。解:通道控制字为01110011=73H计数初值高8位为20,低8位为10(注意:实际编程时要写20H和10H)moval,73H;写通道1控制字out4BH,almoval,10H;写通道1计数初值低8位out49H,almoval,20H;写通道1计数初值高8位out49H,al当执行完上述程序后,8253通道1工作于方式1。经GATE上升沿触发后,输出产生一宽度为2010个CLK周期的负脉冲。例1:设所查找到页表项中20位页面基地址是12345H,线性地址仍然取3C445566H,转换后最终物理地址为:解:转换后最终物理地址:12345000H+566H=12345566H例2:假设线性地址是3C445566H,CR3=11223000H,页目录项的物理地址为:解:①取线性地址的高10位作为页目录(号),求得0011110001B,乘以4(左移2位)作为页目录项指针,结果为001111000100B=3C4H。②查找页目录项的物理地址:11223000H+3C4H=112233C4H。例3:设某存储单元的线性地址为89A66850H,CR3=26896H,设目录表中寻址项的内容为00120021H,页表中所寻址项的内容为68686021H,求该存储单元的物理地址。首先,将线性地址89A66850H分成三个域:1000100110║1001100110║100001010000B目录索引页表索引偏移地址例3:设某存储单元的线性地址为89A66850H,CR3=26896H,设目录表中寻址项的内容为00120021H,页表中所寻址项的内容为68686021H,求该存储单元的物理地址。由于CR3=26896H,页组目录项表的基地址=26896000H。线性地址中目录索引地址为1000100110B,因此页目录表中所寻址项的物理地址为:页组目录项物理地址=目录表基地址+偏移地址(目录索引×4)=26896000H+898H=26896898H例3:设某存储单元的线性地址为89A66850H,CR3=26896H,求该存储单元的物理地址。设目录表中寻址项(从26896898H开始的4个字节)的内容为00120021H,这表明寻址项对应页表的基地址为00120000H,P位(位0)及A位(位5)均为1,说明该被寻址页表在存储器中,且对应目录项已被访问过。线性地址中页表索引地址为1001100110B,因此页表中所寻址项的物理地址为:页表项物理地址=页表基地址+偏移地址(页表索引4)=00120000H+998H=00120998H例3:设某存储单元的线性地址为89A66850H,CR3=26896H,求该存储单元的物理地址。又设页表中所寻址项(从00120998H开始的4个字节)的内容为68686021H,则页帧基地址为68686000H,要寻址的存储单元最终物理地址为:物理地址=页帧基地址+线性地址中的12位偏移量=68686000+850H=68686850H

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功