基于單片機(jī)溫度計(jì)_第1頁(yè)
基于單片機(jī)溫度計(jì)_第2頁(yè)
基于單片機(jī)溫度計(jì)_第3頁(yè)
基于單片機(jī)溫度計(jì)_第4頁(yè)
基于單片機(jī)溫度計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 單片機(jī)溫度計(jì) 學(xué)院 機(jī)械學(xué)院 班級(jí) 11機(jī)自創(chuàng)新1班 姓名 安祥樂(lè) 學(xué)號(hào) 摘要31、引言32 設(shè)計(jì)內(nèi)容及性能指標(biāo)43 系統(tǒng)方案比較、設(shè)計(jì)與論證43.1 主控制器模塊43.2 溫度測(cè)量43.3 設(shè)置溫度53.3 顯示模塊53.4 電源選取64 系統(tǒng)器件選擇65 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)75.1 主控制模塊75.2 顯示模塊電路75.3 數(shù)碼管顯示驅(qū)動(dòng)電路8圖6 驅(qū)動(dòng)電路85.4 溫度傳感器(DS18B20)電路85.4.1 DS18B20基本介紹85.4.2 DS18B20控制方法95.4.3 DS18B20供電方式96 系統(tǒng)軟件設(shè)計(jì)106.1 程序結(jié)構(gòu)分析106.2 系統(tǒng)程序流圖106.2.1

2、 DS18B20初始化程序流程圖116.2.2 讀溫度子程序流程圖127 系統(tǒng)的安裝與調(diào)試127.1 安裝步驟127.2 電路的調(diào)試12結(jié) 論13參考文獻(xiàn)13附錄1 整體電路原理圖13附錄2 部分源程序14單片機(jī)溫度計(jì) 摘要:隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個(gè)基于STC89C52單片機(jī)的溫度檢測(cè)系統(tǒng),詳細(xì)描述了利用溫度傳感器DS18B20開(kāi)發(fā)測(cè)溫系統(tǒng)的過(guò)程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,對(duì)各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)溫度采集和顯示,它使用起

3、來(lái)相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度控制,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20與STC89C52結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度控制系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度的控制,有廣泛的應(yīng)用前景。關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度顯示;STC89C52;DS18B20;1、引言 隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對(duì)各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級(jí)的增長(zhǎng),而如何準(zhǔn)確而又迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息

4、處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在我國(guó)各領(lǐng)域已經(jīng)引用的非常廣泛,可以說(shuō)是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量方法具有重要的意義。測(cè)量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個(gè)發(fā)展階段:傳統(tǒng)的分立式溫度傳感器模擬集成溫度傳感器智能集成溫度傳感器。目前的智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問(wèn)世的,它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ATE)的結(jié)晶,特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU)

5、。社會(huì)的發(fā)展使人們對(duì)傳感器的要求也越來(lái)越高,現(xiàn)在的溫度傳感器正在基于單片機(jī)的基礎(chǔ)上從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開(kāi)發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測(cè)溫系統(tǒng)等高科技的方向迅速發(fā)展,本文將介紹智能集成溫度傳感器DS18B20的結(jié)構(gòu)特征及控制方法,并對(duì)以此傳感器,STC89C52單片機(jī)為控制器構(gòu)成的數(shù)字溫度控制裝置的工作原理及程序設(shè)計(jì)作了詳細(xì)的介紹。其具有讀數(shù)方便,方便控制,輸出溫度采用數(shù)字顯示,主要用于對(duì)溫度控制要求比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用。該設(shè)計(jì)控制器使用STC89C52單片機(jī),測(cè)溫傳感器使用DALLAS公

