久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15240|回復: 36
打印 上一主題 下一主題
收起左側

51單片機半導體甲醛傳感器模塊顯示程序

  [復制鏈接]
跳轉到指定樓層
樓主
無意中某寶發現一款甲醛傳感器,資料顯示為每秒發送一組串口數據,其中包含甲醛值,使用的stc89c52rc,分享一下


半導體甲醛模塊單片機源程序:


  1. #include<reg52.h>
  2. #include "lcd.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5.                                                        //可一次接收數據量
  6. void rs232_init();
  7. uchar flag,i,k,l;
  8. uint num;                                                       //刪除無用變量                           

  9. uchar table1[9];
  10. uchar table2[6]={0x20,0x20,0x39,0x2e,0x39,0x39};                                             //接收緩存數組
  11. uchar j=0;                                                             //接收計數器

  12. void shujuchuli ()
  13. {
  14.   if(flag==1)
  15.                  {
  16.                          ES=0;
  17.                      
  18.                         for(j=0;j<9;j++)                        
  19.                            {
  20.                                 SBUF=table1[j];
  21.                                  while(!TI);
  22.                                  TI=0;
  23.                                                 }
  24.                                                             num=table1[4]*256+table1[5];

  25.                                                                 table2[0]=num/10000;
  26.                                                                 table2[1]=num%10000/1000;
  27.                                                        
  28.                                                                  
  29.                                                                 table2[2]=num%10000%1000/100+0x30;
  30.                                                                 table2[3]=0x2e;
  31.                                                                 table2[4]=num%10000%1000%100/10+0x30;
  32.                                                                 table2[5]=num%10000%1000%100%10+0x30;
  33.                                                                 
  34.                                 
  35.                          j=0;                                           //清零接收計數器
  36.                          ES=1;
  37.                          flag=0;
  38.                  }

  39. }




  40. main()
  41. {
  42.          rs232_init();
  43.                
  44.                   
  45.          while(1)
  46.          {
  47.        
  48.                  LcdInit();

  49.                  shujuchuli ();
  50.                  
  51.         

  52.             LcdWriteData(0x43);
  53.                 LcdWriteData(0x48);
  54.                 LcdWriteData(0x32);
  55.                 LcdWriteData(0x4f);
  56.                 LcdWriteData(0x3a);
  57.         for(l=0;l<6;l++)
  58.         {
  59.                 LcdWriteData(table2[l]);       
  60.         }
  61.                 LcdWriteData(0x6d);
  62.                 LcdWriteData(0x67);
  63.                 LcdWriteData(0x2f);
  64.                 LcdWriteData(0x6d);
  65.                 LcdWriteData(0x33);
  66.        
  67.            Lcd1602_Delay1ms(300);
  68.         }
  69. }
  70. void rs232_init()
  71. {
  72.          TMOD=0x20;
  73.          TH1=0xfa;
  74.          TL1=0xfa;
  75.                  PCON=0x80;
  76.          TR1=1;
  77.                  SCON=0x50;
  78.                                                                //先設定號工作方式,在打開允許接收
  79.          EA=1;
  80.          ES=1;        
  81. }
  82. void ser()interrupt 4
  83. {                 
  84.      RI=0;  
  85.          table1[j] = SBUF;
  86.     if(table1[j]==0xff&&j==0)
  87. {
  88. j=1;
  89. }
  90. else if(j==1&&table1[j]==0xff)
  91. {
  92. j=2;
  93. }

  94. else if (j==2&&table1[j] == 0x01)
  95. {

  96. j=3;

  97. }
  98. else if (j==3&&table1[j] == 0x27)
  99. {

  100. j=4;

  101. }

  102. else if(j>=4&&j<8)
  103. {


  104. j ++;
  105. }

  106. else if(j == 8)
  107. {

  108. flag=1;
  109. j=0;
  110. }
  111. else
  112. {
  113. j=0;
  114. }         


  115. }         
復制代碼



全部代碼下載:
甲醛半導體模塊數據在1602.rar (29.24 KB, 下載次數: 137)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:165415 發表于 2017-4-12 16:04 | 只看該作者
LcdInit();這個應該放在while外面吧?有空試試看程序
回復

使用道具 舉報

板凳
ID:165415 發表于 2017-4-12 16:14 | 只看該作者
另外程序應該有問題,這個傳感器的測量范圍是0-1mg,你這里竟然顯示了3.2mg
回復

使用道具 舉報

地板
ID:163099 發表于 2017-4-15 06:30 來自手機 | 只看該作者
方俱滅 發表于 2017-4-12 16:04
LcdInit();這個應該放在while外面吧?有空試試看程序

好像是,不過這樣也能用
回復

使用道具 舉報

