Académique Documents
Professionnel Documents
Culture Documents
//****************PWM 1 Volt**********************************
T2CON=1; //PreScaler 4
PR2=249; //PR2 249, parA 1KHZ
//PWM1 RC2
CCPR1L=0; //Ancho del Ciclo debe ser 1ms
CCP1CON=12;
//PWM2 RC1
CCPR2L=0; //Ancho del Ciclo debe ser 1ms
CCP2CON=12;
TMR2ON=1;//Tmr2 Encendido
while(1) {
if ((RB0==0)|(pwm_Volt<=1023) {pwm_Volt+=10;}
if ((RB1==0)|(pwm_Volt>=10) {pwm_Volt-=10;}
pwm1_send(pwm_Volt); //Pwm Voltaje
pwm2_send(204); // Pwm Amp
}
}
/*****************PWM 1 RC2****************/
void pwm1_send(unsigned int valor)
{
unsigned char temp,temp1 ;
temp=valor>>2;
temp1=(valor & 0x03)<<4;
//******Valor de PWM*******
CCPR1L=temp;
CCP1CON=temp1|12;
//************************
}
/******PWM 2 RC1****************/
void pwm2_send(unsigned int valor)
{
unsigned char temp,temp1 ;
temp=valor>>2;
temp1=(valor & 0x03)<<4;
//******Valor de PWM*******
CCPR2L=temp;
CCP2CON=temp1|12;
//************************
}
=================================================================
Este es un ejemplo que trate de adaptar para que veas el uso de las 2 pwm RC1 y
RC2. este pwm trabaja a una frecuencia de 1Kz utilizando 10bit de precisión.. si n
ecesitas modificar la frecuencia solo ve esta pagina que trate un calculador par
a modificar los registros