基于51单片机的脉搏体温监测仪

一.硬件设计

        本设计硬件主要由51单片机最小系统、LCD1602液晶显示屏、红外对管、心率信号采集电路、DS18B20温度传感器、按键、蜂鸣器组成。硬件框图如下:

 二.设计功能

  1. LCD1602液晶显示当前的心率和当前体温,心率单位是心率/分钟,温度单位为摄氏度;
  2. 手指放到红外对管中,2秒内读出心率;将温度传感器握在手中,即可测量出当前体温;
  3. 按键可以设置报警的上下限心率,并可设置报警的上下限体温值;
  4. 三个按键:一个设置,一个加,一个减。设置键按下,设置心率值,再按下,设置温度值;

三.心率采集原理

        心率传感器采用红外对射管ST188,测量心率的时候需要人把手轻轻的按在光电传感器上面,由于人脉搏跳动的时候,血液的透光性不一样会导致接收器那边接收的信号强弱不一样,间接的把人脉搏信号传回,通过运放对其进行放大、整形后连接到单片机的IO口,单片机利用外部中断对其进行计数,最终换算成人一分钟脉搏的跳动次数,最终显示在液晶屏上。心率采集电路如下:

四.原理图设计

原理图及仿真图如下:

 

 

五.程序设计

/****************主函数***************/
void main()
{	
    ReadTemperature();
    show1();//显示问候语和其他信息
	time_init(); //初始化定时器 
	init_int0(); //外部中断0初始化程序
    init_eeprom();      			//读eeprom数据
	while(1)
	{	
      key(); //按键扫描
      if(flat300ms>=4)	//200ms
	   {
	    flat300ms=0;
//==================主界面===================
		  if(yemian==0)  
			{
			  if(biaozhi==0)
				 {
                   biaozhi=1;

				   lcd_init();// 初始化
				   display(0x00,'H');
				   display(0x01,'e');
				   display(0x02,'a');
				   display(0x03,'r');
				   display(0x04,'t');
				   display(0x05,':');

				   display(0x40,'T');
				   display(0x41,'e');
				   display(0x42,'m');
				   display(0x43,'p');
				   display(0x44,':');
                 }
               wendumaibo();
			   baojin();
	       }

//==================脉搏报警上限 设置===================
		  if(yemian==1)  
			{
			  if(biaozhi==1)
				 {
                   biaozhi=2;
				   Buzzer=1;
				   lcd_init();// 初始化
				   display(0x04,'H');
				   display(0x05,'e');
				   display(0x06,'a');
				   display(0x07,'r');
				   display(0x08,'t');
				   display(0x09,'-');
				   display(0x0a,'H');

				 display(0x46,S_heart_H/100+'0');
	             display(0x47,S_heart_H%100/10+'0');
                 display(0x48,S_heart_H%100%10+'0');				  
               }
                shezhi();
	       }

//==================脉搏报警下限 设置===================
		  if(yemian==2)  
			{
			  if(biaozhi==2)
				 {
                   biaozhi=3;
				   Buzzer=1;
				   lcd_init();// 初始化
				   display(0x04,'H');
				   display(0x05,'e');
				   display(0x06,'a');
				   display(0x07,'r');
				   display(0x08,'t');
				   display(0x09,'-');
				   display(0x0a,'L');

				 display(0x46,S_heart_L/100+'0');
	             display(0x47,S_heart_L%100/10+'0');
                 display(0x48,S_heart_L%100%10+'0');				  
               }
                shezhi();
	       }
		   		   
//==================温度报警 上限设置===================
		  if(yemian==3)  
			{
			  if(biaozhi==3)
				 {
                   biaozhi=4;
				   Buzzer=1;
				   lcd_init();// 初始化
				  
				   display(0x05,'T');
				   display(0x06,'e');
				   display(0x07,'m');
				   display(0x08,'p');
				   display(0x09,'-');
				   display(0x0a,'H');

				   display(0x46,S_temp_H/100+'0');
	               display(0x47,S_temp_H%100/10+'0');
                   display(0x48,S_temp_H%100%10+'0');				  
                }
                shezhi();
	       }	  	    

//==================温度报警 下限设置===================
		  if(yemian==4)  
			{
			  if(biaozhi==4)
				 {
                   biaozhi=0;
				   Buzzer=1;
				   lcd_init();// 初始化
				  
				   display(0x05,'T');
				   display(0x06,'e');
				   display(0x07,'m');
				   display(0x08,'p');
				   display(0x09,'-');
				   display(0x0a,'L');

				   display(0x46,S_temp_L/100+'0');
	               display(0x47,S_temp_L%100/10+'0');
                   display(0x48,S_temp_L%100%10+'0');				  
                }
                shezhi();
	       }	  	    
      
	        
	   }
    }
 }

资料 

  • 4
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值