基于SPI接口的溫度測(cè)量系統(tǒng)
2 軟件設(shè)計(jì)
在單片機(jī)系統(tǒng)中,單片機(jī)之所以處于核心地位,最重要的原因在于單片機(jī)上能夠運(yùn)行強(qiáng)大的軟件。因此可以說,硬件是設(shè)計(jì)的基礎(chǔ),軟件是設(shè)計(jì)的關(guān)鍵。只有軟硬件協(xié)調(diào)配合,應(yīng)用系統(tǒng)才能良好的工作。
2.1 系統(tǒng)總流程圖
流程圖分析:當(dāng)電源上電后,系統(tǒng)進(jìn)行初始化,系統(tǒng)開始運(yùn)行,啟動(dòng)TC72溫度傳感器并讀取溫度;若此時(shí)溫度沒有超出設(shè)置的報(bào)警溫度,則液晶正常顯示;若超出報(bào)警溫度,則蜂鳴器開始報(bào)警,按ESC鍵可退出報(bào)警。液晶正常顯示后,系統(tǒng)程序?qū)︽I盤進(jìn)行掃描,若有設(shè)置鍵按下,則開始對(duì)報(bào)警溫度進(jìn)行設(shè)置,設(shè)置完成后重新讀取溫度并顯示。系統(tǒng)總流程圖如圖5所示。本文引用地址:http://m.butianyuan.cn/article/192801.htm
2.2 鍵盤程序流程圖
流程圖分析:若有設(shè)置鍵按下,則進(jìn)入設(shè)置溫度模式;若無按鍵按下,則讀取溫度數(shù)據(jù)送入液晶屏顯示。在設(shè)置模式下設(shè)置溫度,完成后再送數(shù)據(jù)到液晶屏顯示。鍵盤程序流程圖如圖6所示。
2.3 LCD顯示程序流程圖
流程圖分析:首先對(duì)1602顯示屏進(jìn)行初始化,然后進(jìn)行忙信號(hào)檢查,如果BF=0,則開始讀取溫度并寫入相應(yīng)的數(shù)據(jù)進(jìn)行顯示;如果BF=1,則表示模塊正在進(jìn)行內(nèi)部操作,暫時(shí)不會(huì)接收任何數(shù)據(jù)及外部指令,直到BF=0為止。LCD顯示程序流程圖如圖7所示。
3 仿真與調(diào)試
單片機(jī)應(yīng)用系統(tǒng)的調(diào)試主要從軟件調(diào)試和硬件調(diào)試兩方面入手。兩種調(diào)試過程緊密相關(guān),而并非分開或孤立的,在基于SPI接口的溫度測(cè)量系統(tǒng)設(shè)計(jì)中,用到了AVR Studio 4+Win AVR和Proteus ISIS軟件。
模擬調(diào)試:首先運(yùn)行AVR Studio軟件,在新建項(xiàng)目窗口中輸入設(shè)計(jì)所用的程序,輸入完成后進(jìn)行編譯、運(yùn)行、保存。然后在Proteus ISIS軟件中畫出硬件電路圖并進(jìn)行電氣規(guī)則檢查;如果電路設(shè)計(jì)無誤,選中單片機(jī)ATmega16并雙擊,在對(duì)話框中點(diǎn)擊Program File按鈕,找到經(jīng)過AVR Studio軟件編譯生成的hex文件,載入后點(diǎn)擊OK按鈕。完成后在Proteus ISIS的Debug菜單中選擇Execute,即可運(yùn)行程序。
實(shí)現(xiàn)功能的具體方法:按高溫設(shè)置鍵,可調(diào)整當(dāng)前溫度的最高值,按0~9鍵,輸入溫度最高值的大小,按Enter鍵完成設(shè)置;按低溫設(shè)置鍵,可調(diào)整當(dāng)前溫度最低值,按0~9鍵,可輸入溫度最低值大小,按Enter鍵完成設(shè)置;在進(jìn)行高低溫設(shè)置的過程中,可使用鍵盤中的ESC、Backspace鍵進(jìn)行返回和刪除操作。高低溫設(shè)置完成后,可通過調(diào)節(jié)TC72溫度傳感器上的加減鍵進(jìn)行實(shí)時(shí)溫度調(diào)節(jié);此時(shí),如果調(diào)節(jié)的溫度超出設(shè)置的溫度范圍,就會(huì)產(chǎn)生報(bào)警。
4 結(jié)束語
設(shè)計(jì)了一種基于SPI接口的溫度測(cè)量系統(tǒng),介紹了如何利用AVR單片機(jī)控制TC72溫度傳感器的新型設(shè)計(jì)方法。該設(shè)計(jì)利用單片機(jī)C語言,以AVR單片機(jī)為控制核心,通過使用具有SPI接口功能的TC72溫度傳感器,實(shí)現(xiàn)對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)控顯示和報(bào)警功能。
評(píng)論