基于單片機的數(shù)字溫度計設(shè)計課程論文_第1頁
基于單片機的數(shù)字溫度計設(shè)計課程論文_第2頁
基于單片機的數(shù)字溫度計設(shè)計課程論文_第3頁
基于單片機的數(shù)字溫度計設(shè)計課程論文_第4頁
基于單片機的數(shù)字溫度計設(shè)計課程論文_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、信息工程學(xué)院單片機原理與外圍電路課程論文題目:基于單片機的數(shù)字溫度計設(shè)計 姓名: 金鑫 學(xué)號: 50112113 班級: 計算機15-3 摘要:隨著時代的進步和發(fā)展,單片機技術(shù)已經(jīng)普及到我們生活、工作、科研、各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本 文主要介紹了一個基于89s51單片機的測溫系統(tǒng),詳細描述了利用數(shù)字溫度傳感器ds18b20開發(fā)測溫系統(tǒng)的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方便的實現(xiàn)實現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積

2、小、功耗低等優(yōu)點,適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展。ds18b20與at89c51結(jié)合實現(xiàn)最簡溫度檢測系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景。 關(guān)鍵詞:單片機;溫度檢測;at89s51;ds18b20;abstract: along with the progress and development of the ages, single slice the machine technique has already make widely available the l

3、ife is to us,work,research,each realm, have already become the technique of a kind of comparison maturity. this paper mainly describes a temperature measurement system based on 89s51 singlechip, detailedly describing the development process use digital temperature sensor, the paper introduces the ha

4、rdware connectivity and software programming of the ds18b20 based on the single-chip, and give the software flow chart of each module,as well as introduced each circuit of the system.system can easily to collect and display the temperature, it can also arbitrary set alarm temperature according to th

5、e actual need, it is used convenience, it has high precision,wide range ,high sensitivity, small size,and low power dissipation, the device is especially applied to measure temperature in peoples daily lives ,industrial and agricultural production,and also easily as a temperature processing module e

6、mbed in the other system, turn into as a complementary expansion. key word : singlechip temperature measurement;at89s51; ds18b20目錄1緒論41.1設(shè)計背景41.2國內(nèi)外現(xiàn)狀41.3 課題的設(shè)計目的51.4課題的主要工作52系統(tǒng)方案設(shè)計62.1 方案選擇62.1 系統(tǒng)的總體設(shè)計方案63硬件設(shè)計83.1 stc89c52rc芯片功能簡介83.1.1 stc89c52rc芯片簡介83.1.2 引腳功能83.2 ds18b20芯片簡介123.2.1 芯片簡介123.2.2 d

7、s18b20的外形和內(nèi)部結(jié)構(gòu)133.2.3 ds18b20的工作時序153.2.4 ds18b20與單片機的典型接口設(shè)計173.2.5 ds18b20的各個rom命令173.3 max232簡介193.4 rs232接口簡介203.4.1 rs232接口的電平轉(zhuǎn)換213.4.2 rs232總線接口標準213.5系統(tǒng)總體電路圖234 系統(tǒng)軟件設(shè)計234.1 各模塊的程序設(shè)計234.1.1主程序流程圖234.1.2 讀出溫度子程序254.1.3 溫度轉(zhuǎn)換命令子程序254.1.4 計算溫度子程序264.1.5 顯示數(shù)據(jù)刷新子程序274.1.6 報警子程序274.1.7 按鍵掃描處理子程序284.2

8、protues仿真285結(jié)論30參考文獻32附錄33附錄1 元器件清單33附錄2 全部程序清單34附錄3 系統(tǒng)總設(shè)計圖43附錄4 pcb仿真線路及3d圖441緒論1.1設(shè)計背景隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來單片機發(fā)展十分迅速,一個以微機應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機械、食品、石油等各個行業(yè)。傳統(tǒng)的溫度采集方法不僅費時費力,而且精度差,單片機的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問題能夠得到很好的解決。溫度是工業(yè)對象中的一個重要的被控參數(shù)。然而所采用的測溫元件和測量方法也不相同;產(chǎn)品的工藝不同,控制溫度的精度也不相同。因此對數(shù)據(jù)采集的精度和采用

