本设计的硬件构成:
51单片机最小系统(晶振+复位电路),BMP180气压传感器模块、液晶显示、按键、蜂鸣器、无线蓝牙模块;
功能介绍:
1、采用51单片机作为控制中心,采集当前气压和温度值。
2、显示器显示数值,按键可设置监测气压、温度的上限和下限阈值。当温度和气压在阈值上下限之外时,声光报警。
3、通过蓝牙接入手机app,显示当前数据,以及接收报警信息。
4、四个按键;分别为:复位按键;设置键;阈值加一键;阈值减一键。
主要物料清单及型号:
显示屏:LCD1602-5V;
单片机:51单片机;
气压传感器:BMP180;
蓝牙模块:HC-05/06;
部分程序源码:
/********************************************************
函数名称:void main()
函数作用:主函数
参数说明:
********************************************************/
void main()
{
uchar i=0; //循环计数变量
uchar j=0;
LCD_init(); //LCD1602初始化
BMP180_init(); //BMP180初始化
UartInit(); //初始化串口
lcd1602_write_pic(0x00,pic); //将自定义字符“°”写入到LCD1602中
lcd1602_write_pic(0x01,zeng); //将自定义字符“↑”写入到LCD1602中
lcd1602_write_pic(0x02,jian); //将自定义字符“↓”写入到LCD1602中
fixed_display(); //显示固定内容
while(1) //死循环
{
j++;
scan(); //按键检测处理
if(set_f==0) //正常显示模式
{
if(i%20==0) //每循环N次采集一次数据
BMP180_Convert(); //读取BMP180并显示温度、大气压
display1(); //显示当前大气压、温度
i++; //循环次数+1
}
else
display2(); //显示设置大气压、温度上下限
if(j>100)
{
j=0;
APP_refresh();
}
Delay_ms(1);
}
}
资料链接:https://pan.baidu.com/s/1U9Q_7sFdgKjdW_duCWB9yQ
提取码:y3oy