5#
ID:163099 發表于 2017-4-15 06:32 來自手機 | 只看該作者
方俱滅 發表于 2017-4-12 16:14
另外程序應該有問題,這個傳感器的測量范圍是0-1mg,你這里竟然顯示了3.2mg

這是剛預熱成功,讀數還在下降中
回復

使用道具 舉報

6#
ID:195937 發表于 2017-5-3 11:21 | 只看該作者
樓主,可以提供這個模塊的購買地址嗎,萬分感謝!!!
505078640@qq.com
回復

使用道具 舉報

7#
ID:29312 發表于 2017-5-11 22:13 | 只看該作者
本帖最后由 thatkey 于 2017-5-12 12:44 編輯

你好  我的個位數之前兩個字符有亂碼
回復

使用道具 舉報

8#
ID:183223 發表于 2017-5-15 19:29 | 只看該作者
傳感器選的什么啊?
回復

使用道具 舉報

9#
ID:201967 發表于 2017-5-17 21:41 | 只看該作者
我的為什么總是顯示9.99呀
回復

使用道具 舉報

10#
ID:201967 發表于 2017-5-17 21:42 | 只看該作者
大神,我的為什么總是顯示9.99呀??
回復

使用道具 舉報

11#
ID:198407 發表于 2017-5-18 22:10 | 只看該作者
大神 我的為什么總顯示9.99啊

求解答啊
回復

使用道具 舉報

12#
ID:188601 發表于 2017-5-19 15:48 | 只看該作者
想知道將輸出的電壓怎么轉換成濃度
回復

使用道具 舉報

13#
ID:163099 發表于 2017-5-21 21:59 來自手機 | 只看該作者
我們失戀在夏季 發表于 2017-5-18 22:10
大神 我的為什么總顯示9.99啊

求解答啊

顯示9.99說明沒有接收到串口信號,檢查一下接線,波特率,不行用usb串口監測一下通信內容有問題嗎
回復

使用道具 舉報

14#
ID:163099 發表于 2017-5-21 22:01 來自手機 | 只看該作者
smile123 發表于 2017-5-19 15:48
想知道將輸出的電壓怎么轉換成濃度

甲醛模塊干的事,模塊用的stm8模數轉換的
回復

使用道具 舉報

15#
ID:212141 發表于 2017-6-17 21:58 | 只看該作者
謝謝大神,好好學習。
回復

使用道具 舉報

16#
ID:175237 發表于 2017-6-27 09:57 | 只看該作者
mark學習
回復

使用道具 舉報

17#
ID:221416 發表于 2017-7-21 17:15 | 只看該作者
多謝樓主,下載下來試試。
回復

使用道具 舉報

18#
ID:223551 發表于 2017-7-31 15:16 | 只看該作者
哪位大神有甲醛測試儀的完整程序啊,急需啊,傳感器是和這個一樣的
希望有的大神可以給我一下
回復

使用道具 舉報

19#
ID:223551 發表于 2017-8-1 16:08 | 只看該作者
為什么我直接將程序燒進去,1602也沒字顯示啊!
回復

使用道具 舉報

20#
ID:223551 發表于 2017-8-3 15:40 | 只看該作者
怎么在這個程序里加入語音芯片呢!當超過標準時·語音報警
回復

使用道具 舉報

21#
ID:268536 發表于 2017-12-29 15:14 | 只看該作者
cell 發表于 2017-5-21 21:59
顯示9.99說明沒有接收到串口信號,檢查一下接線,波特率,不行用usb串口監測一下通信內容有問題嗎

我的也是,程序下進去后總是顯示9.99,都檢查了,也沒啥不對啊
回復

使用道具 舉報

22#
ID:198608 發表于 2017-12-29 20:25 | 只看該作者
levyjersy 發表于 2017-5-17 21:41
**** 作者被禁止或刪除 內容自動屏蔽 ****

這個應該是模擬了,得需要模數轉換
回復

使用道具 舉報

23#
ID:146834 發表于 2017-12-29 22:25 | 只看該作者
仿真圖。沒有傳感器,

2017-12-29_222241.jpg (141.84 KB, 下載次數: 100)

2017-12-29_222241.jpg
回復

使用道具 舉報

24#
ID:146834 發表于 2018-1-8 18:56 | 只看該作者
thatkey 發表于 2017-5-11 22:13
你好  我的個位數之前兩個字符有亂碼

你好,傳感器在哪里購買的,有地址嗎。
回復

使用道具 舉報

25#
ID:295150 發表于 2018-3-21 18:18 | 只看該作者
你好,這個傳感器輸出是電壓還是數字信號?一直搞不明白,謝謝。
回復

使用道具 舉報

26#
ID:163099 發表于 2018-3-22 13:48 | 只看該作者
米諾子 發表于 2018-3-21 18:18
你好,這個傳感器輸出是電壓還是數字信號?一直搞不明白,謝謝。

