100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 基于51单片机的电子血压温度计(单片机健康检测系统设计)proteus仿真设计(仿真+程序+

基于51单片机的电子血压温度计(单片机健康检测系统设计)proteus仿真设计(仿真+程序+

时间:2021-04-30 16:12:23

相关推荐

基于51单片机的电子血压温度计(单片机健康检测系统设计)proteus仿真设计(仿真+程序+

基于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仿真设计(仿真+程序+演示视频)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。