時間:2007-04-13 15:14:00來源:hanjuan
圖1 定時控制器硬件原理圖[/align]
系統的核心為單片機AT89C2051,AT89C2051為20腳300MIL封裝,帶有2K FLASH E2PROM的單片機,除了少了兩個并口外,兼容MCS-51系列單片機所有功能。具備體積小、功能強、運行速度快等特點。通過P3.7口連接一個鍵盤電路來實現人工對參數的自由設定。通過串口連接6位LED數碼管,分別顯示小時、分鐘和秒。系統定時啟動是通過P3.0口完成的。程序開始時這三個口的輸出狀態是低電平,892051通過程序查詢P3.0口輸出的ON或OFF狀態預置時間是否已到,如果已到時間,則改變相應的輸出狀態,就完成了對外部電路的控制。
2.1 顯示電路
主要由七段共陽顯示譯碼器74LS47、3線-8線譯碼器74HC138、7個PNP型三極管 和六個數碼管組成。通過89C2051的P1.4~P1.7口將要顯示字符的BCD碼輸出到74LS47的四個輸入端,譯碼后輸出相應的筆段驅動LED數碼管(共陽)。LED數碼管顯示采用動態掃描方式,即在某一時刻,只有一個數碼管被點亮。數碼管的位選信號由89C2051的P3.3~P3.5輸出,經74HC138譯碼后通過三極管放大,驅動相應的數碼管。
2.2 鍵盤電路
鍵盤電路跟顯示電路一樣,采用掃描方式,利用動態顯示時的數碼管驅動位置信號來判斷相應按鍵的狀態。單片機的P3.3~P3.5口輸出的BCD碼經譯碼器譯碼后,相應Y 口呈低電平,而89C2051的P3.7口平時為高電平(由于有上拉電阻),當某一鍵按下時,P3.7被下拉為低電平,這時單片機利用程序查詢P3.7是否為低電平,如果P3.7為低電平,就讀回單片機 P3.3~P3.5口的值(從緩沖區讀取),就可判斷是那個按鍵按下,然后調用相應的處理程序進行處理。
2.3 輸出控制電路
單片機對控制的輸出是通過P3.0~P3.2口完成的。程序開始時這三個口的輸出狀態是低電平,AT89C2051通過程序查詢三路輸出的ON或OFF狀態預置時間是否已到,如果已到時間,則改變相應的輸出狀態,就完成了對外部電路的控制。
3 軟件設計
3.1 主程序工作過程
首先循環進行六個數碼管掃描顯示(DISPLY段),然后比較所有預置時間(COMP段)是否與當前時間相等,如相等則轉向相應處理程序。在比較完成(或處理完成)后判斷有無按鍵(PP2段),沒有則返回繼續顯示、比較、判斷;有按鍵則轉向相應處理程序。按鍵轉移采用偏移量加表格跳轉轉移法(KEY 段),簡單、明了。預置時間比較則采用逐一比較法,即對每一個預置值進行比較,如相等則做相應處理。具體比較時(COMP1段)先比較TH值,如不相等則直接轉出并置“時間到”標志CCB為0,如TH、TM、TS全部對應相等,則置該標志為1,軟件流程圖如圖2所示。
[align=center]
圖2 軟件程序工作流程圖[/align]
3.2 秒脈沖發生器
秒脈沖發生器是由定時器T0和內存空間TT0配合完成的。T0工作于16位計數器模式,當T0向上計數由全1變為全0時產生中斷,本程序中T0的初值為0DC00H,大約0.01s中斷一次。這里使用的晶振頻率為11.0592MHz,由此可計算出日誤差約為0.78s。工作過程:如圖2流程圖所示,產生中斷后,首先保存ACC和PSW的值,然后為T0重裝初值,判斷中斷次數是否小于100,是則轉出中斷服務,反之則為秒計數器加1,秒計數器如果大于59,則為分計數器加1,同時秒計數器清0。同樣分計數器如大于59則為時計數器加1,同時分計數器清0,時計數器如大于23則清0并轉出中斷服務。T0中斷100次的時間剛好為1秒鐘。
4 結束語
通過以AT89C2051單片機為核心輔以外圍電路的設計,實現了低成本的要求。本控制器為定時控制并顯示有關參數,能夠滿足系統要求的同時,又具有簡單、經濟之特點。靈活的鍵盤輸入方式設定參數,增加了系統的靈活性。本定時控制器已經經過測試并投入使用,證明運行可靠,操作方便,用在傳統的不帶定時功能的熱水器上,能夠達到既經濟又實用的控制目的,有推廣使用價值。標簽:
上一篇:固態電動機軟起動器起動控制...
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務器Deepsee...
2025-09-04
2025-08-06
2025-07-08
2025-06-30
2025-06-16