找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

MQ-2煙霧報(bào)警器,液化氣傳感器的程序仿真和資料下載

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


液化氣,MQ-2煙霧報(bào)警器液化氣TTL輸出測試程序:
  1. //程序頭文件
  2. #include<reg52.h>

  3. //宏定義
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. #define Data_ADC0809 P1

  7. //管腳聲明
  8. sbit Feng = P3^0;

  9. //ADC0809
  10. sbit ST=P3^3;
  11. sbit EOC=P3^4;
  12. sbit OE=P3^2;

  13. //按鍵
  14. sbit Key1=P3^5;
  15. sbit Key2=P3^6;
  16. sbit Key3=P3^7;

  17. //顯示數(shù)組0-9和F
  18. uchar Data_[]=
  19. {
  20.         0x3f,0x06,0x5b,      
  21.         0x4f,0x66,0x6d,
  22.         0x7d,0x07,0x7f,
  23.         0x6f,0x71,0x3f
  24. };
  25. sbit Wei1 = P2^7;
  26. sbit Wei2 = P2^6;
  27. sbit Wei3 = P2^5;
  28. sbit Wei4 = P2^4;

  29. //函數(shù)聲明
  30. extern uchar ADC0809();
  31. void Display(uchar X,uchar Data);
  32. void delay(uint t);

  33. //酒精含量變量
  34. uchar temp=0;
  35. //蜂鳴器變量
  36. uchar FF=10;
  37. //顯示模式
  38. uchar Mode=0;
  39. uchar p;

  40. void main()
  41. {
  42.         while(1)
  43.         {
  44.                 //正常模式
  45.                 if(Mode==0)
  46.                 {
  47.                         //讀取AD值
  48.                         temp=ADC0809();
  49.                         for(p=0;p<30;p++)
  50.                         Display(0,temp);
  51.                         //判斷是否報(bào)警
  52.                         if(temp>FF)
  53.                         {
  54.                                 Feng=0;
  55.                         }
  56.                         else
  57.                         {
  58.                                 Feng=1;
  59.                         }
  60.                 }
  61.                 //調(diào)整模式
  62.                 else
  63.                 {
  64.                         Display(1,FF);
  65.                 }
  66.                 //功能鍵
  67.                 if(Key3==0)
  68.                 {
  69.                         Feng=0;
  70.                         delay(100);
  71.                         while(Key3==0)
  72.                         {
  73.                                 if(Mode==0)
  74.                                 Display(0,temp);
  75.                                 else
  76.                                 Display(1,FF);
  77.                         }
  78.                         if(Mode==0)
  79.                         Mode=1;
  80.                         else
  81.                         Mode=0;
  82.                         Feng=1;
  83.                 }
  84.                 //增加
  85.                 if(Key2==0&&Mode==1)
  86.                 {
  87.                         Feng=0;
  88.                         delay(100);
  89.                         while(Key2==0)
  90.                         {
  91.                                 Display(1,FF);
  92.                         }
  93.                         FF++;
  94.                         if(FF==251)
  95.                         FF=250;
  96.                         Feng=1;
  97.                 }
  98.                 //減少
  99.                 if(Key1==0&&Mode==1)
  100.                 {
  101.                         Feng=0;
  102.                         delay(100);
  103.                         while(Key1==0)
  104.                         {
  105.                                 Display(1,FF);
  106.                         }
  107.                         FF--;
  108.                         if(FF==0xff)
  109.                         FF=0;
  110.                         Feng=1;
  111.                 }
  112.         }
  113. }
  114. //ADC0809讀取信息
  115. uchar ADC0809()
  116. {
  117.         uchar temp_=0x00;
  118.         //初始化高阻態(tài)
  119.         OE=0;
  120.         //轉(zhuǎn)化初始化
  121.         ST=0;
  122.         //開始轉(zhuǎn)化
  123.         ST=1;
  124.         ST=0;
  125.         //外部中斷等待AD轉(zhuǎn)換結(jié)結(jié)束
  126.         while(EOC==0)
  127.         //讀取轉(zhuǎn)換的AD值
  128.         OE=1;
  129.         temp_=Data_ADC0809;
  130.         OE=0;
  131.         return temp_;
  132. }
  133. //延時(shí)
  134. void delay(uint t)
  135. {
  136.         uint i,j;
  137.         for(i=0;i<t;i++)
  138.         {
  139.                 for(j=0;j<10;j++);
  140.         }
  141. }

  142. //顯示 X表示狀態(tài) Data表示數(shù)據(jù)
  143. void Display(uchar X,uchar Data)
  144. {
  145.         Wei1=1;
  146.         Wei2=1;
  147.         Wei3=1;
  148.         Wei4=1;
  149.         P0=0xff;

  150.         //正常模式
  151.         if(X==0)
  152.         {
  153.                 P0=~Data_[11];
  154.         }
  155.         //非正常
  156.         else
  157.         {
  158.                 P0=~Data_[10];
  159.         }
  160.         Wei1=0;
  161.         Wei2=1;
  162.         Wei3=1;
  163.         Wei4=1;
  164.         delay(10);
  165.         Wei1=1;
  166.         Wei2=1;
  167.         Wei3=1;
  168.         Wei4=1;

  169.         P0=~Data_[Data/100];
  170.         Wei1=1;
  171.         Wei2=0;
  172.         Wei3=1;
  173.         Wei4=1;
  174.         delay(10);
  175.         Wei1=1;
  176.         Wei2=1;
  177.         Wei3=1;
  178.         Wei4=1;


  179.         P0=~Data_[Data/10%10];
  180.         Wei1=1;
  181.         Wei2=1;
  182.         Wei3=0;
  183.         Wei4=1;
  184.         delay(10);
  185.         Wei1=1;
  186.         Wei2=1;
  187.         Wei3=1;
  188.         Wei4=1;

  189.         P0=~Data_[Data%10];
  190.         Wei1=1;
  191.         Wei2=1;
  192.         Wei3=1;
  193.         Wei4=0;
  194.         delay(10);
  195.         Wei1=1;
  196.         Wei2=1;
  197.         Wei3=1;
  198.         Wei4=1;

  199. }
