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