新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)和PC串口通信的測(cè)溫系統(tǒng)

基于單片機(jī)和PC串口通信的測(cè)溫系統(tǒng)

作者: 時(shí)間:2011-08-04 來(lái)源:網(wǎng)絡(luò) 收藏

  2.5 硬件構(gòu)成總電路圖

  整體硬件電路包括溫度采集電路、主控制器電路、電平轉(zhuǎn)換電路和顯示電路這四部分,電路如圖2 所示。

圖2 系統(tǒng)硬件電路總圖

圖2 硬件電路總圖

  3 軟件設(shè)計(jì)

  3.1 下位機(jī)軟件設(shè)計(jì)

  下位機(jī)程序設(shè)計(jì)包含三部分:微控制器的初始化、對(duì)DS18B20 的訪問和對(duì)LCD1620 的讀寫。AT89S52 是該系統(tǒng)的核心部分,控制著溫度的轉(zhuǎn)換以及讀取溫度數(shù)值并轉(zhuǎn)化成十進(jìn)制數(shù)以及相應(yīng)的ASCII 值在1602 上進(jìn)行顯示,通過RS232供 機(jī)讀取溫度值。其主要工作流程為:初始化內(nèi)部部件以達(dá)到環(huán)境運(yùn)行要求、初始化DS18B20 以及LCD1602;讀取溫度值并將采集到的數(shù)據(jù)進(jìn)行相應(yīng)的轉(zhuǎn)化傳送到1602 上進(jìn)行顯示;當(dāng)遇到中斷時(shí),進(jìn)入中斷服務(wù)函數(shù),檢查上位機(jī)是否向其請(qǐng)求發(fā)送數(shù)據(jù)。一旦檢測(cè)到正確的請(qǐng)求即將讀取的溫度數(shù)值按照一定的格式放到緩沖器中,直到數(shù)據(jù)發(fā)送結(jié)束,返回中斷點(diǎn)繼續(xù)執(zhí)行原函數(shù)。流程圖如圖3(a)所示。

  3.2 上位機(jī)軟件設(shè)計(jì)

  為方便進(jìn)行遠(yuǎn)程控制可將采集到的溫度數(shù)據(jù)通過RS_232 口傳輸?shù)娇刂浦行牡碾娔X上,以便實(shí)時(shí)監(jiān)測(cè)。采用VB6.0[4]作為開發(fā)平臺(tái),可高效快速地完成軟件的開發(fā)設(shè)計(jì)。

  采用Viusal Basic 開發(fā)程序主要有兩種方法:①使用MSComm 控件;②調(diào)用Window API 函數(shù)。

使用MSComm 控件實(shí)現(xiàn)的方法比調(diào)用API 動(dòng)態(tài)鏈接庫(kù)函數(shù)的方法方便、快捷、而且用編寫代碼量少的有點(diǎn),可以大大地提高編程效率和系統(tǒng)設(shè)計(jì)的穩(wěn)定性。該部分軟件完成窗體的設(shè)計(jì),設(shè)置Timer 的間隔為300ms,完成MSComm控件的添加,設(shè)置其相應(yīng)的屬性,對(duì)所得的數(shù)據(jù)進(jìn)行分析計(jì)算并在窗口中顯示。流程圖如圖3(b)所示。

圖3 測(cè)溫系統(tǒng)程序流程

圖3 系統(tǒng)程序流程



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