復(fù)制代碼


MQ-2煙霧氣體傳感器模塊 液化氣天然氣模塊 煙霧模塊.rar

2.16 MB, 下載次數(shù): 144, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 2黑幣 +55 收起 理由
Absinthe + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:159089 發(fā)表于 2017-1-2 21:18 | 只看該作者
不錯(cuò), 搞好拿來參考下
回復(fù)

使用道具 舉報(bào)

板凳
ID:183636 發(fā)表于 2017-3-26 21:08 | 只看該作者
學(xué)習(xí)學(xué)習(xí) 借鑒一下
回復(fù)

使用道具 舉報(bào)

地板
ID:243045 發(fā)表于 2017-10-26 10:09 | 只看該作者
厲害了厲害了
回復(fù)

使用道具 舉報(bào)

5#
ID:121859 發(fā)表于 2018-1-11 12:28 | 只看該作者
先下來,學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

6#
ID:296658 發(fā)表于 2018-3-25 13:09 | 只看該作者
我也想要
回復(fù)

使用道具 舉報(bào)

7#
ID:311182 發(fā)表于 2018-4-18 20:13 | 只看該作者
借鑒一下
回復(fù)

使用道具 舉報(bào)

8#
ID:311202 發(fā)表于 2018-4-18 20:45 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

9#
ID:313743 發(fā)表于 2018-4-22 15:23 | 只看該作者
你們都好會(huì)啊,我一點(diǎn)都不懂
回復(fù)

使用道具 舉報(bào)

10#
ID:355474 發(fā)表于 2018-6-23 22:21 | 只看該作者
好資源,正好用到
回復(fù)

使用道具 舉報(bào)

11#
ID:355474 發(fā)表于 2018-6-23 22:22 | 只看該作者
不錯(cuò),下載下來學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

12#
ID:455942 發(fā)表于 2018-12-26 22:26 | 只看該作者
厲害了,大佬
回復(fù)

使用道具 舉報(bào)

13#
ID:458084 發(fā)表于 2020-2-27 12:28 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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