9、的控制方法也不相同。傳統(tǒng)的控制方式以不能滿足高精度,高速度的控制要求,如溫度控制表溫度接觸器,其主要缺點是溫度波動范圍大。由于他主要通過控制接觸器的通斷時間比例來達到改變加熱功率的目的,受儀表本身誤差和交流接觸器的壽命限制,通斷頻率很低。近幾年來快速發(fā)展了多種先進的溫度控制方式,如:pid控制,模糊控制,神經(jīng)網(wǎng)絡(luò)及遺傳算法控制等。這些控制技術(shù)大大的提高了控制精度,不但使控制變得簡便,而且使產(chǎn)品的質(zhì)量更好,降低了產(chǎn)品的成本,提高了生產(chǎn)效率。本設(shè)計使用單片機作為核心進行控制。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,在數(shù)字、智能

10、化方面有廣泛的用途。1.2國內(nèi)外現(xiàn)狀溫度計在國內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度計來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進國家相比,仍然有著較大的差距。溫度計測溫技術(shù)的關(guān)鍵在于溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展,同時具有抑制串模干擾能力強、分辨力高、線性度好、成本低等優(yōu)點。隨著我國四個現(xiàn)代化和經(jīng)濟發(fā)展,我國在科技和生產(chǎn)各領(lǐng)域都取得了飛速的發(fā)展和進步,發(fā)展以溫度傳感器為載體的溫度測量技術(shù)具有重大意義。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感

11、器之首。溫度傳感器的發(fā)展大致經(jīng)歷了以下三個階段:傳統(tǒng)的分立式溫度傳感器(含敏感元件);模擬集成溫度傳感器/控制器;數(shù)字溫度傳感器。溫度傳感器的發(fā)展現(xiàn)狀:溫度傳感器使用范圍廣,數(shù)量多,居各種傳感器之首,其發(fā)展大致經(jīng)歷了以下3個階段: 傳統(tǒng)的分立式溫度傳感器(含敏感元件)熱電偶傳感器,主要是能夠進行非電量和電量之間轉(zhuǎn)換。 模擬集成溫度傳感器/控制器。集成傳感器是采用硅半導(dǎo)體集成工藝制成的,因此亦稱硅傳感器或單片集成溫度傳感器。 智能溫度傳感器。它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ate_)的結(jié)晶。智能溫度傳感器內(nèi)部包含溫度傳感器、a/d傳感器、信號處理器、存儲器(或寄存器)和接口電路。從國內(nèi)

12、外來看工業(yè)生產(chǎn)控制中用數(shù)字溫度計可清晰顯示溫度來防止元氣件失效或損壞等不必要的非人為損失,對做好車間機器維修與保養(yǎng)起很重要的作用。溫度是一般工業(yè)領(lǐng)域最容易碰到的檢測參數(shù),如環(huán)境溫度的檢測,工業(yè)工藝溫度參數(shù)的檢測,設(shè)備的溫度保護檢測等,而市場上專用的、通用的各類溫控儀產(chǎn)品也比較豐富。國內(nèi)外的溫度檢測儀器的發(fā)展水平主要體現(xiàn)在儀器的智能化水平、測量的文的范圍、測量的精度以及儀器的功耗等技術(shù)指標上,目前國內(nèi)的溫度測量,在精度上很少有高于0.1的。近年來溫度計正處在傳統(tǒng)型向新型溫度計轉(zhuǎn)型的發(fā)展階段,新型溫度計的特點是微型化、數(shù)字化、智能化、多功能化、系統(tǒng)化,他不僅促進了傳統(tǒng)產(chǎn)業(yè)的改造。而且可導(dǎo)致建立新型

13、工業(yè),是21世紀新的經(jīng)濟增長的。1.3 課題的設(shè)計目的1. 鞏固、加深和擴大單片機應(yīng)用的知識面,提高綜合及靈活運用所學(xué)知識解決工業(yè)控制的能力。2. 培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動手能力。3. 通過對課題設(shè)計方案的分析、選擇、比較、熟悉單片機用系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計的方法、內(nèi)容及步驟。1.4課題的主要工作本課題的研究重點是設(shè)計一種基于單片機的數(shù)字溫度計控制系統(tǒng)。能夠顯示溫度的測量值主要工作如下:1. 溫度測試基本范圍0100。2. 精度為0.5。3. led液晶顯示。4. 可以設(shè)定溫度的上下限報警功能。5. 實現(xiàn)報警提示。2

