基于51单片机的甲醛浓度检测仪

2023-05-16

硬件方案

        本设计以51单片机作为控制核心,甲醛模组传感器作为检测信号源,实现在甲醛浓度超过一定值的时候控制扬声器提示。本课题以C51系列的STC89c52RC为控制核心,甲醛模组传感器模块检测信息,设置系统键盘模块,警报电路,液晶显示,组成甲醛检测仪系统总成综合实现所有功能。电路主要由51单片机甲醛浓度报警器采用51单片机+ZE08-CH2O甲醛浓度传感器+LCD1602液晶显示+LED灯+按键+蜂鸣器设计而成;原理图如图:

 PCB及仿真图:

设计功能

  • 采用ZE08-CH2O检测当前甲醛浓度值并实时显示;
  • 通过按键可设置报警最小浓度。当实际测出的甲醛浓度大于设定的浓度时就会使得蜂鸣器、LED灯报警;
  • LED灯显示正常工作状态和报警状态;
  • LCD1602液晶显示所测的距离已经设置的报警阈值,简单明了;按键说明:增加键,减少键。

软件设计

主程序源码

void main()
{
    uchar h,l;
    LCD1602_cls();      //LCD 1602   调用初始化程序
    TMOD=0x21;    //配置定时
    TH0=0x4c;        //50ms  定时赋值
    TL0=0x00;
    ET0=1;
    TR0=1;
    TH1=0xfd;        //串口波特率定时初始
    TL1=0xfd;
    SCON=0x50;    //只发送
    EA=1;        //打开定时总中断
    ES=1;        //打开串口中断                
    TR1=1;
    h=byte_read(0x2000);
    l=byte_read(0x2001);   //读取保存的数据
    ch2o_H=h*256+l;
    if(ch2o_H>700)
    ch2o_H=80;
    while(1)
    {
        show();         //显示函数
        key();         //按键处理程序
        proc();         //超限处理程序
    }
}


