viernes, 18 de diciembre de 2009

PWM con pic 16F87x - SDCC


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.

No hay comentarios:

IRC

#freenode->#usljujuy

Seguidores

Eventos n_n

Tira Ecol Nano,Bilo y Luca