正文开始啦!
分析:
这是一个数码管图示
数码管 最上面是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口
下期再见吧。