基于A(yíng)VR單片機和DS18B20的多點(diǎn)溫度測量系統
1DS18B20和BASCOM-AVR簡(jiǎn)介
DS18B20是美國DALLAS公司生產(chǎn)的單總線(xiàn)數字溫度傳感器,從DS18B20讀出或寫(xiě)入的信息僅需要一根口線(xiàn)。在單總線(xiàn)工作方式下,允許一條信號線(xiàn)上掛接多個(gè)DS18B20,特別適合于構成遠距離多點(diǎn)溫度測控系統,從而大大簡(jiǎn)化了系統布線(xiàn),提高了可靠性,降低了成本,而實(shí)現這些的關(guān)鍵在于每片DS18B20都有唯一的ROM代碼(64位產(chǎn)品序列號)。在多點(diǎn)溫度測控系統中,ROM代碼是識別和操作DS18B20的基礎;無(wú)論讀取還是選擇對某一個(gè)傳感器進(jìn)行操作,主機必須發(fā)送64位ROM代碼。
BASCOM-AVR是MSC Electronics公司推出的基于A(yíng)VR系統的軟件開(kāi)發(fā)仿真平臺。程序語(yǔ)句和Micrsoft VB/QB高度兼容;為標準LCD顯示器、I2C芯片和單總線(xiàn)協(xié)議芯片等擴充了專(zhuān)用語(yǔ)句;內置模擬終端和程序下載功能;內置軟件仿真平臺用于測試;編譯產(chǎn)生的運行代碼可在所有帶內部存儲器的AVR微控制器中運行。DEMO版本可生成2KB程序代碼。BASCOM-AVRDEMO版安裝軟件包可到http://www.mcselec.com免費下載。
3.1獲取序列號(64位ROM代碼)
操作單總線(xiàn)數字溫度傳感器必須嚴格按規定的協(xié)議操作,即應按以下順序操作:初始化、ROM操作命令、暫存存儲器操作命令、數據傳輸。在ROM操作命令中,有兩條命令專(zhuān)門(mén)用于獲取傳感器序列號:讀ROM命令(33H)和搜索ROM命令(F0H)。讀ROM命令只能在總線(xiàn)上僅有一個(gè)傳感器的情況下使用。搜索ROM命令則允許總線(xiàn)主機使用一種“消去”處理方法來(lái)識別總線(xiàn)上所有的傳感器序列號。為了建立64位ROM代碼和測量位置點(diǎn)傳感器之間的關(guān)系,我們選用讀ROM命令(33H)。DS18B20的64位ROM代碼結構如圖2所示:
如果某一傳感器損壞,只需按上述連接方法,撥動(dòng)開(kāi)關(guān)K2輸入損壞傳感器的位置編號,將新的DS18B20插入Z1插座重新測試,單片機自動(dòng)根據讀取的編號值將測得的ROM代碼取代E2PROM中相同位置編號處的原ROM代碼即可。
3.2多點(diǎn)溫度的巡回測量
開(kāi)關(guān)K1打開(kāi),將T斷開(kāi)處接上。由于已經(jīng)在上面獲取了多個(gè)DS18B20的ROM代碼并在AVR單片機內部的E2PROM中建立了測量位置點(diǎn)和傳感器64位ROM代碼之間的關(guān)系表,因此對多個(gè)溫度的巡回測量的步驟如下:
(1)發(fā)跳過(guò)ROM命令CCH。
(2)發(fā)啟動(dòng)所有在線(xiàn)的DS18B20進(jìn)行溫度轉換命令44H。
(3)延遲1s。
(4)發(fā)匹配ROM命令55H。
(5)按照E2PROM中建立的關(guān)系表的順序取出64位ROM代碼發(fā)送到單總線(xiàn)。
(6)發(fā)讀溫度值命令BEH,讀取溫度值。
(7)進(jìn)行CRC校驗和數據處理后送LCD顯示器顯示。
(8)重復第4步到第7步,直到所有的DS18B20測量處理完。
(9)再重復第1步到第8步,進(jìn)行下一輪的巡回測量。
如果只對某一個(gè)DS18B20進(jìn)行溫度測量,只要將第1步的跳過(guò)ROM命令CCH,改為匹配ROM命令55H,將撥動(dòng)開(kāi)關(guān)撥到和要測量的DS18B20的編號相對應的數值上,單片機90S8515讀取撥動(dòng)開(kāi)關(guān)的數值(編號)n,到E2PROM建立的關(guān)系表中從(n-1)×8開(kāi)始的單元取出ROM代碼發(fā)送到總線(xiàn),去掉第8步,其余和上面步驟相似即可。
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
溫濕度控制器相關(guān)文章:溫濕度控制器原理相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論