基于AT89C2051單片機(jī)的大氣溫度采集和記錄系統(tǒng)
1 引 言
大氣溫度的測(cè)量具有重要意義, 一般是采用各種溫度計(jì)進(jìn)行人工測(cè)量, 并定時(shí)記錄測(cè)量結(jié)果, 這種方法費(fèi)時(shí)費(fèi)工, 十分不便。本文提出了一種非常小巧的大氣溫度測(cè)量和記錄裝置, 能對(duì)范圍為- 55 ℃ ~ + 125 ℃ 的溫度進(jìn)行定時(shí)自動(dòng)測(cè)量, 同時(shí)記錄測(cè)量結(jié)果, 精度最高可達(dá)0. 0625℃ 。
2 系統(tǒng)原理
系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)主要由AT89C2051單片機(jī)和外圍電路構(gòu)成。其基本思想是由串行時(shí)鐘芯片DS1306 提供時(shí)間基準(zhǔn), 由溫度傳感器DS18B20進(jìn)行溫度測(cè)量, 溫度數(shù)據(jù)存儲(chǔ)在DS2433中。AT89C2051單片機(jī)負(fù)責(zé)整個(gè)系統(tǒng)的協(xié)調(diào)控制。
AT89C2051是一款低電壓, 高性能的CMOS 8位單片機(jī), 片內(nèi)含2k bytes的可反復(fù)擦寫的只讀F lash程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM) , 器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn)MCS- 51指令系統(tǒng), 內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元, 功能強(qiáng)大的AT89C2051單片機(jī)可提供高性價(jià)比的應(yīng)用。
AT89C2051是一個(gè)功能強(qiáng)大的單片機(jī), 但它只有20個(gè)引腳, 15個(gè)雙向輸入/輸出( I /O )端口, 其中P1是一個(gè)完整的8位雙向I/O 口, 兩個(gè)外中斷口, 兩個(gè)16位可編程定時(shí)計(jì)數(shù)器, 兩個(gè)全雙向串行通信口,一個(gè)模擬比較放大器。同時(shí)AT89C2051 的時(shí)鐘頻率可以為零, 即具備可用軟件設(shè)置的睡眠省電功能,系統(tǒng)的喚醒方式有RAM、定時(shí)/計(jì)數(shù)器、串行口和外中斷口, 系統(tǒng)喚醒后即進(jìn)入繼續(xù)工作狀態(tài)。省電模式中, 片內(nèi)RAM 將被凍結(jié), 時(shí)鐘停止振蕩, 所有功能停止工作, 直至系統(tǒng)被硬件復(fù)位方可繼續(xù)運(yùn)行。
系統(tǒng)結(jié)構(gòu)圖
圖1 系統(tǒng)結(jié)構(gòu)圖。
DS18B20是集成數(shù)字溫度計(jì) , 溫度測(cè)量范圍- 55℃ ~ + 125℃ , 通過編程可實(shí)現(xiàn)0. 5℃ 、0. 25 ℃ 、0. 125 ℃ 、0. 0625℃ 四種不同的分辨率。其最大特點(diǎn)是通過一條數(shù)據(jù)線就可實(shí)現(xiàn)與單片機(jī)的數(shù)字通訊。
測(cè)量得到的溫度數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié)。DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1 -W ire, 即單總線器件, 具有線路簡(jiǎn)單, 體積小的特點(diǎn)。因此用它來組成一個(gè)測(cè)溫系統(tǒng), 具有線路簡(jiǎn)單, 在一根通信線上可以掛很多這樣的數(shù)字溫度計(jì), 十分方便。
DS18B20的特點(diǎn):
( 1)只要求一個(gè)端口即可實(shí)現(xiàn)通信。
( 2)在DS18B20中的每個(gè)器件上都有獨(dú)一無二的序列號(hào)。
( 3)實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。
( 4)測(cè)量溫度范圍在- 55 ℃ 到+ 125 ℃ 之間。
( 5)數(shù)字溫度計(jì)的分辨率可以從9 位到12位選擇。
( 6)內(nèi)部有溫度上、下限告警設(shè)置。
DS2433是1-W ire存儲(chǔ)器, 容量為4k- B it ,可存儲(chǔ)256個(gè)溫度數(shù)據(jù)。其采用EEPROM 工藝, 即使掉電, 存儲(chǔ)的數(shù)據(jù)也不會(huì)丟失。DS2433帶有一個(gè)由工廠刻度的注冊(cè)碼, 其中包括: 48位唯一序列碼、8位CRC 校驗(yàn)碼和8位家族碼( 23h) , 還帶有4096位用戶可編程EEPROM。讀寫DS2433所需的電源完全取自于1-W ire通訊線。存儲(chǔ)器分為16頁(yè), 每頁(yè)256位。暫存器作為一個(gè)附加頁(yè)面, 在寫存儲(chǔ)器時(shí)可用作緩沖器使用。數(shù)據(jù)先被寫入一個(gè)暫存器中,在此對(duì)其進(jìn)行校驗(yàn)。隨后采用復(fù)制暫存器命令將數(shù)據(jù)傳送到存儲(chǔ)器中。這一過程可保證修改存儲(chǔ)器內(nèi)容時(shí)數(shù)據(jù)的完整性。PR- 35以及SO IC封裝提供了一種緊湊的結(jié)構(gòu), 允許采用標(biāo)準(zhǔn)安裝設(shè)備在印刷電路板上安裝和連接器件。
由于1-W ire通訊的獨(dú)特特點(diǎn), 即它們內(nèi)部都有一個(gè)64位注冊(cè)碼為每個(gè)器件提供了一個(gè)保證唯一的標(biāo)識(shí), 確保每個(gè)器件的絕對(duì)可追溯性, 當(dāng)有多個(gè)1-W ire器件同時(shí)掛接在總線上并聯(lián)形成本地網(wǎng)絡(luò)時(shí), 注冊(cè)碼可作為器件的節(jié)點(diǎn)地址使用。數(shù)據(jù)按照1-W ire協(xié)議串行傳送, 僅需一條數(shù)據(jù)線和一條地線。因此DS2433可與DS18B20掛接在同一條數(shù)據(jù)線上, 通過它們內(nèi)部的識(shí)別碼進(jìn)行區(qū)分, 這樣大大節(jié)省了數(shù)據(jù)連接線。
整套系統(tǒng)最大的優(yōu)點(diǎn)是所使用的器件非常小巧, 這樣有兩點(diǎn)好處:
( 1)系統(tǒng)體積小, 可放置于狹小空間中并對(duì)該空間溫度進(jìn)行測(cè)量。
( 2)系統(tǒng)功耗低, 可采用電池供電, 因此可放置于野外環(huán)境進(jìn)行溫度測(cè)量。測(cè)量結(jié)束后, 只需將存貯器取回并通過計(jì)算機(jī)接口讀取記錄即可。
3 器件選擇
3. 1 小型化
同AT89C52單片機(jī)相比, AT89C2051因?yàn)槿サ袅薖0和P2口, 體積大大縮小。DS1306為串行工作方式的時(shí)鐘芯片, 較并行方式節(jié)省了大量I/O接口。
溫度傳感器DS18B20輸出為數(shù)字量, 無需進(jìn)行A /D轉(zhuǎn)換, 就可由單片機(jī)處理。
3. 2 可擴(kuò)展性
1-W ire單總線是Max im 全資子公司Dallas的一項(xiàng)專有技術(shù), 與目前多數(shù)標(biāo)準(zhǔn)串行數(shù)據(jù)通訊方式,如SPI/ I2C /M ICROW IRE 不同, 它采用單根信號(hào)線,既傳輸時(shí)鐘, 又傳輸數(shù)據(jù), 而且數(shù)據(jù)傳輸是雙向的,它具有節(jié)省I/O口線資源、結(jié)構(gòu)簡(jiǎn)單、成本低廉、便于總線擴(kuò)展和維護(hù)等特點(diǎn)。
因此, 根據(jù)實(shí)際需要, 1- W ire總線上可掛接多個(gè)溫度傳感器和存儲(chǔ)器, 能對(duì)多個(gè)目標(biāo)進(jìn)行測(cè)量并記錄更多數(shù)據(jù)。
4 通訊功能
MAX232是由德州儀器公司( TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。由于電腦串口RS232 電平是- 10V ~ 10V, 而一般的單片機(jī)應(yīng)用系統(tǒng)的信號(hào)電壓是TTL電平0V ~ 5V, MAX232 就是用來進(jìn)行電平轉(zhuǎn)換的, 該器件包含2個(gè)驅(qū)動(dòng)器、2個(gè)接收器和一個(gè)電壓發(fā)生器電路提供TIA /E IA - 232- F 電平。
該器件符合T IA /E IA - 232- F標(biāo)準(zhǔn), 每一個(gè)接收器將T IA /E IA - 232- F電平轉(zhuǎn)換成5- V TTL /CMOS電平。每一個(gè)發(fā)送器將TTL /CMOS 電平轉(zhuǎn)換成T IA /E IA - 232- F電平。
MAX232提供了單片機(jī)與PC 機(jī)的RS232通訊接口。上位機(jī)軟件可用V isua l B asic 6. 0 高級(jí)語言編寫。VB6. 0提供了串口通訊控件, 應(yīng)用這個(gè)控件,PC 機(jī)可以很方便地與單片機(jī)通過串口進(jìn)行通訊。
5 應(yīng)用實(shí)例
圖2給出了軟件操作界面和數(shù)據(jù)處理情況。某天的溫度變化情況通過列表和曲線圖兩種方法給出。由此可以掌握這一天的溫度變化規(guī)律。
溫度數(shù)據(jù)處理界面圖
圖2 溫度數(shù)據(jù)處理界面圖。
6 結(jié)束語
從測(cè)量范圍、精度和測(cè)量實(shí)例上看, 該系統(tǒng)可以用于對(duì)包括大氣溫度在內(nèi)的多種環(huán)境溫度進(jìn)行測(cè)量和記錄。
未來的工作設(shè)想:
( 1)數(shù)據(jù)存儲(chǔ)方面: 單個(gè)DS2433只能存儲(chǔ)256個(gè)溫度數(shù)據(jù), 可以換為存儲(chǔ)容量更大的存儲(chǔ)器或并行掛接多個(gè)DS2433, 以一次性記錄更多的數(shù)據(jù), 延長(zhǎng)測(cè)量周期;( 2)數(shù)據(jù)讀取方面: 目前采用的將存儲(chǔ)器取下讀取的方式還是顯得有些繁瑣, 可以設(shè)計(jì)手持式無線(如RF、紅外、藍(lán)牙等)接收裝置來獲取存儲(chǔ)器的數(shù)據(jù)。如果是對(duì)野外環(huán)境進(jìn)行測(cè)量, 可以利用移動(dòng)通訊網(wǎng)絡(luò)(如目前新興的3G 技術(shù)) 進(jìn)行數(shù)據(jù)的傳輸, 這樣就省去了科研人員的勞頓之苦。