unsigned short j, oj;
void InitMain()
{
osccon = 0x77; // oscilador a 8MHz
PORTB = 0; // Set PORTB to 0
TRISB = 0; // PORTB son salidas
ADCON1 = 6; // todo pin ADC a digital I/O
PORTA = 255;
TRISA = 255; // PORTA como entradas
PORTC = 0xFF; // Set PORTC to $FF
TRISC = 0; // PORTC son salidas
Pwm_Init(5000); // Inicializa el modulo PWM
}//~
void main() {
InitMain();
j = 80; // valor inicial para j
oj = 0; // oj will keep the 'old j' value
Pwm_Start(); // Empieza PWM
while (1) { // ciclo infinito
if (Button(&PORTA, 0,1,1)) // presiona el boton en RA0
j++ ; // incrementa j
if (Button(&PORTA, 1,1,1)) // presiona el boton en RA1
j-- ; // decrementa j
if (oj != j) { // si cambia el ciclo,
Pwm_Change_Duty(j); // cambia la frecuencia,
oj = j; // se menoriza,
PORTB = oj; // and display on PORTB
}
Delay_ms(200); // retardo de 200ms
}
}
Comentarios