摘要本文主要介紹利用凌陽公司的16位單片機作為主控芯片,并且結合模糊控制技術來實現電飯煲的各種功能。
關鍵詞凌陽單片機AD轉換溫度控制
中圖分類號:TP33文獻標識碼:A
1 引言
本系統采用新式單片機(凌陽) SPCE061A和數/模元件的結合共同組成了這樣一個系統,采用軟/硬件結合的方法,軟件可以提高系統的反應速度,硬件可降低費用。同時完成兩路溫度模擬量的采集,A/D轉化,進而完成溫度的控制。
凌陽科技公司的SPCE061A單片機芯片是一款16位結構的微控制器,工作電壓 VDD為2.4~3.6V(CPU), VDDH為2.4~5.5V(I/O),CPU時鐘 最高可達49.152MHz;內置2K字SRAM、32K FLASH;14個中斷源可來自定時 器A / B時基,2個外部時鐘源輸入;具備觸鍵喚醒的功能;3 2768Hz實時時鐘;具有低電壓復位(LVR)功能和低電壓監測(LVD)功能;內置在線仿真電路ICE(In- Circuit Emulator)接口;具有WatchDog功能。單片機結合模糊控制技術來實現電飯煲的各種功能.
2 智能電飯煲煮飯過程介紹(基本功能)
利用凌陽SPCE061A單片機芯片開發的智能電飯煲具有以下的兩大功能:
2.1 煲煮功能
(1)煮稀飯功能:選擇45分鐘煮稀飯功能,按下開始鍵,電飯煲開始加熱,此時數碼顯示“-”,45分鐘后粥將煮好。
(2)米飯功能:選擇米飯功能,按下開始鍵,電飯煲開始加熱,此時數碼顯示“2”,半小時后米飯將做好。
(3)1小時煮湯功能:選擇1小時湯功能,按下開始鍵,電飯煲開始加熱,此時數碼顯示“1”,1小時后湯將熬好。
(4)2小時煮湯功能:選擇2小時湯功能,按下開始鍵,電飯煲開始加熱,此時數碼顯示“2”, 2小時后湯將熬好。
2.2 定時功能
人為設定時間,選擇相應功能后設置相應的定時時間,按下開始鍵,定時開始,每過1小時顯示時間數減1。在定時時間內,根據定時的時間和所需過程的時間差電飯鍋就能自動啟動,自動加熱,自動保溫,完成選擇的功能。
3 總體方案
基于凌陽SPCE06 1A設計的智能電飯煲控制系統總體設計方案如下:通過按鍵來選擇功能模式、顯示電路完成顯示當前狀態和定時時間;通過溫度傳感器來對溫度進行采樣;通過單片機的控制最終實現對繼電器的控制,從而來控制對加熱部件的加熱與否,電源部分完成對單片機系統和外圍電路提供5V電源,并且對加熱部件進行加熱。
由于資源有限,速度要求高,因為本設計使用了流行的模塊化設計,子功能多用匯編來完成;另外由于C語言的功能強大,運算方便,易調試修改,可以很方便地編制出良好的用戶界面。鑒于此,又結合本單片機自身的特點,所以在該系統中我們使用的是匯編語言和C語言的混合編程。
4 系統軟件設計
4.1 主程序流程
整個系統輸入包括:2個溫度傳感器—1個用于電飯煲的底部溫度實時監測,1個用于電飯煲頂部溫度實時監測;5個按鍵—1個是開關/保溫鍵,1個是開始,1個是功能選擇,1個是定時+,1個是定時—;輸出包括:2位七段數碼管、10個發光二極管、繼電器控制—輸出高低電平,控制加熱部件的工作等。根據控制功能,將程序設計為幾個主要的模塊,程序主流程見圖所示:
4.2 子程序
(1)診斷子程序
診斷程序主要進行溫度采集并判斷傳感器是否良好,主要對溫度傳感器分別連續檢測10次,若測到的數據不在范圍內(溫度范圍:-50℃~150℃),則表明傳感器短路或斷路錯誤,數碼顯示“ER”。
(2)鍵盤掃描子程序
程序每循環一次掃描一次鍵盤,如果掃描到有鍵按下,則暫存鍵值,如果連續5次掃描到的鍵值都一樣,則認為是穩定的鍵值。系統共有5個按鍵,在不同的狀態下,每個鍵只要輕按一次就有效。系統的五個鍵接于IOAO、IOA1、IOA2、IOA3、IOA4,如果按鍵值有效則返回值的相應位為0,否則相應位為1。硬件連結:單片機的IOB0~IOB7口設置為輸入口,接鍵盤;IOh4~10Al 3口設置為帶數據緩沖器的輸出口,接數碼管。
(3)溫度采集子程序
因為熱敏電阻靈敏度高,為了防止其它原因導致測出的溫度值變化太快,引起溫度傳感器溫度采集的不準確,溫度采集采用滑動平均值濾波方法——在溫度采集通道上連續采集5個數據,取其中的中間值。
(4)顯示子程序
系統共有2位七段數碼管顯示及10個發光二極管顯示。數碼管主要有6種狀態需要顯示:待機狀態、出錯顯示、燜飯、保溫、煮飯中及定時時間顯示。發光二極管顯示所選擇的功能、開始及保溫狀態。功能顯示需采用輪循方式,在按下開始鍵之前,開始燈閃爍。進入保溫狀態后,保溫指示燈亮。LED顯示程序由位碼掃描子程序及數碼顯示狀態選定子程序組成。(下轉第128頁)(上接第123頁)
5 系統硬件
5.1 單片機控制電路
主控電路包括按鍵輸入部分,溫度檢測輸入電路,復位和晶振電路,PB6、PB7完成對電飯煲頂蓋和底盤的溫度的檢測,PB5完成對繼電器的控制,SPCE06 1A是系統的核心部分。
5.2 顯示電路
顯示電路由共陽極數碼管和10個LED組成,通過單片機位選和所送的數據來點亮相應的LED和數碼管的顯示狀態。
5.3 電源電路
電源部分為單片機提供+5V的直流穩壓源,并且通過降壓、整流、濾波之后的+12V電壓對繼電器進行供電,通過控制三極管射極的導通與否來控制繼電器的工作狀態。
5.4 溫度采集
溫度采集使用的是AD590美國哈里斯(HARRIS)公司生產的采用激光修正的精密集成溫度傳感器,單片機檢測的信號實際上是與溫度傳感器分壓的電阻的電壓值,因為溫度傳感器的電阻值會隨溫度的上升而減小,所以分壓電阻的電壓值間接反映了某一時刻的溫度。