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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

SHT10農(nóng)田自動灌溉系統(tǒng)的仿真設(shè)計

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:188422 發(fā)表于 2017-10-24 19:24 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
基于51單片機的農(nóng)田自動灌溉系統(tǒng)的設(shè)計SHT10傳感器的proteus仿真原理圖如下:


單片機源程序如下:
  1. #include"SHT10.h"
  2. #define uchar unsigned char
  3. /*--------------------------------------
  4. ;啟動傳輸函數(shù)
  5. ;-------------------------------------*/
  6. void s_transstart(void)
  7. {
  8. DATA=1; SCK=0; //Initial state
  9. _nop_();
  10. SCK=1;
  11. _nop_();
  12. DATA=0;
  13. _nop_();
  14. SCK=0;
  15. _nop_();_nop_();_nop_();
  16. SCK=1;
  17. _nop_();
  18. DATA=1;
  19. _nop_();
  20. SCK=0;
  21. }

  22. /*--------------------------------------
  23. ;連接復(fù)位函數(shù)
  24. ;-------------------------------------*/
  25. void s_connectionreset(void)
  26. {
  27. unsigned char i;
  28. DATA=1; SCK=0;
  29. for(i=0;i<9;i++)
  30. {
  31. SCK=1;
  32. SCK=0;
  33. }
  34. s_transstart();
  35. }

  36. /*--------------------------------------
  37. ;SHT10寫函數(shù)
  38. ;-------------------------------------*/
  39. char s_write_byte(unsigned char value)
  40. {
  41. unsigned char i,error=0;
  42. for (i=0x80;i>0;i/=2) //shift bit for masking
  43. {
  44. if (i & value) DATA=1; //masking value with i , write to SENSI-BU
  45. else DATA=0;
  46. SCK=1; //clk for SENSI-BUS
  47. _nop_();_nop_();_nop_(); //pulswith approx. 3 us
  48. SCK=0;
  49. }
  50. DATA=1; //release DATA-line
  51. SCK=1; //clk #9 for ack
  52. error=DATA; //check ack (DATA will be pulled down by SHT11),DATA在第9個上升沿將被SHT10自動下拉為低電
  53. _nop_();_nop_();_nop_();
  54. SCK=0;
  55. DATA=1; //release DATA-line
  56. return error; //error=1 in case of no acknowledge //返回:0成功,1失敗
  57. }

  58. /*--------------------------------------
  59. ;SHT10讀函數(shù)
  60. ;-------------------------------------*/
  61. char s_read_byte(unsigned char ack)
  62. {
  63. unsigned char i,val=0;
  64. DATA=1;
  65. for (i=0x80;i>0;i/=2)
  66. { SCK=1;
  67. if (DATA) val=(val | i);
  68. _nop_();_nop_();_nop_();
  69. SCK=0;
  70. }
  71. if(ack==1)DATA=0;
  72. else DATA=1; //如果是校驗(ack==0),讀取完后結(jié)束通訊
  73. _nop_();_nop_();_nop_();
  74. SCK=1;
  75. _nop_();_nop_();_nop_();
  76. SCK=0;
  77. _nop_();_nop_();_nop_();
  78. DATA=1;
  79. return val;
  80. }
  81. /*--------------------------------------
  82. ;測量溫濕度函數(shù)
  83. ;-------------------------------------*/
  84. char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)
  85. {
  86. unsigned error=0;
  87. unsigned int i;

  88. s_transstart();
  89. switch(mode)
  90. {
  91.   case TEMP : error+=s_write_byte(MEASURE_TEMP);
  92.   break;
  93.   case HUMI : error+=s_write_byte(MEASURE_HUMI);
  94.   break;
  95.   default :
  96.   break;
  97. }
  98. for (i=0;i<65535;i++)
  99. if(DATA==0) break;
  100. if(DATA) error+=1;
  101. *(p_value) =s_read_byte(ACK);
  102. *(p_value+1)=s_read_byte(ACK);
  103. *p_checksum =s_read_byte(noACK);
  104. return error;
  105. }
  106. /*--------------------------------------
  107. ;溫濕度補償函數(shù)
  108. ;-------------------------------------*/
  109. void calc_SHT10(float *p_humidity ,float *p_temperature)
  110. {
  111. const float C1=-4.0;
  112. const float C2=+0.0405;
  113. const float C3=-0.0000028;
  114. const float T1=+0.01;
  115. const float T2=+0.00008;
  116. float rh=*p_humidity;
  117. float t=*p_temperature;
  118. float rh_lin;
  119. float rh_true;
  120. float t_C;

  121. t_C=t*0.01 - 40;


  122. rh_lin=C3*rh*rh + C2*rh + C1;
  123. rh_true=(t_C-25)*(T1+T2*rh)+rh_lin;
  124. if(rh_true>100)rh_true=100;
  125. if(rh_true<0.1)rh_true=0.1;
  126. *p_temperature=t_C;
  127. *p_humidity=rh_true+C1;
  128. }


  129. //讀狀態(tài)寄存器
  130. char s_read_statusreg(unsigned char*p_value, unsigned char *p_checksum)
  131. //----------------------------------------------------------------------------------
  132. // reads the status register with checksum(8-bit)
  133. {
  134.        unsigned char error=0;
  135.        s_transstart();                   //transmission start
  136.        error=s_write_byte(STATUS_REG_R);//send command to sensor
  137.        *p_value=s_read_byte(ACK);        //read status register (8-bit)
  138.        *p_checksum=s_read_byte(noACK);   //read checksum (8-bit)
  139.        return error;                     //error=1 in case of no response form the sensor
  140. }

  141. //寫狀態(tài)寄存器
  142. char s_write_statusreg(unsigned char*p_value)
  143. // writes the status register with checksum(8-bit)
  144. {
  145.        unsigned char error=0;
  146.        s_transstart();                   //transmission start
  147.        error+=s_write_byte(STATUS_REG_W);//sendcommand to sensor
  148.        error+=s_write_byte(*p_value);    //send value of status register
  149.        return error;                     //error>=1 in case of no response form the sensor
  150. }

  151. ……………………

  152. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
