Pls explain this program..pls..?

can anyone pls explain this program to me?its an emergency n this is very important for my final yr engnr project.I need the explaination by thursday.so pls help.. #include <pic.h> #include <stdio.h> #include <delay10.c> static void interrupt IntRoutine(); void Send(); short int... show more can anyone pls explain this program to me?its an emergency n this is very important for my final yr engnr project.I need the explaination by thursday.so pls help..
#include <pic.h>
#include <stdio.h>
#include <delay10.c>

static void interrupt IntRoutine();
void Send();
short int Flg=0;
int Cnt = 0,Oflow=0,Mytime=0,Adval,Hbc,H...
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;

}
3 answers 3