如何解决如何通过在 PIC16f84a 上创建汇编程序来提高步进电机的转速?
对于硬件,我使用了一个 10MHz Xtal 振荡器、两个 22pf 和步进电机 28BYJ-48 5V DC
以下是我到目前为止所做的代码。如何提高步进电机的转速?我尝试给 COUNT1 设置一个低值(0Ah),但是它没有旋转,而是只会导致步进电机振动。请帮我解决我的这个小问题。
#include "p16f84a.inc"
; CONFIG
; __config 0xFFF1
__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_ON & _CP_OFF
RES_VECT CODE 0x0000 ; processor reset vector
GOTO BEGIN ; go to beginning of program
;Constants
STATUS EQU 03h
TRISB EQU 86h
PORTB EQU 06h
COUNT1 EQU 08h
MAIN_PROG CODE ; let linker place main program
BEGIN bsf STATUS,5 ; go to bank 1
movlw 00h ; put 0000 to w register
movwf TRISB ; make all pins as output
bcf STATUS,5 ; goto bank 0
PROCESS
movlw b'10000000'
movwf PORTB
CALL DELAY
movlw b'01000000'
movwf PORTB
CALL DELAY
movlw b'00100000'
movwf PORTB
CALL DELAY
movlw b'00010000'
movwf PORTB
CALL DELAY
GOTO PROCESS ; loop forever
DELAY
LOOP DECFSZ COUNT1,1 ; subtract 1 to the total COUNT1 value
GOTO LOOP ; until reaches zero
RETURN ; return to PROCESS
END
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。