sht10.zip (343.6 KB, 下載次數(shù): 253)


評分

參與人數(shù) 2黑幣 +55 收起 理由
wangshuang + 5 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:243124 發(fā)表于 2017-10-26 14:10 來自手機 | 只看該作者
大神太厲害了
回復(fù)

使用道具 舉報

板凳
ID:168523 發(fā)表于 2017-10-28 17:42 | 只看該作者
太棒了
回復(fù)

使用道具 舉報

地板
ID:240522 發(fā)表于 2017-10-28 18:25 | 只看該作者
作為了解,看看,謝謝樓主分享!!!
回復(fù)

使用道具 舉報

5#
ID:265988 發(fā)表于 2018-1-21 13:42 | 只看該作者
真實的·硬件有通過嗎?
回復(fù)

使用道具 舉報

6#
ID:493112 發(fā)表于 2019-3-18 20:48 | 只看該作者
厲害了,大神
回復(fù)

使用道具 舉報

7#
ID:733698 發(fā)表于 2020-4-20 21:03 | 只看該作者
要什么條件才會噴灌或排水,設(shè)置了溫濕度都不會排水?
回復(fù)

使用道具 舉報

8#
ID:733698 發(fā)表于 2020-4-27 16:59 | 只看該作者
怎么改成lcd1602
回復(fù)

使用道具 舉報

9#
ID:740050 發(fā)表于 2020-5-1 12:47 | 只看該作者
euihddd 發(fā)表于 2020-4-20 21:03
要什么條件才會噴灌或排水,設(shè)置了溫濕度都不會排水?

現(xiàn)在知道了嗎?求解
回復(fù)

使用道具 舉報

10#
ID:740050 發(fā)表于 2020-5-1 12:50 | 只看該作者
euihddd 發(fā)表于 2020-4-20 21:03
要什么條件才會噴灌或排水,設(shè)置了溫濕度都不會排水?

濕度>=70%   排水
回復(fù)

使用道具 舉報

11#
ID:728467 發(fā)表于 2020-5-1 22:33 來自手機 | 只看該作者
離開的時間 發(fā)表于 2020-5-1 12:50
濕度>=70%   排水

能不能改成用LCD1602,真實的硬件能用不?
回復(fù)

使用道具 舉報

12#
ID:382728 發(fā)表于 2021-11-20 14:03 | 只看該作者

大神太厲害了
回復(fù)

使用道具 舉報

13#
ID:985245 發(fā)表于 2021-11-27 19:40 | 只看該作者
請問可以講解一下農(nóng)田灌溉系統(tǒng)的各個電路的作用和實現(xiàn)的功能嗎?謝謝啦
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久激情视频 | 国产人久久人人人人爽 | 欧美性久久| 欧美va大片 | 午夜精品久久久久久久久久久久 | 国产精品视频一区二区三区, | 中国黄色毛片视频 | 国产良家自拍 | 国产精品久久久久无码av | 青青激情网 | 亚洲三区在线观看 | 九九综合九九 | 免费在线观看毛片 | 毛片免费在线观看 | 精品一区二区三区视频在线观看 | 精品在线99| 日韩成人av在线播放 | 九九久久精品 | 亚洲综合国产 | 亚洲不卡视频 | 免费网站国产 | 日韩午夜网站 | 二区在线视频 | 国产在线一区观看 | 色吊丝2288sds中文字幕 | 久久久久久成人 | 成人一区二区三区在线观看 | 国产综合久久久久久鬼色 | 男女视频网站 | 欧美日韩精品一区二区天天拍 | 一区二区成人 | 国产精品视频偷伦精品视频 | 日韩高清电影 | 国产免费一区二区三区最新6 | 国产色在线 | 免费v片在线观看 | 亚洲精品视频一区二区三区 | 狠狠草视频 | 毛片在线免费 | 九九一级片| 国产高清一区二区三区 |