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

QQ登錄

只需一步,快速開始

搜索
查看: 6538|回復(fù): 7
收起左側(cè)

單片機(jī)DHT11溫控設(shè)計(jì) 帶上位機(jī)和下位機(jī)程序(RS-485總線)

  [復(fù)制鏈接]
ID:218519 發(fā)表于 2017-7-22 18:54 | 顯示全部樓層 |閱讀模式
顯示功能:在計(jì)算機(jī)終端和圖形設(shè)備上以文字、圖形等形式顯示各個(gè)測控基站采集的信息和控制設(shè)備的狀態(tài)。
數(shù)據(jù)通訊功能:主機(jī)和測控基站之間通過 RS-485 總線實(shí)現(xiàn)雙向數(shù)據(jù)傳輸。
報(bào)警顯示功能:當(dāng)測控基站檢測到溫度值超標(biāo)、可燃?xì)怏w超標(biāo),立即將此信息發(fā)送給主機(jī),主機(jī)接收到此信息后進(jìn)行報(bào)警提示。
測控基站報(bào)警閾值設(shè)定功能:可以在主機(jī)上設(shè)定溫度值超標(biāo)的閾值,當(dāng)溫度值超過此閾值時(shí)才進(jìn)行報(bào)警。
繼電器控制功能:主機(jī)可發(fā)送命令驅(qū)動(dòng)繼電器動(dòng)作,控制繼電器的閉合讓繼電器處于需要的工作狀態(tài)。
步進(jìn)電機(jī)驅(qū)動(dòng)功能:主機(jī)可發(fā)送命令驅(qū)動(dòng)步進(jìn)電機(jī)?梢则(qū)動(dòng)的項(xiàng)目如下:
正轉(zhuǎn);
反轉(zhuǎn)
轉(zhuǎn)速。
故障診斷功能:在主機(jī)上能實(shí)時(shí)反映測控基站的工作狀態(tài),自動(dòng)診斷其是否在線并能進(jìn)
行報(bào)警提示。
如果對(duì)您有幫助,那就很好了;
0.png 0.png
單片機(jī)源程序如下:
  1. /****************************************Copyright (c)****************************************************
  2. **                                       
  3. **                                 
  4. **
  5. **--------------File Info---------------------------------------------------------------------------------
  6. ** File name:                        
  7. ** Last modified Date:         
  8. ** Last Version:                  
  9. ** Descriptions:                                                        
  10. **--------------------------------------------------------------------------------------------------------
  11. ** Created by:                        FiYu
  12. ** Created date:                2016-9-18
  13. ** Version:                            1.0
  14. ** Descriptions:                iM-Net溫濕度監(jiān)控系統(tǒng)(RS485總線)                        
  15. **--------------------------------------------------------------------------------------------------------
  16. ** Modified by:                        FiYu
  17. ** Modified date:               
  18. ** Version:                                
  19. ** Descriptions:               
  20. ** Rechecked by:               
  21. **********************************************************************************************************/
  22. /****-----請(qǐng)閱讀PDF文檔  項(xiàng)目實(shí)戰(zhàn)1:iM-Net溫濕度監(jiān)控系統(tǒng)(RS485總線)進(jìn)行實(shí)驗(yàn)--***********/

  23. #include <intrins.h>
  24. #include <string.h>
  25. #include "uart.h"               
  26. #include "improtocol.h"        
  27. #include "gas.h"
  28. #include "DHT11.h"
  29. #include "relay.h"
  30. #include "timer.h"

  31. #define  UART_BUF_MAX  30
  32. /**********************
  33. 全局變量
  34. ***********************/

  35. uint8_t DevStat[8];//LED(1)  DHT11或DS18B20(4) MQ-2(1) 繼電器(1) 步進(jìn)電機(jī)(1)


  36. /***************************************************************************
  37. * 描  述 : 主函數(shù)
  38. * 入  參 : 無
  39. * 返回值 : 無
  40. **************************************************************************/
  41. int main()
  42. {                                          
  43.         uint16_t loop = 0;
  44.         /////////////////////////////////////////////////
  45.   //注意: STC15W4K32S4系列的芯片,上電后所有與PWM相關(guān)的IO口均為
  46.   //      高阻態(tài),需將這些口設(shè)置為準(zhǔn)雙向口或強(qiáng)推挽模式方可正常使用
  47.   //相關(guān)IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
  48.   //        P2.3/P2.7/P3.7/P4.2/P4.4/P4.5
  49.   /////////////////////////////////////////////////
  50.         P0M1 = 0;        P0M0 = 0;        //設(shè)置P0.0~P0.7為準(zhǔn)雙向口
  51.         P1M1 = 0;        P1M0 = 0;        //設(shè)置P1.0~P1.7為準(zhǔn)雙向口
  52.         P2M0 = 0;        P2M1 = 0;        //設(shè)置P2.0~P2.7為準(zhǔn)雙向口
  53.         P3M1 = 0;        P3M0 = 0;        //設(shè)置P3.0~P3.7為準(zhǔn)雙向口
  54.         P4M1 = 0;        P4M0 = 0;        //設(shè)置P4.0~P4.7為準(zhǔn)雙向口
  55.         P5M1 = 0;        P5M0 = 0;        //設(shè)置P5.0~P5.7為準(zhǔn)雙向口

  56.         rs485_dr=0;     // 控制485接收
  57.         Timer0Init();
  58.         Uart1_Init();                // 初始化串口
  59.         Uart3_Init();           //初始化串口3
  60.         
  61.         EA = 1;         // 總中斷打開
  62.   RELAY_PIN = RELAY_RELEASE;
  63.         
  64.         while(1)
  65.         {
  66.     loop++;
  67.                 if(Get_ConfigDev(MQ2_CONFIG_OS))//只有配置了MQ-2氣體傳感器的情況下,才會(huì)檢測其狀態(tài)
  68.                 {
  69.                         if(Check_MQ2_Stat() == GAS_ABNORMAL)DevStat[MQ2_STAT_OS] = GAS_ABNORMAL;
  70.                   else DevStat[MQ2_STAT_OS] = GAS_NORMAL;        
  71.                 }
  72.                
  73.                 if(UartReceFrame() == UART_FRAME_AVAIL)
  74.                 {
  75.       IM_RS485_Handle();
  76.       if(loop >= 20000)
  77.                   {
  78.                           if(Get_ConfigDev(DHT11_CONFIG_OS))DHT11(); //獲取溫濕度值,只有配置了DHT11,才會(huì)讀取溫度
  79.                           loop = 0;
  80.                   }
  81.     }
  82. ……………………

  83. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png
所有資料51hei提供下載:
項(xiàng)目實(shí)戰(zhàn)1 - iM-Net溫濕度監(jiān)控系統(tǒng)(RS-485總線).rar (3 MB, 下載次數(shù): 123)






評(píng)分

參與人數(shù) 1黑幣 +3 收起 理由
zhangli019 + 3 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:96326 發(fā)表于 2017-7-23 08:31 | 顯示全部樓層
感謝無私分享!
回復(fù)

使用道具 舉報(bào)

ID:260557 發(fā)表于 2018-5-9 08:54 | 顯示全部樓層
贊。。。
回復(fù)

使用道具 舉報(bào)

ID:53978 發(fā)表于 2018-6-5 10:36 | 顯示全部樓層
這個(gè)看了必須要回阿 感謝分享
回復(fù)

使用道具 舉報(bào)

ID:79874 發(fā)表于 2018-8-15 07:50 | 顯示全部樓層
你好能分享下上位機(jī)嗎,非常感謝
回復(fù)

使用道具 舉報(bào)

ID:386397 發(fā)表于 2018-8-15 09:24 | 顯示全部樓層
您好,請(qǐng)問下上位機(jī)那個(gè)界面是怎么制作的
回復(fù)

使用道具 舉報(bào)

ID:92810 發(fā)表于 2018-11-12 15:26 | 顯示全部樓層
學(xué)習(xí)學(xué)習(xí)咯,感謝分享了
回復(fù)

使用道具 舉報(bào)

ID:530609 發(fā)表于 2020-6-16 21:09 | 顯示全部樓層
感謝,上位機(jī)有嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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