正文开始啦!
实验一:
分析:
这是一个数码管图示
数码管 最上面是a,逆时针依次是bcdef中间的扛是g 右下角的点是dp
看题图灯是共阳极 灯是0亮,1是不亮。
要看到数字0 只有g和dp不亮 不亮为1
PA7(dp) PA6(g) PA5(f) PA4(e) PA3(d) PA2(c) PA1(b) PA0(a)
当显示0: 1 1 0 0 0 0 0 0 C0H
当显示1: 1 1 1 1 1 0 0 1 F9H
....2.... 1 0 1 0 0 1 0 0 A4H
当显示6: 1 0 0 0 0 0 1 0 82H
四个开关控制字型PC4 PC5 PC6 PC7
PC4 PC5 PC6 PC7
0000 显示0
0001 显示1
0010 显示2
....
1001 显示9
1111 显示F
以上四位有16种组合
(1)答
PORTA EQU 60H
PORTB EQU 62H
PORTC EQU 64H
PORTL EQU 66H
(2)答
MI1 PROC
MOV AL,88H
OUT PCTRL,AL;初始化8255
IN AL,PORTC ;读开关状态
MOV CL,4
SHR AL,CL;转成低四位
LEA BX,BUF
XLAT ;[BX+AL] 变成AL查表
OUT PORTA,AL;显示输出
RET
MI1 ENDP
实验二:
分析:
开关是输入,灯是输出。
共阳级0亮1不亮,共阴极1亮0不亮。
PA7开关对应PB7灯,依次对应。
这个灯是共阳接法是0时亮。
当PA开关=0时,此时闭合,对应的PB灯会亮。
把开关信号从A口送进来是IN指令,把对应的信号OUT输出到8255。
答:地址:208H~20BH
控制字=1 00 1 0 0 0 0=90H,A口方式0输入,B口方式0输出
MOV DX,20BH
MOV AL,90H
OUT DX,AL
MOV DX,208H ;A口口地址
IN AL,DX;读A口开关信号 读进CPU中的AL
INC DX;B口口地址
OUT DX,AL;写入B口
下期再见吧。