| l | ||
|---|---|---|
| < (6) name="body" cols="60" rows="5"> | ||
| ||
试题二(共 15分)
阅读以下关于某嵌入式处理器和 8255 的叙述,回答问题 l至问题 3,将答案填入答题纸的对应栏内。
【说明】
图 2-1 为使用某嵌入式处理器和8255 对打印机进行控制的电路图,其中8255 的中断请求 PC3 接到处理器的中断请求输入端INTO上,打印机的数据口接在8255的 PAO-PA7上,打印机的输出电平ACK接在8255的 PC6 上。
为了使用 入式处理器对打印机进行控制,在程序设计时,需要将 8255 的 PA口设置为工作方式 1; PB口设置在工作方式 0,配置为输入;PC口的 PC0、PC1、PC2、PC3 和 PC4 定义为输出。
为了在打印机输出为低电平时通过8255 的PC3产生有效的中断请求信号 INTRA,必须使得 A口的中断请求使能 INTE=1,实际上就是通过 C口的按位复位操作将 PC6 置1,整个程序分为四部分:依次是8255的初始化,嵌入式处理器的中断初始化,嵌入式处理器的主程序和打印字符的中断处理程序。其中 8255的端口配置功能如表 2-1 所示。嵌入式处理器的中断使能控制字含义如表 2-2 所示,该处理器的典型汇编
指令如表 2-3所示。

图2-1嵌入式处理器和 8255 对打印机进行控制的电路图

EA: 全部中断,0=关中断,1=开中断
ES: 串口中断,0=关中断,1=开中断
ET1:定时器 1中断,0=关中断,1=开中断
EX1:外部 INT1 中断,0=关中断,l=开中断
ET0:定时器 0中断,0=关中断,1=开中断
EX0:外部 INT0 中断,0=关中断,1=开中断

问题1】 (6 分)
根据图 2-1 所示,通过嵌入式处理器访问 8255的PA口、PB口和PC口对应的地址分别是什么?(请用16 进制描述)
对应的地址:
PA口:(1)
PB口:(2)
PC口:(3)
【问题2】(4分)
在嵌入式处理器的汇编语言中,最简单的指令寻址方式为立即寻址和直接寻址,请回答下面两个汇编语言语句所描述的含义,将答案填写在答题纸的对应栏中。
MOV A, 3AH:(1)
MOV R4, 3AH: (2)
【问题3】(5分)
以下汇编程序用于打印机输出控制,请将下面汇编程序的空(1)~(5)补充完整,并将解答填入答题纸的对应栏中。
8255 的A口工作在方式1输出,初始化程序:
INTI55: MOV DPTR, 8003H
MOV A, 10100010B
MOVX @DPTR,A ;配置 A口在工作方式 1、B口在工作方式 0
MOV A, 00001101B
MOVX @DPTR,A ;将 PC6 口置位
嵌入式处理器的中断初始化程序:
INT031:
MOV IE,(1) ;开总中断及所有五个中断源用十六进制表示
ANL TCON,0FEH ;规定 INT0 下降沿低电平产生中断请求
嵌入式处理器主程序:
(打印存储单元20H 开始向后的内容,中断处理程序中每次从 20H中取到需要打印的存储单元地址,直到遇到存储单元里面内容不是 OAH 为止)
ORG
0100H
MOV R0,20H ;取打印缓冲区地址
MOV DPTR, 8000H
MOV A,(2) ;取打印字符
INC R0
MOV 20H, R0
MOVX @DPTR,A ;输出打印
当字符打印结束会产生一次中断,中断服务程序如下:
ORG 1300H
PRINTER: PUSH PSW ;压栈操作
PUSH Acc
PUSH R0
PUSH DPH
PUSH DPL
MOV R0,(3);用十六进制表示 MOV DPTR,8000H
MOVX .A, @R0 ;取打印字符
MOVX @DPTR,A :输出打印
INC R0
MOV 20H, R0 ;将需要取打印内容的地址放置到 20H 单元
CJNE A,0AH,NEXT
ANL IE,(4);关 INT0中断,用十六进制表示
NEXT:POP DPL
POP DPH
POP (5)
POP Acc
POP PSW
RETI
第1题:
试题三(共 15 分)
阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

第2题:
| l | ||
|---|---|---|
| < (6) name="body" cols="60" rows="5"> | ||
| ||
第3题:
第4题:
试题二(共15)
阅读以下关于 AD574(12 位的 A/D 转换器)的叙述,回答问题 1 至问题 3,将答案填入答题纸的对应栏内。
【说明】
AD574可以通过简单的三态门、锁存器接口与微机系统的系统总线相连接,也可以通过可编程接口(如 8255)与系统总线相连接。由表 2-1 可知,AD574 可以工作在 8位,也可以工作在12位。图2-1为以8255为接口芯片,将工作于12位下的AD574接到8位ISA 系统总线上。
【问题1】(3分)
在图 2-1 中,通过 8255 的 A0、A1口地址选择信号线进行 PA 口、PB 口、PC 口的控制。回答下列问题,将答案填写在答题纸对应的栏目中。
(1)A0为0,A1为0时控制(1)口。
【问题2】(4分)
简要回答下列关于74LS138器件的功能以及作用的问题,将答案填写在答题纸对应
的栏目中。
(1)74LS138器件在图2-1中的功能是 (1) ;

【问题】(8分)

;对8255初始化,此段程序放在应用程序开始的位置上
INTI55: MOV DX, 0063H
MOV AL, 10011010B ;8255 的 A 口 8 位,B 口 8 位,以及 C
口的高4位均设置为输入, C 口的低4
位设置为输出
OUT DX, AL ;控制字写入8255的控制寄存器
MOV AL, 00000001B
OUT DX, AL ;使用位控方式将PC0置位
;以下是对输入信号进行一次变换的程序
ACQUQ:MOV DX, 0062H
MOV AL, 00000000B
OUT DX, AL
MOV AL, (1) B ;二进制表示
OUT DX, AL ;由PC0输出低电平到高电平启动变换
NOP
NOP
WAITS: IN AL,DX ;取出AD574的STS 状态
AND AL, (2) H ;判断变换是否结束, 十六进制表示
JNZ WAITS
MOV DX,0060H
IN AL,DX ;读取A 口取得A/D 变换的低8位
MOV BL, (3) ;将A 口获取的低8位放在BL中
MOV DX,0061H
IN AL,DX ;读取B 口数据
AND AL, (4) H ;取AD574数据的高4位, 十六进制表示
MOV BH,AL
RET
第5题: