《微机原理与接口技术》复习练习题与答案 联系客服

发布时间 : 星期日 文章《微机原理与接口技术》复习练习题与答案更新完毕开始阅读

ADY db 26 dup(?) Data Ends Stack segment Db 100 dup(?) Stack ends Code segment

Assume cs:code,ds:data,ss :stack MAIN PROC FAR PUSH DS XOR AX,AX PUSH AX

MOV DX,Ctrol

MOV AL,88H ;方式控制字=10001000B OUT DX,AL

MOV AL,03H ;用C口置/复位控制字使PC1=1 OUT DX,AL

MOV CX,26 ;设置计数器初值为26 LEA SI,ADY LL:MOV DX,Cport

IN AL,DX ;读C口的值 AND AL,20H ;测试D5位

JNZ LL ;不为0,则PC5=1,打印机正忙,等待 MOV DX,Aport

MOV AL,[SI] ;打印机不忙,则送字符给A口 OUT DX,AL MOV DX, Ctrol

MOV AL,02H ;使PC1=0 OUT DX,AL

INC AL ;使PC1=1,则得一个负脉冲输出 OUT DX,AL

INC SI ;修改地址指针 DEC CX ;修改计数器的值

JNZ LL ;26个字符未输完,则继续 RET MAIN ENDP CODE ENDS END MAIN

5、某PC机应用系统以8255A作为接口,采集8位开关S0~S7的状态,然后通过一组发光二极管LED0~LED7显示出来(Si闭合,对应的LEDi亮)。电路连接图如下图所示。

(1)写出8255的四个端口地址;

(2)写出8255的方式控制字(未用的位设为0);

第 17 页 共 22 页

(3)编写实现给定功能的程序段。

附:8255A控制字格式:

D0:C口低4位方式,0—输出、1—输入 D1:B口I/O方式,0—输出、1—输入 D2:B口工作方式,0—方式0、1—方式1 D3:C口高4位方式,0—输出、1—输入 D4:A口I/O方式,0—输出、1—输入

D6、D5:A口工作方式,00--方式0、01--方式1、10或11--方式2 D7:标志位为1

解:(1)由图可知,当A9A8A7A6A5A4A3A2?11001000时,74LS138的Y0输出低电平,选中8255A。由此可知:

8255A的A口、B口、C口及控制口地址分别为:320H、321H、322H、323H。 (2)A口工作在方式0输出、B口工作在方式0输入,C口空闲,所以8255A的工作方式控制字为:82H。 (3)程序段如下: MOV AL,82H ;置方式字 MOV DX,323H ;置控制口地址 OUT DX,AL ;写控制字 MOV DX,321H ;置B口地址

IN AL,DX ;读开关状态(断开为1,接通为0) NOT AL ;状态取反

第 18 页 共 22 页

MOV DX,320H ;置A口地址

OUT DX,AL ;输出(1灯亮,0灯灭) HLT ;停机

6、某系统中8253地址为340H~343H,输入频率为10MHZ脉冲信号,输出为1HZ,占空比为1:1的脉冲信号(方波),请写出初始化程序并画出相应电路图及地址译码连接图。(12分)

提示∶(1) 地址总线只用A0~A9,控制线用IOR、IOW,译码器可采用逻辑电路与LS138译码器的组合; (2) 8253的工作方式字如下图。

解:(1)电路图及地址译码连接图如下:

当A9A8A7A6A5A4A3A2?11010000时,74LS138的Y0输出低电平,选中8253。由此可知:

8253的计数器0、计数器1、计数器2及方式控制口地址分别为:340H、341H、342H、343H。

又因为CLK频率为10MHz,要求在OUT端产生频率1Hz的脉冲,此时计数值为10000000,超过一个计数通道的范围,要把2个计数通道串联起来使用。

第 19 页 共 22 页

(2)

? 确定计数初值:

? CNT0: 10MHZ/1KHZ = 10000 ? CNT1: 1KHz/1Hz = 1000 ? 确定控制字:

? CNT0:方式3,16位计数值为 00 11 011 0B ? CNT1:方式3,16位计数值为 01 11 011 0B 8253初始化程序段如下:

MOV DX,343H ;8253方式控制字端口地址 MOV AL,00110110B ;置计数器0方式字 OUT DX,AL ;写入计数器0方式字 MOV AX,10000 ;置计数器0计数初值 MOV DX,340H ;计数器0端口地址

OUT DX,AL ;写入计数器0的计数初值低8位 MOV AL,AH

OUT DX,AL ;写入计数器0的计数初值高8位 MOV DX,343H ;8253方式控制字端口地址 MOV AL,01110110B ;置计数器1方式字 OUT DX,AL ;写入计数器1方式字 MOV DX,341H ;计数器1端口地址 MOV AX,1000 ;置计数器1计数初值

OUT DX,AL ;写入计数器1的计数初值低8位 MOV AL,AH

OUT DX,AL ;写入计数器1的计数初值高8位

7、某微机系统中8253的端口地址为250H~253H,如何用该定时/计数器将1MHz的脉冲变为1Hz的脉冲?画线路连接图,并编写初始化程序。

第 20 页 共 22 页