找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5635|回复: 7
打印 上一主题 下一主题
收起左侧

单片机DHT11温控设计 带上位机和下位机程序(RS-485总线)

  [复制链接]
跳转到指定楼层
楼主
显示功能:在计算机终端和图形设备上以文字、图形等形式显示各个测控基站采集的信息和控制设备的状态。
数据通讯功能:主机和测控基站之间通过 RS-485 总线实现双向数据传输。
报警显示功能:当测控基站检测到温度值超标、可燃气体超标,立即将此信息发送给主机,主机接收到此信息后进行报警提示。
测控基站报警阈值设定功能:可以在主机上设定温度值超标的阈值,当温度值超过此阈值时才进行报警。
继电器控制功能:主机可发送命令驱动继电器动作,控制继电器的闭合让继电器处于需要的工作状态。
步进电机驱动功能:主机可发送命令驱动步进电机。可以驱动的项目如下:
正转;
反转
转速。
故障诊断功能:在主机上能实时反映测控基站的工作状态,自动诊断其是否在线并能进
行报警提示。
如果对您有帮助,那就很好了;

单片机源程序如下:
  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温湿度监控系统(RS485总线)                        
  15. **--------------------------------------------------------------------------------------------------------
  16. ** Modified by:                        FiYu
  17. ** Modified date:               
  18. ** Version:                                
  19. ** Descriptions:               
  20. ** Rechecked by:               
  21. **********************************************************************************************************/
  22. /****-----请阅读PDF文档  项目实战1:iM-Net温湿度监控系统(RS485总线)进行实验--***********/

  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) 步进电机(1)


  36. /***************************************************************************
  37. * 描  述 : 主函数
  38. * 入  参 : 无
  39. * 返回值 : 无
  40. **************************************************************************/
  41. int main()
  42. {                                          
  43.         uint16_t loop = 0;
  44.         /////////////////////////////////////////////////
  45.   //注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为
  46.   //      高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用
  47.   //相关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;        //设置P0.0~P0.7为准双向口
  51.         P1M1 = 0;        P1M0 = 0;        //设置P1.0~P1.7为准双向口
  52.         P2M0 = 0;        P2M1 = 0;        //设置P2.0~P2.7为准双向口
  53.         P3M1 = 0;        P3M0 = 0;        //设置P3.0~P3.7为准双向口
  54.         P4M1 = 0;        P4M0 = 0;        //设置P4.0~P4.7为准双向口
  55.         P5M1 = 0;        P5M0 = 0;        //设置P5.0~P5.7为准双向口

  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气体传感器的情况下,才会检测其状态
  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,才会读取温度
  79.                           loop = 0;
  80.                   }
  81.     }
  82. ……………………

  83. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
项目实战1 - iM-Net温湿度监控系统(RS-485总线).rar (3 MB, 下载次数: 119)






评分

参与人数 1黑币 +3 收起 理由
zhangli019 + 3 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:96326 发表于 2017-7-23 08:31 | 只看该作者
感谢无私分享!
回复

使用道具 举报

板凳
ID:260557 发表于 2018-5-9 08:54 | 只看该作者
赞。。。
回复

使用道具 举报

地板
ID:53978 发表于 2018-6-5 10:36 | 只看该作者
这个看了必须要回阿 感谢分享
回复

使用道具 举报

5#
ID:79874 发表于 2018-8-15 07:50 | 只看该作者
你好能分享下上位机吗,非常感谢
回复

使用道具 举报

6#
ID:386397 发表于 2018-8-15 09:24 | 只看该作者
您好,请问下上位机那个界面是怎么制作的
回复

使用道具 举报

7#
ID:92810 发表于 2018-11-12 15:26 | 只看该作者
学习学习咯,感谢分享了
回复

使用道具 举报

8#
ID:530609 发表于 2020-6-16 21:09 | 只看该作者
感谢,上位机有吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表