基于串口通信的單片機仿真和C語言開發(fā)
5.2.3 讀溫子程序
讀出溫度子程序的主要功能是讀出RAM 中的9 字節(jié),在讀出時需進行CRC 校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖5.3 示。
圖5.3 讀溫子程序
5.2.4 溫度轉換命令子程序
溫度轉換命令子程序主要是發(fā)溫度轉換開始命令,當采用12 位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如上圖,圖5.4 所示。
圖5.4 溫度轉換流程圖
5.2.5 計算溫度子程序
計算溫濕度子程序將RAM 中讀取值進行BCD 碼的轉換運算,并進行溫度值正負的判定,其程序流程圖如圖5.5 所示。
圖5.5 計算溫度流程圖
5.2.6 顯示數(shù)據(jù)刷新子程序
顯示數(shù)據(jù)刷新子程序主要是對分離后的溫度顯示數(shù)據(jù)進行刷新操作,當標志位位為1時將符號顯示位移入第一位。程序流程圖如圖5.6 所示。
圖5.6 顯示數(shù)據(jù)刷新子程序
6 結論
本系統(tǒng)的硬件采用模塊化設計,以AT89C52 單片機為核心,與LCD 顯示電路、串行口通信電路及DS18B20 溫度檢測電路組成控制系統(tǒng)。該系統(tǒng)硬件主要包括以下幾個模塊:
AT89C52 主控模塊、LCD 顯示模塊、串行口通信模塊、DS18B20 溫度檢測模塊等。其中AT89C52 主要完成外圍硬件的控制以及一些運算功能,LCD 顯示模塊完成字符、數(shù)字的顯示功能、串行口通信模塊主要完成單片機和PC 機之間的通信功能,DS18B20 溫度檢測模塊主要完成環(huán)境溫度檢測功能。
評論