微型计算机习题及答案学习资料
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
位二进制计数,初值为128,试编写初始化程序,设
口地址为48H- 4BH。
解:控制字为01010000=50H,8位计数初值为80H
mov
al,50H;设置通道1控制字
out
4BH, al
mov
al, 80H;写通道1计数初值,只写低
out
49H, al ;8位
练习2:若用8253计数器1,工作在方式1,按二-十进制计
1、画出8253各通道的GATE0~GATE2、CLK1、 CLK2 的接线图;
2、选定各通道的工作方式,并计算各自的计数初值;
3、编写各通道的初始化程序段。
计数器 2 工作在方式 3,计数初值为: 4MHz/1000Hz=4000=0FA0H
计数器 1 工作在方式 2,计数初值为:
1000Hz/100Hz=10=0AH
数,计数初值为2010,口地址同上,试编写初始化程序。
解:通道控制字为01110011=73H
计数初值高8位为20,低8位为10(注意:实际编程
时要写20 H和10H)
mov al, 73H
;写通道1控制字
out 4BH, al
mov al, 10H
;写通道1计数初值低8位
out 49H, al
mov al, 20H
;写通道1计数初值高8位
out 49H, al
当执行完上述程序后,8253通道1工作于方式1。经GATE上
升沿触发后,输出产生一宽度为2010个CLK周期的负脉冲。
例1: 设所查找到页表项中20位页面基地 址是12345H,线性地址仍然取3C44 5566H,转换后最终物理地址为: 解:转换后最终物理地址:
已知某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、8259A 占用了几个端口地址,分别为什么?其中 ICW1 的地址是什么?
2、8255A 占用占用了几个端口地址,分别为什么?其 中控制寄存器的地址是什么?
答: 1、8259A 占 2 个 端口地址:20H,22H 或 24H,26H 其中 ICW1 的地址:20H 或 24H 2、8255A 占 4 个 端口地址:80H,82H,84H,86H 控制寄存器的地址:86H
;计数器 0: MOV AL,00110110B OUT 73H,AL MOV AL,0E8H OUT 70H,AL MOV AL,03H OUT 70H,AL
下图为采用 8253 产生定时中断信号 IR2。已知 Fclk0=1MHz,要求每隔 1 小时发 出一个中断 请求,8253 的端口地址为 180H~183H,试编 制 8253 的初始化程序。
有一个由10个字组成的数据区,其起始地址为 1200H:0120H。试写出该数据区的首末存储单元 的实际地址
12120H~(12120H+10*2-1=12133H)。
什么叫中断向量?它放在哪里?对应于1CH的 中断向量在哪里?如1CH中断程序从 5110H:2030H开始,则中断向量应怎样存放?
例:8255A 作为打印机接口的电路示意图如图所示,假设 8255A 以方式 0 工作,试编写用查询方式完成将内存缓冲区 BUFF 中的 100个字符送打印机打印的程序。已知8255A的 端口地址为80H、82H、84H、86H。
MOV OUT MOV OUT MOV MOV LOOP1:IN TEST JNZ MOV INC OUT MOV OUT INC OUT LOOP RET
答:
1)TCLK0=1/fCLK0=1/8000=0.125ms 最大定时时间=65536×0.125ms=8.192秒
或:fCLK0/fOUT=65536=>Tmax=1/fOUT=65536/ fclk0
=65536/8ห้องสมุดไป่ตู้00=8.192秒
练习1:若用8253的计数器1,工作在方式0,按8
线性地址中页表索引地址为1001100110B,因此页表中所寻址项的物理 地址为:
页表项物理地址=页表基地址+偏移地址(页表索引4) =00120000H+998H=00120998H
例3:设某存储单元的线性地址为89A66850H,CR3=26896H, 求该存储单元的物理地址。
又设页表中所寻址项(从00120998H开始的4个字节)的内容为 68686021H,则页帧基地址为68686000H,要寻址的存储单元最 终物理地址为:
[解答] 中断向量是中断处理子程序的入口地址, 它放在中断向量表中,由1ch*4=70h知中断向 量存放在0000:0070处。由于中断处理入口地 址为5110:2030所以0070H,0071H, 0072H,0073H这四个单元的值分别为 30H,20H,10H,51H。
下图中,AD7~AD0 为CPU 低八位地址总线。试分析,要 求写出分析过程。
例3:设某存储单元的线性地址为89A66850H,CR3=26896H, 设目录表中寻址项的内容为00120021H,页表中所寻址项的内容 为68686021H,求该存储单元的物理地址。
首先,将线性地址89A66850H分成三个域:
1000 1001 10║10 0110 0110 ║1000 0101 0000B
页组目录项物理地址=目录表基地址+偏移地址(目录索引×4) =26896000H+898H=26896898H
例3:设某存储单元的线性地址为89A66850H,CR3=26896H,求该存 储单元的物理地址。
设目录表中寻址项(从26896898H开始的4个字节)的内容为00120021H, 这表明寻址项对应页表的基地址为00120000H,P位(位0)及A位(位5 )均为1,说明该被寻址页表在存储器中,且对应目录项已被访问过。
例3:8253的CLK0的时钟频率是8KHz,问
1)T/C0最大定时时间是多少?
2)要求8253端口地址为90H、92H、94H和96H,请使用74LS138 译码器加简单门电路完成地址连线。
3)现在要求使用该8253产生周期为9秒,占空比为4:9的方波,请 在上面的电路图中完成电路,并编写初始化程序。
解:本题采用 2 个计数通道串联使用,要求两个计 数通道的计数初值乘积为:
n0×n1=TOUT1/TCLK0
TCLK0=1/fclk0=1/1MHz=1µs
n0×n1=3600s/1µs=36×108 可选取 n0=n1=6×104 。因为 n0和 n1 大于10000, 必须采用二进制计数。设定二个计数器都工作于方 式 2。
AL, 86H, AL, 86H, SI, CX, AL, AL, LOOP1 AL,
80H, AL, 86H, AL 86H, LOOP1
81H AL 0FH AL OFFSET BUFF 100 84H 08H
[SI] SI AL 0EH AL
AL
已知 8253 的端口地址为40H~43H,CLK2的时钟是 4MHz。要求通过三个定时器级联,实现从 OUT2 输出频率为1000Hz 的方波,从OUT1输出频率为 100Hz 的 单 时 钟 脉 冲 波 , 从 OUT0 输 出 频 率 为 1Hz 的方波。
计数器 0 工作在方式 3,计数初值为:
1000Hz/1=1000=3E8H
;计数器 2: MOV AL, 10110110B OUT 73H,AL MOV AL,0A0H OUT 72H,AL MOV AL,0FH OUT 72H,AL ;计数器 1: MOV AL,01010100B OUT 73H,AL MOV AL,0AH OUT 71H,AL
物理地址=页帧基地址+线性地址中的12位偏移量 =68686000+850H=68686850H
6.36 设8255A的4个端口地址为00C0H,00C2H, 00C4H,00C6H,要求用置0/置1方式对PC6置1,对 PC4置0。
6.40 8255A的方式1有什么特点?参考教材中的说明, 用控制字设定8255A的A口工作于方式1,并作为输入 口;B口工作于方式1,半作为输入口,用文字说明各 个控制信号和时序关系。假定8255A的端口地址为 00C0H,00C2H,00C4H,00C6H。
目录索引
页表索引
偏移地址
例3:设某存储单元的线性地址为89A66850H,CR3=26896H, 设目录表中寻址项的内容为00120021H,页表中所寻址项的内容 为68686021H,求该存储单元的物理地址。
由于CR3=26896H,页组目录项表的基地址=26896000H。 线性地址中目录索引地址为1000100110B,因此页目录表中所寻 址项的物理地址为:
1、8255A的端口地址:08H-0BH; 8253的 端口地址:0CH-0FH
2、MOV AL,82H
OUT 0BH,AL
3、8253各通道的初始化程序 MOV AL, 14H OUT 0FH,AL MOV AL,L OUT 0CH,AL MOV AL,72H OUT 0FH, AL MOV AX, M OUT 0DH,AL MOV AL,AH OUT 0DH,AL MOV AL,0B7H OUT 0FH,AL MOV AX,N OUT 0EH,AL MOV AL,AH OUT 0EH,AL
OUT DX, AL
MOV DX, 181H MOV AX, 60000 ;通道 1 写入计数初值
OUT DX, AL
MOV AL, AH
OUT DX, AL
6.35 对8255A设置工作方式,8255A的控制口地址为 00C6H。要求端口A工作在方式1,输入;端口B工作 在方式0,输出;端口C的高4位配合端口A工作;低4 位为输入。
12345000H+566H=12345566H
例2:假设线性地址是3C445566H,CR3=11223000H,页 目录项的物理地址为: 解:①取线性地址的高10位作为页目录(号),求得 0011 1100 01B,乘以4(左移2位)作为页目录项指针 ,结果为0011 1100 0100B=3C4H。 ②查找页目录项的物理地址: 1122 3000H+3C4H =1122 33C4H。
8252 初始化程序如下: MOV AL, 00110100B
;通道 0 初始化
MOV DX, 183H
OUT DX, AL MOV AL, 01110100B
;通道 1 初始化
OUT DX, AL MOV AX, 60000 ;通道 0 写入计数初值
MOV DX, 180H
OUT DX, AL
MOV AL, AH
例1:计数器0工作模式4,初始化计数器,使装入计数器10 s后 产生选通信号(设时钟频率2MHz,8253端口地址为50H~53H)。
解:n=T/ TCLK=T×fCLK =10×2=20
n=14H
MOV AL, 18H
OUT 53H, AL
MOV AL, 14H
OUT 50H, AL