void pwm(unsigned int ciclo, unsigned char aux){
//250 Hz - 4Mhz valor del periodo
PR2 = 0b11111001; // 249
//Ciclo de trabajo
CCPR1L = ciclo; //249-100% 124-50%
//Prescaler 16, Timer 2 off
T2CON = 0b00000011 ;
//Modo PWM
CCP1CON = 0b00001100 ; // 8bit
if (aux=='1'){
TMR2ON=1;
}else if(aux=='0'){
TMR2ON=0;
}
}
Hasta ahora funciona bien n_n asi que bueno modificare con el tiempo...
para el motor que estoy usando de una lectora de CD los 250Hz le vino como anillo al dedo xD
pwm(124,1) seria el valor de los ciclos de trabajo y el uno para avilitar el PWM desde el
registro T2CON. Mas info para los calculos vean la hoja de datos de microchip donde en una tabla
nos indica los minimos y maximos en que puede trabajar el pwm segun el cristal empleado.
viernes, 18 de diciembre de 2009
PWM con pic 16F87x - SDCC
Suscribirse a:
Enviar comentarios (Atom)
IRC
#freenode->#usljujuy
Seguidores
Eventos n_n
Tira Ecol Nano,Bilo y Luca
Link's interesantes ^^
Archivo del blog
-
►
2008
(25)
- ► septiembre (4)
No hay comentarios:
Publicar un comentario