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