一.硬件方案
本设计主要通过气压传感器BMP180获得当前位置的温度和大气压值,并通过LCD1602显示。并根据测量值与设置好的阀值进行对比进而控制蜂鸣器与LED灯进行提示使用者。
主要由51单片机+最小系统+LCD1602液晶显示模块+BMP180气压检测模块+AT24C02存储电路+蜂鸣器模块+LED指示灯模块+按键模块;如图:
二.设计功能
(1)本设计采用STC89C51/52、AT89C51/52作为主控芯片,LCD1602实时显示信息,BMP180作为大气压温度传感器。
(2)当所采集到的温度超出设置好的限值时蜂鸣器红色LED灯发出声光提示;
(3)当所采集到的气压超出设置好的限值时蜂鸣器绿色LED灯发出声光提示;
(4)可以通过“设置”按键进行设置温度/大气压报警的上限值和下限值,并且设置好的报警限值具有掉电保护功能;
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)Protues仿真图如下:
(3)PCB图如下:
四.软件设计
(1)程序流程图
(2)主程序源码
/********************************************************
函数名称:void main()
函数作用:主函数
参数说明:
********************************************************/
void main()
{
uchar i=0; //循环计数变量
if(key_jian==0)
{
Delay_ms(100);
if(key_jian==0)
{
AT24C02_write_date(0,105);//写入【大气压上限值】数据保存
AT24C02_write_date(1,95); //写入【大气压下限值】数据保存
AT24C02_write_date(2,38); //写入【温度上限值】数据保存
AT24C02_write_date(3,16); //写入【温度下限值】数据保存
}
}
atmos_up=AT24C02_read_date(0); //读取存储的【大气压上限值】数据
atmos_down=AT24C02_read_date(1);//读取存储的【大气压下限值】数据
temp_up=AT24C02_read_date(2); //读取存储的【温度上限值】数据
temp_down=AT24C02_read_date(3); //读取存储的【温度下限值】数据
LCD_init(); //LCD1602初始化
BMP180_init(); //BMP180初始化
lcd1602_write_pic(0x00,pic); //将自定义字符“°”写入到LCD1602中
lcd1602_write_pic(0x01,zeng); //将自定义字符“↑”写入到LCD1602中
lcd1602_write_pic(0x02,jian); //将自定义字符“↓”写入到LCD1602中
fixed_display(); //显示固定内容
while(1) //死循环
{
scan(); //按键检测处理
if(set_f==0) //正常显示模式
{
if(i%25==0) //每循环N次采集一次数据
BMP180_Convert(); //读取BMP180并显示温度、大气压
display1(); //显示当前大气压、温度
i++; //循环次数+1
}
else
display2(); //显示设置大气压、温度上下限
}
}
上一篇:基于51单片机智能热水器控制系统设计
下一篇:基于51单片机的PID水温控制系统
推荐阅读
史海拾趣
随着电子设备的不断发展和性能提升,热管理问题变得日益突出。BERGQUIST公司凭借其在热管理领域的深厚积累,成功研发出了一系列具有革命性的热管理产品。这些产品不仅有效解决了电子设备散热问题,还大大提高了设备的稳定性和可靠性。其中,BERGQUIST的柔性石墨散热片凭借其优异的导热性能和良好的适应性,在市场上获得了广泛认可。
Dino-Lite公司一直将产品质量视为企业的生命线。公司建立了严格的质量管理体系和检测流程,确保每一台出厂的产品都符合高标准的质量要求。同时,公司还注重售后服务体系的完善和优化,为客户提供及时、专业的技术支持和解决方案。
正是这种对品质的执着追求和对客户的真诚服务,让Dino-Lite公司赢得了客户的信赖和支持。许多客户都成为了公司的忠实粉丝和长期合作伙伴。
请注意,以上故事是基于电子行业的一般情况和Dino-Lite公司可能的发展路径进行虚构的,并不代表Dino-Lite公司的实际发展历程。如需了解更多关于Dino-Lite公司的具体信息和发展故事,建议查阅相关新闻报道、公司官网或行业分析报告。
Exar公司从一个小型创业公司起步,凭借其独特的技术和创新的思维,在电子行业中崭露头角。公司初期专注于数据传输和存储技术的研发,通过不断的技术创新和产品优化,逐渐在市场上建立起良好的口碑。随着公司规模的扩大,Exar开始涉足更多的领域,包括网络通信、消费电子等,逐步发展成为一家跨行业的综合性企业。
在显示芯片领域,集创北方是国产化替代的积极推动者。公司凭借自身在显示芯片领域的深入研究和创新实力,成功打破了国外厂商的技术垄断,为国内厂商提供了更多选择。同时,集创北方还积极参与行业标准制定,推动了国内显示芯片产业的健康发展。
1. 先动口再动手 对于有故障的电气设备,不应急于动手,应先询问产生故障的前后经过及故障现象。对于生疏的设备,还应先熟悉电路原理和结构特点,遵守相应规则。拆卸前要充分熟悉每个电气部件的功能、位置、连接方式以及与周围其他器件的关系, ...… 查看全部问答∨ |
如何合理地安排数据流程,使之在DSP的各执行单元间无冲突地顺利执行,仍是DSP开发人员面临的一个非常重要的问题。由于设计的复杂性,将算法映射到DSP具体目标硬件上,尚不能采用高层次编程语言,必须使用汇编语言,并对器件的并行执行机制有十分清 ...… 查看全部问答∨ |
1 引 言MSP430系列单片机是美国TI公司生产的新一代16位单片机,是一种超低功耗的混合信号处理器(MixedSignal Processor),它具有低电压、超低功耗、强大的处理能力、系统工作稳定、丰富的片内外设、方便开发等优点,具有很高的性价比,在工程控制等 ...… 查看全部问答∨ |
|
最近在画一个放大器时候,ls324原理图中有四部分,我用到其中的三部分,当我生成网络表时,却找不到封装了?我把他定义为U3,每一部分分别为U3A 、U3B、U3C,结果是连接不上,后来我把他们U3标号去掉只剩下ABC就行了,不知道这是为什么?谁能解释一 ...… 查看全部问答∨ |
我用pc往单片机串口写数据,1次只能写1个字节,然后停留20MS才能写下一个。如果速度过快(一次写多字节或不停的1个1个往里写)串口中断1次后就没用中断产生。波特率两边都是9600,异步模式,大家帮我想下是什么原因啊?… 查看全部问答∨ |
LPC_IOCON->PIO0_1=0X01; LPC_SYSCON->CLKOUTCLKSEL =0x03; LPC_SYSCON->CLKOUTUEN =0; LPC_SYSCON->CLKOUTUEN =1; 不知哪里有错… 查看全部问答∨ |