14、系統(tǒng)方案設(shè)計2.1 方案選擇方案一:使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進行a/d轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到a/d轉(zhuǎn)換電路。此方案數(shù)據(jù)處理比較麻煩,且容易產(chǎn)生信號失真。方案二:使用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的。所以可以采用一只溫度傳感器ds18b20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。而且此方案電路比較簡單,軟件設(shè)計也比較容易實現(xiàn)。從以上兩種方案很容易看出方案二電路比較簡單,軟件設(shè)計容易實現(xiàn),故實本設(shè)計中

15、采用方案二。方案二可以只用一根線實現(xiàn)信號的雙向傳輸,具有接口簡單容易擴展等優(yōu)點,ds18b20可以直接溫度轉(zhuǎn)換為串行數(shù)字信號,供單片機進行處理,具有低功耗、商性能、抗干擾能力強等優(yōu)點。2.1 系統(tǒng)的總體設(shè)計方案本設(shè)計采用stc89c52rc單片機實現(xiàn)。單片機軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實現(xiàn)簡單,安裝方便。既可以單獨對多ds18b20控制工作,還可以與pc機通信。另外stc89c52rc在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。單總線數(shù)字溫度計ds1820采用基板專利技術(shù)來測量溫度 ,溫度傳感器及各種數(shù)字轉(zhuǎn)換電路都

16、集成在一起 ,由總線串行輸出測量值(9 位二進制編碼) 。測溫范圍從 - 55 + 125 , 還可以讀內(nèi)部計數(shù)器 ,獲得較高的分辨率。同時還可以進行上、 下限溫度的設(shè)定和報警等。本課題主要研究如何利用ds18b20智能溫度傳感器實時顯示溫度,并將其與led顯示鍵盤合并使用,制成一個能實時顯示溫度的數(shù)字溫度計。本設(shè)計將利用ds18b20智能溫度傳感器和單片小系統(tǒng),設(shè)計一個數(shù)字溫度采集系統(tǒng)。并設(shè)計一個人機接口電路:鍵盤采用獨立按鍵(功能自定義),顯示器采用共陰極4位led顯示。系統(tǒng)的總體設(shè)計方案框圖如圖2.1所示圖2.1 系統(tǒng)總體設(shè)計方案框圖圖2.2系統(tǒng)總體結(jié)構(gòu)框圖按照系統(tǒng)設(shè)計功能的要求,系統(tǒng)主

17、要由單片機、溫度傳感器ds18b20、led數(shù)碼顯示管和pc機組成。系統(tǒng)的硬件電路主要由復(fù)位電路、測溫電路、顯示電路、晶振電路和報警電路組成,系統(tǒng)總體結(jié)構(gòu)方框圖如圖2.2所示。3硬件設(shè)計3.1 stc89c52rc芯片功能簡介3.1.1 stc89c52rc芯片簡介stc89c52rc是一種帶8k字節(jié)閃爍可編程可檫除只讀存儲器(fperom-flash programable and erasable read only memory )的低電、高性能comos8的微處理器,俗稱單片機。該器件采用atmel搞密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的mcs-51指令集和輸出管腳相兼容。3.1.