6、司DS18B20,用數(shù)碼管來(lái)實(shí)現(xiàn)溫度顯示。2 設(shè)計(jì)內(nèi)容及性能指標(biāo) 本設(shè)計(jì)主要是介紹了單片機(jī)控制下的溫度系統(tǒng),詳細(xì)介紹了其硬件和軟件設(shè)計(jì),并對(duì)其各功能模塊做了詳細(xì)介紹,其主要功能和指標(biāo)如下:?jiǎn)纹瑱C(jī)實(shí)時(shí)檢測(cè)溫度傳感器DS18B20的狀態(tài),并將DS18820得到的數(shù)據(jù)進(jìn)行處理。上電后數(shù)碼管顯示當(dāng)前的環(huán)境溫度。3 系統(tǒng)方案比較、設(shè)計(jì)與論證該系統(tǒng)主要由溫度測(cè)量和溫度設(shè)置及系統(tǒng)狀態(tài)顯示三部分電路組成,下面介紹實(shí)現(xiàn)此系統(tǒng)功能的方案。3.1 主控制器模塊方案1: 采用可編程邏輯器件CPLD作為控制器。CPLD可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、IO資源豐富、易于進(jìn)行功能擴(kuò)展。采用并行

7、的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)??刂葡到y(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)雜的邏輯功能,對(duì)數(shù)據(jù)的處理速度的要求也不是非常高。且從使用及經(jīng)濟(jì)的角度考慮我們放棄了此方案。方案2:采用STC89C52單片機(jī)作為整個(gè)系統(tǒng)的核心,用其控制行進(jìn)中的小車(chē),以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實(shí)現(xiàn)小車(chē)的自動(dòng)控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來(lái)它的優(yōu)勢(shì)控制簡(jiǎn)單、方便、快捷。這樣一來(lái),單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價(jià)格低廉等優(yōu)點(diǎn)。STC89C52單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對(duì)于本設(shè)計(jì)也綽綽有余,更

8、可貴的是STC89C52單片機(jī)價(jià)格非常低廉。3.2 溫度測(cè)量方案1: 采用數(shù)字溫度芯片DS18B20 測(cè)量實(shí)際溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在-55125攝氏度時(shí),最大線形偏差小于1 攝氏度。DS18B20 的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微控制器STC89C52構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大。采用51 單片機(jī)控制,軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和

9、邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC 機(jī)通信上傳數(shù)據(jù),另外STC89C52在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。方案2: 采用熱電偶溫差電路測(cè)溫,溫度檢測(cè)部分可以使用低溫?zé)崤?,熱電偶由兩個(gè)焊接在一起的異金屬導(dǎo)線所組成(如下圖),熱電偶產(chǎn)生的熱電勢(shì)由兩種金屬的接觸電勢(shì)和單一導(dǎo)體的溫差電勢(shì)組成。通過(guò)將參考結(jié)點(diǎn)保持在已知溫度并測(cè)量該電壓,便可推斷出檢測(cè)結(jié)點(diǎn)的溫度。數(shù)據(jù)采集部分則使用帶有A/D 通道的單片機(jī),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上

10、,就可以將被測(cè)溫度顯示出來(lái)。熱電偶的優(yōu)點(diǎn)是工作溫度范圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來(lái)自導(dǎo)線環(huán)路的噪聲影響以及漂移較高的缺點(diǎn),并且這種設(shè)計(jì)需要用到A/D 轉(zhuǎn)換電路,感溫電路比較麻煩。圖1 熱電偶電路圖從以上兩種方案,容易看出方案二的測(cè)溫裝置可測(cè)溫度范圍寬、體積小,但是線性誤差較大。方案一的測(cè)溫裝置電路簡(jiǎn)單、精確度較高、實(shí)現(xiàn)方便、軟件設(shè)計(jì)也比較簡(jiǎn)單,故本次設(shè)計(jì)采用了方案一。3.3 設(shè)置溫度方案1: 采用鍵盤(pán)輸入設(shè)置溫度,鍵盤(pán)則可以用4個(gè)按鍵,一個(gè)復(fù)位鍵,一個(gè)功能設(shè)定鍵,一個(gè)加減一個(gè)減鍵。四個(gè)鍵比較常用,而且用到的接口得到了極好的利用,僅需要4個(gè)接口。方案2: 可采用4*4

