00001
00002
00003
00004
00005
00006 #include "piccolo_all.h"
00007 #include "delays.h"
00008
00009 char c;
00010
00025
00026 void initINT0(void) {
00027 #if defined(__18F4550)
00028 ADCON1 = 7;
00029 TRISB=0xFF;
00030 INTCON2bits.RBPU=0;
00031 #elif defined(__18F14K50)
00032 ANSELbits.ANS4=0;
00033 #endif
00034 INTCON2bits.INTEDG0=0;
00035 INTCONbits.INT0IF=0;
00036 INTCONbits.INT0IE=1;
00037 }
00038
00043 void delay_ms(unsigned int d) {
00044 unsigned int j;
00045 for(j=0; j<d; j++) {
00046 Delay1KTCYx(12);
00047 }
00048 }
00049
00050
00051 void main(void) {
00052 unsigned int i;
00053 LEDport=0;
00054 LEDtris=0xF7;
00055 RCONbits.IPEN=1;
00056 INTCONbits.GIE=0;
00057 initINT0();
00058
00059 while (1) {
00060 for(i=0; i<20; i++) {
00061 delay_ms(250);
00062 mLED_4_Toggle();
00063 }
00064 INTCONbits.INT0IF=0;
00065 LEDport &= 0xF0;
00066 Sleep();
00067 Nop();
00068 }
00069 }
00070