hola, me gustaría saber si alguien me pudiera ayudar en pasar este código a pic basic puesto que apenas estoy familiarizado con el lenguaje para pic basic en microcontroladores y no se manejar en C.
este es el cod.
sbit bit_PWM at RB0_bit;
unsigned int PWM=0;
unsigned int Pulso_PWM=0;
unsigned int valor=0;
const float numero=0.195;
void interrupt() {
if(TMR0IF_bit){
Pulso_PWM++; //contador de interrupciones cada 10us
if(Pulso_PWM==2000){ //si llega a 20ms
Bit_PWM=1;
Pulso_PWM=0;
}
if(Pulso_PWM==PWM){ //si Pulso_PWM es igual a PWM
Bit_PWM=0;
}
TMR0=255; //cargamos TMR0 con 255
TMR0IF_bit=0; //salimos de interrupcion
}
}
void main() {
ADCON1=0; //Activo las entradas analógicas
PORTB=0; // Puerto B como salida
TRISB=0x00;
PORTA=0; // Puerto A como entrada
TRISA=0x01;
OPTION_REG=0x83; //prescaler del TMR0 = 1:16
GIE_bit=1; // activamos las interrupciones globales
TMR0IE_bit=1; // activamos interrupcion del TMR0
TMR0IF_bit=0; // borramos el flag de desbordamiento del TMR0
TMR0=255; //cargamos el TMR0=255 para generar 10us
while(1){
valor=ADC_read(0); // leemos el canal analógico 0
valor=numero*valor; // multiplicamos el valor de ADC por 0.195
valor=valor+50;
PWM=valor; // cargamos la variable PWM con el valor calculado
}
}
De antemano, muchas gracias