资源描述
北京邮电大学2010——2011学年第 1 学期
《微机原理与接口技术 》期末考试试题(A)
考试注意事项
一、学生参加考试须带学生证或学院证明,未带者不准进入考场。学生必须按照监考教师指定座位就坐。
二、书本、参考资料、书包等物品一律放到考场指定位置。
三、学生不得另行携带、使用稿纸,要遵守《北京邮电大学考场规则》,有考场违纪或作弊行为者,按相应规定严肃处理。
四、学生必须将答题内容做在试题答卷上,做在草稿纸上一律无效。
五、学生的姓名、班级、学号、班内序号等信息由教材中心统一印制。
考试
课程
微机原理与接口技术
考试时间
2小时
2011 年 1 月 11 日
题号
一
二
三
四
五(1)
五(2)
五(3)
六
总分
满分
18
20
24
18
6
6
8
得分
阅卷
教师
一. 填空题(18分, 每空1分)
1. 假设AL中存放十六进制数0BCH,写成二进制是 10111100,如果它是无符号数,则按十进制大小是 188,如果它是补码表示的有符号数,则按十进制大小是 -68 。
2. 8086 CPU有 16 根数据总线和 20 根地址总线,存储器寻址空间的大小为 1MB ,I/O端口寻址空间的大小为 64KB 。
3. 在8086系统中,已知字645FH在内存中的存储地址为20000H,则在地址为20000H的字节中存储的内容为 5FH ,20001H的字节中存储的内容为 64H 。
4. 执行完AND AL,0FBH指令后,AL的值为0F2H,则标志位SF应为 1 ,标志位CF应为 0 。
5. 在8086系统中,段寄存器之间 不可以 直接用MOV指令传送。
6. 标志寄存器中,PF标志位为 奇偶 标志,含义是 记录运算结果的奇偶检验条件 。
7.DRAM存储器中由于电容中存储电荷会逐渐泄漏,所以必须定时对DRAM进行 刷新 。
8. 在8251A的异步串行方式输出过程中,数据的并-串转换是通过 发送移位寄存器 实现的。
9. 如果用某个字节密码与小写字符 “m”(ASCII码为十进制109)进行异或XOR操作,结果字节内容为5BH,则可推断该字节密码为 36H (十六进制)。
10. D/A转换器的分辨率是指 其所能分辨的最小电压 。
二. 选择题(20分,每空2分)
1. 构成微机系统的主要部件除CPU、系统总线、I/O接口外,还有____D____。
(A) 显示器 (B) 键盘 (C) 磁盘 (D)内存(ROM和RAM)
2. 对于以下各种中断,只有___D_____需要硬件提供中断类型码:
(A) INTO (B) INT n (C) NMI (D) INTR
3. 8259中,用来保存正在服务的中断的寄存器是___B____。
(A) IRR (B) ISR (C) IMR (D) DAC
4. 已知8086 CPU中寄存器有如下内容:DS=2000H;ES=3000H;SS=4000H;CS=5000H;BP=4100H。则:指令 MOV AX , [BP]的源操作数地址为____D____。
(A)04100H (B) 24100H (C) 34100H (D) 44100H
5. 若8259A采用全嵌套方式、固定优先级工作,现有IR4正在被服务,又有IR2,IR3,IR4,IR6中断源发生,若允许嵌套,则CPU转去服务____C____。
(A) IR6 (B) IR4 (C) IR2 (D) IR3
6. 如果一个堆栈从20000H开始,它的长度为0200H,则执行指令PUSH AX,PUSH BX,PUSH CX,POP DX之后,栈顶和栈底的地址分别为___D_____。
(A)201FAH,20200H (B)201FCH,20000H
(C) 201FCH,201FFH (D) 201FCH,20200H
7. 执行下列程序后,AL的内容为__B____。
MOV AL,92H
SUB AL,71H
DAS
(A) 03 (B)21H (C)03H (D)21
8. 若BX=6341H,则执行MOV AX,[BX]指令需要的总线周期为___B____(假设该指令已经在指令队列中)。
(A) 1 (B) 2 (C)3 (D)4
9. 在8253的6种工作方式中,只有___A___在写入控制字后,out引脚的输出为低电平。
(A) 方式0 (B) 方式1 (C) 方式2 (D) 方式3
10. 和SRAM相比,下面哪一个不是DRAM的特点:___A____。
(A) 不需要刷新 (B) 功耗低 (C)集成度高 (D)价格便宜
三. 简答题(24分)
1、 假设你在PC机上编写了一个硬件中断服务程序hwhandler,请说明需要做哪些设置工作就可以在中断请求信号产生后,hwhandler被执行的。在编写该中断服务程序时,哪几项工作是必须做的?还需要注意些什么问题?(6分)
(1) 将hwhandler的段基值和段内偏移值填写到该硬件中断所对应的中断向量表表项中,将中断控制器的屏蔽位解除,CPU的IF位值1;(2分)
(2) 保护现场、恢复现场、发EOI命令,中断返回;(2分)
(3) 中断服务程序尽可能的短,参数传递、临时变量要使用存储单元(2分)
2、 堆栈位于何处?请画图说明8086处理器的堆栈是如何组织的。你能否设计一种与之不同的堆栈?(6分)
(1) 位于内存中(RAM区);(2分)
(2) 段基值、栈底、栈顶SP指针,push操作使SP的值减2,图略;(2分)
(3) a)push操作使SP的值加2;b)先压入值再使SP减2;(2分)
3、 用8086处理器构成的计算机系统能够按字节和按字访问存储器,它是如何实现的?为什么说放在偶地址开始的字数据具有更快的访问速度?(6分)
(1) 借助于CPU的#BHE引脚和地址线A0,将存储器分为8位、容量为512KB的奇地址存储体和偶地址存储体,在进行字节访问时,选中某一个存储体;在进行字访问时,同时选中2个存储体;(4分)
(2) 在该结构下,放在偶地址开始的字数据可在一个总线周期读出或写入,而放在奇地址开始的数据则需要分2次操作。(2分)
4、 假定异步串行通信口设定数据格式为:1位起始位,8位数据,1位偶校验位、2位停止位,传输速率为1000波特每秒。请回答(6分):
(1)串–并转换和并–串转换是用什么方法实现的?
(2)字符u的ASCII码为75H,试画出传送字符u的传送波形图。
(3)传送字符u需要多长时间?(从开始传送起始位到传送完停止位)
(4)将波特率因子设为16,其目的是什么?
(1)采用移位寄存器实现的(2)
(2)一帧数据 0 1 0101110111 (最左边为起始位,最右边为停止位)(2分)
(2)12/1000=0.012s=12ms (1分)
(4)即用高于数据传速率16倍的收发时钟来采样数据线,其目的是尽量做到在每一位数据的中间点进行采样,在一定范围内消除收发双方时钟差异带来的影响。(1分)
四. 综合题(共18分)
8086系统的一个I/O接口设计如图1所示。该接口的用途是向一个外设定时发送并行数据。并行接口的握手关系如图2所示,BUSY是外设的状态线,高电平表示外设忙,接口送出数据后,发出选通信号通知外设。接口使用一片8253/8254作为定时芯片,外接2MHZ时钟,将方式3(方波发生器)的输出连接到中断请求线IR7上(8086系统使用8259做中断控制器),每50ms中断一次完成一次数据发送(外设接收数据的速度足够快)。接口使用一片8255工作在方式0下实现并行接口。目前该接口尚有一些问题需要明确,如下:
1) 按照图1的连接,8255和8253/8254的端口分别是多少?端口译码时为什么要连接AEN信号线?(3分)
2) 8253/8254如何产生中断请求,计数器初值应设多少?(3分)
3) 写出8253/8254的初始化程序段。(5分)
4) 可使用8255的A口或B口作为并行数据口,C口的若干线作为握手线。请给出一个方案。(2分)
5) 写出8255的初始化程序段。(2分)
6) 应如何实现在线上送一个负脉冲,请给出相应的程序段。(3分)
图1
图2
附8253/8254命令字如下:
附8255命令字如下
1)8253:114H-117H
8255:11CH-11FH
非DMA
2)中断频率是1s/50ms=20,分频数=2M/20=100000。所以需要两次分频,通道0使用100(计数初值)分频,其输出OUT0接到通道1的时钟输入CLK1上,通道1使用1000(计数初值)分频,其输出OUT1接到IR7上产生中断请求。
3)mov dx,117H
mov al, 00110110B
out dx,al
mov ax,100
mov dx,114H
out dx,al
mov ah,al
out dx,al
mov dx,117H
mov al, 01110110B
out dx,al
mov ax,1000
mov dx,115H
out dx,al
mov ah,al
out dx,al
4)PA作为并行数据口,PC7为STB输出,PC2作为BUSY输入。
5)mov dx,11FH
mov al,100000*1B
out dx,al
6)在初始化是将PC7(根据上问变化)先置为高电平。
mov dx,11FH
mov al, 00001111B
out dx, al
在发送完数据后,拉低延迟后再拉高。
mov dx,11FH
mov al, 00001110B
nop
nop
out dx, al
mov al, 00001111B
out dx, al
五. 编程题(20分)
1、从键盘接收一位十进制数N,然后在屏幕上显示N个问号“?”。(6分)
mov ah,1
int 21h
and al,0fh
xor ah,ah
mov cx,ax
jcxz done
again: mov dl,'?'
mov ah,2
int 21h
loop again
done: .....
2、用软件完成并行到串行的转换。采用异步通信方式,数据位8位,奇校验1位,一帧为12位。假设8位输出并口的端口地址为45H,使用这个并口的比特0实现串行数据的输出串行,传送速率为100波特。已知数据已存入TTYTD单元,且有延时10ms名为delay10ms子程序可以调用。(6分)
;数据段
ttytd DB 3FH
;代码段
Sand:
mov al,00
out 45H,al ;起始位
call delay10ms
mov cx,08H
mov al,ttytd
L1:out 45h,al ;数据位
call delay10ms
shr al,1
loop L1
mov al,ttytd
add al,0
jp s_1
mov al,00 ;校验位为0
out 45h,al
call delay10ms
jmp s_h
s_1:mov al,01 ;校验位为1
out 45h,al
call delay10ms
S_h:mov al,01 ;停止位
out 45h,al
call delay10ms
mov al,01 ;停止位
out 45h,al
call delay10ms
MOV AH, 4Ch
INT 21h
3、ADC0809电路图如下,要求系统采用中断方式对IN0进行A/D转换,将转换后的数字量保存到ADTEMP开始的单元中。通过软件启动START,当转换结束时通过EOC向8259A的IR0发出中断请求信号,中断类型码58H,8259A的地址是20H~21H。ENABLE是输出允许信号,当ENABLE=1时D7~D0输出转换后的数据。要求编写主程序及中断服务程序(中断服务程序首地址2000H:8000H)。(8分)
IR0
;数据段
ADTEMP db ?
;主程序
mov dx,8000h
mov ax,2000h
mov ds,ax
mov ax,2558h
int 21h
mov cx,10
sti ;开中断
mov dx,298H
out dx,al ; 与AL值无关
…… ;其他工作
;中断服务子程序
ADINT PROC
PUSH AX ;保护寄存器
PUSH DX
PUSH DS
MOV AX,@data ;设置数据段DS
MOV DS,AX
MOV DX,298H
IN AL,DX ;读A/D转换的数字量
MOV ADTEMP,AL ;送入缓冲区
MOV AL,20H ;发送EOI命令
OUT 20H,AL
POP DS ;恢复寄存器
POP DX
POP AX
IRET ;中断返回
ADINT ENDP
展开阅读全文