51 单片机:键控直流电机

题目:用AT89C51单片机汇编语言写个控制电动机正反转的程序


P3.0的按钮是控制正转

P3.1的按钮是控制反转

P3.2的按钮是停止


用最短的汇编语言写出来,如果可以的话请一句句的解释一下。我不会弄中断。


题目链接:http://zhidao.baidu.com/question/1174282245905336899.html


电路如下:

51 单片机:键控直流电机_第1张图片


电路链接:http://xiangce.baidu.com/picture/detail/ea0d4712e074fe0477b2af599430fd5fcaf7ba9f


这么简单的问题,用不着使用中断。


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


;直流电机控制

    ORG   0000H

P30:JB    P3.0, P31    ;检测按键

    CALL  DELAY        ;延时

    JB    P3.0, P31    ;消抖

    JNB   P3.0, $      ;等待释放

    MOV   P2, #01H     ;正转

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

P31:JB    P3.1, P32    ;轮流检测

    CALL  DELAY

    JB    P3.1, P32

    JNB   P3.1, $

    MOV   P2, #02H     ;反转

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

P32:JB    P3.2, P30

    CALL  DELAY

    JB    P3.2, P30

    JNB   P3.2, $

    MOV   P2, #03H     ;停转

    SJMP  P30

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

DELAY:                 ;延时约10ms(fosc = 6MHz)

    MOV   R6, #10

    DJNZ  R7, $

    DJNZ  R6, $ - 2

    RET

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

END

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


提问者评价:小弟谢过大神了,感激


后记:

这程序写的:短小精悍,功能齐全,工作速度极快,并不低于使用中断的方法。


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