void UART_1() interrupt 1 
{
    TH0=0x4c;
    TL0=0x00;
    ms++;
    if(ms%2==0)   //长按按键计数处理
    {
        if(sec>1)
        {
            if(!key_1)    //设置按键长按处理
            {
                if(ch2o_H<700)ch2o_H++;
            }
            if(!key_2)
            {
                if(ch2o_H>0) ch2o_H--;
            }
        }
    }
    if(ms%10==0)
    {
        if(beep1==1)    //蜂鸣器报警处理
        {
            beep=!beep;
        }else
        {
            beep=1;
        }
    }
    if(ms>19)       //1s 定时
    {
        ms=0;
        sec++;
        
    }
} 

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于51单片机的甲醛浓度检测仪 的相关文章

  • 获取系统信息-3.3.linux应用编程和网络编程第3部分-朱有鹏-专题视频课程

    获取系统信息 3 3 linux应用编程和网络编程第3部分 3914人已学习 课程介绍 本课程主要讲解了一些获取linux系统信息的函数 xff0c 譬如获取时间相关的函数群 xff0c 获取伪随机数序列的函数群和proc文件系统 xff0
  • mac M1芯片安装vmware虚拟机及centos8详细教程

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 一 安装vmware虚拟机 个人使用可获得免费许可证 xff0c 注册用户激活即可 激活成功获得免费许可证后登陆自己的用户进官网下载链接 xff1a 下载完成后 xff0c 一直下一步即
  • windows主机和ubuntu互传文件的4种方法

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 我的ubuntu系统是安装在 VMware 虚拟机中的 xff0c 两者之间经常要互传文件 xff0c 下面介绍4种常用的互传文件方法 1 共享文件夹方式互传 在虚拟机中需要开启共享文件
  • -bash: wget: 未找到命令

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 在虚拟机中利用wget命令下载安装相关应用时 xff0c 提示 xff1a bash wget 未找到命令 问题原因 xff1a 1 服务器本身没有自带安装wget xff0c 但一般很
  • Centos8.x yum 源配置 解决 yum 不可用

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 备份 root 64 iZ2ze1e3u7m7oe426pyndaa cd etc yum repos d root 64 iZ2ze1e3u7m7oe426pyndaa yum rep
  • VMware安装Rocky Linux服务器系统并执行优化

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 前言 由于CentOS7 2024年即将停止维护 xff0c 我准备将服务器重心从CentOS改为Rocky Linux xff0c 这篇文章分享一下Rocky Linux的安装和优化
  • CentOS shell中的变量

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 shell中的变量 变量的介绍 变量即变化的量 xff0c 核心是 变 与 量 二字 xff0c 变即变化 xff0c 量即衡量状态 量 xff1a 是记录现实世界当中的某种状态 变 x
  • VLAN技术

    知识重点 认识VLAN VLAN简介 xff1a VLAN xff08 Virtual Local Area Network xff09 即虚拟局域网 xff0c 是将一个物理的LAN在逻辑上划分成多个广播域的通信技术 VLAN目的 xff
  • MAC地址学习

    知识重点 xff1a 认识MAC地址 xff1a MAC简介 xff1a MAC xff08 Media Access Control xff09 地址用来定义网络设备的位置 MAC地址由48比特长 12位的16进制数字组成 xff0c 其
  • ARP地址解析协议

    ARP 简介 xff1a ARP xff08 Address Resolution Protocol xff09 地址解析协议 xff1b 简而言之 xff1a 通过ip地址解析mac地址 xff1b 相关概念 ARP工作原理 当两台计算机
  • STP/RSTP/MSTP

    知识重点 认识STP RSTP MSTP 简介 xff1a 以太网交换网络中为了进行链路备份 xff0c 提高网络可靠性 xff0c 通常会使用冗余链路 但是使用冗余链路会在交换网络上产生环路 xff0c 引发广播风暴以及MAC地址表不稳定
  • linux进程全解-3.4.linux应用编程和网络编程第4部分-朱有鹏-专题视频课程

    linux进程全解 3 4 linux应用编程和网络编程第4部分 8802人已学习 课程介绍 本课程对linux中进程及其相关的各种知识做了系统性讲述 xff0c 包括 xff1a 进程的起始和环境 父子进程 exec族函数 守护进程 进程
  • MAC终端代理到外网设置

    移动开发有时需要设置代理 xff0c 不然太慢 在 bash profile 文件中 xff08 此文件可能没有 xff0c 没有就创建一个 xff09 添加如下代码 function proxy off unset http proxy
  • 风暴控制知识点

    知识重点 认识风暴抑制 风暴控制简介 xff1a 风暴控制是用于控制广播 组播以及未知单播报文 xff0c 防止这三类报文引起广播风暴的安全技术 目的 xff1a 当设备某个二层以太接口收到广播 组播或未知单播报文时 xff0c 如果根据报
  • 全网互通实现

    全网互通实现
  • C++ 基本语法

    C 43 43 基本语法 C 43 43 程序可以定义为对象的集合 xff0c 这些对象通过调用彼此的方法进行交互 现在让我们简要地看一下什么是类 对象 xff0c 方法 即时变量 对象 对象具有状态和行为 例如 xff1a 一只狗的状态
  • C语言字符串处理函数 strtok() 和 atoi() 的使用

    字符串函数 xff08 String processing function xff09 也叫字符串处理函数 xff0c 指的是编程语言中用来进行字符串处理的函数 本文主要介绍 C语言中符串处理函数 strtok 和atoi 的区别使用方法
  • C++Qt开发——QSS样式表

    1 样式表 Qt样式表 style sheet 是用于定制用户界面的强有力的机制 xff0c 其概念 术语是收到HTML中的级联样式表 Cascading Style Sheets CCS 启发而来 xff0c 只是Qt样式表是用用于窗体界
  • 文件系统的索引—B树

    B tree 如何设计一个文件系统的索引 xff1f xff1f 1 前置知识 xff1a 索引 xff1a 为了更快找到数据的一种键值对 xff08 k v xff09 xff1b 比如字典索引 让你设计一个文件系统的索引 xff0c 你
  • 微信信息同步 ——PC微信

    问题描述 xff1a 电脑不能接收一些手机已经接收过的文件 xff0c 或聊天记录 原因 xff1a 手机同意登录时候没有勾选自动同步消息选项 我的解决过程 xff1a 第一步 把自动登录关闭 xff0c 目的是退出账号再登录可以弹出手机验

