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

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

QQ登錄

只需一步,快速開始

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

51單片機(jī)GSM模塊小型氣象站制作(原理圖+PCB源文件+源程序)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
以單片機(jī)為控制器的小型GSM模塊發(fā)送到手機(jī)。

功能:溫度,濕度,壓強(qiáng),PM2.5顯示,并可通過GSM模塊講述據(jù)發(fā)送到手機(jī)

方案:STC12C5A60S2 + DHT11 + BMP085 + GP2Y1050AU0F

讀取傳感器數(shù)據(jù)并通過LCD12864顯示

將數(shù)據(jù)通過GSM發(fā)送到手機(jī)

實(shí)物圖.jpg (1.35 MB, 下載次數(shù): 130)

實(shí)物圖.jpg

原理圖.png (45.6 KB, 下載次數(shù): 130)

原理圖.png

PCB圖.png (18.01 KB, 下載次數(shù): 124)

PCB圖.png

程序文件.jpg (102.89 KB, 下載次數(shù): 113)

程序文件.jpg

電路.jpg (67.4 KB, 下載次數(shù): 103)

電路.jpg

資料.jpg (77.71 KB, 下載次數(shù): 111)

資料.jpg

程序.rar

85.04 KB, 下載次數(shù): 264, 下載積分: 黑幣 -5

電路.rar

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

