You are on page 1of 2

#include <p18f452.h> #include <timers.

h>

#pragma config WDT = OFF #pragma config PWRT = ON #pragma config BOR = ON #pragma config LVP = OFF void ISR_TMR0(void); #pragma code int_padrao = 0x08 void int_alta(void) { _asm GOTO ISR_TMR0 _endasm } #pragma code #pragma interrupt ISR_TMR0 void ISR_TMR0(void) { INTCONbits.TMR0IF = 0; INTCONbits.GIE = 1; PORTD = ~PORTD; }

void Desabilita_alarme() { CloseTimer0(); } Habilita_alarme() { OpenTimer0(TIMER_INT_ON&T0_16BIT&T0_SOURCE_INT&T0_PS_1_32); } void main() { TRISB = 0XFF; INTCON2bits.RBPU = 0; TRISD = 0X00; PORTD = 0X00; CloseTimer0(); RCONbits.IPEN = 0; INTCONbits.GIE = 1; INTCONbits.TMR0IE = 1; INTCONbits.TMR0IF = 0; while(1) {

if(PORTBbits.RB0==0) Desabilita_alarme(); if(PORTBbits.RB1==0) Habilita_alarme(); }

You might also like