PC串口通信的測(cè)溫系統(tǒng)的單片機(jī)實(shí)現(xiàn)方案
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要:介紹了以AT89S52 單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法。系統(tǒng)由芯片DS18B20 采集溫度信號(hào)傳輸給微控制器,通過(guò)外圍設(shè)備LCD1602 顯示現(xiàn)場(chǎng)溫度值,并設(shè)計(jì)上位機(jī)程序通過(guò)串口通信實(shí)時(shí)獲取溫度。系統(tǒng)設(shè)計(jì)包括硬件電路設(shè)計(jì)、軟件設(shè)計(jì)。單片機(jī)程序采用C51,在KEIL 開(kāi)發(fā)環(huán)境中調(diào)試通過(guò)完成;PC 后臺(tái)軟件采用VB6.0 完成。給出了前后臺(tái)軟件設(shè)計(jì)流程圖。最后給出了設(shè)計(jì)實(shí)現(xiàn)的硬件實(shí)物圖和采集到的前后臺(tái)溫度顯示結(jié)果。
溫度是工業(yè)控制中主要的被控參數(shù)之一,溫度的檢測(cè)及控制傳統(tǒng)方法多以熱電阻和熱電偶等為溫度傳感元件,而這種模擬溫度傳感器輸出為模擬信號(hào),必須經(jīng)過(guò)A/D 轉(zhuǎn)換環(huán)節(jié)獲得數(shù)字信號(hào)后才能與單片機(jī)等微處理器接口,使得硬件電路結(jié)構(gòu)比較復(fù)雜、抗干擾性差、布線(xiàn)麻煩以及成本高等缺點(diǎn)。
針對(duì)上述問(wèn)題,該設(shè)計(jì)提出了基于Dallas 半導(dǎo)體公司的數(shù)字式溫度傳感器DS18B20[1-2]和ATMEL 公司AT89S52 單片機(jī)構(gòu)成的溫度測(cè)量系統(tǒng),并可通過(guò)串口連接在PC 系統(tǒng)上進(jìn)行實(shí)時(shí)顯示,該系統(tǒng)安裝簡(jiǎn)易,可靠性高,適用于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。
1 系統(tǒng)構(gòu)成
測(cè)溫系統(tǒng)由微控制器、溫度采集、串口通信、LCD 顯示和上位機(jī)顯示等幾部分組成,如圖1 所示。
圖1 系統(tǒng)組成
數(shù)據(jù)采集流程為:?jiǎn)纹瑱C(jī) AT89S52 獲取溫度傳感器DS18B20 采集的溫度值,經(jīng)處理后傳輸給LCD1602 現(xiàn)實(shí),并且通過(guò)串口通信上傳給上位機(jī),供上位機(jī)顯示。
1.1 DS18B20 數(shù)字式溫度傳感器
DS18B20 溫度傳感器是美國(guó)DALLAS 半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程讀取9~12 位數(shù)字溫度值。DS18B20 的性能特點(diǎn)如下:
?、龠m應(yīng)電壓范圍更寬(3.0~5.5 V),在寄生電源方式下可由數(shù)據(jù)線(xiàn)供電;
?、讵?dú)特的單線(xiàn)接口方式。與微處理器連接時(shí)僅需要一條線(xiàn)即可實(shí)現(xiàn)雙向通訊;
?、跠S18B20 支持多點(diǎn)組網(wǎng)功能;
?、蹹S18B20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在一只形如三極管的集成電路內(nèi);
?、轀胤秶?55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃;
?、蘅删幊痰姆直媛蕿?~12 位,對(duì)應(yīng)的分辨率分別為0.5℃、0.25℃、0.125℃和0.062 5℃,可實(shí)現(xiàn)高精度測(cè)溫;
?、咿D(zhuǎn)換時(shí)間為93.75 ms(9 位)和750 ms(12 位),對(duì)于一般的實(shí)時(shí)測(cè)溫系統(tǒng)已經(jīng)足夠了;
?、鄿y(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以丹總線(xiàn)串行傳送給CPU,同時(shí)可傳送CRC 校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;
⑨負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。
1.2 RS_232 串口通信標(biāo)準(zhǔn)
RS_232C 是美國(guó)電子工業(yè)協(xié)會(huì)(EIA)制定的異步串行通信中應(yīng)用最廣的標(biāo)準(zhǔn)總線(xiàn)。該標(biāo)準(zhǔn)適用于數(shù)據(jù)傳輸速率在0~20Kbps 范圍內(nèi)的通信,已成為數(shù)據(jù)終端設(shè)備DTE 與計(jì)算機(jī)和數(shù)據(jù)通信設(shè)備DCE 的接口標(biāo)準(zhǔn),是PC 機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。其工作電平規(guī)定如下:對(duì)于數(shù)據(jù)(邏輯“1”的電平低于-3V;邏輯“0”的電平高于+3V)。對(duì)于控制信號(hào)(“信號(hào)有效”的電平高于+3V,“信號(hào)無(wú)效”的電平低于-3V)。在實(shí)際工作中應(yīng)保證電平在±(3~15)V。其串行口的9 根針腳功能有其固定的定義。該設(shè)計(jì)中,只要用RXD 和TXD 兩條數(shù)據(jù)線(xiàn)即可。
1.3 AT89S52
AT89S52 是一款低功耗、高性能CMOS 工藝8 位微控制器,攜有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。與80C51 產(chǎn)品指令和引腳完全兼容。使其能為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52 還含有:256 字節(jié)RAM、32 位I/O 口線(xiàn)、看門(mén)狗定時(shí)器、2 個(gè)數(shù)據(jù)指針、三個(gè)16 位定時(shí)器/計(jì)數(shù)器、一個(gè)6 向量2 級(jí)中斷結(jié)構(gòu)、全雙工串行口、片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0 Hz靜態(tài)邏輯操作,支持2 種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保模式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。
1.4 LCD1602 顯示模塊
液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。目前字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示期間,LCD1602 液晶顯示模塊可以顯示兩行,每行16 個(gè)字符,其字符發(fā)生器ROM 中自帶數(shù)字和英文字母及一些特殊符號(hào)的字符庫(kù),沒(méi)有漢字。利用LCD1602可以建立8 個(gè)6&TImes;8 點(diǎn)陣自定義字庫(kù)的特點(diǎn)。它采用單+5V電源供電,外圍電路配置簡(jiǎn)單,價(jià)格便宜,具有很高的性?xún)r(jià)比。
LCD1602 的驅(qū)動(dòng)方式有并口驅(qū)動(dòng)和串口驅(qū)動(dòng)兩種,并口驅(qū)動(dòng)須占用單片機(jī)大量寶貴的I/O 接口;而串口驅(qū)動(dòng)須在單片機(jī)的UART 接口空閑的基礎(chǔ)上。其主要功能如下:40 通道點(diǎn)陣LCD 驅(qū)動(dòng)、可選擇當(dāng)作行驅(qū)動(dòng)或列驅(qū)動(dòng)、輸入/輸出信號(hào):輸出能產(chǎn)生20&TImes;2 個(gè)LCD 驅(qū)動(dòng)波形;輸入接受控制器送出的串行數(shù)據(jù)和控制信號(hào),偏壓(V1∽V6)、通過(guò)單片機(jī)控制將所測(cè)的頻率信號(hào)讀數(shù)顯示出來(lái)。