KAI BIT P3.7 开始
------------------------------------------
ORG 0000H
JMP START
START:
----------------------下面是清零(复位)
MOV P0, #0C0H显示0
MOV P2, #255 熄灯
MOV R4, #0
----------------------下面等待按下"开始"键
KAISHI:
JBKAI, KAISHI 没有按"开始",就循环
CALL DELAY延时
JBKAI, KAISHI 消抖
JNB KAI, $ 等待释放
----------------------
MOV P0, #0CH 显示P
WAIT: 等待抢答
MOV A, P1
CPL A
JZWAIT 继续等待
----------------------
XS:查找选手按键的位置
CPL A
MOV P2, A
JNB ACC.0, J0
JNB ACC.1, J1
JNB ACC.2, J2
JNB ACC.3, J3
JNB ACC.4, J4
JNB ACC.5, J5
JNB ACC.6, J6
JMP J7
J7: INC R4
J6: INC R4
J5: INC R4
J4: INC R4
J3: INC R4
J2: INC R4
J1: INC R4
J0: INC R4
MOV A, R4
MOV DPTR, #D_TAB
MOVC A, @A + DPTR
MOV P0, A
----------------------下面等待按下复位键
W_FW:
JBKAI, W_FW没有按,则转
CALL DELAY延时
JBKAI, W_FW消抖
JNB KAI, $ 等待释放
JMP START
------------------------
D_TAB:
DB 0C0H,0F9H,0A4H,0B0H, 99H 共阳极0-9
DB92H, 82H,0F8H, 80H, 90H,0BFH -
------------------------------------------
DELAY: 延时约10ms
MOV R6, #20
DJNZ R7, $
DJNZ R6, $ - 2
RET
==========================================
END
以上程序已经调好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)