ORG 0
START:
mov B,#0 ;预设显示的值0=不显示
Loop:
LCALL Disp_B; ;显示函数:显示B的值
mov P3,#0ffh ;拉高输入点,准备读取输入点
mov A,P3 ;读入输入点
mov B,#0 ;预设显示的值=不显示
RR A;//ACC右移1位->CY中
JC Loop ;总开关未闭合,去显示0
;
RR A;//ACC右移1位->CY中
JC Loop ;Key1未闭合,去显示0
mov B,#1 ;Key1闭合了,准备显示1
;
RR A;//ACC右移1位->CY中
JC Loop ;Key2未闭合,去显示1
mov B,#2 ;Key2闭合了,准备显示2
;
RR A;//ACC右移1位->CY中
JC Loop ;Key3未闭合,去显示2
mov B,#3 ;Key3闭合了,准备显示3
....;自己去复制几次
....;
;
RR A;//ACC右移1位->CY中
JC Loop ;Key6未闭合,去显示5
mov B,#6 ;Key6闭合了,准备显示6
;
RR A;//ACC右移1位->CY中
JC Loop ;Key7未闭合,去显示6
mov B,#7 ;Key7闭合了,准备显示7
LJMP Loop ;去显示7
;显示程序----------------
Disp_B:
mov A,B ;B->A
mov dptr,#Disp_ZK;显示的7段字库
add A,DPL
jnc Disp_B1
inc DPH
Disp_B1:
mov DPL,A
;
movc a,@dptr
mov P1,A
ret
Disp_ZK: db 0f0h,0e3h,072h,043h,011h,025h,033h,066h
;对应0~7显示的7段LED图形码,上面的数据是我瞎写的,自己调整
END
温馨提示:答案为网友推荐,仅供参考