编号:15
基于STM32单片机的大气压强检测仪
功能描述:
本设计由STM32单片机+BMP180大气压强检测模块+1602液晶显示模块组成。
1、主控制器是STM32单片机
2、利用BMP180传感器读取大气压强、温度、海拔高度等信息
3、1602液晶显示大气压强、温度、海拔高度等信息
注意:Proteus8.11 版本才能打开
视频演示链接:
https://www.bilibili.com/video/BV1oe4y127nS/?spm_id_from=333.999.0.0
仿真图:
程序源码:
/***********************************************
代码名称:大气压力传感器BMP180例程
功能说明:大气压力传感器BMP180,液晶显示大气压强、温度、海拔高度
接口说明:RS PA11;
RW PA12;
E PA15;
数据口 PB3-PB10
SCL PB0;
SDA PB1;
编译环境:keil5
MCU :STM32F103C8T6
时钟频率: 8MHz
作者 :康微电子工作室
淘宝店铺:https://shop129920945.taobao.com
***********************************************/
#include "delay.h"
#include "led.h"
#include "LCD1602.h"
#include "IIC.h"
#include "BMP180.h"
#include "stdio.h"
int main(void)
{
unsigned char buf[20];
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
Lcd1602_Init(); //液晶1602初始化
delay_ms(100);
BMP180_Init(); //BMP180初始化操作
while(1)
{
BMP180_Convert_UncompensatedToTrue();
sprintf((char*)buf,"Press:%7.3fkpa",True_Press/1000);
Lcd1602_String(0,0,(u8*)buf);
sprintf((char*)buf,"T:%.1f%cC",True_Temp,0xdf);
Lcd1602_String(0,1,(u8*)buf);
sprintf((char*)buf,"Al:%.0fm",True_Altitude);
Lcd1602_String(9,1,(u8*)buf);
delay_ms(100);
}
}
软件免费下载地址:
1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包
链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w
提取码:2756
3、KEIL5 MDK软件(STM32开发软件)
链接:https://pan.baidu.com/s/1t3eY-3yRdTa7jZMlijq_jg
提取码:ab58