assembly - 如何通过在 PIC16f84a 上创建汇编程序来提高步进电机的转速?
问题描述
对于硬件,我使用的是 10MHz Xtal 振荡器、两个 22pf 和步进电机 28BYJ-48 5V DC
下面是我到目前为止所做的代码。如何提高步进电机的转速?我尝试将低值 (0Ah) 设置为 COUNT1,但它没有旋转,而是仅导致步进电机振动。请帮我解决我的这个小问题。
#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
解决方案
推荐阅读
- c++ - 如何在 for 循环中使用 const 变量来生成模板类?
- javascript - 未定义错误的属性在刷新时消失
- java - 来自 GitHub 且支持 Maven 的 Java 项目未在 mscode 中构建
- android - 为什么数据不显示在片段中
- java - 如何使用多对一关系进行休息更新
- ios - 可以缓存 UI 元素并忽略代码指令吗?
- c - 尝试写入文件时出现分段错误
- python - Pandas 数据框和附加对象转换为 JSON
- ios - 从日期选择器保存当前时间以显示本地通知作为提醒
- groovy - Groovy .& 闭包(方法指针运算符)与 {} 闭包 - MethodMissingException