<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89S52的家庭智能澆花器設(shè)計(jì)

          基于AT89S52的家庭智能澆花器設(shè)計(jì)

          作者: 時(shí)間:2011-08-10 來(lái)源:網(wǎng)絡(luò) 收藏
          3 程序設(shè)計(jì)

            3.1 程序設(shè)計(jì)思路

            1)方式設(shè)定 通過(guò)檢測(cè)按鍵按下次數(shù)來(lái)確定工作方式,設(shè)按下次數(shù)為n,第一次按下n=1,每次按下n加一,加到一定次數(shù)1 000,n從0開始,if(n=10000)(n=0);剛開始連接按鍵的引腳為高電平,一旦按下就變?yōu)榈碗娖?,通過(guò)檢測(cè)高電平變?yōu)榈碗娖降拇螖?shù)來(lái)檢測(cè)是否按下;按下奇數(shù)次,采用定時(shí)定量澆花,偶數(shù)次采用通過(guò)檢測(cè)濕度澆花,if(n%2=0)來(lái)判斷,如果余數(shù)為O,說(shuō)明偶數(shù)次,否則奇數(shù)次。

            2)定時(shí)定量澆花 先寫出時(shí)間顯示程序,再判斷是否到了設(shè)定的澆花時(shí)間以及澆花時(shí)間長(zhǎng)短。

            

          e.JPG

            程序里,c表示時(shí),b表示分,a表示秒,w表示設(shè)置的時(shí)間長(zhǎng)短。首先時(shí)間沒到的情況下,p2.0引腳為0(P2_0=0),不澆水,當(dāng)時(shí)間到了設(shè)定的時(shí)間(if(c==7b==200

            3)濕度檢測(cè)澆水 首先啟動(dòng)轉(zhuǎn)換,讀取LTM8901檢測(cè)到的濕度,進(jìn)行比較判斷,最后執(zhí)行。

            3.2 流程圖

            智能澆花器程序流程圖如圖6所示。

            

          f.JPG

            4 結(jié)論

            本文介紹了的設(shè)計(jì),進(jìn)行了硬件設(shè)計(jì)與程序分析,已經(jīng)做成實(shí)物,并且使用效果好。用處較廣,改變程序還可作為可定時(shí)開關(guān)、宿舍燈光系統(tǒng)、溫控塑料大棚等使用,此,也可以用在智能澆灌草坪、蔬菜等,把水箱去掉,直接接水龍頭即可。系統(tǒng)設(shè)計(jì)的創(chuàng)新之處在于實(shí)現(xiàn)不同方式的自動(dòng)澆花以及水管的可伸縮有助于改變花盆離水源的距離;在設(shè)計(jì)過(guò)程需要注意的問(wèn)題是防止電磁閥吸合時(shí)使單片機(jī)復(fù)位,加入電阻和電容加以緩沖,在此系統(tǒng)中選用的電容為耐壓400 V的。


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: AT89S52 家庭智能澆花器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();