Increase your Embedded skills with our new online classes (from Just Rs750/-) for details click here

For all your embedded quires visit our new forum.embed4u.com

Home > Projects > 8051 Based Heart Rate Meter

8051 Based Heart Rate Meter

HEART BEAT CIRCUIT

C code for Heart Rate Meter:

//******************************************************//
8051 Based Heart Rate Meter Main Program
//*****************************************************//


#include <reg51.h>  // using ride 6.1.6 IDE ,Keil also use
 #include <lcd.h>
 sbit gg =P1^2;
 unsigned char val[] = {'0','1','2','3','4','5','6','7','8','9'};
 unsigned char bt=0,sec=0,sec100=0,min=0,r,t1,t2;

void extrint (void) interrupt 0
 {
 bt++;

}
 void timer0 (void) interrupt 1 using 1
 {
 TH0 = 0xdc;
 sec100++;
 if(sec100>=10)
 {
 sec++;
 sec100=0;
 if(sec>=6)
 {
 min++;
 sec=0;
 }
 }
 }

void disp(unsigned char n)
 {
 LCD_putc(val[n/100]);
 LCD_putc(val[(n/10)%10]);
 LCD_putc(val[n%10]);
 }

void main()
 {
 EA = 1;
 TMOD = 0x02;
 IT0 = 1;
 EX0 = 1;
 ET0 = 1;
 TR0 = 1;

LCD_delay(100);
 LCD_init();
 LCD_delay(100);
 LCD_row1();
 LCD_delay(100);
 LCD_puts("Welcome to H.R.M. ");
 LCD_delay(100);
 t1=0;t2=0;

while(1)
 {

if(min>=1)
 {
 LCD_command(0xc0);
 LCD_delay(100);
 LCD_putc((bt/100)+48);
 r=bt%100;
 LCD_putc((r/10)+48);
 LCD_putc((r%10)+48);
 LCD_delay(100);
 bt=0;
 min=0;
 }
 }
 }

/ /***********************************************//
LCD Header File Routines
//************************************************//


#include<string.h>
 #include<stdio.h>
 #define LCD_clear() LCD_command(0x1) /* Clear display LCD */
 #define LCD_origin() LCD_command(0x2) /* Set to origin LCD */
 #define LCD_row1() LCD_command(0x80) /* Begin at Line 1 */
 #define LCD_row2() LCD_command(0xC0)

sbit rs = P2^5;
 sbit en = P2^6;

void lcd_en ()
 {
 en = 1; en = 1; en = 1;
 en = 0; en = 0;
 }
 void LCD_delay(unsigned char ms)
 {
 unsigned char n;
 unsigned int i;
 for (n=0; n
 {
 for (i=0; i<1535; i++); /* For 1 ms */
 }

}

void LCD_command(unsigned char command)
 {
 rs=0; rs = 0;
 P0 = command;
 lcd_en ();
 LCD_delay(1);

}

void LCD_init()
 {
 LCD_command(0x38);
 LCD_command(0x06);
 LCD_command(0x0c);
 LCD_command(0x01);
 LCD_delay(256);
 }

void LCD_putc(unsigned char ascii)
 {
 rs=1;
 P0 = ascii;
 lcd_en ();
 LCD_delay(2);
 LCD_command(0x0C);
 }

void LCD_puts(unsigned char *lcd_string)
 {
 while (*lcd_string)
 {
 LCD_putc(*lcd_string++);
 }
 }

Related posts:

  1. RTC DS1307 INTERFACE WITH 8051 C PROGRAM
  2. 8051 2 DIGIT CALCULATOR C PROGRAM
  3. GSM BASED INDUSTRIAL AUTOMATION
  4. PIC 16F877A BASED DATA MONITORING SYSTEM
  5. DS1820 C PROGRAM WITH 8051
  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.