hello everyone This is Monicca doing my final yr of engnr.I have done my project in embedded sys with pic micocontroller.I downloaded the program from net n i dnt understand anything.I have my review on thursday.So pls can anyone suggest a website for the better understandin of the program..pls I really need help.. Now this is the program.. #include #include #include
static void interrupt IntRoutine(); void Send(); short int Flg=0; int Cnt = 0,Oflow=0,Mytime=0,Adval,Hbc,Hbr; char St1[4],St2[4],St4[3];
void main() {
TRISB = 0x00; PORTB = 0x00; TRISD = 0x00; PORTD = 0x00; TRISE = 0x00; TRISC = 0xbf;
ADCON0 = 0x81; ADCON1 = 0x82;
SPBRG = 64;
TXEN = 1; SYNC = 0; BRGH = 1; SPEN = 1; CREN = 1;
DelayMs(200); DelayMs(200); DelayMs(200); DelayMs(200); DelayMs(200);
LCD_SendCmd(0x01);
LCD_SendCmd(0x80); LCD_puts("Ebc:");
LCD_SendCmd(0x88); LCD_puts("Tim:");
LCD_SendCmd(0xc3); LCD_puts("Ebr: Bpm");
T1CON = 0x00; // Enable Timer1 PEIE = 1; GIE = 1;
TMR1IF = 0; TMR1IE = 1; TMR1L = 0xaf; TMR1H = 0x3c; TMR1ON = 1;
for(;;) {
if(Oflow) { Oflow = 0; Mytime++; }
ADCON0 = 0x81; DelayUs(50); ADGO = 1; while(ADGO) continue;
Adval = (ADRESH * 256) + ADRESL;
if(Adval < 100 && Flg == 0) { Hbc++; Flg = 1; }
if(Adval > 100 && Flg == 1) { Flg = 0; }
if(Mytime > 3 && Mytime < 60) RD0 = 0;
if(Mytime >= 60) { Mytime = 0; Ebr = Ebc; if(Ebc > 15) { RD0 = 1; } Ebc = 0; }
sprintf(St1,"%3d",Ebc); LCD_SendCmd(0x84); LCD_puts(St1);
sprintf(St2,"%3d",Ebr); LCD_SendCmd(0xc8); LCD_puts(St2);
sprintf(St4,"%02d",Mytime); LCD_SendCmd(0x8c); LCD_puts(St4);
Send(); DelayMs(2);
} }static void interrupt IntRoutine() {
if(TMR1IF) { TMR1IF = 0; Cnt++; if(Cnt >= 50) { Cnt = 0; Oflow = 1; }
TMR1ON = 0; TMR1L = 0xaf; TMR1H = 0x3c; TMR1ON = 1;
} }