我的开发板是P0低三位(38数码管的输入端口)口控制数码管的位选的,八个输出口分别控制八个数码管工作的。程序: 通过三八译码器让三个IO口控制八个数码管的工作状态
ORG 00H
STARY:
MOV P0,#00000000B;根据三八译码器真值表的原理控制第一个数码管工作
MOV P1,#00111111B;显示 0
CALL DELAY;短暂的延时
MOV P0,#00000001B;根据三八译码器真值表的原理控制第二数码管工作
MOV P1,#00000110B;显示 1
CALL DELAY;短暂的延时
MOV P0,#00000010B;根据三八译码器真值表的原理控制第三数码管工作
MOV P1,#01011011B;显示 2
CALL DELAY;短暂的延时
MOV P0,#00000011B;根据三八译码器真值表的原理控制第四个数码管工作
MOV P1,#01001111B;显示 3
CALL DELAY;短暂的延时
MOV P0,#00000100B;根据三八译码器真值表的原理控制第五个数码管工作
MOV P1,#01100110B;显示 4
CALL DELAY;短暂的延时
MOV P0,#00000101B;根据三八译码器真值表的原理控制第六个数码工作
MOV P1,#01101101B;显示 5
CALL DELAY;短暂的延时
MOV P0,#00000110B;根据三八译码器真值表的原理控制第七个数码工作
MOV P1,#01111101B;显示 6
CALL DELAY;短暂的延时
MOV P0,#00000111B;根据三八译码器真值表的原理控制第八个数码工作
MOV P1,#00000111B;显示 7
CALL DELAY;短暂的延时
JMP STARY
DELAY:;延时程序
MOV R0,#3
DV1: MOV R1,248
DV2: DJNZ R1,DV2
DJNZ R0,DV1
RET
END
效果:在八个数码管上显示数字0至7 |