51 单片机:键控直流电机
扫描二维码
随时随地手机看文章
题目:用AT89C51单片机汇编语言写个控制电动机正反转的程序
P3.0的按钮是控制正转
P3.1的按钮是控制反转
P3.2的按钮是停止
用最短的汇编语言写出来,如果可以的话请一句句的解释一下。我不会弄中断。
电路如下:
这么简单的问题,用不着使用中断。
做而论道编写的程序如下:
;直流电机控制
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
;------------------------
提问者评价:小弟谢过大神了,感激
后记:
这程序写的:短小精悍,功能齐全,工作速度极快,并不低于使用中断的方法。