目录
一、主要功能
1、压力检测与LCD显示
2、超过上限,降压模块启动
3、压力检测范围15kpa-115kpa
4、压力阈值设置
5、超限报警
二、使用步骤
系统运行后,LCD1602显示检测的压力值;
当压力高于上限,降压模块启动,报警器启动。
按键设置压力阈值。
三、硬件资源
1、32单片机核心模块
2、按键模块
3、MPX4115压力传感器
4、蜂鸣器模块
5、继电器模块
6、LCD1602显示模块
四、软件设计
#include "delay.h"
#include "sys.h"
#include "1602.h"
#include "key.h"
#include "ADC.h"
#include "Tool.h"
u16 Press_value; //压力检测值
u16 Press_value_L=95; //压力检阈值
u8 Set_num=0; //设置标志位
u8 Key_num=0;//按键值
void key_san(void);//按键判断函数
void Work(void);//工作运行函数
void Delay(int num)
{
while(num--) ;
}
void display_data(void)///显示
{
LcdWriteCom(0x0C); //取消光标闪烁
LcdWriteCom(0x80+7); //第一行
LcdWriteData(Press_value%1000/100+0x30);
LcdWriteData(Press_value%100/10+0x30);
LcdWriteData(Press_value%10+0x30);
LcdWriteCom(0x80+0x40+7); //第二行
LcdWriteData(Press_value_L%1000/100+0x30);
LcdWriteData(Press_value_L%100/10+0x30);
LcdWriteData(Press_value_L%10+0x30);
}
int main()
{
delay_init(); //延时函数初始化
LCD1602_Init(); //lcd函数初始化
ADC1_Init(); //adc函数初始化
TOOL_Init(); //工具初始化
KEY_Init(); //按键函数初始化
while(1)
{
key_san();//按键判断函数
middleAverageFilter();//获取ad值
Work();//工作运行函数
display_data();///显示
}
}
五、实验现象
联系作者
作者B站链接:https://space.bilibili.com/3493294220773802
专注于51单片机、STM32、Proteus、物联网软件开发,PCB设计。