ej_inttimer0.c

Ir a la documentación de este archivo.
00001 
00013 #include <pic/p16f877a.h>
00014 
00015 #define FOSC_HZ 20000000
00016 
00017 #include <pinio.h>
00018 #include <delayms.h>
00019 #include <timer0.h>
00020 #include <interrupt.h>
00021 
00022 BYTE bandera=0;
00023 BYTE cambia=0;
00024 
00025 void funcion_con_mucho_codigo(void)
00026 {
00027         if(cambia==0)   {output_high(PIN_C2);cambia=1;}
00028         else            {output_low(PIN_C2);cambia=0;}
00029         bandera=0;
00030 }
00031 
00032 ISR_MAIN(funcion_interrupcion_global)
00033 { 
00034         if(int_timer0_flag()==1)
00035         {
00036                 timer0_write(0x40);
00037                 int_timer0_free_flag();
00038                 bandera=1;
00039         }
00040 }
00041 
00042 int main (void)
00043 {
00044         delayms(500);
00045 
00046         timer0_init(TIMER_INTERN);
00047         timer0_set_prescaler(PRESC_DIV_8);
00048 
00049         enable_int_timer0();
00050         enable_int_global();
00051 
00052 
00053         while(TRUE)
00054         {
00055                 while(bandera!=1);              
00056                 funcion_con_mucho_codigo();
00057         }
00058 
00059         disable_int_timer0();
00060         return 0;
00061 }

Generado el Thu Jan 8 00:55:37 2009 para pic-gcc-library por  doxygen 1.5.1