用51单片机汇编语言,编写“键控加减一”的程序
扫描二维码
随时随地手机看文章
程序要求:开始时LED显示0、K1具有增数功能、K2具有减数功能。
若LED显示为0,按下K1,则显示为1、再按下K1,显示为2.....,若显示为9,再按下则显示为0;
若LED显示为0,按下K2,则显示为9、再按下K2,显示为8.....,直至显示为1。再一次循环。
显示部分采用硬件译码器,电路给出如下。
悬赏分:50 | 解决时间:2011-6-14 09:11
;===========================================
最佳答案:
程序仿真通过,仿真电路如下:
程序:
ORG 0000H
LJMP START
ORG 0040H ;从40H地址开始.
START:
MOV A, #0 ;开始显示的初值.
SETB P2.0 ;开始置0,
SETB P2.1 ;开始置0,
;------------------------
LOOP:
MOV P0, A ;显示寄存器A中的内容.
JNB P2.0, INCR ;K1开,跳转到INCR
JNB P2.1, DECR ;K2开,跳转到DECR
JMP LOOP
;------------------------
INCR:
JNB P2.0,INCR ;按键按下后是否松开.
ADD A, #1 ;A加1
DA A ;A内容进行BCD调整.
JMP LOOP
;------------------------
DECR:
JNB P2.1, DECR ;按键按下后是否松开.
ADD A, #99H ;A减1
DA A ;A内容进行BCD调整.
JMP LOOP
;------------------------
END