11、矩陣鍵盤(pán),該鍵盤(pán)需要8個(gè)接口,而我們不需這么多鍵。綜上所述,我們選擇第一種方案。3.3 顯示模塊方案1: 用數(shù)碼管進(jìn)行顯示。數(shù)碼管由于顯示速度快,使用簡(jiǎn)單,顯示效果簡(jiǎn)潔明了而得到了廣泛應(yīng)用。方案 2:用LCD液晶進(jìn)行顯示。LCD由于其顯示清晰,顯示內(nèi)容豐富、清晰,顯示信息量大,使用方便,顯示快速而得到了廣泛的應(yīng)用。單對(duì)于此系統(tǒng)我們不需要顯示豐富的內(nèi)容,而且LCD液晶價(jià)格貴,因此我們選擇了此方案。綜上所述我們選擇方案13.4 電源選取 由于本系統(tǒng)采用電池供電,我們考慮了如下幾種方案為系統(tǒng)供電。方案1:采用5V蓄電池為系統(tǒng)供電。蓄電池具有較強(qiáng)的電流驅(qū)動(dòng)能力以及穩(wěn)定的電壓輸出性能。但是蓄電池的體積過(guò)

12、于龐大,在小型電動(dòng)車(chē)上使用極為不方便。因此我們放棄了此方案。方案2:采用USB電源5V做電源供電,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證系統(tǒng)工作時(shí),單片機(jī)、傳感器的工作電壓穩(wěn)定能夠滿足系統(tǒng)的要求,而且電池更換方便。綜上所述采用方案24 系統(tǒng)器件選擇1.溫度傳感器的選擇 由于傳統(tǒng)的熱敏電阻等測(cè)溫元件測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部元件支持,且硬件電路復(fù)雜,制作成本相對(duì)較高。這里采用DALLAS公司的數(shù)字溫度傳感器DS18B20作為測(cè)溫元件。 圖2 外部封裝形式 圖3 傳感器電路圖5 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)5.1 主控制模塊主控制最系統(tǒng)電路如圖4所示。 圖4 單片主控電路5.2 顯示模塊電路 顯示采

13、用四位數(shù)碼管顯示,當(dāng)位選打開(kāi)時(shí),送入相應(yīng)的段碼,則相應(yīng)的數(shù)碼管打開(kāi),關(guān)掉位選,打開(kāi)另一個(gè)位選,送入相應(yīng)的段碼,則數(shù)碼管打開(kāi),而每次打開(kāi)關(guān)掉相應(yīng)的位選時(shí),時(shí)間間隔低于20ms,從人類視覺(jué)的角度上看,就仿佛是全部數(shù)碼管同時(shí)顯示的一樣。顯示電路如圖5圖5 數(shù)碼管顯示5.3 數(shù)碼管顯示驅(qū)動(dòng)電路三極管9012來(lái)驅(qū)動(dòng)4位數(shù)碼管,不僅簡(jiǎn)單,而且價(jià)格便宜。圖6 驅(qū)動(dòng)電路5.4 溫度傳感器(DS18B20)電路5.4.1 DS18B20基本介紹DS18B20是美國(guó)DALLAS半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成

14、串行數(shù)字信號(hào)處理器處理。DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個(gè)DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個(gè)溫度傳感器掛在同一根I/O線上進(jìn)行多點(diǎn)測(cè)溫時(shí),只靠4.7K上拉電阻就無(wú)法提供足夠的能量,會(huì)造成無(wú)法轉(zhuǎn)換溫度或溫度誤差極大。因此,下圖電路只適應(yīng)于單一溫度傳感器測(cè)溫情況下使用,不適宜采用電池供電系統(tǒng)中。并且工作電源VCC必須保證在5V,當(dāng)電源電壓下降時(shí),寄生電源能夠汲取的能量也降低,會(huì)使溫度誤差變大。圖7 溫度傳感器電路引腳圖5.4.2 DS18B20控制方法DS18B20有六條控制命令:溫度轉(zhuǎn)換 44H 啟動(dòng)DS18B20進(jìn)行溫度

