同济大学2009-2010(1)微机原理期终试题(A B卷)含答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;从 8255 的 B 口读入开关状态数据到 AL 寄存器 ;将 AL 寄存器内容放入到 DS:BX 所指数据段 ;从堆栈中弹出数据到 AX ;取 AH 内容到 AL 寄存器 ;将 AL 内容送到 LED 灯显示
9. 某计算机系统有一 16550 接口电路,其地址为 68H-6FH。若其数据传输要求采用 7 个数据位,1 个停止位,偶校验,波特率为 4800(外部时钟为 18.432MHz) 。 (15 分) (1) 写出 16550 的初始化代码。 (10 分) (2) 若传输 ASCII 字符为’B’,请画出其传输波形图。 (5 分) 解: (1) 16550 的端口地址范围为 68H-6FH,因此其线路控制寄存器为 6BH,用于波特率 处理的寄存器分别为 68H 和 69H。根据 16550 的控制字格式和初始化流程,可 以确定其控制字有两个: 其一:进行波特率设置,有

6


7 页
10. Program counter 2 of the 8254 so that it generates a continuous series of pulse that have a high time of 4us and a low time of 1us. Make sure to indicate the CLK frequency required for this task.(15 分) 解:答案不唯一,参考答案如下。 因为要求产生高为 4us,低为 1us 的连续波形,因此可以采用 8254 的方式 2。显然, 若选用 CLK 为 1MHz(即周期为 1us) ,采用计数值为 5,即可满足题意要求。 因此,根据 8254 的控制字,有

4


7 页
(2) 对于 8255 而言,A 口作为输出,B 口作为输入。且都是基本的 I/O 方式,故 A 口和 B 口都选用方式,因此 8255 的控制字如下:
A 组方式(方式 0) A 口(输出) D7 D6 D5 D4 C 口高 4 位 D3 B 组方式(方式 0) B 口(输入) C 口低 4 位 D2 D1 D0
第 5 页 共 7 页
启动分频 D7
发送间隔 D6
附加位 D5
偶校验 D4
启动校验 D3
1 位停止位 D2
7 位数据 D1 D0
1 0 0 1 1 0 1 因为采用 18.432MHz,若要波特率为 4800,这分频系数 N 为
N
0
18.432 10 240
6
16 4800
其二,进行正常的通信,有
正常通信 D7 发送间隔 D6 附加位 D5 偶校验 D4 启动校验 D3 1 位停止位 D2 7 位数据 D1 D0
0 0 0 1 因此,16550 的初始化代码如下:
1
0
1
0
;初始化 16550 MOV AL, 9AH OUT 6BH, AL ;设置波特率 MOV AL, 240 OUT 68H, AL ;波特率分频系数低 8 位 MOV AL, 0 OUT 69H, AL ; 波特率分频系数高 8 位 ;启动 16550 通信过程 MOV AL, 1AH OUT 6BH, AL (2) 作为一款串行芯片,在进行数据传输时是从最低位开始传输的,因此有: 对于 ASCII 字符’B’,可以查得其 ASCII 编码为 42H,即 01000010B。在上述传输 过程中,因为采用 7 位数据格式,因此 D7 位被舍弃。因此最终传输的二进制序 列为 0100001B。 对于偶校验,易知传输序列中有 2 个’1’,因此校验位为’0’。 故波形如下:
1
0 0 0 因此,程序代码如下 ;8255 初始化代码 MOV AL, 82H OUT 43H, AL ;功能代码 IN AL, 41H MOV [BX], AL POP AX MOV AL, AH OUT 40H, AL
0
0
1来自百度文库
0
;将控制字放入到 AL 寄存器 ;将控制字送入到 8255 的控制寄存器

3


