新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機的電熱水器定時控制器設計

        基于51單片機的電熱水器定時控制器設計

        作者: 時間:2012-01-17 來源:網絡 收藏

        0 引言

        傳統的大容量的加熱時間一般都比較長,如果熱水器一直開著,則會一直耗能耗電,而定時開關控制器則可有效解決這些問題,使使用起來更加舒適省電。這樣,不僅可以充分利用閑置的時間,避免用戶使用時長時間的等待,減少不必要的保溫,也可以更加節約電能,特別對低谷及高峰用電有差價的地區.利用晚間低谷用電開機加熱,白天用電高峰關機保溫,便能大量節約電費開支。本文中的主要是以單片機AT89C2051作為核心控制元件,通過外圍電路來控制熱水器的電源,以達到定時開關機的目的。

        1 硬件組成

        本電熱水器控制系統在加電后即可進入正常計時狀態,用戶可以隨時校準時間并設定熱水器的開關時間,以便控制器能夠在設定的開關時刻通過單片機的輸出端口控制輸出繼電器的動作,進而控制熱水器的啟閉。該系統的硬件原理圖見圖1所示。

        本系統的核心單片機AT89C2051為20腳300MIL封裝,是一種帶有2KB FLASH E2PROM的單片機。該單片機除了少了兩個并口外,能兼容MCS-51系列單片機的所有功能,且具備體積小、功能強、運行速度快等特點。該電路可通過單片機的P3.7口連接一個鍵盤電路來實現對參數的人工自由設定,同時可通過串口連接6位LED數碼管,以分別顯示小時、分鐘和秒。系統定時啟動是通過 P3.0口完成的。程序開始時這三個口的輸出狀態都是低電平,AT89C2051通過程序查詢P3.0口輸出ON或OFF的狀態預置時間是否已到,
        如果已到時間,則改變相應的輸出狀態,從而完成對外部電路的控制。

        下面重點介紹鍵盤、顯示以及輸出控制這三種電路。

        1.1 顯示電路

        本系統中的顯示電路主要由七段共陽顯示譯碼器74LS47、3線-8線譯碼器74tHC138、7個PNP型三極管和六個數碼管組成。通過 AT89C2051的P1.4~P1.7口將要顯示字符的BCD碼輸出到74LS47的四個輸人端,然后譯碼并輸出相應的筆段來驅動LED數碼管(共陽)。LED數碼管顯示采用動態掃描方式,即在某一時刻,只有一個數碼管被點亮。數碼管的位選信號由AT89C2051的P3.3~P3.5輸出,并經 74HCl38譯碼后通過三極管放大,以驅動相應的數碼管。

        1.2 鍵盤電路

        鍵盤電路跟顯示電路一樣采用掃描方式,并利用動態顯示時的數碼管驅動位置信號來判斷相應按鍵的狀態。單片機的P3.3~P3.5口輸出的BCD碼經譯碼器譯碼后,相應的Y口呈低電平,而AT89C205 1的P3.7口平時為高電平(由于有上拉電阻),只有當某一按鍵按下時,P3.7才被下拉為低,這時,單片機將利用程序查詢P3.7是否為低,如果P3. 7為低電平,則讀回單片機P3.3~.P3.5口的值(從緩沖區讀取),并判斷是那個按鍵按下.然后調用相應的處理程序進行處理。

        1.3 輸出控制電路

        單片機的控制輸出是通過P3.0~P3.2口完成的。當程序開始時,這三個口的輸出狀態都是低電平,AT89C2051通過程序查詢三路輸出的ON或OFF狀態預置時間是否已到,若時間到,則改變相應的輸出狀態,以完成對外部電路的控制。

        2 軟件設計

        2.1 主程序流程

        本系統的主程序工作過程是首先循環進行六個數碼管的掃描顯示(DISPLY段),然后比較所有預置時間(COMP段)是否與當前時間相等,如相等則轉向相應處理程序。比較完成(或處理完成)后,再判斷有無按鍵(PP2段)按下,沒有則返回繼續顯示、比較、判斷;有按鍵按下則轉向相應的處理程序。按鍵轉移采用偏移量加表格跳轉轉移法(KEY段)。預置時間比較則采用逐一比較法,即對每一個預設的值都進行比較,如果相等,則進行相應的處理。在具體比較時 (COMP1段),首先比較TH值,如不相等,則直接轉出并置"時間到"標志CCB為0,而如果TH、TM、TS全部對應相等,則置該標志為1,其軟件流程見圖2所示。

        2.2 秒脈沖發生器的軟件設計

        系統中的秒脈沖發生器是由定時器T0和內存空間TT0配合完成的。其中T0工作于l 6位計數器模式,當T0向上計數并由全1變為全0時產生中斷。本程序中,T0的初值為0DC00H,大約0.01秒中斷一次。這里使用的晶振頻率為11. 0592MHz,由此可計算出日誤差約為0.78 s。其操作流程如圖3所示,系統產生中斷后,首先保存ACC
        和PSW的值,然后為T0重裝初值,并判斷中斷次數是否小于100,若是,則轉出中斷服務,反之則將秒計數器加1。秒計數器大于59時,則為分計數器加1,同時秒計數器清0。同樣,分計數器如大于59,則為時計數器加1,同時分計數器清0。時計數器如大于23時則清0并轉出中斷服務。TD中斷100次的時間剛好為1秒鐘。

        3 結束語

        本文通過以AT89C20為核心并輔以外圍電路的設計方法實現了低成本的控制要求。該定時時控制器可定時控制并顯示有關參數,在滿足系統要求的同時,又具備簡單、經濟之特點。此外,靈活的鍵盤輸入方式來設定參數可增加系統的靈活性。

        日前,采用本設計制作的已經通過測試并投入使用,實際使用結果證明:該運行可靠,操作方便,可用在傳統的不帶定時功能的熱水器上,而且既經濟又實用,值得推廣。

        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        上拉電阻相關文章:上拉電阻原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武平县| 鄯善县| 昌邑市| 莱阳市| 天水市| 固原市| 舟山市| 靖江市| 呼图壁县| 石泉县| 沾化县| 峨边| 浏阳市| 晋中市| 安阳市| 天柱县| 霍林郭勒市| 丘北县| 旬邑县| 藁城市| 道真| 延吉市| 祁阳县| 桐柏县| 抚宁县| 通化市| 忻州市| 彭阳县| 内江市| 滁州市| 永嘉县| 呼伦贝尔市| 定州市| 吴桥县| 敦煌市| 德江县| 广昌县| 澄城县| 开原市| 娄底市| 镇巴县|