随机推荐

  • 用D435i跑高翔ORB_SLAM2稠密建图

    目录 前言1 软件准备2 硬件准备 一 前提准备1 安装ROS melodic2 安装 InterRealSenseD435i SDK23 编译高翔ORB SLAM2稠密建图 二 D435i相机跑高翔ORB SLAM2稠密建图1 修改一个文
  • linux系统程序的本地安装

    目录 一 程序 二 安装程序的方式 1 rpm 2 yum 总结 一 程序 linux系统中 xff0c 程序都是以文件的形式存在的 xff0c 分布在个个目录之中 xff0c 其中构成 负责程序的文件一般在 usr bin跟 usr sb
  • 牛客优质好题分析(1)-----质数因子(合数思想)(C语言写法)

    题目 xff1a 点击 xff1a 质数因子 本题我写了几种方法 xff0c 由浅入深 看答案 xff0c 让我们先分析一下题目 xff0c 这个题目说的是给你一个数 xff0c 让你用他的质因子表示出来 xff0c 比如180 61 2
  • linux中的信号-3.5.linux应用编程和网络编程第5部分-朱有鹏-专题视频课程

    linux中的信号 3 5 linux应用编程和网络编程第5部分 3182人已学习 课程介绍 本课程对linux中信号及其相关的函数进行了讲解 xff0c 学习本课程目的是理解信号在系统设计中的作用和原理 xff0c 会使用signal或者
  • 基于STM32F103的单相在线式不间断电源设计

    摘要 xff1a 本文是以 基于STM32F103的单相在线式不间断电源设计 作为研究对象 xff0c 设计制作一款由控制电路 整流电路 Boost升压电路 单相逆变电路 交流直流采样电路 辅助电源电路构成的单相在线式不间断电源系统设计 以
  • Linux基础操作命令

    目录 bin 系统有很多放置执行档的目录 xff0c 但 bin比较特殊 因为 bin放置的是在单人维护模式下还能够被操作的指令 在 bin底下的指令可以被root与一般帐号所使用 xff0c 主要有 xff1a cat chmod 修改权
  • Ubuntu20.4安装ROS系统教程(自用)

    1 Ubuntu各个版本系统对应的ROS版本 1 2Ubuntu16 04与ROS kinetic的安装 1 2 1Ubuntu16 04配置 1 2 2安装ROS kinetic版 1 3Ubuntu18 04和ROS melodic的安
  • 如何在渗透测试中尽可能隐藏自己-proxychains4使用配置教程

    在渗透测试中 xff0c 往往需要对自身电脑ip进行网络上的隐藏 xff0c 如何才能快速简单的在网络扫描中简单实现匿名扫描呢 Proxychains帮助我们完成这一操作 那么 xff0c proxychains是什么 xff1f GNU协
  • HC-05/06蓝牙模块的原理及使用方法

    模块简介 HC 05 蓝牙串口通信模块 xff0c 是基于 Bluetooth Specification V2 0 带 EDR 蓝牙协议的 数传模块 无线工作频段为 2 4GHz ISM xff0c 调制方式是 GFSK 模块最大发射功率
  • 《教程》使用STLINK烧录STM32程序

    STM32单片机烧录程序一般需要烧录器 xff0c 下面介绍如何使用STLINK烧录STM32单片机程序 1 首先将STLINK与单片机的烧录接口连接好 xff0c 连接线序如下 xff1a 2 然后需要安装STLINK烧录软件 xff0c
  • ADC0832芯片原理及使用教程

    1 芯片简介 ADC0832是一种 8 位分辨率 250KHZ转换频率 双通道 A D 转换芯片 其内部电源输入与参考电压的复用 xff0c 使得芯片的模拟电压输入在 0 5V 之间 芯片转换时间仅为 32 S xff0c 据有双数据输出可
  • DS1302时钟芯片介绍及使用教程

    1 芯片简介 DS1302 涓流充电计时芯片包含一个实时时钟 日历和 31 字节的静态 RAM 通过简单的串行接口与微处理器通讯 这个实时时钟 日历提供年月日 时分秒信息 对于少于 31 天的月份月末会自动调整 还有闰年校正 由于有一个 A
  • LCD12864显示屏原理及使用教程

    1 芯片简介 LCD12864液晶显示模块是 128 64点阵的汉字图形型液晶显示模块 xff0c 可显示汉字及图形 xff0c 内置 8192个中文汉字 xff08 16X16 点阵 xff09 xff08 需带有字库的型号才能显示中文
  • 51单片机wifi物联网的浇花控制系统设计

    硬件设计 浇花控制系统采用51单片机与LCD液晶显示屏来实现 xff0c 利用温度 湿度传感器及相应的显示 驱动执行机构 报警装置等实现温室作物生长环境控制器的设计 硬件电路主要由51单片机 43 最小系统 43 lcd1602显示屏 43
  • IO-3.6.linux应用编程和网络编程第6部分-朱有鹏-专题视频课程

    IO 3 6 linux应用编程和网络编程第6部分 3455人已学习 课程介绍 本课程讲解linux中的IO部分 xff0c 包括非阻塞IO 多路复用IO 异步IO和内存映射IO等 本课程目标是让大家对并发情况下阻塞式IO的困境有所认识 x
  • stm32f103最小系统板详细介绍

    一 什么是单片机最小系统 常见的单片机最小系统为单片机能独立运行程序及控制外围电路的最简单电路 xff0c 主要由单片机 晶振电路 复位电路三部分构成 Stm32f103c8t6也不例外 xff0c 构成最小的运行电路也需要以上三部分 St
  • 基于51单片机的光照强度检测系统

    一 硬件方案 本设计采用单片机作为数据处理与控制单元 xff0c 为了进行数据处理 xff0c 通过光敏电阻来感应光强弱变化 xff0c 经过ADC0804转换 xff0c 直接将数字信号送入到单片机中进行数据处理 单片机数据处理之后 xf
  • ULN2003步进电机驱动电路详解

    一 ULN2003芯片介绍 ULN2003 是高耐压 大电流达林顿陈列 xff0c 由七个硅 NPN 达林顿管组成 该电路的特点如下 xff1a ULN2003 的每一对达林顿都串联一个 2 7K 的基极电阻 在 5V 的工作电压下它能与
  • 基于STM32单片机太阳能电池板追日光跟踪系统设计

    硬件方案 本设计采用光电跟踪的方法 xff0c 利用步进电机驱动 xff0c 由光电传感器根据入射光线的强弱变化产生反馈信号到微机处理器 微机处理器运行程序 xff0c 通过对跟踪机构进行控制 xff0c 调整太阳能电池板的角度实现对太阳的
  • 基于51单片机的甲醛浓度检测仪

    硬件方案 本设计以51单片机作为控制核心 xff0c 甲醛模组传感器作为检测信号源 xff0c 实现在甲醛浓度超过一定值的时候控制扬声器提示 本课题以C51系列的STC89c52RC为控制核心 xff0c 甲醛模组传感器模块检测信息 xff