基于AVR單片機(jī)的電冰箱控制系統(tǒng)的設(shè)計(jì)
1)主程序
主程序是整個(gè)電冰箱的總控制程序,比如控制單元的初始化、控制中斷、定時(shí)、顯示、鍵盤程序的啟動(dòng)與重復(fù)等。主程序流程框圖如圖2所示。本文引用地址:http://www.ex-cimer.com/article/172180.htm
2)子程序
子程序包括顯示子程序、鍵盤掃描子程序、依標(biāo)志位調(diào)相應(yīng)的顯示子程序、加一及減一處理子程序、讀ADC0809通道轉(zhuǎn)換數(shù)子程序、速冷處理子程序、溫度比較并處理子程序和除霜控制子程序等8個(gè)子程序。
顯示子程序就是將顯示緩沖區(qū)的數(shù)據(jù)一位一位地從RXD端輸出給顯示器,顯示出數(shù)據(jù)和狀態(tài)。鍵盤掃描子程序具有判斷鍵盤上是否有鍵按下和判斷閉合的鍵號(hào)兩個(gè)方面的功能。
依標(biāo)志位調(diào)相應(yīng)的顯示子程序就是根據(jù)標(biāo)志位的內(nèi)容把相應(yīng)的設(shè)置數(shù)通過(guò)7段字型碼轉(zhuǎn)換后送入到顯示緩沖區(qū)去。
加一與減一處理子程序都是當(dāng)主程序判斷到是加一或減一操作時(shí)就是依標(biāo)志位將相應(yīng)的設(shè)置數(shù)加一或是減一處理。
讀ADC0809通道轉(zhuǎn)換數(shù)子程序就是啟動(dòng)ADC0809并且將轉(zhuǎn)換后的數(shù)讀入相應(yīng)的緩沖區(qū)中。
速冷控制子程序就是人工設(shè)定一個(gè)連續(xù)速冷時(shí)間,單片機(jī)再進(jìn)行控制,讓壓縮機(jī)連續(xù)工作時(shí)間為設(shè)定的連續(xù)速冷時(shí)間。
溫度比較并處理就是將冷凍室溫度與冷藏室溫度實(shí)際溫度的平均值與設(shè)置溫度進(jìn)行比較,若超出范圍就進(jìn)行處理,否則就返回。
除霜控制子程序就是將ADC0809轉(zhuǎn)換后的值與霜厚為3 mm時(shí)的對(duì)應(yīng)值進(jìn)行比較,若小于3 mm時(shí)就不需要除霜,否則就啟動(dòng)除霜加熱絲進(jìn)行除霜。
3)中斷程序
當(dāng)中央處理器正在處理內(nèi)部數(shù)據(jù)時(shí),外界發(fā)生了緊急情況,要求CPU暫停當(dāng)前的工作轉(zhuǎn)去處理這個(gè)緊急事件。處理完畢后,再回到原來(lái)被中斷的地址,繼續(xù)原來(lái)的工作,這樣的過(guò)程稱為中斷。實(shí)現(xiàn)這一功能的部件稱為中斷系統(tǒng),申請(qǐng)CPU中斷的請(qǐng)求源稱為中斷源,處理“急件”的程序被稱為中斷服務(wù)程序,是事先編好的某個(gè)特定的程序。本系統(tǒng)中涉及到了T0和T1中斷服務(wù)程序。
T0中斷服務(wù)程序主要完成讀ADC0809通道的轉(zhuǎn)換數(shù)、電源電壓欠壓、過(guò)壓處理、并門狀態(tài)檢測(cè)及處理等。
T1中斷服務(wù)程序主要完成3 min定時(shí)及根據(jù)檢測(cè)結(jié)果,比較、分析、控制執(zhí)行各元件的工作。即進(jìn)行速冷處理、溫度比較并處理、霜厚控制并處理等。
2 結(jié)束語(yǔ)
該系統(tǒng)在設(shè)計(jì)出之后進(jìn)行了多次試驗(yàn),試驗(yàn)數(shù)據(jù)表明該系統(tǒng)的各項(xiàng)性能指標(biāo)和功能達(dá)到了預(yù)期的設(shè)計(jì)目的,具有功能齊全、操作簡(jiǎn)單、使用方便等優(yōu)點(diǎn),在國(guó)內(nèi)同類產(chǎn)品中處于較高水平,具有較高的實(shí)用和推廣價(jià)值。
評(píng)論