18、2 引腳功能stc89c52rc芯片的引腳圖如圖3.1所示:圖3.1 stc89c52引腳圖stc89c52rc的引腳功能如下: 主電源引腳(2根)vcc(pin40):電源輸入,接5v電源gnd(pin20):接地線外接晶振引腳(2根)xtal1(pin19):片內(nèi)振蕩電路的輸入端xtal2(pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)rst/vpp(pin9):復(fù)位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復(fù)位。ale/prog(pin30):地址鎖存允許信號psen(pin29):外部存儲器讀選通信號ea/vpp(pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀

19、指令,如果接高電平則從內(nèi)部程序存儲器讀指令??删幊梯斎?輸出引腳(32根)stc89c52單片機有4組8位的可編程i/o口,分別位p0、p1、p2、p3口,每個口有8位(8根引腳),共32根。po口(pin39pin32):8位雙向i/o口線,名稱為p0.0p0.7p1口(pin1pin8):8位準雙向i/o口線,名稱為p1.0p1.7 p2口(pin21pin28):8位準雙向i/o口線,名稱為p2.0p2.7 p3口(pin10pin17):8位準雙向i/o口線,名稱為p3.0p3.7stc89c52主要功能如表3-1所示。表3-1 stc89c52主要功能主要功能特性兼容mcs51指令系

20、統(tǒng)8k可反復(fù)擦寫flash rom32個雙向i/o口256x8bit內(nèi)部ram3個16位可編程定時/計數(shù)器中斷時鐘頻率0-24mhz2個串行中斷可編程uart串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能1.時鐘電路stc89c52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳rxd和txd分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖3.2(a) 所示,在rxd和txd引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.21

21、2mhz之間選擇,電容值在530pf之間選擇,電容值的大小可對頻率起微調(diào)的作用。外部方式的時鐘電路如圖3.2(b)所示,rxd接地,txd接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12mhz的方波信號。片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘p1和p2,供單片機使用。rxd接地,txd接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12mhz的方波信號。片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘p1和p2,供單片機使用。(a)內(nèi)部方式時鐘電路 (b)外部方式時鐘電路圖3.2時鐘電路2.復(fù)位及復(fù)位電路(1)復(fù)位操作復(fù)位是

22、單片機的初始化操作。其主要功能是把pc初始化為0000h,使單片機從0000h單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。除pc之外,復(fù)位操作還對其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表3-2所示。表3-2 一些寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)pc0000htcon00hacc00htl000hpsw00hth000hsp07htl100hdptr0000hth100hp0-p3ffhscon00hip0x000000bsbuf不定ie0x000000bpcon0x000000btmod00h(

23、2)復(fù)位信號及其產(chǎn)生rst引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即二個機器周期)以上。若使用頗率為6mhz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。產(chǎn)生復(fù)位信號的電路邏輯如圖3.3所示:圖3.3復(fù)位信號的電路邏輯圖整個復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(rst)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機器周期的s5p2時刻對施密特觸發(fā)器的輸出進行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,其電路如圖3.4(a)所示。這佯,只要電源

24、vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與vcc電源接通而實現(xiàn)的,其電路如圖3.4(b)所示;而按鍵脈沖復(fù)位則是利用rc微分電路產(chǎn)生的正脈沖來實現(xiàn)的,其電路如圖3.4(c)所示:(a)上電復(fù)位 (b)按鍵電平復(fù)位 (c)按鍵脈沖復(fù)位圖3.4復(fù)位電路上述電路圖中的電阻、電容參數(shù)適用于6mhz晶振,能保證復(fù)位信號高電平持續(xù)時間大于2個機器周期。3.2 ds18b20芯片簡介3.2.1 芯片簡介(1) 適應(yīng)電壓范圍更寬,電壓范圍:3.0 v5.5v,在寄生電源方式下可由數(shù)據(jù)線供

25、電。(2) 獨特的單線接口方式,ds18b20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通訊。(3) ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(4) 測溫范圍55125,在-10+85時精度為0.5。(5) 可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫。(6) 在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(7) 測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給cpu,同

26、時可傳送crc校驗碼,具有極強的抗干擾糾錯能力。(8) 負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作5。3.2.2 ds18b20的外形和內(nèi)部結(jié)構(gòu)ds18b20內(nèi)部結(jié)構(gòu)如圖3.7所示,主要由4部分組成:64位rom、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器。ds18b20外形及管腳排列如圖3.8和表3-3所示。 64位rom和單線接 口 高速緩存 存儲器 存儲器和控制器8位crc生成器溫度傳感器 低溫觸發(fā)器tl高溫觸發(fā)器th配置寄存器電源檢測i/o cvdd圖3.7 ds18b20的內(nèi)部結(jié)構(gòu)圖3.8 ds18b20的管腳排列表3-3 ds18b20引腳定義:序

27、號名稱引腳功能描述1gnd地信號2dq數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3vdd可選擇的vdd引腳。當(dāng)工作于寄生電源時,此引腳必須接地。(1)64位rom rom中的64位序列號是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼,每個ds18b20的64位序列號均不相同。64位rom的循環(huán)冗余校驗碼(crc=x8x5x41)。rom的作用是使每一個ds18b20都各不相同, ds18b20中的溫度傳感器完成對溫度的測量,用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/lsb形式表達,其中s為符號位。ds18b20溫度值格式表

28、4-4如下所示。rom中的64位序列號是出廠前被光刻好的,他可以看作是該ds18b20的地址序列碼,每個ds18b20的64位序列號均不相同。64位rom的循環(huán)冗余校驗碼(crc=x8x5x41)。rom的作用是使每一個ds18b20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個ds18b20的目的。ds18b20中溫度傳感器完成對溫度的側(cè)量,用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/lsb形式表達,其中s為符號位。ds18b20溫度值格式表3-4如下所示。這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在ds18b20的兩個8比特的ram中,二進制中的前面5位是符號位,如果測得的溫度大于

