55课堂练习答案1

时间:2022-11-21 06:37:49 作者:壹号 字数:3245字

1. 当数据从8255A的C端口读到CPU时,8255A的控制信号CS、RD、WR、A1、AO

分别是什么电平?

答: 当数据从8255A的C 端口读入CPU时,8255A的片选信号CS=0,A1,A0=10,

WR=1。

RD=0,

2. 某外设如图1所示,8255使用查询方式将缓冲区BUF中的100个字节数据通过A口输

出到外设。当外设的BUSY 为低电平时,表示外设可以接受数据。画出完整的接口图,编写8255的初始化程序和输出程序。设8255端口的地址范围是80H~83H,译码器用74LS 138,请画出详细的译码电路图。

D0~D7

外设

BUSY

图1

答:设8255工作在方式0输出,用PC0查询BUSY,PC0=0,允许输出 MOV AL,81H ;方式字 OUT 83H,AL

MOV BX,OFFSET BUF MOV CX,100 W: IN AL,82H

TEST AL,01H; 查询PC0 JNZ W

MOV AL,BYTE PTR[BX] ;取数据 OUT 80H,AL ;A口输出 INC BX LOOP W HLT

译码器用74LS 138如图:

A4 C Y0 A3 B A2 A A5 G1* A6 G2* A7 G3

3. 现有4种简单外设:①一组8位开关:②一组8位LED指示灯:③一个按钮开关:④一个蜂

鸣器。要求: (1)用8255A作为接口芯片,将这些外设构成一个简单的微机应用系统, 画出接口连接图: (2)编制5种驱动程序,每个程序必须包括至少两种外设共同作用的操作。

给出程序清单。

答:设灯为共阴极,如图2所示,

pa equ 40H Pb equ 41H Pc equ 42H ……

Mov al,10000011B; 方式0,A口输出,B口输入,C口高4位出,低4位入 Out pc+1,al

(1)8位开关分别控制8个灯 A1:in al,pb Out pa,al jmp A1

(2)按扭控制蜂鸣器 A2: in al,pc

Mov cl,4

Ror al,cl; 将PC0位移到PC4的位置 Out pc,al Jmp a2

(3)按钮控制灯 A3: mov al,00h

Out pa,al ; 灯先不亮 In al,pc Test al,01h

Jz A3; 若PC0=1则输出全1到灯 Mov al,ffh

Out pa,al ; 灯亮 Jmp A3

(4)8个开关控制8个灯,按钮为总开关 A4: mov al,00h;

out pa,al; 灯先不亮 In al,pc Test al,01h

Jz A4; 若PC0=1则开关可以控制灯 In al,pb Out pa,al Jmp A4

(5)8个开关控制8个灯,若灯全灭,则蜂鸣器响 A5: in al,pb

Out pa,al

Test al,0FFH Jnz A5

Mov al,10h ; 若灯全灭,则蜂鸣器响 Out pc,al Jmp A5

图2

4. 某PC微机应用系统如图3所示,以8255A作为接口,采集一组开关S7~S0的状态,然后

通过一组发光二极管LED7 ~LED0 显示出来,(Si闭合,对应LEDi亮,Si断开,对应LEDi灭),电路连接如图所示.已知8255A的A,B两组均工作在方式0 .

图3

…… 此处隐藏0字 ……

1) 写出8255A四个端口地址 2) 写出8255A的工作方式字 3) 写出实现给定功能的程序

答案:

1) 由图可知当A9A8A7A6A5A4A3A2=11001000时,74LS138的Y0输出低电平,由此可知各

端口地址为:8255A口(320H), 8255B口(321H), 8255C口(322H), 8255控制口(323H) 2) A口方式0输出,B口方式0输入,方式字为:82H 3) 程序如下:

MOV AL , MOV DX, OUT DX, MOV DX, IN AL, NOT AL MOV AX, OUT DX, HLT

82H ;置方式字 323H ;控制口地址 AL 321H ;B口地址 DX ;读开关状态 ;状态取反 320H ;置A口地址 AL