傳感器輸出數字信號,串口輸出
回復

使用道具 舉報

27#
ID:302353 發表于 2018-4-23 23:14 | 只看該作者
   if(table1[j]==0xff&&j==0) { j=1; } else if(j==1&&table1[j]==0xff) { j=2; }  else if (j==2&&table1[j] == 0x01) {  j=3;  } else if (j==3&&table1[j] == 0x27) {  j=4;  }為啥table【i】要等于0xff呢
回復

使用道具 舉報

28#
ID:302353 發表于 2018-4-23 23:27 | 只看該作者
if(table1[j]==0xff&&j==0) { j=1; } else if(j==1&&table1[j]==0xff) { j=2; }  else if (j==2&&table1[j] == 0x01) {  j=3;  } else if (j==3&&table1[j] == 0x27) {  j=4;  }為啥table【j】要等于0xff呢?j==1&&table1[j]==0xff,else if (j==2&&table1[j] ==0x01) else if (j==3&&table1[j] == 0x27) {  j=4;  }
大神這幾句能解釋下嗎
回復

使用道具 舉報

29#
ID:163099 發表于 2018-6-10 09:27 | 只看該作者
飛科技 發表于 2018-4-23 23:27
if(table1[j]==0xff&&j==0) { j=1; } else if(j==1&&table1[j]==0xff) { j=2; }  else if (j==2&&table1[j] ...

傳感器發來的數據有固定格式,為FF FF 01 27...........,為確保數據從第一幀開始接收,所以這里做了一些判斷,以防甲醛值數據正確
回復

使用道具 舉報

30#
ID:407111 發表于 2018-10-12 09:11 | 只看該作者
是什么傳感器啊,大神求回復
回復

使用道具 舉報

31#
ID:386202 發表于 2019-2-5 16:42 | 只看該作者
這甲醛傳感器接STC89C52哪幾個端口啊?
回復

使用道具 舉報

32#
ID:386202 發表于 2019-2-5 18:10 | 只看該作者
這甲醛傳感器接STC89C52哪幾個端口啊?
回復

使用道具 舉報

33#
ID:386202 發表于 2019-4-14 12:31 | 只看該作者
51單片機甲醛傳感器測試濃度
回復

使用道具 舉報

34#
ID:386202 發表于 2019-4-14 15:39 | 只看該作者
這甲醛傳感器接STC89C52哪幾個端口啊?
回復

使用道具 舉報

35#
ID:504436 發表于 2019-4-16 10:34 | 只看該作者
zhongmiaoyuan 發表于 2019-4-14 15:39
這甲醛傳感器接STC89C52哪幾個端口啊?

同問,我也發現代碼里面沒有定義端口,甲醛傳感器的端口
回復

使用道具 舉報

36#
ID:504436 發表于 2019-4-16 11:31 | 只看該作者
請問用的是usb接口嗎,還是轉換了RS232,還有甲醛傳感器連51的 IO  口,我看程序里沒有定義這幾個接口呀,應該就是P30和P31吧,希望解釋一下
回復

使用道具 舉報

37#
ID:371423 發表于 2019-4-19 14:06 | 只看該作者
sjr02 發表于 2017-12-29 15:14
我的也是,程序下進去后總是顯示9.99,都檢查了,也沒啥不對啊

請問你后來解決了嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久免费在线观看 | 91视频国产一区 | 久久久久久久久久久高潮一区二区 | 51ⅴ精品国产91久久久久久 | 欧美久久久久久久久中文字幕 | 精品国产乱码久久久久久丨区2区 | 91精品国产综合久久婷婷香蕉 | 亚洲美女网站 | 国产精品成人久久久久 | 国产午夜在线 | 久草免费在线视频 | 中文字幕一区二区三区不卡 | 日韩欧美精品在线 | 亚洲精品乱码久久久久久按摩 | 亚洲综合无码一区二区 | 欧美一区二区三区在线看 | 精品欧美乱码久久久久久 | 亚洲草草视频 | 国产三级国产精品 | 国产99在线 | 欧美 | 午夜合集 | 日韩在线精品强乱中文字幕 | 九色视频网站 | 国产精品久久久久国产a级 欧美日韩国产免费 | 九九视频网 | 亚洲高清在线观看 | 国产美女久久 | 欧美日韩久久久 | 毛片大全 | 久久大陆 | 99亚洲精品 | 99精品99 | 91中文字幕在线观看 | 99热热 | 国产成人精品一区二区三区视频 | 中文字幕精品一区久久久久 | 黄色大片免费网站 | 亚洲成人一区二区 | 国产精品成人品 | 欧美日韩在线综合 | 国产一区二区三区四区三区四 |