标题: YL69土壤湿度传感器原理图与单片机源程序等资料 [打印本页]

作者: 51hei学习技术中    时间: 2017-3-23 04:58
标题: YL69土壤湿度传感器原理图与单片机源程序等资料
YL69土壤湿度模块的实物图:




YL69土壤湿度传感器原理图:


YL69土壤湿度传感器与单片机接口源程序:
  1. /******************************************
  2. 传感器触发测试
  3. 单片机:STC89C52
  4. 波特率:9600
  5. *****************************************/
  6. #include <reg52.h>
  7. unsigned char date;
  8. #define uchar unsigned char
  9. #define uint unsigned int
  10. sbit key1=P0^1;


  11. /* 函数申明 -----------------------------------------------*/
  12. void delay(uint z);
  13. void Initial_com(void);

  14. //***********************************************************

  15. /*
  16. ********************************************************************************
  17. ** 函数名称 : delay(uint z)
  18. ** 函数功能 : 延时函数
  19. ********************************************************************************
  20. */
  21. void delay(uint z)
  22. {                                                                                               
  23.     uint i,j;
  24.     for(i=z;i>0;i--)
  25.         for(j=110;j>0;j--);
  26. }


  27. //******************************

  28. //*****串口初始化函数***********

  29. //******************************
  30. void Initial_com(void)
  31. {
  32. EA=1;        //开总中断
  33. ES=1;        //允许串口中断
  34. ET1=1;        //允许定时器T1的中断
  35. TMOD=0x20;   //定时器T1,在方式2中断产生波特率
  36. PCON=0x00;   //SMOD=0
  37. SCON=0x50;   // 方式1 由定时器控制
  38. TH1=0xfd;    //波特率设置为9600
  39. TL1=0xfd;
  40. TR1=1;       //开定时器T1运行控制位

  41. }




  42. //*************************
  43. //**********主函数*********
  44. //*************************
  45. main()
  46. {
  47.      Initial_com();
  48.      while(1)
  49.      {
  50.    
  51.           if(key1==0)
  52.         {
  53.             delay();      //消抖动
  54.             if(key1==0)      //确认触发
  55.             {
  56.                  SBUF=0X01;
  57.                  delay(200);
  58.                
  59.             
  60.             }
  61.       
  62.         }
  63.          
  64.           if(RI)
  65.           {
  66.             date=SBUF;    //单片机接受
  67.             SBUF=date;    //单片机发送
  68.             RI=0;
  69.           }
  70.         
  71.         
  72.       }
  73. }
复制代码


以上的这些代码和原理图给大家打个包,方便大家保存,我这个代码欢迎大家批评指正其中的错误:
YL69的土壤湿度传感器资料以及其数据获取代码.rar (146.71 KB, 下载次数: 721)
大家还可以参考51hei大神的帖子,对于这个解释的很清楚,大家一起学习进步:
有图:http://www.51hei.com/bbs/dpj-166023-1.html
http://www.51hei.com/bbs/dpj-162397-1.html


作者: zqy181818    时间: 2017-3-23 11:20
给力!
作者: QiuFeng    时间: 2017-5-26 16:36
数据获取代码……
作者: hanyan111    时间: 2017-7-4 10:20
这里有对采集数据的ad转换代码吗?
作者: Jason1111    时间: 2018-5-12 12:45
#include <reg52.h>在哪?

作者: SADong    时间: 2018-6-2 10:52
为什么下载文件被电脑阻止了
作者: chendayi01    时间: 2018-6-6 11:15
只是一个串口程序,跟传感器一点都不拉边。ET=1;可有可无的。鸡肋。
作者: beyonbirth    时间: 2018-10-30 22:21
某一个宝发的资料一样,没卵用,后面的人只要在网页上看看就行了,下载就没必要了,因为下载了也是这些
作者: mumu168    时间: 2018-11-1 16:34
已下载,先看看,谢谢
作者: sunleaf    时间: 2019-1-8 16:51
看你发那么多帖子,以为你是个大神,进去发现你压根不配,代码都没注释
作者: 带你游世界    时间: 2019-4-24 18:10
找了好多都是这样!气死了,怎么理解代码?

作者: gymqq    时间: 2019-11-5 14:49
太难了
作者: lishuaibbs    时间: 2020-4-28 12:58
学习一下
作者: lyyjbj001    时间: 2020-5-18 07:29
要是在加个1602液晶可以把湿度的值显示出来就更好了
作者: 幻夜行    时间: 2021-4-7 20:34
这怎么只有串口的程序




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