29、0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。例如25.0625的數(shù)字輸出為0191h,25.0625的數(shù)字輸出為ff6fh。 表3-4 ds18b20溫度值格式表 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0ls byte22222222 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 ms bytesssss222 (2)高低溫報警觸發(fā)器th和tlds18b20溫度傳感器的內(nèi)部存儲器包括一個高速暫存ram和一

30、個非易失性的可電擦除的eepram,后者存放高溫度和低溫度觸發(fā)器th、tl和結(jié)構(gòu)寄存器。 (3)配置寄存器 該字節(jié)各位的意義如下表3-5所示。表3-5 配置寄存器結(jié)構(gòu)tmr1r011111低五位一直都是“1”,tm是測試模式位,用于設(shè)置ds18b20在工作模式還是在測試模式。在ds18b20出廠時該位被設(shè)置為0,用戶不要去改動。r1和r0用來設(shè)置分辨率,如下表3-6所示(ds18b20出廠時被設(shè)置為12位)。表3-6 溫度分辨率設(shè)置表r1r0分辨率溫度最大轉(zhuǎn)換時間009位93.75ms 0110位187.5ms 1011位375ms 1112位750ms (4)高速暫存器高速暫存器是一個9字節(jié)

31、的存儲器。開始兩個字節(jié)包含被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別是th、tl、配置寄存器的臨時拷貝,每一次上電復(fù)位時被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個字節(jié)的crc碼,可用來保證通信正確。高速暫存器ram結(jié)構(gòu)圖如下表3-7所示。表3-7 ds18b20暫存寄存器分布寄存器內(nèi)容 字節(jié)地址溫度值低位 (ls byte)0溫度值高位 (ms byte)1高溫限值(th)2低溫限值(tl)3配置寄存器4保留5保留6保留7crc校驗值83.2.3 ds18b20的工作時序ds18b20的一線工作協(xié)議流程是:初始化rom操作指令存儲器操作指令數(shù)據(jù)傳輸。其工作時序包

32、括初始化時序、寫時序和讀時序,如圖3.9 (a)(b)(c)所示。 ds18b20等待 ds18b20tx產(chǎn)生 15us16us 脈沖60-240 主機復(fù)位脈沖 vcc 480ustx960us 主機rx min480us 1-wire bus gnd圖3.9 (a)初始化時序 主機寫“0”時隙 主機寫“1”時隙 vcc 60ustx120us 1ustxcc1us ds18b20采樣 15us min typ max min typ max 15us 30us 15us 15us 30us圖3.9(b)寫時序vcc 主機讀“0”時隙 主機讀“1”時隙1-wire bus gnd 主機采樣 1

33、us15us 15us 30us 主機采樣 15us圖3.9(c)讀時序主機控制ds18b20完成任何操作之前必須先初始化,即主機發(fā)一復(fù)位脈沖(最短為480us的低電平),接著主機釋放總線進入接收狀態(tài),ds18b20在檢測到i/o引腳上的上升沿之后,等待15-60us然后發(fā)出存在脈沖(60-240us的低電平)。 寫時間片:將數(shù)據(jù)從高電平拉至低電平,產(chǎn)生寫起始信號。在15us之內(nèi)將所需寫的位送到數(shù)據(jù)線上,在15us到60us之間對數(shù)據(jù)線進行采樣,如果采樣為高電平,就寫1,如果為低電平,寫0就發(fā)生。在開始另一個寫周期前必須有1us以上的高電平恢復(fù)期。讀時間片:主機將數(shù)據(jù)線從高電平拉至低電平1us

34、以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號。主機在讀時間片下降沿之后15us內(nèi)完成讀位。每個讀周期最短的持續(xù)期為60us,各個讀周期之間也必須有1us以上的高電平恢復(fù)期。3.2.4 ds18b20與單片機的典型接口設(shè)計圖3.10以mcs51系列單片機為例,畫出了ds18b20與微處理器的典型連接。圖3.10(a)中ds18b20采用寄生電源方式,其vdd和gnd端均接地,圖3.10(b)中ds18b20采用外接電源方式,其vdd端用3v5.5v電源供電6。(a) 寄生電源工作方式 (b) 外接電源工作方式圖3.10電源工作方式圖3.2.5 ds18b20的各個rom命令(1) read r

