基于AT89C2051的數(shù)字溫度計(jì)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
單片機(jī)控制已成為今天電子設(shè)計(jì)追-求的目標(biāo)之一,本文將這種控制技術(shù)應(yīng)用于溫度測(cè)量中。AT89C2051是美國(guó)Atmel公司生產(chǎn)的低電壓、高性能CMOS8位單片機(jī),片內(nèi)含有2 KB的反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器和128 B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的DSl-8B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能傳感器。數(shù)字溫度計(jì)是以DS18B20為檢測(cè)元件,由AT89C2051作為主控制器的溫度計(jì),具有功耗低、結(jié)構(gòu)簡(jiǎn)單、讀數(shù)方便、測(cè)溫范圍廣、測(cè)溫準(zhǔn)確的特點(diǎn)。
1 電路構(gòu)成及工作原理
1.1 硬件設(shè)計(jì)
由AT89C2051構(gòu)成的溫度計(jì)主要由三部分組成:DSl8B20溫度傳感器、單片機(jī)AT89C2051、由LED數(shù)碼管構(gòu)成的顯示模塊。其系統(tǒng)原理框圖如圖1所示。DSl8B20作為單片機(jī)AT89C2051的外部信號(hào)源,把所采集到的溫度轉(zhuǎn)換為數(shù)字信號(hào),通過(guò)I/O接口傳給2051,2051啟動(dòng)ROM內(nèi)的控制程序驅(qū)動(dòng)LED數(shù)碼管,通過(guò)I/O接口和數(shù)據(jù)線(單片機(jī)和數(shù)碼管的接口)把數(shù)據(jù)傳送給數(shù)碼管,將采集到的溫度顯示出來(lái)。
1.2 總電路圖
基于AT89C2051的溫度測(cè)量系統(tǒng)電路圖把溫度轉(zhuǎn)化成帶符號(hào)的數(shù)字信號(hào)(以十六位補(bǔ)碼形式,占兩個(gè)字節(jié)),若采用帶屏蔽的雙絞電纜線,連線的長(zhǎng)度可以達(dá)到150 m,輸出腳I/0直接與單片機(jī)的P3.4相連,R1為上拉電阻,傳感器采用外部電源供電。AT89C2051是整個(gè)系統(tǒng)的核心部分,內(nèi)含2 KB的FLASH ROM,用戶(hù)程序存放在這里。顯示器模塊由四位一體的共陽(yáng)數(shù)碼管和四個(gè)9012組成。系統(tǒng)程序分傳感器控制程序和顯示器程序兩部分,傳感器控制程序是按照DSl8B20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對(duì)傳感器的讀寫(xiě)和對(duì)溫度的顯示。
產(chǎn)品的主要技術(shù)指標(biāo):測(cè)量范圍:-55~+125℃,測(cè)量精度:0.5℃;反應(yīng)時(shí)間小于等于500 ms。
2 軟件設(shè)計(jì)
2.1 采集模塊
該模塊選用單線溫度傳感器DSl8B20完成溫度采集。單片機(jī)AT89C51對(duì)DSl8B20訪問(wèn)流程如下:先對(duì)DSl8B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作。DSl8B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。根據(jù)DSl8B20的通訊協(xié)議,需經(jīng)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DSl8B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令(指令代碼CCH)并置標(biāo)志位,根據(jù)標(biāo)志位來(lái)判斷是否初始化成功,最后發(fā)送RAM指令(指令代碼44H)DSl8B20開(kāi)始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值(指令代碼BEH),讀取的溫度值高位字節(jié)送27H單元,低位字節(jié)送26H單元,再按照溫度值字節(jié)的表示格式及其符號(hào)位,經(jīng)過(guò)簡(jiǎn)單的變換即可得到實(shí)際溫度值。 [!--empirenews.page--]
2.2 主處理模塊
主處理模塊主要是將各個(gè)模塊進(jìn)行協(xié)調(diào)處理以實(shí)現(xiàn)數(shù)據(jù)交互。主處理模塊首先完成初始化工作,初始化后進(jìn)入循環(huán)處理,在循環(huán)過(guò)程中獲得采集模塊的數(shù)據(jù),并將數(shù)據(jù)進(jìn)行處理,根據(jù)處理后的結(jié)果進(jìn)行顯示。主處理的流程圖如圖3所示。
2.3 顯示模塊
采用動(dòng)態(tài)掃描的方法,其中P3.O,P3.1,P3.2,P3.3控制位選,P1控制段選。由P3.O,P3.1,P3.2,P3.3向各位輪流輸出掃描信號(hào),使每一瞬間只有一個(gè)數(shù)碼管被選通,然后由P1送入該位所要顯示的字形碼,點(diǎn)亮該位字形段顯示的字形。在P1送出的碼段和P3.0,P3.1,P3.2,P3.3送出的位段的配合控制下,使各個(gè)數(shù)碼管輪流點(diǎn)亮顯示各自的字形。
3 結(jié)語(yǔ)
該設(shè)計(jì)測(cè)溫傳感器采用改進(jìn)型智能溫度傳感器DSl8B20,測(cè)溫范圍為-55~+125℃,最大分辨率可達(dá)0.062 5℃,可以直接讀出被測(cè)溫度值,而且采用單線制與單片機(jī)相連,減少了外部的硬件電路,同時(shí)可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供微機(jī)處理。