Hola! Soy nuevo en esto, busque informacion sobre el tema sin demasiado exito. Tengo problemas para manejar un servomotor con el modulo CCP2 del microcontrolador (PIC 16F887). Voy a utilizar un cristal de 20MHz. El lenguaje que debo utilizar es Assembler. Hasta ahora configure e inicie el modulo de la siguiente forma:
BANKSEL TRISA
MOVLW b´X1XXXXXX´ ; CONF. ENTRADA PIN MOD. CCP2
MOVWF TRISC
MOVLW 0 x XX ; 1° DUDA: QUE VALOR PONER?
MOVWF PR2
MOVLW b´--XX1111´
MOVWF CCP2CON ; ELIJO MODO PWM
BANKSEL PIR1
BCF PIR1,1
BSF T2CON,1 ; 2° DUDA: QUE Ps USAR? COMO LO DETERMINO?
BSF T2CON,2 ; INICIO TEMPORIZADOR
AQUI
BTFSS PIR2,TMR2IF
GOTO AQUI; DESB. TIMER
MOVLW b´XXXXXX0X´
MOVWF TRISC
Lei en el foro que los servomotores funcionan a 50 Hz.
Utilizando la ecuación:
periodoPWM=(PR2+1) x 4Tosc x Ps TMR2
y sabiendo que la frecuencia es igual a:
Frec= 1 / periodoPWM
Es imposible lograr 50 Hz, como manejo el servomotor?
Tampoco se como mover (en asm) el servomotor.
Desde ya muchas gracias!
Saludos!
BANKSEL TRISA
MOVLW b´X1XXXXXX´ ; CONF. ENTRADA PIN MOD. CCP2
MOVWF TRISC
MOVLW 0 x XX ; 1° DUDA: QUE VALOR PONER?
MOVWF PR2
MOVLW b´--XX1111´
MOVWF CCP2CON ; ELIJO MODO PWM
BANKSEL PIR1
BCF PIR1,1
BSF T2CON,1 ; 2° DUDA: QUE Ps USAR? COMO LO DETERMINO?
BSF T2CON,2 ; INICIO TEMPORIZADOR
AQUI
BTFSS PIR2,TMR2IF
GOTO AQUI; DESB. TIMER
MOVLW b´XXXXXX0X´
MOVWF TRISC
Lei en el foro que los servomotores funcionan a 50 Hz.
Utilizando la ecuación:
periodoPWM=(PR2+1) x 4Tosc x Ps TMR2
y sabiendo que la frecuencia es igual a:
Frec= 1 / periodoPWM
Es imposible lograr 50 Hz, como manejo el servomotor?
Tampoco se como mover (en asm) el servomotor.
Desde ya muchas gracias!
Saludos!