35、om 33h這個命令允許總線控制器讀到ds18b20的8位系列編碼,惟一的序列號的8位crc碼。只有在總線上存在單只ds18b20的時候才能用這個命令。如果總線上有不止一個從機,當(dāng)所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成“與”的效果)。(2)match rom 55h這是個匹配rom命令,后跟64位rom序列,讓總線控制器在多點總線上定位一只特定的ds18b20。只有和64位rom序列完全匹配的ds18b20才能響應(yīng)隨后的存儲器操作。所有和64位rom序列不匹配的從機都將等待復(fù)位脈沖。這條命令在總線上有單個或多個器件時都可以使用。(3) skip rom 0cch 這個

36、命令允許總線控制器不用提供64位rom編碼就使用存儲器操作命令,在單點總線情況下,可以節(jié)省時間。如果總線上不止一個從機,在命令之后緊跟著發(fā)一條讀命令,由于多個從機同時傳信號??偩€上發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成“與”的效果)。(4) search rom 0f0h當(dāng)一個系統(tǒng)初次啟動時,總線控制器并不知道單線總線上有多少個器件或它們的64位rom編碼。搜索rom命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。(5) alarm search 0ech 這條命令的流程和search rom相同。然而,只有在最近一次測溫后遇到符合報警條件的情況,ds18b20才會響應(yīng)這條命令。報警條

37、件定義為溫度高于th或低于tl。只要ds18b20不掉電,報警狀態(tài)將一直保持,直到再一次測得的溫度值達不到報警條件。(6) write scratchpad4eh這個命令向ds18b20的暫存器th和tl中寫入數(shù)據(jù)??梢栽谌魏螘r刻發(fā)出復(fù)位命令來中止寫入。(7) read scratchpad0beh 這個命令讀取暫存器的內(nèi)容。讀取將從第1字節(jié)開始,一直進行下去,直到第9(crc)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時刻發(fā)出復(fù)位命令來中止讀取。(8) copy scratchpad48h這個命令把暫存器的內(nèi)容拷貝到ds18b20的erom存儲器里,即把溫度報警觸發(fā)器字節(jié)存入非易失性存

38、儲器里。如果控制器在這條命令之后跟著發(fā)出讀時間隙,而ds18b20又忙于把暫存器拷貝到e存儲器,ds18b20就會輸出一個0,如果拷貝結(jié)束的話,ds18b20輸出1。如果使用寄生電源,總線控制器必須在這條命令后立即啟動強上拉,并最少保持10ms。(9) convert t44h 這個命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后ds18b20保持等待狀態(tài)。如果控制器在這條命令之后跟著發(fā)出時間隙,而ds18b20有忙于做時間轉(zhuǎn)換的話,ds18b20將在總線上輸出一個0,若溫度轉(zhuǎn)換完,則輸出1。如果使用寄生電源,總線控制器必須在發(fā)出這條命令后立即啟動強上拉,并最少保持500ms以上時

39、間。(10) read e0b8h這條命令把 觸發(fā)器里的值拷貝回暫存器。這種拷貝操作在ds18b20上電時自動執(zhí)行,這樣一上電暫存器里馬上存在有效的數(shù)據(jù)了。若在這條命令之后發(fā)出讀數(shù)據(jù)隙,器件會輸出溫度轉(zhuǎn)換忙的標識:0為忙,1為完成。(11) read power supply0b4h若把這條命令發(fā)給ds18b20后發(fā)出讀時間隙,器件會返回它的電源模式:0為寄生電源,1為外部電源。3.3 max232簡介max232芯片是美信公司專門為電腦的rs-232標準串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。max232的引腳圖如圖3.15所示:圖3.15 max232引腳圖引腳介紹:第一部分是

40、電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給rs-232串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。 其中13腳(r1in)、12腳(r1out)、11腳(t1in)、14腳(t1out)為第一數(shù)據(jù)通道。 8腳(r2in)、9腳(r2out)、10腳(t2in)、7腳(t2out)為第二數(shù)據(jù)通道。 ttl/cmos數(shù)據(jù)從t1in、t2in輸入轉(zhuǎn)換成rs-232數(shù)據(jù)從t1out、t2out送到電腦db9插頭;db9插頭的rs-232數(shù)據(jù)從r1in、r2in輸入轉(zhuǎn)換成ttl/cmos數(shù)