資料.rar

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

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-1-31 16:25 | 只看該作者
樓主的主程序:
  1. /*************************************************************************
  2. * PRO -- 小型氣象站
  3. *  
  4. * 功能:溫度,濕度,壓強(qiáng),PM2.5顯示,并可通過GSM模塊講述據(jù)發(fā)送到手機(jī)
  5. * 方案:STC12C5A60S2 + DHT11 + BMP085 + GP2Y1050AU0F
  6. *  
  7. * 讀取傳感器數(shù)據(jù)并通過LCD12864顯示
  8. * 將數(shù)據(jù)通過GSM發(fā)送到手機(jī)
  9. * 要使用GSM模塊時(shí),注意修改GSM_SendSensorDat()函數(shù)中的手機(jī)號(hào)
  10. *************************************************************************/
  11. #include <reg52.h>
  12. #include "bmp085.h"
  13. #include "dht11.h"
  14. #include "pm2_5_sensor.h"
  15. #include "sim900.h"
  16. #include "lcd12864.h"

  17. uchar code table1[] = "溫度:";
  18. uchar code table2[] = "濕度:";
  19. uchar code table3[] = "壓強(qiáng):";
  20. uchar code table4[] = "PM2.5:0000ug/m^3";

  21. void DisRefresh(void);
  22. void GSM_SendSensorDat(void);
  23. void delay100ms(void);
  24. void delay200ms(void);
  25. void delay300ms(void);


  26. void main(void)
  27. {
  28.         uchar i = 0;
  29.    
  30.         /* 相關(guān)器件初始化 ------------------------------------------------------------ */
  31.         LCD12864_Init();    // 液晶顯示初始化
  32.         BMP085_Init();      // 氣壓計(jì)初始化
  33.         UART2_Init();       // 與PM2.5模塊通信
  34.         UART1_Init();       // 與GSM模塊通信

  35.         /* GSM模塊相關(guān)設(shè)置 ------------------------------------------------------------ */
  36.         UART1_PrintStr("AT\r\n");  delay100ms();   
  37.         UART1_PrintStr("ATI\r\n");  delay100ms();               // 同步波特率
  38.         UART1_PrintStr("AT+CMGF=1\r\n");  delay100ms();         // 設(shè)置為英文模式   
  39.         UART1_PrintStr("AT+CSCS=\"GSM\"\r\n");  delay100ms();   // 設(shè)置GSM字符集
  40.         UART1_PrintStr("AT+CNMI=2,1\r\n");  delay100ms();       // 設(shè)置新消息提示       

  41.     LCD12864_Dis(0, 0, table1);
  42.         LCD12864_Dis(1, 0, table2);
  43.         LCD12864_Dis(2, 0, table3);
  44.         LCD12864_Dis(3, 0, table4);
  45.        
  46.         /* 上電延時(shí)一小段時(shí)間將數(shù)據(jù)發(fā)送到手機(jī) ------------------------------------- */
  47.         for(i=0; i<10; i++) {
  48.                 DisRefresh();       
  49.                 delay300ms();
  50.         }               
  51.         DisRefresh();               
  52.         GSM_SendSensorDat();  

  53.         while(1) {
  54.                
  55.                 /* 讀取數(shù)據(jù),更新顯示 */
  56.                 DisRefresh();                      
  57.                 delay200ms();               
  58.         }
  59. }       

  60. /**
  61. * 讀取傳感器數(shù)據(jù),并更新顯示
  62. */
  63. unsigned int Vout;
  64. unsigned char dis[4];
  65. void DisRefresh(void)
  66. {
  67.         uchar i;
  68.        
  69.         /* 讀取氣壓計(jì)數(shù)據(jù)并更新到顯示 */
  70.         BMP085_Convert();  
  71.   
  72.     /* 讀取溫濕度傳感器數(shù)據(jù)并更新到顯示,此處只用到濕度數(shù)據(jù),溫度數(shù)據(jù)采用BMP085傳感器的數(shù)據(jù)因其精度相對(duì)較高 */       
  73.         ReadHumidityTemperature();   
  74.        
  75.         /* 讀取PM2.5傳感器數(shù)據(jù) */
  76.         Vout = (unsigned char)((Vo[1]*256 + Vo[2])/1024.0*5*0.2*1000);  // Vo[]中的數(shù)據(jù)在USART2中斷中更新   
  77.                 dis[0] = Vout/1000 + 0x30;
  78.                 dis[1] = Vout%1000/100 + 0x30;
  79.                 dis[2] = Vout%100/10 + 0x30;  
  80.                 dis[3] = Vout%100%10 + 0x30;  
  81.         if (Vout > 1000) {
  82.                 dis[0] = Vout/1000 + 0x30;
  83.                 dis[1] = Vout%1000/100 + 0x30;
  84.                 dis[2] = Vout%100/10 + 0x30;  
  85.                 dis[3] = Vout%100%10 + 0x30;  
  86.         } else if(Vout > 100) {
  87.                 dis[0] = 0x20;
  88.                 dis[1] = Vout%1000/100 + 0x30;
  89.                 dis[2] = Vout%100/10 + 0x30;  
  90.                 dis[3] = Vout%100%10 + 0x30;  
  91.         } else if (Vout > 10) {
  92.                 dis[0] = 0x20;
  93.                 dis[1] = 0x20;
  94.                 dis[2] = Vout%100/10 + 0x30;  
  95.                 dis[3] = Vout%100%10 + 0x30;  
  96.         } else {
  97.                 dis[0] = 0x20;
  98.                 dis[1] = 0x20;
  99.                 dis[2] = 0x20;
  100.                 dis[3] = Vout%100%10 + 0x30;  
  101.         }
  102.        
  103.         /* 將更新的數(shù)據(jù)更新到GSM發(fā)送緩存中 */
  104.         for (i=0; i<4; i++) {
  105.                 SMS_Content[42+i] = dis[i];   
  106.         }
  107.        
  108.         /* 將讀取PM2.5模塊的數(shù)據(jù)更新到液晶顯示 */
  109.         LCD12864_WriteCmd(0x9B);
  110.         LCD12864_WriteDat(dis[0]);   LCD12864_WriteDat(dis[1]);          LCD12864_WriteDat(dis[2]);  LCD12864_WriteDat(dis[3]);   
  111. }

  112. /* ======================================== Short Message Service ======================================== */
  113. uchar SMS_Content[52] = "Temp:22.2, Pres:101.3KPa, Humi:50%, PM2.5:  30ug/m^3";   // 短信內(nèi)容
  114. /**
  115. * 發(fā)送傳感器數(shù)據(jù)
  116. * @param[in] temp:溫度
  117. * @param[in] hum:濕度
  118. * @param[in] dust:PM2.5濃度--ug/m^3
  119. */
  120. void GSM_SendSensorDat(void)
  121. {
  122.     /* 加載要發(fā)送的數(shù)據(jù)-->設(shè)置短信格式-->設(shè)置數(shù)據(jù)長(zhǎng)度-->發(fā)送信息 */
  123.         UART1_PrintStr("AT+CSCS=\"GSM\"\r\n");  delay300ms();
  124.         UART1_PrintStr("AT+CMGF=1\r\n");  delay300ms();                // 設(shè)置為文本模式
  125.         UART1_PrintStr("AT+CMGS=\"18813331234\"\r\n");  delay300ms();  // 此處修改為對(duì)方的電話號(hào)
  126.         UART1_PrintStr(SMS_Content);                                   // 修改短信內(nèi)容
  127.         UART1_PrintChar(0x1A);  
  128. }

  129. void delay100ms(void)   
  130. {
  131.     unsigned char a,b,c;
  132.     for(c=89;c>0;c--)
  133.         for(b=230;b>0;b--)
  134.             for(a=12;a>0;a--);
  135. }
  136. void delay200ms(void)   
  137. {
  138.     unsigned char a,b,c;
  139.     for(c=187;c>0;c--)
  140.         for(b=215;b>0;b--)
  141.             for(a=26;a>0;a--);
  142. }
  143. void delay300ms(void)   
  144. {
  145.     unsigned char a,b,c;
  146.     for(c=89;c>0;c--)
  147.         for(b=230;b>0;b--)
  148.             for(a=36;a>0;a--);
  149. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

板凳
ID:96218 發(fā)表于 2018-2-4 08:31 | 只看該作者
樓主數(shù)據(jù)測(cè)的準(zhǔn)確嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:350078 發(fā)表于 2018-6-12 10:42 | 只看該作者
樓主,這個(gè)傳感器哪里能買到啊? GP2Y1050AU0F
回復(fù)

使用道具 舉報(bào)

5#
ID:198161 發(fā)表于 2018-6-13 14:49 | 只看該作者
膜拜!高手!!!
回復(fù)

使用道具 舉報(bào)

6#
ID:272876 發(fā)表于 2018-6-17 15:08 | 只看該作者
能用嗎
回復(fù)

使用道具 舉報(bào)

7#
ID:466050 發(fā)表于 2019-1-10 18:31 | 只看該作者
挺不錯(cuò)的資料呢
回復(fù)

使用道具 舉報(bào)

8#
ID:357957 發(fā)表于 2019-1-11 19:41 | 只看該作者
感謝分享!學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

9#
ID:489061 發(fā)表于 2019-3-12 10:32 來自手機(jī) | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

10#
ID:492356 發(fā)表于 2019-3-17 01:00 | 只看該作者
感謝老師
回復(fù)

使用道具 舉報(bào)

11#
ID:508101 發(fā)表于 2019-4-9 21:00 | 只看該作者
傾角傳感器測(cè)得的角度,能用你的方法,傳輸?shù)绞謾C(jī)上嗎
回復(fù)

