




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、通信*班,* 基于stc89c52單片機(jī)的數(shù)字溫度計(jì)單片機(jī)課程設(shè)計(jì)報(bào)告項(xiàng)目名稱 專業(yè)班級(jí) 學(xué)生姓名 指導(dǎo)教師 年 月 日摘 要隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個(gè)基于stc89c52單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器ds18b20開發(fā)測(cè)溫系統(tǒng)的過程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)
2、生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。實(shí)驗(yàn)結(jié)果表明,ds18b20與stc89c52結(jié)合可以實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。 關(guān)鍵詞:溫度檢測(cè); 單片機(jī); 數(shù)字溫度傳感器; 溫度采集; abstract with the progress and development of this epoch ,single-chip microcomputer (scm ) technology has spread into various fields -our lives ,work
3、 ,scientific researches and so on ,becoming a comparatively mature technology .this article was mainly written to introduce a temperature measurement system(tms ) based on stc89c52 scm .its with a detailed description of the development progress of tms using digital temperature sensor ,putting empha
4、sis on analyzing the hardware connection of the sensor under the scm ,software programming and each module progress .this system can conveniently achieve the temperature data collection and display ,and can be arbitrarily set upper and lower alarm temperature .its quite easy to use ,with high accura
5、cy ,wide range ,high sensitivity ,small size ,low power dissipation ,etc .thus ,its suitable for our daily life and industrial and agricultural productions temperature measurement ,and also can be used as temperature processing modules embedded in other systems ,as an auxiliary expansion of other ma
6、in systems .experimental results show that ,the integration of ds18b20 and stc89c52 can achieve the simplest tms ,which has simple structure ,strong anti-jamming capability ,suitable for conducting in-situ temperature measurement ,all above leading this to have broad prospects of applications .keywo
7、rds: temperature measurement ; single-chip microcomputer (scm ) ; digital temperature sensor; temperature data collection 目 錄摘 要iabstractii第1章 緒論11.1 背景11.2 數(shù)字溫度計(jì)的設(shè)計(jì)目的11.3 本文研究的意義1第2章 系統(tǒng)硬件選擇22.1 單片機(jī)的選擇22.1.1 stc89c52單片機(jī)的性能介紹22.1.2 stc89c52單片機(jī)引腳圖22.2. 溫度傳感器的選擇42.2.1 ds18b20 介紹4第3章 原理分析63.1原理框圖63.2原理分
8、析6第4章 系統(tǒng)的硬件電路設(shè)計(jì)74.1 顯示電路74.2報(bào)警電路74.3 數(shù)字溫度傳感器74.4單片機(jī)最小系統(tǒng)電路84.5數(shù)字溫度計(jì)的實(shí)物圖84.6系統(tǒng)板上硬件連線9第5章 系統(tǒng)的軟件設(shè)計(jì)105.1 程序流程圖105.2元件清單及程序代碼11第6章 實(shí)驗(yàn)數(shù)據(jù)分析146.1 proteus仿真圖146.2系統(tǒng)調(diào)試與分析14結(jié)論15參考文獻(xiàn)16附錄117附錄218致謝26項(xiàng)目創(chuàng)新及特色27ii第1章 緒論1.1 背景在日常生活及工農(nóng)業(yè)生產(chǎn)中,經(jīng)常要用到溫度的檢測(cè)及控制,傳統(tǒng)的測(cè)溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要較多的外部硬件支持, 其缺點(diǎn)如下:1
9、硬件電路復(fù)雜;2 軟件調(diào)試復(fù)雜;3 制作成本高。為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫度傳感器的深入研究以及其用法與用途,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本文利用單片機(jī)結(jié)合傳感器技術(shù)開發(fā)設(shè)計(jì),文中把傳感器理論與單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,詳細(xì)地講述了利用溫度傳感器ds18b20測(cè)量環(huán)境溫度的過程。ds18b20可以直接讀出被測(cè)溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。1.2 數(shù)字溫度計(jì)的設(shè)計(jì)目的1) 掌握溫度計(jì)、報(bào)警系統(tǒng)的設(shè)計(jì)、組裝與調(diào)試方法。2) 熟悉仿真軟件(proteus)的使用。3) 重點(diǎn)掌握單片機(jī)的使用及其各引腳的功能。1.3 本文研
10、究的意義 溫度傳感器技術(shù),在我國(guó)各領(lǐng)域已經(jīng)引用的非常廣泛,可以說是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過程中需要實(shí)時(shí)測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開溫度的測(cè)量,因此研究溫度的測(cè)量方法和裝置具有重要的意義。第2章 系統(tǒng)硬件選擇2.1 單片機(jī)的選擇由于單片機(jī)技術(shù)在各個(gè)領(lǐng)域正得到越來越廣泛的應(yīng)用,世界上許多集成電路生產(chǎn)廠家相繼推出了各種類型的單片機(jī),在單片機(jī)家族的眾多成員中,stc89c52系列單片機(jī)以其優(yōu)越的性能、成熟的技術(shù)及高可靠性和高性能價(jià)格比,迅速占據(jù)了工業(yè)測(cè)控和自動(dòng)化工程應(yīng)用的主要市場(chǎng),成為國(guó)內(nèi)單片機(jī)應(yīng)用中的主流。2.1.1 stc89c52單片機(jī)的性能介紹 s
11、tc89c52是一種低功耗、高性能cmos8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得stc89c52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)flash,512字節(jié)ram,32 位i/o 口線,看門狗定時(shí)器,內(nèi)置4kb eeprom,max810復(fù)位電路,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外stc89c52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電
12、保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35mhz,6t/12t可選。2.1.2 stc89c52單片機(jī)引腳圖 各引腳功能介紹如下:vcc:供電電壓 gnd:接地 p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每個(gè)管腳可吸收8ttl門電流。當(dāng)p1口的管腳寫“1”時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在flash編程時(shí),p0口作為原碼輸入口,當(dāng)flash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部電位必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸
13、出4ttl門電流。p1口管腳寫入“1”后,電位被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),p2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸
14、出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,p3口將輸出電流(ill),也是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口:p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 int0(外部中斷0)p3.3 int1(外部中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 wr (外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7 rd
15、 (外部數(shù)據(jù)存儲(chǔ)器讀選通)同時(shí)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高平時(shí)間。ale / prog :當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令時(shí)ale才起作用。另外,該引腳被
16、略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期psen兩次有效。但在訪問內(nèi)部部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的psen信號(hào)將不出現(xiàn)。ea/vpp:當(dāng)ea保持低電平時(shí),訪問外部rom;注意加密方式1時(shí),ea將內(nèi)部鎖定為reset;當(dāng)ea端保持高電平時(shí),訪問內(nèi)部rom。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。2.2. 溫度傳感器的選擇2.2.1 ds18b20 介紹dallas 最新單線數(shù)字溫度傳感器d
17、s18b20是一種新型的“一線器件”,其體積更小、更適用于多種場(chǎng)合、且適用電壓更寬、更經(jīng)濟(jì)。dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器ds18b20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測(cè)量范圍為-55+125 攝氏度,可編程為9位12 位轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625攝氏度,分辨率設(shè)定參數(shù)以及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在eeprom 中,掉電后依然保存。被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠(yuǎn)端引入,也可以采用寄生電源方式產(chǎn)生;多個(gè)ds18b20可以并聯(lián)到3 根或2 根線上,cpu只需一根端口線就能與諸多ds18b20 通信,占用微處理器的端口較少,
18、可節(jié)省大量的引線和邏輯電路。因此用它來組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。ds18b20 的性能特點(diǎn)如下:獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊ds18b20支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電溫范圍55125,在-10+85時(shí)精度為0.5零待機(jī)功耗可編程的分辨率為912
19、位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作以上特點(diǎn)使ds18b20非常適用與多點(diǎn)、遠(yuǎn)距離溫度檢測(cè)系統(tǒng)。ds18b20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl、配置寄存器。ds18b20的管腳排列、各種封裝形式如圖2.1
20、所示,dq 為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源;gnd為地信號(hào);vdd為可選擇的vdd引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。其電路圖2.2 所示。 圖2.1 外部封裝形式 圖2.2 傳感器電路圖27第3章 原理分析3.1原理框圖根據(jù)設(shè)計(jì)要求分析,基于at89s52單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)由at89s52單片機(jī)控制器、電源、顯示電路、溫度傳感器、復(fù)位電路和時(shí)鐘電路組成,系統(tǒng)框圖如圖一所示。電源給整個(gè)電路供電,顯示電路顯示溫度值,時(shí)鐘電路為at89s52提供時(shí)鐘頻率。傳感器采用美國(guó)dallas半導(dǎo)體公司生產(chǎn)的一種智能溫度傳感器ds18b20,其測(cè)
21、溫范圍為-55125,最高分辨率可達(dá)0.0625,完全符合設(shè)計(jì)要求。報(bào)警電路電源復(fù)位電路時(shí)鐘電路stc89c52控制器顯示電路ds18b20 圖3 基于stc89c52單片機(jī)的數(shù)字溫度計(jì)系統(tǒng)框圖 3.2原理分析整個(gè)系統(tǒng)由單片機(jī)控制,溫度傳感器采用ds18b20。ds18b20采用單總線方式與單片機(jī)相連.把采集到得溫度信息傳給單片機(jī)。單片機(jī)采集到的溫度輸出到八個(gè)個(gè)數(shù)碼管上進(jìn)行顯示。當(dāng)八位數(shù)碼管顯示的溫度超過上限值時(shí)可以實(shí)現(xiàn)報(bào)警功能。第4章 系統(tǒng)的硬件電路設(shè)計(jì) 4.1 顯示電路四位共陽(yáng)數(shù)碼管:用來顯示溫度的大小,可直接讀取,溫度精確到0.1。四位數(shù)碼管如圖所示,從左到右依次是百位,十位,個(gè)位,十分
22、位。 圖 4.1數(shù)碼管 4.2報(bào)警電路 三極管8550驅(qū)動(dòng)蜂鳴器:如下圖所示三極管q6來驅(qū)動(dòng)蜂鳴器buz1。圖4.2 三極管8550、蜂鳴器buz14.3 數(shù)字溫度傳感器數(shù)字溫度傳感器ds18b20:如下圖所示圖 4.3 ds18b20 4.4單片機(jī)最小系統(tǒng)電路單片機(jī)最小化系統(tǒng):如下圖所示系統(tǒng)工作時(shí),最小化系統(tǒng)運(yùn)行。 圖4. 4 最小化系統(tǒng) 4.5數(shù)字溫度計(jì)的實(shí)物圖數(shù)字溫度計(jì)顯示當(dāng)前溫度21.4圖4.5 數(shù)字溫度計(jì)實(shí)物圖4.6系統(tǒng)板上硬件連線1) 把“單片機(jī)系統(tǒng)“區(qū)域中的p0.0p0.7端口用8芯排線依次連接到數(shù)碼管a-dp端口上; 2) 把“單片機(jī)系統(tǒng)”區(qū)域中的p3.0-p3.2端口用線連接
23、到按鍵k1-k3的一端上,如圖表7所示,其他所有連線按圖表7連接即可;3) 把單片機(jī)的p2.0端口接數(shù)碼管的位選3,p2.1端口接數(shù)碼管的位選2,p2.2端口接數(shù)碼管的位選1,p2.3端口接數(shù)碼管的位選4;4) 電源可用外接電源(用手機(jī)充電器可做電源),但必須申明電源小于+5v,當(dāng)然也不能太小。第5章 系統(tǒng)的軟件設(shè)計(jì)5.1 程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理ds18b20測(cè)量的當(dāng)前溫度值,溫度測(cè)試每1s進(jìn)行一次。這樣可以在1s之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程圖如圖3所示。讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時(shí)需進(jìn)行crc校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的
24、改寫,其程序流程圖如圖4所示。初始化調(diào)用顯示子程序1s到?讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令初次上電nyyn發(fā)ds18b20復(fù)位命令發(fā)跳過rom命令發(fā)讀取溫度命令讀取操作,crc校驗(yàn)9字節(jié)完?crc校驗(yàn)正?移入溫度暫存器結(jié)束圖1主程序流程圖圖2讀溫度流程圖溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,采用12位分辨率轉(zhuǎn)換時(shí)間約為750ms。程序設(shè)計(jì)中采用1s顯示程序延時(shí)等待轉(zhuǎn)換的完成。計(jì)算溫度子程序?qū)am中讀取值進(jìn)行bcd碼地轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。5.2元件清單
25、及程序代碼 元件清單: 單片機(jī)stc89c52:1個(gè) 40引腳底座:1個(gè) ds18b20:1個(gè) 蜂鳴器:1個(gè) 電阻:10k 1個(gè) 排阻:102 1個(gè) 電容:極性電容10uf 1個(gè);瓷片電容10pf 2個(gè) 按鍵:1個(gè) 晶振:1個(gè) 四位共陽(yáng)數(shù)碼管:2個(gè) 彩色led:4個(gè)程序主函數(shù)代碼:/*- 主函數(shù)-*/void main (void) unsigned int temph,templ,temp;init_timer0();while (1) /主循環(huán)if(readtempflag=1) readtempflag=0; temp=readtemperature(); if(temp&0x8000)
26、 tempdata0=0x40;/負(fù)號(hào)標(biāo)志 temp=temp; / 取反加1 temp+=1; temph=temp4; /*if(temph24)/中斷觸發(fā)語(yǔ)句! zd=0; */ else tempdata0=0; temph=temp4;if(temph25|temph4; templ=temp&0x0f; templ=templ*6/10;/小數(shù)近似處理 if(temph/100=0) tempdata1=0;else tempdata1=dofly_duanmatemph/100; /百位溫度 if(temph/100=0)&(temph%100)/10=0)/消隱 tempdat
27、a2=0;else tempdata2=dofly_duanma(temph%100)/10; /十位溫度 tempdata3=dofly_duanma(temph%100)%10|0x80; /個(gè)位溫度,帶小數(shù)點(diǎn) tempdata4=dofly_duanmatempl; tempdata6=0x39; /顯示c符號(hào) 第6章 實(shí)驗(yàn)數(shù)據(jù)分析6.1 proteus仿真圖圖6.1 proteus仿真圖顯示當(dāng)前溫度246.2系統(tǒng)調(diào)試與分析在系統(tǒng)制作和調(diào)試過程中遇到了不少問題,下面是具體問題與解決方法。1) 數(shù)碼管不亮 數(shù)碼管段選信號(hào)通過p0傳輸,而p0口無上拉電阻,不能驅(qū)動(dòng)數(shù)碼管,所以在p0口接上10
28、2排阻后問題得以解決。2) 兩個(gè)數(shù)碼管顯示一樣檢查之后發(fā)現(xiàn)原來是兩位數(shù)碼管的位選端被不小心焊接在一起,改正之后該問題即解決了。3) 不能正常顯示溫度ds18b20有三個(gè)引腳分別是vcc、qd、gnd,如果將vcc與gnd接反很容易將ds18b20燒壞,以至于不能使其正常工作,將引腳正確連接后,排除故障。結(jié)論本文介紹了基于stc89c52單片機(jī)的數(shù)字溫度計(jì)的設(shè)計(jì),對(duì)整個(gè)硬件電路和軟件程序設(shè)計(jì)做了分析。溫度傳感器ds18b20 轉(zhuǎn)化溫度的方法非常簡(jiǎn)潔且精度高、測(cè)試范圍較廣。單片機(jī)體積小重量輕、抗干擾能力強(qiáng)、對(duì)環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好。因此這種溫度測(cè)量系統(tǒng)能應(yīng)用于各種場(chǎng)合,具有很大
29、的應(yīng)用價(jià)值。數(shù)字式溫度傳感器ds18b20和處理芯片at89c52,具有良好的技術(shù)指標(biāo),組成的電路系統(tǒng)檢測(cè)準(zhǔn)確、穩(wěn)定性好、調(diào)校方便! 該數(shù)字溫度計(jì)完全適用于各種工作環(huán)境,達(dá)到了預(yù)期的研制目標(biāo)與實(shí)用效果。參考文獻(xiàn)1孫育才.單片微型計(jì)算機(jī)及其應(yīng)用.東南大學(xué)出版社.20042沈德金 陳粵初.單片機(jī)接口電路與應(yīng)用程序?qū)嵗?北京航天航空大學(xué)出版社.1990. 3潘新民 王燕芳.微型計(jì)算機(jī)控制技術(shù).電子工業(yè)出版社2003 4李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版).杭州:北京航空航天大學(xué)出版社,19985李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,19946閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京
30、:高等教育出版社,1989附錄1ds18b20溫度與表值對(duì)應(yīng)表 附錄2/*- 內(nèi)容:18b20單線溫度檢測(cè)的應(yīng)用樣例程序-*/#includedelay.h#include18b20.h/*- 18b20初始化-*/bit init_ds18b20(void) bit dat=0; dq = 1; /dq復(fù)位 delayus2x(5); /稍做延時(shí) dq = 0; /單片機(jī)將dq拉低 delayus2x(200); /精確延時(shí) 大于 480us 小于960us delayus2x(200); dq = 1; /拉高總線 delayus2x(50); /1560us 后 接收60-240us的存
31、在脈沖 dat=dq; /如果x=0則初始化成功, x=1則初始化失敗 delayus2x(25); /稍作延時(shí)返回 return dat;/*- 讀取一個(gè)字節(jié)-*/unsigned char readonechar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) dq = 0; / 給脈沖信號(hào) dat=1; dq = 1; / 給脈沖信號(hào) if(dq) dat|=0x80; delayus2x(25); return(dat);/*- 寫入一個(gè)字節(jié)-*/void writeonechar(unsigned char d
32、at) unsigned char i=0; for (i=8; i0; i-) dq = 0; dq = dat&0x01; delayus2x(25); dq = 1; dat=1; delayus2x(25);/*- 讀取溫度-*/unsigned int readtemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;init_ds18b20();writeonechar(0xcc); / 跳過讀序號(hào)列號(hào)的操作writeonechar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換delayms(10);init_ds1
33、8b20();writeonechar(0xcc); /跳過讀序號(hào)列號(hào)的操作 writeonechar(0xbe); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度a=readonechar(); /低位b=readonechar(); /高位b=8;t=a+b;return(t);#include delay.h/*- us延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號(hào)字符變量,其值的范圍是 0255 這里使用晶振12m,精確延時(shí)請(qǐng)使用匯編,大致延時(shí) 長(zhǎng)度如下 t=tx2+5 us -*/void delayus2x(uns
34、igned char t) while(-t);/*- ms延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號(hào)字符變量,其值的范圍是 0255 這里使用晶振12m,精確延時(shí)請(qǐng)使用匯編-*/void delayms(unsigned char t) while(t-) /大致延時(shí)1ms delayus2x(245); delayus2x(245); /*- 內(nèi)容:顯示格式 符號(hào) xxx.x c 可以顯示負(fù)溫度-*/#include /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#include 18b20.hvoid de
35、layus2x(unsigned char t);void delayms(unsigned char t);bit readtempflag;/定義讀時(shí)間標(biāo)志sbit sounder=p10;#define dataport p0 /定義段數(shù)據(jù)端口 程序中遇到dataport 則用p0 替換#define segport p2 /定義位數(shù)據(jù)端口sbit zd=p32;unsigned char code dofly_duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 顯示段碼值01234567unsigned char cod
36、e dofly_weima=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼unsigned char tempdata8; /存儲(chǔ)顯示值的全局變量void display(unsigned char firstbit,unsigned char num);/數(shù)碼管顯示函數(shù)void init_timer0(void);/定時(shí)器初始化/*- 主函數(shù)-*/void main (void) unsigned int temph,templ,temp;init_timer0();while (1) /主循環(huán)if(readtempflag
37、=1) readtempflag=0; temp=readtemperature(); if(temp&0x8000) tempdata0=0x40;/負(fù)號(hào)標(biāo)志 temp=temp; / 取反加1 temp+=1; temph=temp4; /*if(temph24)/中斷觸發(fā)語(yǔ)句! zd=0; */ else tempdata0=0; temph=temp4;if(temph25|temph4; templ=temp&0x0f; templ=templ*6/10;/小數(shù)近似處理 if(temph/100=0) tempdata1=0;else tempdata1=dofly_duanmatemph/100; /百位溫度 if(temph/100=0)&(temph%100)/10=0)/消隱 tempdata2=0;else tempdata2=dofly_duanma(temph%100)/10; /十位溫度 tempdata3=dofly_duanma(temph%100)%10|0x80; /個(gè)位溫度,帶小數(shù)點(diǎn) tempdata4=dofly_duanmatempl; tempdata6=0x39; /顯示c符號(hào) /*- 顯示函數(shù),用于動(dòng)態(tài)掃描數(shù)碼管 輸入?yún)?shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年03月山東今日萊陽(yáng)報(bào)社公開招聘新聞?dòng)浾?人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年03月中國(guó)地質(zhì)科學(xué)院水文地質(zhì)環(huán)境地質(zhì)研究所第一批公開招聘應(yīng)屆畢業(yè)生15人(北京)筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 貴州省考試院2025年4月高三年級(jí)適應(yīng)性考試地理試題及答案
- 柔印直接制版機(jī)項(xiàng)目安全評(píng)估報(bào)告
- 甘肅機(jī)電職業(yè)技術(shù)學(xué)院《漢語(yǔ)速錄》2023-2024學(xué)年第二學(xué)期期末試卷
- 溫州商學(xué)院《醫(yī)藥文獻(xiàn)檢索》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津商務(wù)職業(yè)學(xué)院《第二外語(yǔ)(日、德)(2)》2023-2024學(xué)年第一學(xué)期期末試卷
- 沙洲職業(yè)工學(xué)院《幼兒語(yǔ)言教育與活動(dòng)指導(dǎo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 楚雄醫(yī)藥高等??茖W(xué)?!秾P藿∶啦伲?)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西北大學(xué)現(xiàn)代學(xué)院《現(xiàn)場(chǎng)急救知識(shí)與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱工業(yè)大學(xué)教師崗位分級(jí)設(shè)置與聘任管理辦法
- 法院送達(dá)地址確認(rèn)書(訴訟類范本)
- 中國(guó)骨科大手術(shù)靜脈血栓栓塞癥預(yù)防指南
- 2022年南陽(yáng)市國(guó)企招聘考試真題及答案
- 《檔案管理概論》(肖秋惠編著)課后思考題及答案(參考)
- 2023年高考地理一輪復(fù)習(xí)(新人教版) 第2部分第5章 課時(shí)63 中國(guó)國(guó)家發(fā)展戰(zhàn)略舉例
- 助產(chǎn)士的語(yǔ)言溝通交
- 雨季及防汛施工安全教育
- 初中英語(yǔ) Unit5 Beauty in Common Things說課課件
- 實(shí)驗(yàn)室投訴登記表
- 公司薪資異動(dòng)表
評(píng)論
0/150
提交評(píng)論