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)
{
}
}
Suscribirse a:
Entradas (Atom)
No hay comentarios:
Publicar un comentario