41、據(jù)后從r1out、r2out輸出。 第三部分是供電。15腳gnd、16腳vcc(+5v)。 max232的原理電路圖如圖3.16所示:圖3.16 max電路原理圖max232的主要特點:1、符合所有的rs-232c技術(shù)標準 2、只需要單一 +5v電源供電 3、片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10v和-10v電壓v+、v- 4、功耗低,典型供電電流5ma 5、內(nèi)部集成2個rs-232c驅(qū)動器 6、內(nèi)部集成兩個rs-232c接收器3.4 rs232接口簡介rs-232c是使用最早、 應(yīng)用最多的一種異步串行通信總線標準, 它是美國電子工業(yè)協(xié)會eia(electronic indust

42、ry association)于1962年公布、 1969年最后修訂而成的。 rs表示 recommended standard, 232是該標準的標識, c表示最后一次修訂。 rs-232c主要用于定義計算機系統(tǒng)的一些數(shù)據(jù)終端設(shè)備(dte)和數(shù)據(jù)通信設(shè)備(dce)之間接口的電氣特性。 crt、 打印機與cpu的通信大都采用rs-232c總線8。 3.4.1 rs232接口的電平轉(zhuǎn)換rs-232c標準是在ttl電路之前研制的, 它的電平不是+5 v和地, 而是采用負邏輯, 其邏輯電平為: 邏輯“0”:+3 v+15 v邏輯“1”: -3 v-15 v因此, rs-232c不能和計算機的ttl電

43、平直接相連, 使用時必須加上適當(dāng)?shù)碾娖睫D(zhuǎn)換電路芯片, 否則將使ttl電路燒壞。常用的電平轉(zhuǎn)換接口芯片是傳輸驅(qū)動器mc1488和傳輸接收器mc1489, 它們是用于計算機(終端)與rs 232c總線間進行電平轉(zhuǎn)換的接口芯片。另一種常用的電平轉(zhuǎn)換芯片是max232, 該芯片有兩個傳輸驅(qū)動器和兩個傳輸接收器。3.4.2 rs232總線接口標準rs-232c標準規(guī)定的數(shù)據(jù)傳輸率為50 b/s、 75 b/s、 100 b/s、 150 b/s、 300 b/s、 600 b/s、 1200 b/s、 2400 b/s、 4800 b/s、 9600 b/s、 19 200 b/s。 驅(qū)動器允許有250

44、0 pf的電容負載, 通信距離將受此電容限制。 例如, 采用150 pf/m的通信電纜時, 最大通信距離為 15 m, 若每米電纜的電容量減小, 則通信距離可以增加。 傳輸距離短的另一原因是rs-232c 屬單端信號傳送, 存在共地噪聲和不能抑制共模干擾等問題。 因此, 它一般用于 20 m 以內(nèi)的通信。rs -232c總線標準規(guī)定了21個信號, 有25條引腳線, 常采用25芯d型插頭座, 提供一個主信道和一個輔助信道, 在多數(shù)情況下主要使用主信道。 對于一般異步雙工通信, 僅需幾條信號線就可實現(xiàn), 如一條發(fā)送線、 一條接收線及一條地線。 rs-232c也有9芯標準d型插頭座,rs232c9芯

45、排列引腳如圖3.7所示,個引腳功能如表3-8所示。表3-8 9芯rs232c的引腳功能rs-232c定義了計算機系統(tǒng)的一些數(shù)據(jù)終端設(shè)備(dte)和數(shù)據(jù)通信設(shè)備(dce)之間接口的電氣特性。rs-232c提供的兩個信道中, 輔助串行信道提供數(shù)據(jù)控制和第二信道, 但其傳輸速率比主信道要低得多。 除了速率低之外兩信道無異, 但輔助信道通常很少使用。信號分為兩類: 一類是dte與dce交換的信息txd和rxd; 另一類是為了正確無誤地傳輸上述信息而設(shè)計的聯(lián)絡(luò)信號。 3.5系統(tǒng)總體電路圖系統(tǒng)的總體電路圖如圖3.19所示:圖3.19 總體電路圖4 系統(tǒng)軟件設(shè)計4.1 各模塊的程序設(shè)計系統(tǒng)程序主要包括主程序

