ORG0000HMOVR0,#0MOVDPTR,#TABSTART:MOVA,P0ANLA,#0FH;取A的低四位CJNEA,#0FH,KEY1SJMPSTARTKEY1:LCALLDELAY;调用延迟子程序MOVA,P0;确认按键是否确实按下ANLA,#0FHCJNEA,#0FH,KEY...
ORG 0000H
MOV R0,#0
MOV DPTR,#TAB
START:MOV A,P0
ANL A,#0FH ;取A的低四位
CJNE A,#0FH,KEY1
SJMP START
KEY1:LCALL DELAY ;调用延迟子程序
MOV A,P0 ;确认按键是否确实按下
ANL A,#0FH
CJNE A,#0FH,KEY2
SJMP START
KEY2:JNB ACC.0,K1 ;确认按下的是哪个开关
JNB ACC.1,K2
JNB ACC.2,K3
JNB ACC.3,K4
LJMP START
K1:MOV R1,#1 ;分别输入不同数值对应不同开关
LJMP ADDOPR
K2:MOV R1,#2
LJMP ADDOPR
K3:MOV R1,#3
LJMP ADDOPR
K4:DEC R0
LJMP WAIT
ADDOPR:MOV A,R0 ;与值相加
ADD A,R1
MOV R0,A
WAIT:MOV A,P0
ANL A,#0FH
CJNE A,#0FH,WAIT
MOV A,R0
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P1,A
MOV A,B
MOVC A,@A+DPTR
MOV P3,A
LJMP START
DELAY:MOV R6,#15 ;延时子程序
DEL2:MOV R7,#200
DEL1:DJNZ R7,DEL1
DJNZ R6,DEL2
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
用单片机做篮球记分板电路
展开