P
piersuk
Guest
Lo siento por ser un novato y no tener idea de lo que estoy haciendo, pero estoy tratando de trabajar las cosas.
Lo que estoy tratando de hacer es conducir un motor de corriente en diferentes voltajes Inbetween con un retardo de 2 segundos de cada paso.He probado el siguiente que me esperaba que fuera a dos pasos 3.8V y 6V, pero por desgracia no.
Cualquier ayuda con el código sería apreciada.Además, me gustaría saber qué y dónde agregar el paso de tensión cada pieza de código.
Este es mi código de
Código:
LIST P = PIC16F819, r = hex, f = INHX8MINCLUDE "p16f819.inc"__CONFIG 3909H;********* Programa adecuado starts here ************************************ *ORG 00H; vector de reset
Goto StartORG 010HINICIO
; Estas 3 líneas de establecer el periodo de la pulsación kHz (39)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Hacer que todas las salidas de los puertos (sólo se utiliza B1)
CLRF TRISB
BCF STATUS, RP0; Configurar el modo PWM
MOVLW B'00001100 '
MOVWF CCP1CON, El valor de CCPRIL establece el ciclo de trabajo y por lo tanto la tensión de
; MOVLW 010H; da 2,52 V
MOVLW 018H; da 3,8 V
; MOVLW 022H; 6v
MOVWF CCPR1L; A su vez en el PWM
BSF T2CON, TMR2ON, y inicia el temporizador; = 2 segundos de retardo
; Frecuencia de reloj = 4 MHz; Un retraso real = 2 segundos = 2000000 ciclos
; De error = 0%CBLOCK
d1
d2
D3
endcRetraso
; 1999996 ciclos
movlw 0x11
movwf d1
movlw 0x5d
movwf d2
movlw 0x05
movwf d3
Delay_0
decfsz d1, f
Ir a $ 2
decfsz d2, f
Ir a $ 2
decfsz d3, f
Delay_0 goto, 4 ciclos (incluido el); Estas 3 líneas de establecer el periodo de la pulsación kHz (39)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Hacer que todas las salidas de los puertos (sólo se utiliza B1)
CLRF TRISB
BCF STATUS, RP0; Configurar el modo PWM
MOVLW B'00001100 '
MOVWF CCP1CON, El valor de CCPRIL establece el ciclo de trabajo y por lo tanto la tensión de
; MOVLW 010H; da 2,52 V
; MOVLW 018H; da 3,8 V
MOVLW 022H; da 6.0V
MOVWF CCPR1L; A su vez en el PWM
BSF T2CON, TMR2ON, y inicia el temporizadorFIN NOP
GOTO FINFIN
Lo que estoy tratando de hacer es conducir un motor de corriente en diferentes voltajes Inbetween con un retardo de 2 segundos de cada paso.He probado el siguiente que me esperaba que fuera a dos pasos 3.8V y 6V, pero por desgracia no.
Cualquier ayuda con el código sería apreciada.Además, me gustaría saber qué y dónde agregar el paso de tensión cada pieza de código.
Este es mi código de
Código:
LIST P = PIC16F819, r = hex, f = INHX8MINCLUDE "p16f819.inc"__CONFIG 3909H;********* Programa adecuado starts here ************************************ *ORG 00H; vector de reset
Goto StartORG 010HINICIO
; Estas 3 líneas de establecer el periodo de la pulsación kHz (39)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Hacer que todas las salidas de los puertos (sólo se utiliza B1)
CLRF TRISB
BCF STATUS, RP0; Configurar el modo PWM
MOVLW B'00001100 '
MOVWF CCP1CON, El valor de CCPRIL establece el ciclo de trabajo y por lo tanto la tensión de
; MOVLW 010H; da 2,52 V
MOVLW 018H; da 3,8 V
; MOVLW 022H; 6v
MOVWF CCPR1L; A su vez en el PWM
BSF T2CON, TMR2ON, y inicia el temporizador; = 2 segundos de retardo
; Frecuencia de reloj = 4 MHz; Un retraso real = 2 segundos = 2000000 ciclos
; De error = 0%CBLOCK
d1
d2
D3
endcRetraso
; 1999996 ciclos
movlw 0x11
movwf d1
movlw 0x5d
movwf d2
movlw 0x05
movwf d3
Delay_0
decfsz d1, f
Ir a $ 2
decfsz d2, f
Ir a $ 2
decfsz d3, f
Delay_0 goto, 4 ciclos (incluido el); Estas 3 líneas de establecer el periodo de la pulsación kHz (39)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Hacer que todas las salidas de los puertos (sólo se utiliza B1)
CLRF TRISB
BCF STATUS, RP0; Configurar el modo PWM
MOVLW B'00001100 '
MOVWF CCP1CON, El valor de CCPRIL establece el ciclo de trabajo y por lo tanto la tensión de
; MOVLW 010H; da 2,52 V
; MOVLW 018H; da 3,8 V
MOVLW 022H; da 6.0V
MOVWF CCPR1L; A su vez en el PWM
BSF T2CON, TMR2ON, y inicia el temporizadorFIN NOP
GOTO FINFIN