第1个回答 2014-07-27
用按键控制显示1和5
ORG 0000H ;复位时程序从此开始
SJMP START ;跳到START进行初始化
ORG 0030H ;初始化程序从30H开始
;-----------------------------初始化--------------------
START: MOV SP, #60H
MOV 40H,#0FFH
MOV P2, #0FFH
;CLR P2.0
;------------------------------主程序-----------------------
MAIN: CALL KEY
CALL DISPLAY
SJMP MAIN
;------------------------------按键子程序--------------------
KEY: JNB P1.6,K1
JNB P1.7,K2
FANHUI:RET
K1: CALL DELAY ;K1键控制1
JB P1.6,FANHUI
JNB P1.6,$
MOV 40H,#0F9H
RET
K2: CALL DELAY ;K2键控制5
JB P1.7,FANHUI
JNB P1.7,$
MOV 40H,#92H
RET
;---------------------------显示子程序DISPLAY---------------------
DISPLAY: MOV P2,40H
RET
;---------------------------延时子程序-----------------
DELAY: MOV R0, #50
D2:MOV R1, #100
D1:DJNZ R1, D1
DJNZ R0, D2
RET
END