7 页
8. 现有两种外设:一组 8 位开关,一组 8 位 LED 灯。要求用 8255 作为接口芯片,将 开关状态从 8255 的 B 口读入, 存入 DS:BX 所指数据段; 并从堆栈弹出数据到 AX 中, 将 AH 的内容经 8255 的 A 口送出到 LED 灯上显示。 8255 的地址为 40H-43H。 (20 分) (1) 画出 8255 的硬件连接图(包括基于 74LS138 的地址译码以及开关和 LED 灯的连 接) 。 (10 分) (2) 写出完成上述功能的主要程序代码片段(含初始化代码和功能代码,要求有注 释) 。 (10 分) 解:答案不唯一,参考答案如下。 (1) 因为端口地址为 40H-43H,采用 8 位地址总线译码方式,有 8255 的各个端口地 址分配如下。 A7 A6 A5 A4 A3 A2 A1 A0 8255 A 40H 0 1 0 0 0 0 0 0 B 41H 0 1 0 0 0 0 0 1 C 42H 0 1 0 0 0 0 1 0 43H 0 1 0 0 0 0 1 1 控制寄存器 地址译码图如下:
第 1 页 共 7 页
(6) 执行中断服务程序; (7) 执行到 IRET/IRETD 时,从堆栈中弹出 IP 和 CS; (8) 从堆栈重弹出标志数据到标志寄存器。 二、分析与设计题(70 分) 7. 某微型计算机系统,其 CPU 地址线为 20 位,数据线为 8 位。需扩展内存 140KB, 其中 RAM 为 128KB,选用 62256(32K×8);ROM 为 12KB,选用 EPROM2732(4K×8), 要求内存地址空间从 40000H 开始连续分配,RAM 在低地址,ROM 在高地址。(20 分) (1) 分别需要多少块 ROM 和 RAM?给出每一块存储芯片的内存地址范围。(10 分) (2) 利用 74LS138 画出存储器地址译码图。要求与 CPU 三总线有相应的连接。 (10 分) 解: (1) 因为需要扩展内存 140KB,其中 RAM 为 128KB,ROM 为 12KB。而选用的 RAM 芯片 62256 为 32KB,ROM 芯片 2732 为 4KB。因此需要 62256 芯片 4 块,2732 芯片 3 块。 而 32K 的地址范围大小为 8000H,其范围为 0000H-7FFFH;4K 的地址范围大小 为 1000H,其范围为 0000H-0FFFH。因此每块芯片的地址范围如下: RAM1:40000H-47FFFH RAM2:48000H-4FFFFH RAM3:50000H-57FFFH RAM4:58000H-5FFFFH ROM1:60000H-60FFFH ROM2:61000H-61FFFH ROM3:62000H-62FFFH (2) 答案不唯一,参考答案如下。 因为 RAM 芯片为连续配置,可以采用 1 片 74LS138 译码器。而 62256 的地址范 围为 32K,因此其地址线位 A0-A14。又 RAM 的总地址范围为 40000H-5FFFFH,因 此有如下地址范围。 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 芯片 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RAM1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RAM2 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RAM3 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RAM4 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 显然,A0-A14 直接接到 62256 芯片,而 A15-A19 用于地址译码,地址译码图如下:
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ROM2 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ROM3 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 显然,A0-A11 直接接到 2732 芯片,而 A12-A19 用于地址译码,地址译码图如下:
选择计数器 2 D7 D6 写计数值高低字节 D5 D4 D3 方式 2 D2 D1 二进制计数 D0
1 0 1 1 0 1 0 0 假定 8254 的地址范围为 40H-43H,即计数器 2 的地址为 42H,控制字寄存器的地址 为 43H,则 8254 的程序代码如下: ;初始化 8254 MOV AL, B4H OUT 43H, AL ;向计数器 2 写入计数初值 MOV AL, 5 OUT 42H, AL ;计数值低 8 位 MOV AL, 0 OUT 42H, AL ;计数值高 8 位

2


7 页
而 ROM 芯片为连续配置,可以采用 1 片 74LS138 译码器。而 2732 的地址范围 为 4K,因此其地址线位 A0-A11。又 RAM 的总地址范围为 60000H-62FFFH,因此 有如下地址范围。 芯片 ROM1
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
同济大学课程考核试卷(A 卷) - 答案 2009—2010 学年第一学期
课号:100202 课名:微机原理及接口技术(双语) 此卷选为:期中考试( )、期终考试( ■ )、重考( )试卷 年级 专业 学号 姓名 考试考查:考试
得分
一、简答题(30 分,每题 5 分) 1. Choose five different instructions to accomplish AL=0. 解:答案不唯一,参考答案如下 MOV AL, 0 AND AL, 0 SUB AL, AL XOR AL, AL SHL AL, 8 2. Compare the difference between AND and TEST instruction. 解: AND 指令会影响目的寄存器内容,而 TEST 不影响目的寄存器的内容。 3. 已知 AX=3024H, BX=0A010H,执行以下 CMP AX, BX 指令后,试分析标志位 S,C,O,Z 的 值,并指出 AX 的值。 解: CMP 指令运行后,AX 内容不受影响,仍为 3024H。正数减去负数后其结果为负数 (9014H) ,因此 O=1。高位有借位,因此 C=1。显然,S=1,Z=0。 4. What condition does a logic 1 (high level) on the 8086 ALE pin indicate. 解: ALE 为 1(高电位)时表明总线上地址数据有效,即 AD0-AD15 地址数据复用线上是 有效的地址数据,而 A16-A19 状态地址复用线上是有效的地址数据。该信号用于通知 外部锁存器进行地址数据分离。 5. 当 INT 22H 指令运行时,请给出中断向量表中该中断对应的物理位置。 (假设采用 8086 CPU 系统) 解: 已知中断向量号为 22H,故在中断向量表中所处的位置为 22H×4=88H。因为 8086 系统的中端向量表位于内存的最低端, 故该中断向量在地址范围为 00088H-0008BH。 6. 简要说明中断处理的流程。 解:流程如下: (1) 将标志寄存器内容压栈; (2) 将标志寄存器的 TF 和 IF 标志清零; (3) 将 CS 寄存器内容压栈; (4) 将 IP 寄存器内容压栈; (5) 根据中断向量号查询中断向量表,获取中断服务程序的段地址和偏移地址,分 别装入 CS 和 IP;
相关文档
最新文档