如何通过在 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...