#include <p18f4550.h>
#define mybit PORTBbits.RB5
void timer0_isr(void);
void my_isr(void);
void hipri_int(void);
#pragma interrupt my_isr
void my_isr(void)
{
if (INTCONbits.TMR0IF == 1)
{
timer0_isr();
}
}
#pragma code hipri_int = 0x08
void hipri_int(void)
{
_asm
GOTO my_isr
_endasm
}
#pragma code
void timer0_isr(void)
{
mybit = ~mybit;
TMR0H = 0xFD;
TMR0L = 0xF8;
INTCONbits.TMR0IF = 0;
}
void main(void)
{
TRISBbits.TRISB5 = 0;
mybit = 0;
T0CON = 0x08;
TMR0H = 0xFD;
TMR0L = 0xF8;
INTCONbits.TMR0IF = 0;
INTCONbits.TMR0IE = 1;
T0CONbits.TMR0ON = 1;
INTCONbits.GIE = 1;
INTCONbits.PEIE = 1;
while (1)
{
}
}
I2luY2x1ZGUgPHAxOGY0NTUwLmg+ICAgCgojZGVmaW5lIG15Yml0IFBPUlRCYml0cy5SQjUgICAKCnZvaWQgdGltZXIwX2lzcih2b2lkKTsKdm9pZCBteV9pc3Iodm9pZCk7CnZvaWQgaGlwcmlfaW50KHZvaWQpOwoKI3ByYWdtYSBpbnRlcnJ1cHQgbXlfaXNyCnZvaWQgbXlfaXNyKHZvaWQpCnsKICAgIGlmIChJTlRDT05iaXRzLlRNUjBJRiA9PSAxKSAgIAogICAgewogICAgICAgIHRpbWVyMF9pc3IoKTsgICAgICAgICAgICAgCiAgICB9Cn0KCiNwcmFnbWEgY29kZSBoaXByaV9pbnQgPSAweDA4CnZvaWQgaGlwcmlfaW50KHZvaWQpCnsKICAgIF9hc20KICAgICAgICBHT1RPIG15X2lzcgogICAgX2VuZGFzbQp9CiNwcmFnbWEgY29kZQoKdm9pZCB0aW1lcjBfaXNyKHZvaWQpCnsKICAgIG15Yml0ID0gfm15Yml0OyAgICAgICAKCiAgICBUTVIwSCA9IDB4RkQ7CiAgICBUTVIwTCA9IDB4Rjg7CgogICAgSU5UQ09OYml0cy5UTVIwSUYgPSAwOwp9Cgp2b2lkIG1haW4odm9pZCkKewogICAKICAgIFRSSVNCYml0cy5UUklTQjUgPSAwOwogICAgbXliaXQgPSAwOyAgCgogICAKICAgIFQwQ09OID0gMHgwODsgICAgCiAgICBUTVIwSCA9IDB4RkQ7ICAgCiAgICBUTVIwTCA9IDB4Rjg7CgogICAgSU5UQ09OYml0cy5UTVIwSUYgPSAwOyAgCiAgICBJTlRDT05iaXRzLlRNUjBJRSA9IDE7IAogICAgVDBDT05iaXRzLlRNUjBPTiA9IDE7ICAgCgogCiAgICBJTlRDT05iaXRzLkdJRSAgPSAxOwogICAgSU5UQ09OYml0cy5QRUlFID0gMTsKCiAgICB3aGlsZSAoMSkKICAgIHsKICAgICAgIAogICAgfQp9Cg==