#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
void delay(void) { //Retardo de aprox. 100ms
char cont;
cont=5;
asm {
loop: nop
nop
nop
nop
nop
dbnz cont,loop
}
}
void main(void) {
int i, cuenta;
cuenta=0;
SOPT1 = 0x02; //Deshabilito watchdog
PTBDD_PTBDD1=1; //Configuro el bit 1 del puerto B como salida
PTBDD_PTBDD0=1; //Configuro el bit 0 del puerto B como salida
PTAPE_PTAPE0=1; //Configuro la resistencia pull-up de PTAD0
EnableInterrupts;
for(;;) {
for(i=60000;i;i--){ //enciende un led1
PTBD_PTBD1=1 ;
delay();
}
for(i=30000;i;i--){ //apaga led1
PTBD_PTBD1=0;
delay();
}
cuenta+=1;
if (cuenta==20) //si se apaga y prende led1 20 veses
PTBD_PTBD0=1; // prendo led2
for(i=100;i;i--){
delay();
}
if (cuenta==22){ //pregunto si la variable "cuenta" alcanzo 22 encendidas y apagadas del led 1
PTBD_PTBD0=0; //si llego apaga led2
cuenta=0 ;
}
}
}