51 单片机:键控直流电机

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


P3.0的按钮是控制正转

P3.1的按钮是控制反转

P3.2的按钮是停止


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


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


电路如下:

51 单片机:键控直流电机 - 非著名博主 - 电子信息角落


电路链接: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

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


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


后记:

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值