基于51单片机的电子血压温度计proteus仿真设计 (仿真+程序+演示视频)
仿真图proteus 8.9
程序编译器:keil 5
编程语言:C语言
设计编号:S0026
演示视频:
51单片机的电子血压温度计proteus仿真设计(健康监测系统)
主要功能:
以单片机为控制核心,设计一种电子血压计,同时具有测量体温的功能。该系统利用压力传感器采集压力信号,通过温度传感器采集温度信号,整个系统包括处理模块、测量模块、信号处理模块、显示模块以及电源处理模块;血压和体温通过按键进行切换。
(1) 可以实现温度测量,压力测量;
(2) 通过按键设置压力报警器设定值,测量压力值大于设定值时,蜂鸣器报警;低于则蜂鸣器不报警。
(3) LCD液晶显示测量的温度和压力值,可以通过按键切换显示;
(4)设计出来之后用Proteus软件仿真出效果;
主要硬件设备:51单片机、ADC0832数模转换芯片、MPX4115压力传感器、按键、LCD1602液晶屏幕、蜂鸣器。
仿真演示:
测量体温
测量血压
温度血压调节,通过箭头所指的地方调整温度大小,压力大小,单片机实时采集数据进行处理,通过LCD1602显示。
设置血压报警值
通过按键设置压力报警器设定值,测量压力值大于设定值时,蜂鸣器报警;低于则蜂鸣器不报警。
程序:
void main() //主函数{InitLcd();while(1) //进入循环{KEY_SCAN();getdata=Adc0832(0); temp=getdata/2-5;if( temp > Xintiao_H ){speaker = 0;}else{speaker = 1;}temp = 0;if( KEY_Set_TIMES == 0 ){if( KEY_TIMES == 1 ){getdata=Adc0832(0);if(14<getdata<243)//当压力值介于15kpa到115kpa之间时,遵循线性变换{ // int vary=getdata;//y=(115-15)/(243-13)*X+15kpatemp=getdata*10/2-50;//测试时补偿值为9.3 //temp=(int)(press*10);//放大10倍,便于后面的计算if(temp != ppress){ppress = temp;OverFlg = 1;} dispbuf[3]=temp/1000;//取压力值百位dispbuf[2]=(temp%1000)/100; //取压力值十位dispbuf[1]=((temp%1000)%100)/10; //取压力值个位dispbuf[0]=((temp%1000)%100)%10;//取压力值十分位LCD_WriteCom( 0x80 );LCD1602_Write_char( " heart rate " );LCD_WriteCom( 0x80 + 0x40 );LCD1602_Write_char("Rate:");LCD_WriteData( 0x30 + dispbuf[3] );LCD_WriteData( 0x30 + dispbuf[2] );LCD_WriteData( 0x30 + dispbuf[1] );LCD_WriteData( '.' );LCD_WriteData( 0x30 + dispbuf[0] );}}if( KEY_TIMES == 0 ){lcd_1602_word(0x80,16," temperature "); //初始化显示 wendu=ReadTemperature();lcd_1602_word(0xc0,10," Temp: ");//显示第二行数据LCD_WriteCom(0x80+0x40+10);LCD_WriteData(wendu/100+0x30);LCD_WriteData(wendu%100/10+0x30);LCD_WriteData('.');LCD_WriteData(wendu%100%10+0x30);LCD_WriteData(0xdf);LCD_WriteData('C');}}else{KEY_Set_Rate();dispbuf[3]=Xintiao_H/100; //取设置压力值百位dispbuf[2]=Xintiao_H%100/10; //取设置压力值十位dispbuf[1]=Xintiao_H%10; //取设置压力值个位LCD_WriteCom( 0x80 );LCD1602_Write_char( " Set heart rate " );LCD_WriteCom( 0x80 + 0x40 );LCD1602_Write_char("warning:");LCD_WriteData( 0x30 + dispbuf[3] );LCD_WriteData( 0x30 + dispbuf[2] );LCD_WriteData( 0x30 + dispbuf[1] );}}}
下载方式见文章开头视频
基于51单片机的电子血压温度计(单片机健康检测系统设计)proteus仿真设计(仿真+程序+演示视频)