注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
弗莱曼飞侠的个人空间 https://home.eeworld.com.cn/space-uid-370870.html [收藏] [复制] [分享] [RSS]
日志

控制电机转向时,转45°可以,为什么加恢复原状时出现先转90°,再向回转45°

已有 916 次阅读2011-10-25 19:31

原程序1:(51单片机P0口输出)
               OUT   EQU   P0
               ORG   0000H
LOOP:    JNB   P1.3,LEFT
               JMP   LOOP
LEFT:     MOV   DPTR,#TABLE  
               MOV   R3,#01H
               MOV   A,R3
               MOVC   A,@A+DPTR
               MOV    OUT,A
               CALL   DELAY
               JMP    STOP
DELAY:   MOV    R7,#100
D1:          MOV    R6,#249
               DJNZ   R6,$
               DJNZ   R7,D1
               RET
STOP:    ORL    P0,#0FFH
TABLE:   DB     1
               END     
源程序2(加恢复后):
               ORG    0000H
LOOP:    JNB    P1.3,LEFT
               JNB    P1.4,RIGHT
               JMP    LOOP
LEFT:     MOV    DPTR,#TABLE  
               MOV    R0,#01H
               MOV    A,R0
               MOVC   A,@A+DPTR
               MOV    P0,A
              CALL   DELAY
              JMP    STOP
RIGHT:   MOV    DPTR,#TABLE  
              MOV    R1,#02H
              MOV    A,R1
              MOVC   A,@A+DPTR
              MOV    P0,A
              CALL   DELAY
              JMP    STOP
DELAY:  MOV    R3,#100
D1:         MOV    R2,#249
              DJNZ   R2,$
              DJNZ   R3,D1
              RET
STOP:   ORL    P0,#0FFH
              JMP    LOOP
TABLE:   DB     1
               DB     9(混合式)
               END


第一个程序是转了45°,第二个程序想让电机左转45°,再右转45°以恢复原状。

但是第二个程序在PROTUES上仿真时点击左转按钮后左转了90°,点击右转按钮时,向右转了45°,结果是向左转了45°,没恢复到原来位置。

本文含有来自论坛的附件或图片:[001.JPG],点击查看原帖附件。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章