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