【资源下载】下载地址如下:
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; //时间设置标志