228【毕设课设】基于51单片机的人体身高测重仪设计--超声波-HX711

【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

51人体身高测重仪设计-拨动-DS18B20-ds1302-超声波-HX711-蓝牙-语音-LCD1602

本设计由STC89C52单片机电路+拨动开关电路+LCD1602液晶显示电路+DS18B20温度传感器电路+DS1302时钟电路+超声波测距模块电路(0-2米)+HX711称重传感器模块电路(0-200KG)+蓝牙模块电路+语音模块电路+电源电路组成。

1、拨动开关拨上去,液晶显示:当前时间和温度。

2、拨动开关拨下后,液晶实时显示超声波模块检测的距离、称重模块检测的重量和BMI值。(BMI值是用体重公斤数除以身高米数平方得出的数字)

3、通过蓝牙模块把超声波测量的距离、称重模块检测的重量和BMI值实时上传到手机APP。

4、如果BMI低于18.5,则语音播报:体重过轻。

如果BMI在18.5-23.9之间,则语音播报:体重正常。

如果BMI高于24,则语音播报:体重过重。

串口更新时间命令:*2017061218235501# (位数必须正好)

表示:2017年06月12日18时23分55秒 周01

xdata char dis0[16];			   //打印数组初始化
xdata char dis1[16];			   //打印数组初始化
xdata char dis2[16];			   //打印数组初始化
xdata char dis3[16];			   //打印数组初始化

float JuLi;			//距离
long JlCoun=0;		//定时器计数
unsigned char sys_times =0 ;//系统延时 

xdata long Weight_mp=0;			//毛重
xdata long Weight_Shiwu=0;		  //实物重量
xdata unsigned long Weight_Maopi=0;	 //读取初始化值

float BMI ;//bmi值

int temp;			 //温度读取数据
float temperature;	//实际温度值

unsigned long time_20ms=0;		   //定时器计数
unsigned char uart_i =0;		   //串口接收计数
xdata unsigned char time_buf2[17];	   //更新时间数组

xdata unsigned char firstin =0;			  //首次接收到标志
xdata unsigned char tab[20];				  //串口数据暂存
xdata unsigned char Count=0;				  //串口接收计数
xdata unsigned char  uartbusy =0;			  //串口判忙

unsigned char SetFlag =0;	//时间设置标志

猜你喜欢

转载自blog.csdn.net/theroadon/article/details/109232566