找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4851|回复: 7
收起左侧

我做的甲醛检测的单片机源码

  [复制链接]
ID:371644 发表于 2018-7-15 06:39 | 显示全部楼层 |阅读模式
这是我做的甲醛检测的源码

单片机源程序如下:
  1. #ifndef _GLOBAL_H
  2.         #define _GLOBAL_H
  3.         #include <reg52.h>
  4.         #include <intrins.h>
  5.         #define uchar unsigned char
  6.         #define uint unsigned int
  7. #endif
  8. #include <stdio.h>
  9. #include <math.h>
  10. #include <d:\\danpianji\\include\\lcd1602.h>

  11. sbit add_a=P3^4;
  12. sbit add_b=P3^5;
  13. sbit add_c=P3^6;

  14. sbit ST=P3^0;   //A/D启动转换信号
  15. sbit EOC=P3^1;  //A/D转换结束信号
  16. sbit OE=P3^2;   //数据输出允许信号
  17. sbit CLK=P3^3;  //时钟脉冲

  18. uchar fvalue[8],tvalue[8];//保存数值
  19. uint temp,ieoc;
  20. float lg,volt,ppm,mass;

  21. /******************************************************************
  22. 延时函数
  23. ******************************************************************/
  24. void delay(uchar t)
  25. {
  26.   uchar i,j;
  27.    for(i=0;i<t;i++)
  28.             for(j=t;j>0;j--);
  29. }


  30. /******************************************************************
  31. 初始化甲醛传感器函数
  32. ******************************************************************/
  33. void inithcho(){
  34.         add_a=0;
  35.         add_b=0;
  36.         add_c=0;
  37.         P1=0xff;
  38.         EOC=1;
  39. }
  40. /******************************************************************
  41. 获取甲醛传感器数据函数
  42. 功能:获取甲醛、甲苯数据并使用lcd函数输出
  43. ******************************************************************/
  44. void gethcho(){
  45.         ST=0;
  46.         ST=1;
  47.         ST=0;
  48.         while(1){
  49.                 CLK=!CLK;
  50.                 if(EOC==1)
  51.                 {
  52.                         break;
  53.                 }
  54.         }
  55.         OE=1;
  56.         temp=P1;
  57.         delay(100);
  58.         if(temp==P1){
  59.                 OE=0;
  60.                 delay(100);
  61.                 //write_command(0x01);
  62.                 volt=temp*0.0196;
  63.                 //Formaldehyde 甲醛 HCHO
  64.                 lg=(-2.631)+1.528*volt+(-0.125)*volt*volt;                           //以10为低的对数
  65.                 ppm=pow(10,lg);                                                                                //PPM值 体积浓度表示
  66.                 mass=ppm*(30.03/22.4);                                                                //转换成气体质量深度表示(mass=分子量*ppm/22.4)
  67.                 sprintf(fvalue,"HCHO %.2fmg/m3  ",ppm,mass);
  68.                 string(0x80,fvalue);
  69.                
  70.                 //toluene        甲苯 C7H8
  71.                 lg=(-7.071)+2.852*volt+(-0.210)*volt*volt;                           //以10为低的对数
  72.                 ppm=pow(10,lg);                                                                                //PPM值 体积浓度表示
  73.                 mass=(92.14*ppm)/22.4;                                                                //转换成气体质量深度表示(mass=分子量*ppm/22.4)
  74.                 sprintf(tvalue,"C7H8 %.2fmg/m3   ",mass);
  75.                 string(0xC0,tvalue);
  76.                
  77.         }
  78. }

  79. void main(){
  80.         initlcd();
  81.         inithcho();
  82.         while(1){
  83.                 gethcho();
  84.         }
  85. }
复制代码

所有资料51hei提供下载:
CH2O.rar (1018 Bytes, 下载次数: 71)
回复

使用道具 举报

ID:473505 发表于 2019-4-10 08:12 | 显示全部楼层
用的什么传感器型号!
回复

使用道具 举报

ID:560560 发表于 2019-6-14 12:42 | 显示全部楼层
这是用哪个传感器测甲醛的,MQ-2吗?
回复

使用道具 举报

ID:266611 发表于 2020-2-20 02:30 | 显示全部楼层
楼主你用的啥传感器啊,我用的MQ138传感器
回复

使用道具 举报

ID:695467 发表于 2020-2-20 10:47 | 显示全部楼层
这个传感器很关键
回复

使用道具 举报

ID:319814 发表于 2020-2-28 18:26 | 显示全部楼层
单片机入门 发表于 2020-2-20 02:30
楼主你用的啥传感器啊,我用的MQ138传感器

请问你有MQ138甲醛传感器的资料吗  求帮忙。。。
回复

使用道具 举报

ID:695636 发表于 2020-3-25 15:28 来自手机 | 显示全部楼层
心得01 发表于 2020-2-20 10:47
这个传感器很关键

啥都没有
回复

使用道具 举报

ID:833861 发表于 2020-10-24 08:34 | 显示全部楼层
请问这个用的是51单片机吗,用的是什么气体传感器,楼主看到回复一下,谢谢楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表