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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機可燃氣體檢測程序+PCB

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:482205 發(fā)表于 2019-12-29 19:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
含原理圖。程序


單片機源程序如下:
  1. #include "all.h"

  2. extern unsigned char Arrow[],Arrow_Up[];
  3. extern bit Find(uchar *a);
  4. extern uint Set_hour,Set_min,Set_sec;
  5. extern int year_r,month_r,hour_r,min_r,sec_r,day_r,date_r;
  6. extern uint init_flag,Select_flag,TS_flag,Testing_flag;
  7. extern bit Change_flag,Sure_flag,Sure_change_flag,SIM_flag;
  8. extern int  Butane_density,Alcohol_density,Natural_density,Coal_density;
  9. bit Set_flag,Alarm_flag,beep_flag;
  10. int over_flag=0,frq;
  11. sbit in=P3^2;
  12. void Delay20000ms();
  13. void Delay2000ms();                //@11.0592MHz
  14. void Delay1ms();                //@11.0592MHz
  15. uint over[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};      //初始化
  16. void main()
  17. {
  18. uchar i;
  19. uint j;
  20. I2C_init();
  21. LCD_init();
  22. Clean();
  23. Timer0_init();
  24. Timer1_init();
  25. DS3231_init();
  26. ADC_init();
  27. uart_init();
  28. in=1;       
  29. EA=1;
  30. EX0=1;
  31. PX0=1;
  32. IT0=0;
  33. ET1=1;
  34. ET0=1;
  35. ES=1;
  36. PS=1;
  37. Show_CN(3,17,"可燃氣體檢測");
  38. Delay2000ms();
  39. Clean();
  40. Show_CN(3,33,"預(yù)熱20秒");
  41. Show_5x8(5,33," . . . . . . ");
  42. Delay20000ms();
  43. Clean();
  44. Set_Time(20,18,11,5,12,7,19);
  45. read_time();
  46. write_byte(0x0f,0x00);
  47. Alarm_Set_Time(0,2,0);
  48. TR1=1;
  49. TR0=0;
  50. do
  51. {
  52.         ES=0;
  53.         TI=1;
  54.         printf("AT+CPIN?\n");
  55.         while(!TI);
  56.         TI=0;
  57.         ES=1;
  58.         SIM_flag=Find("READY");
  59.         i--;
  60. }while(i&&!SIM_flag);

  61. while(1)
  62. {          
  63.         if(!(Change_flag==1&&Select_flag==0&&Sure_flag==1))
  64.                 read_time();
  65.         LCD_dispaly();
  66.         keyscan();
  67.         if(((Butane_density>=1900)||(Natural_density>=4800)||(Coal_density>=4800))&&beep_flag==1)
  68.         {
  69.                 j=5000;
  70.                 beep_flag=0;
  71.                 ES=0;
  72.                 TI=1;
  73.                 printf("ATD15551279102\n");
  74.                 while(!TI);
  75.                 TI=0;
  76.                 ES=1;
  77.                 TR0=1;
  78.                 do
  79.                 {
  80.                 Delay1ms(); //延時1ms,累加頻率值
  81.                 frq++;
  82.                 j--;
  83.                 }while(j>0);
  84.                 TR0=0;
  85.                 beep=1;
  86.                 read_time();
  87.                 over[6*over_flag]=date_r;
  88.                 over[1+6*over_flag]=hour_r;
  89.                 over[2+6*over_flag]=min_r;
  90.                 over[3+6*over_flag]=sec_r;
  91.                 over_flag++;
  92.                 LCD_dispaly();
  93.         }
  94.         if(Set_flag==1)
  95.         {
  96.                 Alarm_Set_Time(Set_hour,Set_min,Set_sec);               
  97.                 Set_flag=0;
  98.         }
  99.         if(Change_flag==1&&Sure_flag==0)       
  100.                 Dis_16x16((2*(Select_flag%3+1))+1,1,Arrow);
  101.         if(Change_flag==1&&Select_flag==0&&Sure_flag==1)
  102.                 Dis_8x16((TS_flag/9)*4+3,42+((TS_flag%9)/3)*21+(TS_flag%3-1)*8-(TS_flag/9)*8,Arrow_Up);
  103.         if(Change_flag==1&&Select_flag==1&&Sure_flag==1)
  104.                 Dis_8x16(7,16+8*((Testing_flag-1)%3)+(Testing_flag/3)*36,Arrow_Up);
  105.         }
  106. }
  107. void Delay20000ms()                //@11.0592MHz
  108. {
  109.         unsigned char i, j, k;

  110.         _nop_();
  111.         _nop_();
  112.         i = 73;
  113.         j = 117;
  114.         k = 62;
  115.         do
  116.         {
  117.                 do
  118.                 {
  119.                         while (--k);
  120.                 } while (--j);
  121.         } while (--i);
  122. }

  123. void Delay2000ms()                //@11.0592MHz
  124. {
  125.         unsigned char i, j, k;

  126.         _nop_();
  127.         _nop_();
  128.         i = 85;
  129.         j = 12;
  130.         k = 155;
  131.         do
  132.         {
  133.                 do
  134.                 {
  135.                         while (--k);
  136.                 } while (--j);
  137.         } while (--i);
  138. }
  139. void Delay1ms()                //@11.0592MHz
  140. {
  141.         unsigned char i, j;

  142.         _nop_();
  143.         _nop_();
  144.         _nop_();
  145.         i = 11;
  146.         j = 190;
  147.         do
  148.         {
  149.                 while (--j);
  150.         } while (--i);
  151. }
  152. void inte0()interrupt 0  using 1
  153. {
  154.         beep_flag=1;
  155.         write_byte(0x0f,0x00);
  156.         Set_flag=1;
  157. }                                      
復(fù)制代碼

所有資料51hei提供下載:
可燃氣體檢測.7z (2.15 MB, 下載次數(shù): 63)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区在线看 | 久久精品国产一区二区三区不卡 | 欧美日韩亚洲系列 | 6080yy精品一区二区三区 | 日韩美女在线看免费观看 | 成人av电影在线 | 中文字幕 欧美 日韩 | 国产清纯白嫩初高生在线播放视频 | 亚洲aⅴ一区二区 | 精品国产乱码久久久久久蜜臀 | 欧美在线天堂 | 中文字幕在线免费观看 | 美女艹b| 精品国产一区二区三区日日嗨 | 亚洲综合无码一区二区 | 国产精品久久久久婷婷二区次 | 国产成人精品一区二区三区四区 | av在线播放免费 | 中文字幕一区二区三区乱码在线 | 久久久久久国产精品 | 日韩欧美在线一区 | 91 久久| 国产精品成人av | 欧美一区二区三区在线观看 | 国产精品夜夜夜一区二区三区尤 | 宅男噜噜噜66一区二区 | 伊人最新网址 | 91久久久久久久久久久久久 | 99亚洲综合 | 天天爽网站 | 日韩欧美在线不卡 | 国产亚洲欧美在线 | 欧美黄色一级毛片 | 欧美一区免费在线观看 | 网色 | 亚州精品天堂中文字幕 | 成人久久18免费网站麻豆 | 91精品一区 | 精品一区二区三区日本 | 日韩在线精品 | 久久久精品黄色 |