15、轉(zhuǎn)換 讀暫存器 BEH 讀暫存器9個(gè)字節(jié)內(nèi)容 寫(xiě)暫存器 4EH 將數(shù)據(jù)寫(xiě)入暫存器的TH、TL字節(jié) 復(fù)制暫存器 48H 把暫存器的TH、TL字節(jié)寫(xiě)到E2RAM中 重新調(diào)E2RAM B8H 把E2RAM中的TH、TL字節(jié)寫(xiě)到暫存器TH、TL字節(jié) 讀電源供電方式 B4H 啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU 5.4.3 DS18B20供電方式DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖3.1所示單片機(jī)端口接單線總線,為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)三極管

16、來(lái)完成對(duì)總線的上拉。本設(shè)計(jì)采用電源供電方式, P2.2口接單線總線為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)上拉電阻和STC89C52的P2.2來(lái)完成對(duì)總線的上拉。當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10 s。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3個(gè)步驟:l 初始化。l ROM操作指令。l 存儲(chǔ)器操作指令。6 系統(tǒng)軟件設(shè)計(jì)6.1 程序結(jié)構(gòu)分析主程序調(diào)用了3個(gè)子程序,分別是數(shù)碼管顯示程序、溫度信號(hào)處理程序。溫度信號(hào)

17、處理程序:對(duì)溫度芯片送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼管的顯示送數(shù),控制系統(tǒng)的顯示部分。按鍵設(shè)定程序:可以精確到0.1度。6.2 系統(tǒng)程序流圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示,讀出并處理DS18B20的當(dāng)前溫度值,其程序流程見(jiàn)圖9所示。通過(guò)調(diào)用讀溫度子程序把存入內(nèi)存儲(chǔ)中的整數(shù)部分與小數(shù)部分開(kāi)分存放在不的的兩個(gè)單元中,然后通過(guò)調(diào)用顯示子程序顯示出來(lái)。調(diào)用顯示子程序初始化1s到?初次上電發(fā)溫度轉(zhuǎn)換開(kāi)始命令讀出溫度值溫度計(jì)算處理顯

18、示數(shù)據(jù)刷新圖9 DS18B20溫度流程圖6.2.1 DS18B20初始化程序流程圖在DS18B20工作之前需要進(jìn)行初始化,流程圖如下:發(fā)復(fù)位命令發(fā)跳過(guò)ROM命令 初始化成功 結(jié)束 圖10 初始化程序流程圖6.2.2 讀溫度子程序流程圖 讀溫度子程序的主要功能是從DS18B20中讀出溫度數(shù)據(jù),移入溫度暫存器保存。其程序流程圖如下:發(fā)復(fù)位命令發(fā)跳過(guò)ROM命令 發(fā)讀取溫度命令 移入溫度暫存器 結(jié)束 圖11 溫度子程序流程圖 7 系統(tǒng)的安裝與調(diào)試7.1 安裝步驟1.檢查元件的好壞按電路圖買(mǎi)好元件后首先檢查買(mǎi)回元件的好壞,按各元件的檢測(cè)方法分別進(jìn)行檢測(cè),一定要仔細(xì)認(rèn)真。而且要認(rèn)真核對(duì)原理圖是否一致,在檢

19、查好后才可上件、焊件,防止出現(xiàn)錯(cuò)誤焊件后不便改正。2.放置、焊接各元件按原理圖的位置放置各元件,在放置過(guò)程中要先放置、焊接較低的元件,后焊較高的和要求較高的元件。特別是容易損壞的元件要后焊,在焊集成芯片時(shí)連續(xù)焊接時(shí)間不要超過(guò)10s,注意芯片的安裝方向。7.2 電路的調(diào)試首先燒入顯示程序,看顯示正不正常。在調(diào)試程序時(shí),發(fā)現(xiàn)有的指令用的不正確,導(dǎo)致電路功能不能完全實(shí)現(xiàn),另外軟件程序中的延時(shí)有的過(guò)長(zhǎng)、有的過(guò)短。類似的現(xiàn)象還有很多就不一一列舉了。結(jié) 論本溫度計(jì),通過(guò)單片機(jī)實(shí)時(shí)檢測(cè)溫度傳感器DS18B20的狀態(tài),并將DS18820得到的數(shù)據(jù)進(jìn)行處理。上電后數(shù)碼管顯示當(dāng)前的環(huán)境溫度。由于采用了3節(jié)干電池供

