找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5658|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

我做的甲醛檢測(cè)的單片機(jī)源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:371644 發(fā)表于 2018-7-15 06:39 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這是我做的甲醛檢測(cè)的源碼

單片機(jī)源程序如下:
  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啟動(dòng)轉(zhuǎn)換信號(hào)
  15. sbit EOC=P3^1;  //A/D轉(zhuǎn)換結(jié)束信號(hào)
  16. sbit OE=P3^2;   //數(shù)據(jù)輸出允許信號(hào)
  17. sbit CLK=P3^3;  //時(shí)鐘脈沖

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

  21. /******************************************************************
  22. 延時(shí)函數(shù)
  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. 初始化甲醛傳感器函數(shù)
  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. 獲取甲醛傳感器數(shù)據(jù)函數(shù)
  42. 功能:獲取甲醛、甲苯數(shù)據(jù)并使用lcd函數(shù)輸出
  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為低的對(duì)數(shù)
  65.                 ppm=pow(10,lg);                                                                                //PPM值 體積濃度表示
  66.                 mass=ppm*(30.03/22.4);                                                                //轉(zhuǎn)換成氣體質(zhì)量深度表示(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為低的對(duì)數(shù)
  72.                 ppm=pow(10,lg);                                                                                //PPM值 體積濃度表示
  73.                 mass=(92.14*ppm)/22.4;                                                                //轉(zhuǎn)換成氣體質(zhì)量深度表示(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. }
復(fù)制代碼

所有資料51hei提供下載:
CH2O.rar (1018 Bytes, 下載次數(shù): 71)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:473505 發(fā)表于 2019-4-10 08:12 | 只看該作者
用的什么傳感器型號(hào)!
回復(fù)

使用道具 舉報(bào)

板凳
ID:560560 發(fā)表于 2019-6-14 12:42 | 只看該作者
這是用哪個(gè)傳感器測(cè)甲醛的,MQ-2嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:266611 發(fā)表于 2020-2-20 02:30 | 只看該作者
樓主你用的啥傳感器啊,我用的MQ138傳感器
回復(fù)

使用道具 舉報(bào)

5#
ID:695467 發(fā)表于 2020-2-20 10:47 | 只看該作者
這個(gè)傳感器很關(guān)鍵
回復(fù)

使用道具 舉報(bào)

6#
ID:319814 發(fā)表于 2020-2-28 18:26 | 只看該作者
單片機(jī)入門 發(fā)表于 2020-2-20 02:30
樓主你用的啥傳感器啊,我用的MQ138傳感器

請(qǐng)問你有MQ138甲醛傳感器的資料嗎  求幫忙。。。
回復(fù)

使用道具 舉報(bào)

7#
ID:695636 發(fā)表于 2020-3-25 15:28 來自手機(jī) | 只看該作者
心得01 發(fā)表于 2020-2-20 10:47
這個(gè)傳感器很關(guān)鍵

啥都沒有
回復(fù)

使用道具 舉報(bào)

8#
ID:833861 發(fā)表于 2020-10-24 08:34 | 只看該作者
請(qǐng)問這個(gè)用的是51單片機(jī)嗎,用的是什么氣體傳感器,樓主看到回復(fù)一下,謝謝樓主
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表