基于51單片機的溫度檢測及顯示設(shè)計
2.2 軟件設(shè)計
用C語言進行單片機程序設(shè)計,采用結(jié)構(gòu)化程序設(shè)計思想:在總體設(shè)計中采用“自頂而下”(TOP-DOWN)的方法,在程序設(shè)計中采用模塊化編程。把整體任務(wù)分成一個個子任務(wù),子任務(wù)再分子任務(wù),逐層細分,每個子程序都完成其規(guī)定的功能,明確輸入輸出。將這些程序連接起來就構(gòu)成整體流程圖。模塊化編程,每個模塊結(jié)構(gòu)完整,相互獨立的程序段。如液晶模塊的寫控制指令、寫顯示數(shù)據(jù)、清屏;數(shù)據(jù)處理中的工程量轉(zhuǎn)換,均值濾波等。這些程序可以任意調(diào)用、修改,使整個程序結(jié)構(gòu)清晰,組合靈活,維護調(diào)試方便。
2.2.1 主流程圖
主流程圖如圖2所示。主要包括程序初始化部分,主要完成的任務(wù)是初始化液晶顯示屏,初始化單片機各口狀態(tài)和設(shè)初始閾值,檢測位置為第一路;按確定鍵后系統(tǒng)開始工作,顯示第一路位置的溫度及其動態(tài)顯示圖的主頁面;當(dāng)按下設(shè)置鍵時,液晶屏幕顯示一個選擇界面,可選擇設(shè)置檢測位置,檢測位置閾值;通過上下鍵可進行選擇,選擇界面的箭頭指向設(shè)置位置時,按確定就可進入位置的設(shè)置,設(shè)置完畢后,確定健返回;直接再按確定鍵可顯示放大的溫度字體。
2.2.2 測溫流程圖和曲線顯示流程
啟動ADC0809時需根據(jù)啟動的檢測位置不同查表選用不同的通道地址表;設(shè)定ADC0809轉(zhuǎn)換時間,采用延時等待后,再讀取它的轉(zhuǎn)換數(shù)據(jù);根據(jù)溫度傳感器的量程得出轉(zhuǎn)換公式;為了便于顯示,需要把各位數(shù)分離,分離出了百位數(shù)、十位、個位、十分位和百分位;建立一個0~9的數(shù)字字模表,取模顯示。溫度顯示和曲線顯示流程圖分別如圖3和圖4所示。
評論