标题: 单片机+DHT11采集数据发送到上位机的问题 [打印本页]

作者: Hoshimiya    时间: 2022-5-26 21:34
标题: 单片机+DHT11采集数据发送到上位机的问题
学校单片机的课排到下学期了,没什么基础想请教一下通过DH11采集完环境湿度后。在这之上加入一个上位机来根据传过来的数据阈值控制风扇打开关闭,具体的思路是怎么样的呢?
接触单片机的时间短,不太清楚这个概念,有些无从下手...如果只是让上位机进行简单的控制,用proteus仿真该怎么实现?

单片机源程序如下:
  1. #include"DHT11.h"

  2. void Delay30us()               
  3. {
  4.         uchar i;

  5.         _nop_();
  6.         i = 12;
  7.         while (--i);
  8. }

  9. void Delay40us()               
  10. {
  11.         uchar i;

  12.         _nop_();
  13.         i = 17;
  14.         while (--i);
  15. }

  16. void Delay20ms()               
  17. {
  18.         uchar i, j;

  19.         i = 39;
  20.         j = 230;
  21.         do
  22.         {
  23.                 while (--j);
  24.         } while (--i);
  25. }


  26. void Init()
  27. {
  28.         dht=1;
  29.         dht=0;
  30.         Delay20ms();
  31.         dht=1;
  32.         Delay30us();
  33. }

  34. uchar Read()
  35. {
  36.         uchar dat=0,detect=0;
  37.         uchar i;

  38.         for(i=0;i<8;i++)        
  39.         {
  40.                 while(!dht);
  41.                 Delay40us();
  42.                 if(dht==1)
  43.                 {
  44.                         detect=1;
  45.                 }
  46.                 else
  47.                 {
  48.                         detect=0;
  49.                 }
  50.                 dat<<=1;
  51.                 dat|=detect;
  52.                 while(dht);
  53.         }

  54. return dat;
  55. }
复制代码



作者: lovecomputer    时间: 2022-5-27 08:38
上下位机通信是工业控制非常常见的应用,具体的思路可以采取如下方法:
1、下位机也就是单片机采集传感器数据后,可以单片机分析数据,直接控制执行机构(这部分你已实现)
2、如果算法复杂并实时性不高,可以上传到上位机处理,如果实时性高需要边缘计算
3、你可以上下位机各做个通信程序,通常是串口或者485或者CAN,看你实时性(样例程序网上很多)
4、先做单片机的接收发送程序,定义好数据结构,调试可以用现成的网上软件比如xcom等串口调试助手
5、或者用proteus里COMPIM元件建立虚拟终端和串口的映射,具体参见https://blog.csdn.net/lijin111222/article/details/123187483,建议单独开发上位机程序增加经验
6、单片机的接收发送程序做好后,做上位机,也就是通过上位机点击形成类似串口调试助手的数据,发给单片机
7、单片机中断接收数据放入队列,主程序根据数据也就是命令执行响应控制操作
8、你这个课题作为学生很典型,建议继续深入学习,拓展视野
作者: Hoshimiya    时间: 2022-5-27 15:02
lovecomputer 发表于 2022-5-27 08:38
上下位机通信是工业控制非常常见的应用,具体的思路可以采取如下方法:
1、下位机也就是单片机采集传感器 ...

好的,我再多查一查资料了解一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1