基于单片机压力传感器MPX4115检测-报警系统-proteus仿真-源程序

一、系统方案

本设计采用52单片机作为主控器,液晶1602显示,MPX4115检测压力,按键设置报警,LED报警。

二、硬件设计

原理图如下:

三、单片机软件设计

1、首先是系统初始化

/*******************************************************************

液晶初始化

************************************************************************/
void chushihua()
{
delayxms(20); //给液晶一段时间
en=0;
xiemingling(0x38);//设置162显示,5 7点阵,8位数据接口

delayxms(20);

xiemingling(0x38);//

delayxms(20);

xiemingling(0x0c);//设置开显示,不显示光标

delayxms(20);

xiemingling(0x06);//写一个字符后地址指针加1

delayxms(20);

xiemingling(0x01);//显示清零,数据指针清零

delayxms(20);

xiemingling(0x80);//指定字符显示的实际地址,,,显示位置的确定方法规定为"80H+地址码x"

delayxms(20);

}

2、液晶显示程序

/*******************************************************************

写命令

*****/
void xiemingling(unsigned char mingling)
{
en=0;
rs=0;
rw=0;
P0=mingling;
delayxms(5);
en=1;
delayxms(10);
en=0;
}
/

写数据

************************************************************************/

void xieshuju(unsigned char shuju)

{

en=0;

rs=1;

rw=0;

P0=shuju;

delayxms(5);

en=1;

delayxms(10);

en=0;

}

3、按键程序

void key()

{

复制代码
if(key1==0)
{
	delay(10);
	if(key1==0)
	{
		while(!key1);
      alarm++;
		  if(alarm>1000) alarm=1000;
}
}	

if(key2==0)
{
	delay(10);
	if(key2==0)
	{
		while(!key2);
		if(alarm>=1) alarm--;
	
}
}	

}

4、核心算法程序

if(0<getdata<243)

{

int vary=getdata;

press=((10.0/23.0)vary)+9.3;
temp=(int)(press
10);

复制代码
		dispbuf[3]=temp/1000;			     	//取压力值百位
		dispbuf[2]=(temp%1000)/100;		    	//取压力值十位
		dispbuf[1]=((temp%1000)%100)/10;	    	//取压力值个位
		dispbuf[0]=((temp%1000)%100)%10;			//取压力值十分位
		if(temp<alarm){ led1=0;led2=1;}
		else {led1=1;led2=0;}

   }

四、 proteus仿真设计

Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。

相关推荐
恒锐丰-罗生12 小时前
SS8103 芯片解析:45V 同步整流降压半桥恒流驱动控制器 大功率光源国产优选 告别低灰闪烁!
驱动开发·嵌入式硬件·硬件工程
FakeOccupational13 小时前
【电路笔记 STM32】stm32f103 实现HAL_UART_Transmit_DMA + 普通模式/连续模式的 UART DMA 收发
笔记·stm32·嵌入式硬件
wuyk55513 小时前
第 6 章 FOC 完整系统整合:从算法到真机跑起来
c语言·开发语言·stm32·单片机·嵌入式硬件
恒锐丰科技韩生14 小时前
率能 SS6810H|10‑32V 双通道 H 桥步进电机驱动 ETSSOP20 打印机安防舞台灯光专用
嵌入式硬件·硬件工程
1560820721914 小时前
直流耦合采集卡前端电路调试
嵌入式硬件·fpga开发
恒锐丰科技林技术员15 小时前
SS6841T 双通道 H 桥驱动芯片:大电流集成电机驱动优选方案
单片机·嵌入式硬件
打工陈15 小时前
器件知识——(1)磁珠与电感
嵌入式硬件·智能硬件·设计规范
乘凉~17 小时前
【Keil5】Keil5 安装和免费使用过程记录
stm32·单片机·嵌入式硬件
上天肖18 小时前
嵌入式硬件查漏补缺
嵌入式硬件
芯片设计-曾工18 小时前
YL1621在电池电量显示模块上的替代可行性评估
驱动开发·stm32·单片机·51单片机·硬件工程