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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于AT89S52單片機的家電控制系統(tǒng)設計

          基于AT89S52單片機的家電控制系統(tǒng)設計

          作者: 時間:2010-03-24 來源:網(wǎng)絡 收藏

          3 系統(tǒng)功能分析
          3.1 即時開關與狀態(tài)返回功能
          按下KEYl鍵,即可進入即時開關與狀態(tài)返回功能。此時數(shù)碼顯示管和LED燈都沒有變化,用戶可以選擇按下KEY2和KEY3中的任意一個,來選擇其中一盞燈泡(模擬一路電器)作為操作對象?,F(xiàn)以按下KEY2為例,則左起第二個數(shù)碼管顯示“2”,同時左起第6盞LED小燈亮,表示KEY2確實被按下(此處可用于故障檢驗)。
          3.2 時間顯示與設定功能
          時間顯示功能可在初始通電以后按下KEY2鍵開始執(zhí)行。在按下KEY3鍵以后,數(shù)碼管從左起第三個開始,到第八個為止。分別顯示小時、分鐘、秒數(shù),用戶可以根據(jù)需要設定時間,按下KEY3,則小時數(shù)加一,按下KEY2,則分鐘數(shù)加一。該鍵還帶有自動進位功能。整個數(shù)碼管時間顯示的極限是23時59分59秒。
          3.3 定時開關功能
          定時開關功能是在初始通電以后按下KEY3鍵開始進行的。初始數(shù)碼管從左起第三個開始,到第八個為止,全部顯示為“0”,以等待按鍵輸入設定時間。此時,按下KEYl,則小時顯示加1,并定時中斷程序中,全局變量值加60;按下KEY2,分鐘顯示加1,定時中斷程序中,全局變量值加l;再次按下KEY3,即進入中斷定時子程序,開始定時。定時結束以后,所指定的那個電器開關狀態(tài)取反。在定時結束時,對應的LED自動點亮。
          3.4 功能拓展與強化
          該系統(tǒng)的現(xiàn)有功能還比較基礎,主要局限在對于電器的開關操作中。比較現(xiàn)實的改進方案是加入語音提示功能。使用戶在每次按鍵以前都可以有語音提示,如果出現(xiàn)錯誤按鍵,還可以有語音提示糾錯。再有就是擴展鍵盤,現(xiàn)在的鍵盤數(shù)量的限制不僅使可操作的電器數(shù)量有限,還制約了的功能。在加入按鍵以后,除了可控電器數(shù)量會提升,還可以附加諸如分層次調節(jié)。在條件更好的情況下,也可以增加電話遠程控制,使某個固定號碼與相連,這樣,當用戶在較遠處時,就可以通過網(wǎng)絡與系統(tǒng)連接,并根據(jù)事先在程序中的設定,通過電話上的不同按鍵實現(xiàn)系統(tǒng)中按鍵的效果。從而完成遠程的控制。

          4 結束語
          按照上述軟硬件的分析??稍诔浞至私?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/AT89S52">AT89S52的基礎上,基本實現(xiàn)帶有即時開關、狀態(tài)返回、時間顯示與設定、定時開關等多種功能的多路。用戶可以根據(jù)自己需要選擇相應電器,了解其工作狀態(tài),自主設定時間進行通斷操作。同時,這個系統(tǒng)還具有良好的拓展性,因此可以加入語音提示、多功能控制、甚至遠程控制等后續(xù)功能。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();