一.硬件方案

本设计主要通过气压传感器BMP180获得当前位置的温度和大气压值,并通过LCD1602显示。并根据测量值与设置好的阀值进行对比进而控制蜂鸣器与LED灯进行提示使用者。
   主要由51单片机+最小系统+LCD1602液晶显示模块+BMP180气压检测模块+AT24C02存储电路+蜂鸣器模块+LED指示灯模块+按键模块;原理图如图:

Protues及PCB图:

二.设计功能

  1. 本设计采用LCD1602显示屏实时显示信息,BMP180作为大气压温度传感器。
  2. 当所采集到的温度超出设置好的限值时蜂鸣器红色LED灯发出声光提示;
  3. 当所采集到的气压超出设置好的限值时蜂鸣器绿色LED灯发出声光提示;
  4. 可以通过“设置”按键进行设置温度/大气压报警的上限值和下限值,并且设置好的报警限值具有掉电保护功能;

三.软件设计

/********************************************************
函数名称: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}elsedisplay2();                //显示设置大气压、温度上下限}
}

资料链接:https://pan.baidu.com/s/1mbrCpR7PhqPVd_EEoW59tA?pwd=vh17 
提取码:vh17

基于51单片机的大气压检测系统相关推荐

  1. 基于51单片机的水质检测系统开发

    单片机水质检测系统开发 水质监测参数选择 TDS PH 浑浊度 水温 硬件电路 程序 水质监测参数选择 目前人们对环境问题日益重视,用水健康更是作为重中之重,水质的检测参数有很多,比如:TDS,PH, ...

  2. 基于51单片机的光照强度检测系统

    一.硬件方案 本设计采用单片机作为数据处理与控制单元,为了进行数据处理,通过光敏电阻来感应光强弱变化,经过ADC0804转换,直接将数字信号送入到单片机中进行数据处理.单片机数据处理之后,将光照强度发 ...

  3. 基于51单片机的蓄电池容量检测系统的设计(设计资料)

    51单片机设计,检测蓄电池的容量,并在液晶1602上显示,显示分为4档,0-25%,25%-50%,50%-75%,75%-100%. [资源下载]下载地址如下:https://docs.qq.com ...

  4. 基于51单片机的蓄电池容量检测系统的设计(毕业设计资料)

    51,检测蓄电池的容量,并在液晶1602上显示,显示分为4档,0-25%,25%-50%,50%-75%,75%-100%. [资源下载]下载地址如下: https://docs.qq.com/doc ...

  5. 水质检测c语言程序,基于51单片机的水质监测系统的设计.doc

    基于51单片机的水质监测系统的设计 基于AT89C51单片机的水质监测系统的设计 摘要:现在水源污染已经成了社会密切关注的话题,所以对水质进行监测成了保护水资源的一项重要措施,基于此本文设计了一款能够 ...

  6. matlab ds18b20 单片机,基于51单片机ds18b20温度检测————设计报告.doc

    基于51单片机ds18b20温度检测----设计报告 课程名称: 微机原理课程设计 题 目: 温度检测课程设计 摘要 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为 ...

  7. 基于STC89C51单片机的温湿度检测系统

    基于STC89C51单片机的温湿度检测系统 摘 要:设计一种计算机教室温度.湿度检测系统,用于控制机房的温.湿度.整个系统采用STC89C51微处理器作为主控系统,硬件电路主要包括51单片机.DHT1 ...

  8. 基于51单片机的温度检测报警系统

    目录 具体实现功能 设计背景 硬件设计 软件设计 原理图 程序 仿真实现 全部资料 具体实现功能 系统由STC89C51单片机+液晶1602显示+DS18B20温度传感器+按键模块+报警模块构成. 具 ...

  9. 基于51单片机的热水卡系统

    基于51单片机的热水卡系统 说明 功能描述 主要材料 原理图和实物图 部分代码 补充说明 说明 首先很感谢您对这篇文章的阅读,这是我第一次写博文,写得不好的地方请谅解.文章中如果有侵权的请联系我,我会 ...

最新文章

  1. js基础--数据类型检测的相关知识
  2. django ForeignKey的使用
  3. js获取微信状态栏高度_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...
  4. 【Python 爬虫】 2、HTTP基本原理
  5. USB转串口 FT232/PL2303/CH340 比较
  6. 【Linux系统编程应用】 Linux Input子系统(一)
  7. 如何更改ubuntu的用户密码
  8. java虚拟机读写其他进程的数据
  9. Fiddler 学习笔记
  10. mysql 正则替换 换行,MySQL中使用replace、regexp进行正则表达式替换的用法分析
  11. 运用Links方法安装插件
  12. 实验:基于keepalived实现两台realserver服务器中的nginx和php-fpm服务互为主从
  13. linux系统下如何设置和修改文件和文件夹的读、写、执行权限
  14. Redis为什么可以支持那么大的并发访问量?为什么redis没有单点并发瓶颈?
  15. 计算机四级(网络工程师)内容,计算机四级《网络工程师》考试内容
  16. unity, Animation crossfade需要两动画在时间上确实有交叠
  17. 每个人都会有的第一次
  18. asp Jmail发送邮件
  19. PHP - 收藏集 - 掘金
  20. oracle使用sql关闭trace日志,Linux清理Oracle日志巧用close_trace命令释放误删trace文件...

热门文章

  1. [转]医院设备维护工程师成长宝典
  2. 欠下的技术债务总是要归还【天天乐学面经】
  3. openEuler 20.03 LTS面向RK3399移植系列(4)—验证和问题分析openEuler 20.03 LTS面向Firefly RK3399的第一个版本
  4. 升级到Win1018363.815后,魔兽争霸3不能玩了,提示 不能初始化DirectX 解决办法
  5. 多弹协同攻击时的无源定位(一)
  6. WDSR(NTIRE2018超分辨率冠军)【深度解析】
  7. Glide图片框架使用详细介绍(一)
  8. 零基础搞懂智能机之手机参数怎么看
  9. 基础算法 第五课——链表结构
  10. mysql5.625,雅思5.625是几分