46、,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序和按鍵掃描處理子程序等。4.1.1主程序流程圖主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理ds18b20 的測量的當(dāng)前溫度值,溫度測量每1s 進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖4.1 所示。圖4.1 主程序流程圖4.1.2 讀出溫度子程序讀出溫度子程序的主要功能是讀出ram 中的9 字節(jié),在讀出時需進行crc 校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖4.2示:圖4.2 讀出溫度子程序流程圖4.1.3 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12 位分辨

47、率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s 顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖4.3 所示: 圖4.3 溫度轉(zhuǎn)換命令子程序流程圖4.1.4 計算溫度子程序計算溫度子程序?qū)am 中讀取值進行bcd 碼的轉(zhuǎn)換運算,并進行溫度值正負的判定,其程序流程圖如圖4.4 所示。圖4.4 計算溫度子程序流程圖4.1.5 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對分離后的溫度顯示數(shù)據(jù)進行刷新操作,當(dāng)標志位位為1時將符號顯示位移入第一位。程序流程圖如圖4.5所示。圖4.5 顯示數(shù)據(jù)刷新子程序流程圖4.1.6 報警子程序設(shè)置報警標志位位beep,當(dāng)溫度大于設(shè)置的高限報警值或低于設(shè)

48、置的低限報警值是,beep=1報警;當(dāng)溫度值在正常范圍內(nèi)時,beep=0.報警流程圖如圖4.6所示:圖4.6 報警流程圖4.1.7 按鍵掃描處理子程序按鍵采用掃描查詢方式,設(shè)置標志位,當(dāng)標志位為1 時,顯示設(shè)置溫度,否則顯示當(dāng)前溫度。如下圖4.7所示。圖4.7 按鍵掃描子程序流程圖4.2 protues仿真通過仿真軟件驗證該原理圖的可行性。采用protues軟件對電路仿真,可以得到預(yù)期效果。仿真圖如圖4.8示。溫度傳感器的仿真效果圖如圖4.9所示,此圖驗證了傳感器的溫度與數(shù)碼管顯示的數(shù)字一致。stc89c52與at89c52都屬于51系列的單片機,他們是兼容的,所以protues中沒有stc8

49、9c52芯片,就由at89c52芯片代替。圖4.8 protues仿真圖圖4.9 ds18b20仿真圖當(dāng)按下k1 鍵一次時,進入溫度報警上線調(diào)節(jié),此時顯示軟件設(shè)置的溫度報警上線,按k2或k3分別對報警溫度進行加一或減一。當(dāng)再次按下k1 鍵時,進入溫度報警下線調(diào)節(jié),此時顯示軟件設(shè)置的溫度報警下線,按k2或k3分別對報警溫度進行加一或減一。當(dāng)?shù)谌伟聪耴1 鍵時,退出溫度報警線設(shè)置。顯示當(dāng)前溫度。如圖4.10是第一次按下k1鍵顯示的上限溫度報警值,此時按k2或k3鍵分別對上限溫度報警值進行加一或減一;圖4.11是第二次按下k1鍵顯示的下限溫度報警值,此時按k2或k3鍵分別對下限溫度報警值進行加一或

50、減一。圖4.10上限溫度報警值圖4.11 下限溫度報警值5結(jié)論本次設(shè)計主要是通過stc89c52單片機為核心設(shè)計的一款數(shù)字溫度計,該溫度計不僅能夠?qū)崟r測量溫度值顯示出來還能夠設(shè)定溫度上下限進行監(jiān)控,若溫度高于設(shè)定上限值或低于下限值,則報警電路將進行報警。硬件方面:本設(shè)計采用的是stc89c52單片機為核心的數(shù)字溫度計,包含了利用溫度傳感器ds18b20的測溫電路、外接鍵盤、顯示電路、繼報警電路、復(fù)位電路和晶振電路。以ds18b20為主要測溫元件進行實時監(jiān)控溫度值。以4位數(shù)碼管為顯示器件,利用單片機的p0口和上拉電阻來驅(qū)動4位數(shù)碼管的顯示;利用單片機的p1.7來驅(qū)動溫度傳感器ds18b20測溫;報警電路利用三極管放大作用驅(qū)動報警器報警;按鍵是利用單片機的p1口和上拉電阻來驅(qū)動工作軟件方面:本次設(shè)計利用protues軟件對系統(tǒng)進行仿真,利用keil c51 軟件對系統(tǒng)進行編程。c語言設(shè)計了溫度的讀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論