文驍陽 山東省科學(xué)院激光研究所 山東濟(jì)寧 272000
?
PC機(jī)基于串口與89C52單片機(jī)通訊讀取DS18B20的數(shù)據(jù)
文驍陽山東省科學(xué)院激光研究所山東濟(jì)寧272000
【文章摘要】
微型控制系統(tǒng)由于其自身的優(yōu)越性能—成本低、柔性好,在社會(huì)中的用途社會(huì)生活中的用途越來越廣泛,影響也越來越大。本文采用89C52單片機(jī)采集溫度傳感器DS18B20的數(shù)據(jù),利用串口連接PC機(jī)和89C52單片機(jī),進(jìn)而把DS18B20的溫度信息采集到PC機(jī)中。
【關(guān)鍵詞】
單總線通信;89C52;DS18B20
DS18B20是一種價(jià)格便宜,精度可調(diào)的溫度傳感器;89C52是一款性能穩(wěn)定,物美價(jià)廉的微型控制器,如果把這些價(jià)格便宜、性能穩(wěn)定的零部件應(yīng)用到養(yǎng)殖業(yè)或者農(nóng)業(yè),定能起到意想不到的作用。
整個(gè)系統(tǒng)的結(jié)構(gòu)圖如圖1所示:
此系統(tǒng)中測溫層為DS18B20組,可根據(jù)采集溫度的需要,進(jìn)行確定傳感器的數(shù)量及布置方式,測溫組的工作電源既可采用寄生電源方式產(chǎn)生,也可由專門的電源提供,電源電壓范圍為+3.0V~+5.5V,電壓低,對人體不會(huì)照成傷害,比較安全。
該系統(tǒng)中微控制器采用89C52單片機(jī),89C52單片機(jī)和89C51相比,引腳是一樣的,區(qū)別主要在于AT89C52 的ROM空間為8K,而AT89C51的空間為4K,是AT89C51空間的兩倍,可以多存儲(chǔ)一些數(shù)據(jù)。
該系統(tǒng)的人機(jī)界面采用VB高級(jí)語言在PC機(jī)上編寫的采集和顯示界面,可以方便地實(shí)時(shí)讀取單片機(jī)中的數(shù)據(jù)。
圖1:系統(tǒng)結(jié)構(gòu)原理圖
PC機(jī)與單片機(jī)之間的通信通過串口實(shí)現(xiàn)。需要注意的是單片機(jī)使用的TTL電平與RS232電平不兼容,本系統(tǒng)通過MAX232E芯片實(shí)現(xiàn)TTL電平與RS232電平的轉(zhuǎn)換,如圖2所示。
MAX232E芯片是包含兩路接收器和驅(qū)動(dòng)器的RS-232電平轉(zhuǎn)換芯片,適用于各種232通信接口。芯片內(nèi)部有一個(gè)電源電壓變換器,外加4只1μF的泵電容可以把輸入的+5V電源電壓變換成為RS-232C輸出電平所需的±10V電壓。所以采用此芯片接口的串行通信系統(tǒng)只需單一的+5V電源就可以了
單片機(jī)采集的數(shù)據(jù)通過VB編寫的通信程序經(jīng)過串口進(jìn)入上位機(jī),在溫度讀取中我們用到VB中的一個(gè)重要控件- MSComm控件。下面介紹此控件的一些主要屬性,如表1所示。
其中CommEvent屬性是一個(gè)非常重要的屬性。一旦串口發(fā)生通信事件或產(chǎn)生錯(cuò)誤,依據(jù)產(chǎn)生的事件和錯(cuò)誤,MSComm控件為CommEvent屬性賦以不同的代碼,同時(shí)產(chǎn)生OnComm事件。用戶程序就可在OnComm事件處理程序中針對不同的代碼,進(jìn)行相應(yīng)的處理。
具體初始化程序如下:
Private Sub Form_Load ( )
MSComm1.CommPort = 1 '設(shè)置串行端口號(hào)為1
MSComm1.Settings = "9600,N,8,1" '參數(shù)設(shè)置
M S C o m m 1 . I n p u t M o d e = comInputModeBinary '二進(jìn)制數(shù)據(jù)格式
MSComm1.InBufferSize = 1024 '置接收緩沖區(qū)為1024字節(jié)
MSComm1.InputLen = 0 '置InputLen 為0時(shí),使用Input將使MSComm控件
初始化完成后,PC機(jī)就可以與單片機(jī)進(jìn)行通信了。
通過實(shí)驗(yàn),該系統(tǒng)實(shí)現(xiàn)了預(yù)定的目標(biāo),即:單片機(jī)采集DS18B20溫度傳感器組的溫度信息,PC通過VB高級(jí)語言及串口讀取單片機(jī)中采集的數(shù)據(jù)并提供人機(jī)界面。該類系統(tǒng)由于其造價(jià)低、系統(tǒng)安全等多方面的優(yōu)點(diǎn),可以廣泛應(yīng)用于大棚種植業(yè),動(dòng)植物養(yǎng)殖業(yè)。
表1 MSComm控件的主要屬性
圖2:系統(tǒng)的運(yùn)行結(jié)果