微机原理与接口技术考试试题及答案 下载本文

OUT DX,AL 2. 解:

(1)答:8255A的B口工作于方式0输入;C口低4位工作于方式0输出。

8255A的方式字为:1××××010B,(或者写成82H~FAH中任何

一个数都算对)。

(2)答:CPU通过8255A让PC3输出高电平,即可使A/D转换

开始(之前应该通过PC0~PC2选中某一IN i模拟通道)。由电路图可知转换结束时EOC变为高电平向CPU申请中断,CPU得到中断请求就知道A/D转换结束。 (3)答:8255A初始化程序段如下:

MOV DX,303H

MOV AL,82H(或1××××010B) OUT DX,AL 3. 解:

mov dx, 403H (1分) mov al, 10000001b(或者81h) (1分)

out dx, al ;初始化8255A的方式选择控制字,设定工作模式

mov al, 00001101b(或者0DH) (1分) out dx, al ;向STB引脚发送高电平 mov ax, 0100H (0.5分) mov ds, ax

mov si, 1000H (0.5分) mov cx, 100

lp: mov dx, 402H (1分)

in al, dx ;读取PC3的状态

and al, 08H (1分)

jnz lp ;如果PC3为高电平,表示打印机还未处理完毕,需等待

mov dx, 401H (1分) mov al, [si]

out dx, al ;将要打印的字符内容通过B口输出至打印机

mov dx, 403H (1分) mov al, 00001100b(或者0CH) (1分) out dx, al nop nop

mov al, 00001101b(或者0DH) (1分)

out dx, al ;在PC6上发出一个负脉冲后,然后回到高电平状态 inc si dec cx jnz lp 4. 解:

1. 存储容量=CFFFFH-A8000H+1=28000H (B)=160KB 2. 芯片容量16K×1位:16K=214 所以有14条地址线,1条数

据线

3. 所需要的芯片数:(160K×8)/(16K×1)=80

4. 因为每个芯片只有一位数据线,所以需要8片构成一组;

整个系统应分为:80/8=10个芯片组

5. 第一个芯片组的地址空间:A8000H~ABFFFH

A19 A18 A17 A16 A15 A14 A13 …….A0 1 0 1 0 1 0 0 0 1 1

最后一个芯片组的地址空间:CC000H~CFFFFH A19 A18 A17 A16 A15 A14 A13 …….A0

0 0

1 1 0 0 1 1 1 1

也可以这样计算:

第一个芯片组的地址空间:A8000H~ABFFFH A8000H+16K-1=A8000H+4000H-1=ABFFFH 最后一个芯片组的地址空间:CC000H~CFFFFH

CFFFF+1-16K=CFFFF+1-4000H=CC000H

;数据段写正确:2分(以下SDATA的定义随意不扣分) DATA

SEGMENT

DB 60 DUP(?) ;60个无符号字节数据 DB 0 ENDS SEGMENT

ASSUME CS:CODE, DS:DATA

SDATA COUNT DATA CODE

;子程序写正确:5分

;子程序:入口AL;出口:ZF=1表明AL能被13除尽 DIV13

PROC NEAR MOV AH, 0 MOV BL, 13 DIV BL OR AH, 0 RET ENDP

MOV AX, DATA MOV DS, AX

MOV SI, OFFSET SDATA MOV CX, 60 MOV AL, [SI] CALL DIV13 JNZ LP2

DIV13 START:

;主程序写正确:6分

LP1:

INC COUNT INC SI LOOP LP1 MOV AH, 4CH INT 21H ENDS END START

LP2:

CODE

武汉大学2009~2010年第一学期