51单片机,汇编语言,按键操作控制

硬件电路:


P1.0 ~ P1.5 外接 6 个 LED,分别称为 D1 ~ D6,低电平发光。


P0.0 ~ P0.3 外接 4 个 按键,分别称为 K1 ~ K4。

P3.2 ~ P3.3 外接 2 个 按键,分别称为 K5 ~ K6。


用汇编语言编程进行控制,要求:


当按下 K1 时,D1 发光;

按下 K2 时,D2、D3 发光;

按下 K3 时,D4、D5、D6 发光;

按下 K4 时,D1、D3、D6 发光;

按下 K5 时,全部熄灭;

按下 K6 时,全亮。


用查询方式完成上述动作。

 

做而论道编写的程序如下:


                          2013-04-19 23:06


    ORG   0000H


START:

    JNB   P0.0, K1

    JNB   P0.1, K2

    JNB   P0.2, K3

    JNB   P0.3, K4

    JNB   P3.2, K5

    JNB   P3.3, K6

    SJMP  START

;-----------------------

K1:

    CALL  DL10MS

    JB    P0.0, START

    JNB   P0.0, $

    CLR   P1.0     ;按下K1键时,D1二极管发光;

    SJMP  START

;-----------------------

K2:

    CALL  DL10MS

    JB    P0.1, START

    JNB   P0.1, $

    CLR   P1.1     ;按下K2键时,D2、D3发光;

    CLR   P1.2

    SJMP  START

;-----------------------

K3:

    CALL  DL10MS

    JB    P0.2, START

    JNB   P0.2, $

    CLR   P1.3     ;按下K3键时,D4、D5、D6发光;

    CLR   P1.4

    CLR   P1.5

    SJMP  START

;-----------------------

K4:

    CALL  DL10MS

    JB    P0.3, START

    JNB   P0.3, $

    CLR   P1.0     ;按下K4键时,D1、D3、D6发光。

    CLR   P1.4

    CLR   P1.5

    SJMP  START

;-----------------------

K5:

    CALL  DL10MS

    JB    P3.2, START

    JNB   P3.2, $

    MOV   P1, #255 ;按下K5是全部熄灭;

    SJMP  START

;-----------------------

K6:

    CALL  DL10MS

    JB    P3.3, START

    JNB   P3.3, $

    MOV   P1, #0   ;按下K6是全亮;

    SJMP  START

;-----------------------

DL10MS:

    MOV   R6, #10

    DJNZ  R7, $

    DJNZ  R7, $

    DJNZ  R6, $ - 4

    RET

;-----------------------

END



回答提交后,百度知道就抽风了,给出了如下提示:


>_


呵呵,这种情况,见得多了,进行投诉,也可能正常显示,但是,往往都是晚三秋了。


原题网址:http://zhidao.baidu.com/question/542487454.html


你可能感兴趣的:(51汇编语言)