EJEMPLO 5: INTERRUPCION POR DESBORDAMIENTO DEL TMR0


//***********************************************************************
CONFIGURACION DEL TMR0, SE PONE A OSCILAR UN LED EN EL PIN_C0//////////////////
//**************************************************************************
#INCLUDE <18F2550.h>             // LIBRERIA PARA EL 2550
//********************************************************************************
//////////////////PALABRA DE CONFIGURACION CON CRISTAL DE 4Mhz XT///////////////////////////
#FUSES XT,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOPBADEN
//********************************************************************************
#USE DELAY (clock=4M)            //SE CONFIGURA LA FUNCION DELAY PARA UNA VELOCIDAD DE 4Mhz
//***************************************************************************
///////////////////////ASIGNACION DE NOMBRES A LOS RESPECTIVOS PUERTOS//////////////////////
#BYTE PORTA=0xf80
#BYTE PORTB=0xf81
#BYTE PORTC=0xf82
#BYTE PORTE=0xf84
//****************************************************************************
////LAS FUNC. FAST_IO EVITAN RECONFIGURAR LOS PUERTOS CON LAS FUNCIONES OUTPUT E INPUT/////
#USE FAST_IO(A)                
#USE FAST_IO(B)                
#USE FAST_IO(C)                      
#USE FAST_IO(E)
//*****************************************************************************
/////////////////////DEFINICION DE NOMBRES A LOS PINES MAS UTILIZADOS/////////////////////
#DEFINE SENAL        PIN_C0
//********************************************************************************
////////////////////////////////DEFINICION DE VARIABLES///////////////////////////////////
INT8 CONT=0;
//********************************************************************************
////////////////////DEFINICION DE LAS FUNCIONES DE PROGRAMA///////////////////////////////
//VOID CONTROL_TMR0();
//********************************************************************************
#INT_TIMER0
VOID CONTROL_TMR0()
{
CONT++;
IF(CONT==2)
{
CONT=0;
OUTPUT_TOGGLE(SENAL);
}
}
//*******************************************************************************
////////////////////////FUNCION PRINCIPAL (MAIN)/////////////////////////////////////////
VOID MAIN (VOID)
{
//////////////////////  CONFIGURACION DE PUERTOS  ///////////////////////////////////////
SET_TRIS_C(0B11111110);                                  
SETUP_TIMER_0(RTCC_INTERNAL | RTCC_DIV_8 | RTCC_8_BIT);  
ENABLE_INTERRUPTS(INT_TIMER0);                            
ENABLE_INTERRUPTS(GLOBAL);                                
WHILE(1)
{
}
}

No hay comentarios:

Publicar un comentario