20、電使系統(tǒng)的抗干擾性得到加強(qiáng)。在軟件上,充分利用了STC89C52的系統(tǒng)資源,系統(tǒng)運(yùn)行流暢。本設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,調(diào)試方便,系統(tǒng)反映快速靈活,經(jīng)實(shí)驗(yàn)測(cè)試,該溫度計(jì)系統(tǒng)設(shè)計(jì)方案正確、可行,各項(xiàng)指標(biāo)穩(wěn)定、可靠。參考文獻(xiàn)1曹巧媛主編. 單片機(jī)原理及應(yīng)用(第二版). 北京:電子工業(yè)出版社,20022全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì)編.第五屆全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編(2001), 北京:北京理工大學(xué)出版社,20033何力民編. 單片機(jī)高級(jí)教程. 北京:北京航空大學(xué)出版社,20004金發(fā)慶等編. 傳感器技術(shù)與應(yīng)用.北京機(jī)械工業(yè)出版社,20025劉坤、宋戈、趙洪波、張憲棟編51單片機(jī)C語(yǔ)言應(yīng)用開(kāi)發(fā)技術(shù)大全,北

21、京:人民郵電出版社,20086譚浩強(qiáng)著C程序設(shè)計(jì)北京:清華大學(xué)出版社,2007;7王忠飛,胥芳MCS-51 單片機(jī)原理及嵌入式系統(tǒng)應(yīng)用M西安:西安電子科技大學(xué)出版社,2007P268-2738 Peter Van Der Linden著,徐波譯.C專家編程,人民郵電出版社,2003附錄1 整體電路原理圖附錄2 部分源程序#include /調(diào)用單片機(jī)頭文件#define uchar unsigned char /無(wú)符號(hào)字符型 宏定義變量范圍0255#define uint unsigned int /無(wú)符號(hào)整型 宏定義變量范圍065535 /數(shù)碼管段選定義 0 1 2 3 4 56 7 8 9

22、uchar code smg_du=0x14,0x77,0x4c,0x45,0x27,0x85,0x84,0x57,0x04,0x05,/ AB C D E F不顯示 0x06,0xa4,0x9c,0x64,0x8c,0x8e,0xff; /斷碼/數(shù)碼管位選定義sbit smg_we1 = P20; /數(shù)碼管位選定義sbit smg_we2 = P22;sbit smg_we3 = P24;sbit smg_we4 = P26;uchar dis_smg8 = 0x14,0x77,0x4c,0x45,0x27,0x85,0x84;uchar smg_i = 3; /顯示數(shù)碼管的個(gè)位數(shù)sbit

23、dq = P33;/18b20 IO口的定義bit flag_wd_z_f; /正負(fù)溫度int temperature ; /*1ms延時(shí)函數(shù)*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j= smg_i)i = 0;P0 = 0xff; /消隱 smg_we_switch(i); /位選P0 = dis_smgi; /段選 /*18b20初始化函數(shù)*/void init_18b20()bit q;dq = 1;/把總線拿高delay_uint(1); /15usdq = 0;/給復(fù)位脈沖delay_uint(80);/750us

24、dq = 1;/把總線拿高 等待delay_uint(10);/110usq = dq;/讀取18b20初始化信號(hào)delay_uint(20);/200usdq = 1;/把總線拿高 釋放總線/*寫(xiě)18b20內(nèi)的數(shù)據(jù)*/void write_18b20(uchar dat)uchar i;for(i=0;i= 1;/*讀取18b20內(nèi)的數(shù)據(jù)*/uchar read_18b20()uchar i,value;for(i=0;i= 1; /讀數(shù)據(jù)是低位開(kāi)始dq = 1; /釋放總線if(dq = 1) /開(kāi)始讀寫(xiě)數(shù)據(jù) value |= 0x80;delay_uint(5); /60us讀一個(gè)時(shí)間隙最少要保持60us的時(shí)間return value; /返回?cái)?shù)據(jù)/*讀取溫度的值 讀出來(lái)的是小數(shù)*/uint read_temp()uint

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論