使用道具 舉報(bào)

12#
ID:375381 發(fā)表于 2019-4-11 16:57 來自手機(jī) | 只看該作者
請(qǐng)問樓主按照這個(gè)做出來后短信沒辦法發(fā)送是什么情況呢?
回復(fù)

使用道具 舉報(bào)

13#
ID:540085 發(fā)表于 2019-11-2 19:56 | 只看該作者
資料里有沒有相關(guān)操作的

回復(fù)

使用道具 舉報(bào)

14#
ID:540085 發(fā)表于 2019-11-6 12:48 | 只看該作者
資料里有全部程序么
回復(fù)

使用道具 舉報(bào)

15#
ID:637017 發(fā)表于 2019-11-7 19:31 | 只看該作者
不錯(cuò)哦
回復(fù)

使用道具 舉報(bào)

16#
ID:79874 發(fā)表于 2019-11-8 14:18 來自手機(jī) | 只看該作者
謝謝樓主分享牛叉
回復(fù)

使用道具 舉報(bào)

17#
ID:350104 發(fā)表于 2019-11-11 20:47 | 只看該作者
很好的資料  非常感謝
回復(fù)

使用道具 舉報(bào)

18#
ID:654509 發(fā)表于 2019-12-5 09:47 | 只看該作者

樓主真的是人才啊,膜拜大佬
回復(fù)

使用道具 舉報(bào)

19#
ID:425919 發(fā)表于 2019-12-5 17:21 | 只看該作者
下載學(xué)習(xí)中……
回復(fù)

使用道具 舉報(bào)

20#
ID:658963 發(fā)表于 2019-12-8 17:34 來自手機(jī) | 只看該作者
非常感謝分享
回復(fù)

使用道具 舉報(bào)

21#
ID:684031 發(fā)表于 2020-1-22 23:21 | 只看該作者
有protues仿真嗎
回復(fù)

使用道具 舉報(bào)

22#
ID:648281 發(fā)表于 2020-1-23 08:16 | 只看該作者

你好!
1、STC12C5A60S2不能仿真,要換成89C系列
2、GP2Y1050AU0F不能仿真,要換成電位器
3、GSM不能仿真,沒有替換器件
回復(fù)

使用道具 舉報(bào)

23#
ID:688013 發(fā)表于 2020-2-13 00:34 | 只看該作者
本帖最后由 xyhuhhh 于 2020-2-13 11:03 編輯
51hei**1140 發(fā)表于 2020-1-23 08:16
你好!
1、STC12C5A60S2不能仿真,要換成89C系列
2、GP2Y1050AU0F不能仿真,要換成電位器

謝謝,GSM不能仿真
回復(fù)

使用道具 舉報(bào)

24#
ID:517951 發(fā)表于 2020-11-15 16:21 | 只看該作者
不錯(cuò),值得學(xué)習(xí)。51hei有你更精彩!!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久精品 | www.夜夜骑| 欧美日韩一卡 | 亚洲成av人影片在线观看 | 亚洲一区日韩 | 日韩一区二区不卡 | 中文字幕国产 | 99日韩| 亚洲444kkkk在线观看最新 | 国产精品99久久免费观看 | 求个av网址| 91综合网 | 精品国产一区二区三区久久久四川 | 日韩色图在线观看 | 成av在线| 亚洲欧美在线观看视频 | 日韩1区2区 | 欧美中文字幕一区 | 精品国产乱码久久久久久影片 | 亚洲欧美一区二区三区在线 | 日本爱爱视频 | 亚洲毛片在线观看 | 网站黄色在线免费观看 | 国产精品亚洲精品 | 日韩二区 | 亚洲毛片在线 | 欧美高清免费 | 99热这里只有精品8 激情毛片 | 亚洲日本中文字幕在线 | 韩日一区 | 精品久久一区 | 日日做夜夜爽毛片麻豆 | www.日本在线观看 | 日韩视频在线免费观看 | 久久久精彩视频 | 久久精品国内 | 青青草一区 | 色综合久久天天综合网 | 国产国拍亚洲精品av | 涩涩视频网 | 国产一二三区免费视频 |