4.3畢業設計說明書_第1頁
4.3畢業設計說明書_第2頁
4.3畢業設計說明書_第3頁
4.3畢業設計說明書_第4頁
4.3畢業設計說明書_第5頁
已閱讀5頁,還剩35頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、題目摘 要:本課題主要介紹基于AT89C51單片機和DS18B20數字溫度傳感器的溫度測量系統。該系統利用AT89C51單片機分別采集各個溫度點的溫度,實現溫度顯示、報警等功能。它以AT89C51單片機為主控制芯片,采用數字溫度傳感器DS18B20實現溫度的檢測,測量精度可以達到0.5。該系統采用了1602顯示模塊,形象直觀的顯示測出的溫度值。基于AT89C51單片機的單總線溫度測控系統具有硬件組成簡單、讀數方便、精度高、測溫范圍廣等特點,在實際工程中得到廣泛應用。摘 要字數100字以內關鍵詞:數字溫度傳感器;AT89C51單片機;溫度測量1 引言在信息高速發展的21世紀,科學技術的發展日新月

2、異,科技的進步帶動了測量技術的發展,現代控制設備的性能和結構發生了翻天覆地的變化。我們已經進入了高速發展的信息時代,測量技術也成為當今科技的一個主流,廣泛地深入到研究和應用工程的各個領域。溫度是一個永恒的話題和人們生活環境有著密切關系的物理量,也是一種在生產、科研、生活中需要測量和控制的重要物理量,是國際單位制七個基本量之一。溫度的變化會給我們的生活、工作、生產等帶來重大影響,因此對溫度的測量至關重要。其測量控制一般使用各式各樣形態的溫度傳感器。隨著現代計算機和自動化技術的發展,作為各種信息的感知、采集、轉換、傳輸相處理的功能器件,溫度傳感器的作用日顯突出,已成為自動檢測、自動控制系統和計量測

3、試中不可缺少的重要技術工具,其用途已遍及工農業生產和日常生活的各個領域。2 總體方案設計21方案一:該方案使用了AT89C51單片機作為控制核心,以智能溫度傳感器DS18B20為溫度測量元件,對各點溫度進行檢測,設置溫度上下限,超過其溫度值就報警。顯示電路采用1602液晶模塊顯示,使用二極管,電阻和蜂鳴器組成的報警電路。如圖1DS18B20溫度傳感器數據采集單片機 1602液晶顯示電路報警電路圖1溫度測量系統方案框22方案二:該方案采用 溫度測量(數字量)-數據采集-數據處理-控制執行-溫度打印,整個系統結構如圖2所示。AT89C51單片機報警鍵盤LED顯示A/D轉換光隔加熱電路溫度傳感器圖2

4、系統硬件結構示意圖運算放大器打印機要有方案比較,就經用的是什么方案3分電路設計和論證3.1溫度傳感器的選擇在電熱恒溫箱的控制系統中溫度傳感器是非常重要的元件之一,它將負責恒溫箱的溫度采集,也就是對恒溫箱的溫度作時時地采集。它把采集到的溫度傳道控制部分,然后由控制部分分析是否需要加熱或是停止加熱一系列的動作,由于溫度度傳感器是電熱恒溫箱的溫度探測器,所以對于溫度傳感器的性能,包括它的工作穩定性、可靠性及靈敏度等技術指標一定要保證,因為它直接影響到整個控制系統的運行。溫度是一個和人們生活環境密切相關的物理量,也是一個在科學試驗和生產活動中需要控制的重要物理量。因此,在各種傳感器中,溫度傳感器是應用

5、最廣泛的一種。溫度傳感器是一種將溫度變化轉換為電學量變化的裝置,用于檢測溫度和熱量,因此也叫做熱電式傳感器。其中將溫度變化轉換為電阻變化的元件主要有熱電阻、熱敏電阻和高分子NTC、PTC熱敏電阻,將溫度變化轉換為電勢的傳感器主要有熱電偶和PN結式傳感器,將熱輻射轉換為電學量的器件有熱釋電探測器、紅外探測器,另外還有集成溫度傳感器、光纖溫度傳感器、液晶溫度傳感器和智能溫度傳感器等等,種類越來越多,應用亦愈來愈廣泛。3.2溫度傳感器的基本原理利用感溫材料,把測量溫度轉化為測量電阻的測溫系統,主要有金屬熱電阻式和半導體熱電阻式兩大類,前者簡稱熱電阻,后者簡稱熱敏電阻。它們的阻值隨溫度的升高,有的增加

6、即屬于正溫度系數熱敏電阻,有的減少即屬于負溫度系數熱敏電阻。常用于測量-200500ºC范圍內的溫度,同時在5001200ºC溫度范圍中也有足夠好的特性。1.熱電阻的特性大多數金屬導體的電阻具有隨溫度變化的特性,其特性方程如下:Rt = Ro1+a(t-to) 式中Rt表示任意絕對溫度t時金屬的電阻值;Ro表示基準狀態to時的電阻值;a是熱敏電阻的溫度系數(1/ºC)。對于絕大多數金屬導體,a并不是一個常數,而是有關溫度的函數,但在一定的溫度范圍內,可近似地看成一個常數。不同的金屬導體,a保持常數對應的溫度范圍也不同。一般選作感溫電阻的材料必須滿足如下要求:(1)

7、電阻溫度系數a要高,這樣在同樣條件下可加快熱響應速度,提高靈敏度。通常純金屬的溫度系數比合金大,一般均采用純金屬材料。(2)在測溫范圍內,化學、物理性能穩定,以保證熱電阻的測溫準確性。(3)具有良好的輸出特性,即在測溫范圍內電阻與溫度之間必須有線性或接近線性的關系。(4)具有較高的電阻率,以減少熱電阻的體積和重量。(5)具有良好的可加工性,且價格便宜。比較合適的材料有鉑、銅、鐵和鎳等。它們的阻值隨溫度的升高而增大,具有正溫度系數。3.3熱敏電阻熱敏電阻是用某種金屬氧化物為基體原料,加入一些添加劑,采用陶瓷工藝制成的具有半導體特性的電阻器,其電阻對溫度變化很明顯,電阻溫度系數比金屬的大很多,被稱

8、為熱敏電阻。熱敏電阻分為三種類型:正溫度系數(PTC-Positive Temperature Coefficient)熱敏電阻,負溫度系數(NTC-Negative tempera-ture Coefficient)熱敏電阻和臨街溫度系數(CTR-Critical temperature Resistor)熱敏電阻。它們的共同特點是靈敏度高,從復性好,工藝簡單,便于工業化生產,因而成本較低,應用很廣泛。它們的溫度特性曲線如圖1.熱敏電阻特性參數1.標稱電阻值(R)標稱電阻是熱敏電阻在25ºC時的零功率狀態下的阻值。其大小取決于熱敏電阻的材料和它的幾何尺寸。如果環境溫度不是25

9、86;C,而在25ºC27ºC之間,則按下式計算Rt = R·1+a(t-25)2.電阻溫度系數(a)用于描述溫度的變化引起電阻變化率變化的參數。指在規定的溫度下,單位溫度變化使熱敏電阻值變化的相對值。用下式表示a = 1/R·dR/dT*100%式中a決定了熱敏電阻在全部工作范圍內對溫度的靈敏度,單位為%/ºC。3.時間常數()盡管熱敏電阻的幾何尺寸可以制作得很小,但它還是有熱慣性的。時間常數就是表征熱敏電阻值慣性大小的參數,其數值等于熱敏電阻在零功率測量狀態下,當環境溫度突變時,熱敏電阻的阻值從起始值變化到最終變化量的63%時所需的時間。4

10、.額定功率(P)指在標準壓力(750*133.322 Pa)和規定的最高環境溫度下,熱敏電阻長期連續工作所允許的最大耗散功率。在實際使用中,熱敏電阻所消耗的功率不得超過額定功率。3.4半導體熱電阻溫度傳感器半導體材料的電阻率對溫度非常敏感,這顯然對半導體器件的可靠性會產生不利影響,但是我們可以利用其電阻率隨溫度變化的特性制成溫度傳感器。1.半導體熱電阻溫度傳感器的工作原理有半導體物理知半導體材料的電阻率可以用下式表示=1/(nqµ+pµ)式中n,p分別為材料中電子和空穴的濃度;µ、µ分別為電子和空穴的遷移率;q為電子的電量。對于P型半導體材料,空穴濃度遠

11、遠大于電子濃度,則上式可以簡化為=1/pqµ對于N型半導體,電子濃度n遠遠大于空穴濃度p,則式可以簡化為=1/nqµ以上表明,半導體材料的電阻率主要決定于載流子(電子或空穴)濃度和遷移率。而載流子濃度和遷移率都與溫度密切相關,應分別進行分析。3.5 熱電偶利用兩種不同的金屬連接在一起,當結點處溫度變化時,另兩端產生電勢變化的原理制成的傳感器稱為熱電偶。它具有結構簡單,使用方便,精度高,熱慣性小的特定,可測量局部溫度,便于遠距離傳送,集中檢測和自動記錄,應用十分廣泛。1.熱電偶的基本原理1823年賽貝克(Seebeck)發現,把兩種不同的金屬組成閉合回路,且使其兩接觸點處溫度

12、不同,回路中就會產生電流,把這個物理現象稱為賽貝克效應,亦稱熱電效應。將兩種不同導體材料A和B,兩端連接在一起組成回路,一端溫度為To,另一端溫度為T(若 T>To),則圖中微安表上會有一定讀數;若將To觸點分開,則端口產生一個與溫度T、To及導體材料A、B有關的電勢E(T,To),這個電勢就是賽貝克電勢,兩個端點中溫度為T的一端稱為工作端,溫度為To的一端稱為自由端或參考端?;芈返目傠妱觿轂镋(T,To)=aTdT=E(T)-E(To)式中a為熱電勢或賽貝克系數,其值與熱材料和兩接點的溫度有關。眾所周知,半導體材料和器件的許多性能參數,如電阻率、PN結的反向漏電流和正向電壓等都與溫度有

13、著密切的關系,利用它們對溫度的依賴性制成半導體溫敏器件,實現對溫度的檢測,控制和補償等功能。半導體溫度傳感器按其工作原理可分為用半導體單晶體制成的非結型溫度傳感器和具有PN結的半導體溫度傳感器兩種類型。3.6 PN結溫度傳感器1.二極管溫度傳感器由PN結理論可知,二極管的正向電流Io與其壓降Vf有如下關系I = Iexp(qV/kT)式中I為PN結反向飽和電流;q為電子的電荷量;k為波爾茲曼常數;T為絕對溫度。則 V = kT/q lnI/I又因反向飽和電流為Io = ATexp(-qV/KT)式中A為發射結面積;是與材料和工藝有關的常數;qV為禁帶寬度。由上式可得到V = -V-kT/qln

14、 B+ln T-ln I上式表明,當電流保持不變時,PN結正向壓降V隨溫度T的上升而下降,近似線性關系。二極管溫度傳感器是利用PN結正向電壓與溫度關系的特性而制作的。2.晶體管溫度傳感器研究發現在晶體管機電機電流恒定的條件下,其發射結上的正向電壓隨溫度上升而近似線性下降,這種溫度特性與二極管相似。但對于實際的二極管,其正向電流除擴散電流以外,還包括空間電荷區中的復合電流和表面復合電流成份,后兩種電流成分使實際二極管的電壓溫度特性偏離前面講的理想近似線性關系。而三機管中雖然發射極電也包括上述三部分,但是只有擴散電流能夠到達集電極,后兩個電流成分則作為基極電流漏掉,使晶體管表現出比二極管更好的線性

15、和互換性。(1)基本原理由晶體管原理可知,NPN晶體管的基極發射極電壓V與溫度T的關系為V = V-kT/q(AT/Ic)式中V=E/q(Eg為硅單晶的禁帶寬度 );A為發射結面積;是與材料和工藝有關的常數。當Ic一定且T不太高時,Vbe基本與溫度成線性關系,當溫度較高時,產生一定的非線性偏移。(2)晶體溫度傳感器的結構在實現溫度檢測時,只有溫敏三極管本身是不夠的,必須附加適當的外圍電路,才構成溫度傳感器。外圍電路通常包括參考電壓源、運算放大及線性電路等部分。圖給出了一種常用的晶體管溫度傳感器基本電路及其溫度特性曲線。該電路由一只運算放大器和一個溫敏三極管組成。電容C的作用是防止寄生振蕩。溫敏

16、三極管作為反饋元件跨接在運放的反向輸入端和輸出端,基極接地。這種接法使得發射極為正偏,而集電極幾乎為零偏。這是因為運放的反相輸入端為虛地。晶體管的集電極Ic僅取決于電阻Rc和電源電壓E即Ic=E/Rc,而與溫度無關,從而保證了恒流源工作條件,使電壓V隨T近似線性下降3.7集成溫度傳感器所謂集成溫度傳感器是將溫敏晶體管及其輔助電路集成在同一個芯片上的溫度傳感器。它與其他溫敏元件相比,最大的優點在于輸出結果與絕對溫度成正比,即是理想的線性輸出。同時,體積小,成本低,使用方便,因此廣泛用于溫度檢測、控制和許多溫度補償電路中。因為溫敏晶體管的V與絕對溫度的關系并非絕對的線性關系,加之在同一批同型號的產

17、品中,V值也可能有±100mV的離散性,所以集成溫度傳感器采用對管差分電路,直接給出與絕對溫度嚴格成正比的線性輸出。圖中給出集成溫度傳感器的基本原理圖。其中BG1和BG2晶體管的雜質分布種類完全相同,且都處于正向工作狀態,集電極電流分別為I1和I2。由圖可見,即電阻R1上的壓降V為兩管的基極發射極壓降之差,并有V=V-V=kT/qI/I-kT/qI/I=kT/qI/I·I/I式中I、I為BG1和BG2管的發射極反向飽和電流;若Ae1、Ae2為BG1和BG2管發射極面積。而Ies2/Ies1=Ae2/Ae1,通過設計可以使BG1、BG2發射極面積之比=Ae2/Ae1是與溫度無

18、關的常數,故只要在電路設計中能保證I1/I2是常數,則式中Vbe就是溫度T的理想的線性函數,這就是集成溫度傳感器的基本原理。1.電壓型集成溫度傳感器(1)基本原理 電壓型集成溫度傳感器是指輸入電壓與溫度成正比的溫度傳感器。其核心電路如圖所示。圖中BG3,BG4,BG5PNP晶體管結構和性能完全相同,BG3與BG4組成恒流源,且兩者射極電流相同(稱為電流鏡),所以R1上壓降V可表示為V=kT/q則R1上電流為I=kT/qR因為BG5與BG3、BG4完全相同,且基極、集電極點位相同,所以BG5的射極電流與 BG3、BG4 上相同,所以Vo=R/R·kT/q則上述電路的溫度系數為

19、=dVo/dT=R/R·k/q可見只要兩個電阻比為常數,就可得到正比于絕對溫度的輸出電壓,而輸出電壓的溫度靈敏度即溫度系數可由電阻比R/R;BG1,BG2的發射極面積比來調整。(2)電壓型集成溫度傳感器的電路結構及性能常用的電壓型集成溫度傳感器為四端輸出型,代表性的型號有SL616,LX5600/5700,LM3911,UP515/610A-C和UP3911等。其線路由基準電壓、溫度傳感器和運算放大器三部分組成。溫度傳感器是核心電路,原理是輸出電壓與溫度成正比,如圖若將圖中輸入與輸出短接,運算放大器起煥緩沖的作用,輸出為10mV/K·T,即是PTAT的輸出值。若給輸入端加上

20、偏置電壓,那么傳感器的零輸出將由0K移到與偏置電壓對應的溫度。假設所加偏壓為2.73V,零輸出溫度2.73V/K=273K。只要所選偏置電壓為設定·10mV/K,傳感器的溫度達到設定溫度T時,輸出為0,未達到設定溫度時輸出不為0,因此與適當的控制電路相接,此電路可作為溫度控制使用。外形結構為四個引線封裝形式。典型性能參數中,最大工作溫度范圍為-40125,靈敏度為10mV/K,線性偏差為0.52%,長期穩定性為0.3%,測量精度為±4K。四端電壓輸出型溫度傳感器框圖2.電流型集成溫度傳感器(AD590)(1)AD590的基本原理AD590原理電路如圖所示。其中T和T集成在一

21、起,作為電流鏡向恒流源,使流過T和T的電流相等。則電路的總電流IT表示為I=2I=2kT/qR為了使IT隨溫度線性變化,電阻R必須選用具有零溫度系數的薄膜電阻。則電流溫度系數為 C=dI/d=2k/qR如果取8,R為358,則電流溫度系數C可調整為1uA/K。圖1-48為AD590的實際線路圖。原理圖1-47的T1,T2,T3,T4分別為圖1-48中的T9,T11,(T1-T2),(T3-T4)代替。T9和T11的發射結面積比為常數。T1,T2,T3,T4組成典型的恒流負載,為T9,T11提供相等的恒定電流(I1-I2)。T7,T8差分對管的負反饋作用使T9和T11的集成電極電壓保護相等,T1

22、0為T7和T8恒流負載。流過其上電流與T11的相同。調節R5可調節傳感器的電流。由于流過R5的電流為流過R6的2倍,則有 Vbe11+2I9R5=Vbe9+I9R6所以 Vbe= Vbe11- Vbe9=I9(R6-2R5)則有 I總=3I9=2kT/q(R6-2R5)=3kT/qR*6圖1-47 AD590原理電路圖式中R*相當于前面原理電路的電阻R。另外T12的作用是在剛接通電源時,提供一個小電流使傳感器開始工作。T6能使T7和T8集電極電壓平衡,同時在工 作電壓接反時又能起到保護器件的作用。 圖1-48 AD590的實用電路圖(2)AD590的結構及性能AD590是美國哈里斯公司生產的采

23、用激光修正的精密集成溫度傳感器。AD590有3種封裝形式:To -52封裝、陶瓷封裝(測量范圍為-50+150)、To -92封裝(測溫范圍0+70)。主要性能指標見表,該器件的外形與小功率晶體管相仿,共有3個管腳:1腳為正極,接電流輸入;2腳為負極,接電流輸出;3腳接管殼。使用時將第3腳接地,可起到屏蔽作用。AD590M的測溫范圍是-55+150,最大非線性誤差為±0.3,響應時間僅20us,線性誤差低至±0.05,功耗約2mW。AD590等效于一個高阻抗的恒流源。在工作電壓為+4+30V,測溫范圍是-55+150范圍之內,對應于熱力學溫度T每變化1K,就輸出1uA的電流

24、。在298.2K(對應于25.2)時輸出電流恰好等于298.2uA。這表明,其輸出電流I(uA)與熱力學溫度T(K)嚴格成正比。因此,輸出電流的微安數就代表著被測溫度的熱力學溫標數 型號主要技術指標AD590IAD590JAD590KAD590LAD590M最大非線性誤差/±0.3±1.5±0.8±0.4±0.3額定溫度系數/uA/K1.0額定輸出電流/uA298.2(+25.2)長期溫度漂移/月±0.1響應時間/us20工作電壓范圍/V+4+30AD590系列產品主要技術指標AD590電流-溫度特性曲線傳感器比較寫的好多啊3.8 單

25、片機的選擇3.8.1 單片機的發展隨著電子技術、微電子技術的飛速發展。微型計算機發展很快。單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣,發展很快。它就是在一塊半導體硅片上集成了微處理器(CPU),存儲器(RAM,ROM,EPROM)和各種輸入、輸出接口(定時器計數器,并行口,串行口,A/D轉換器以及脈寬調制器PWM等),這樣一塊集成電路芯片具有一臺計算機的屬性,因而被稱為單片機微型計算機,簡稱單片機。單片機體積小,重量輕,抗干擾能力強,環境要求不高,價格低廉,可靠性高,靈活性好,開發較為容易等優點廣泛應用于諸多領域,如工業自動化控制、自動檢測、智能儀器

26、儀表、家用電器、電力電子、機電一體化、數據采集系統等各個方面。單片機技術的開發和應用技術已逐漸成為一個國家工業發展水平的標志之一。 目前世界上由很多單片機制造公司,如美國的INTEL、ATMEL、MOTOROLA、ZILOG和FAIRCHILD公司;荷蘭的PHILIPS公司;德國的SIEMES公司等。他們相繼推出了各種的單片機品種,其中ATMEL公司推出的高性能位單片機AT89C51單片機以其優越的性能,成熟的技術和高性價比迅速占了工業測控和自動化工程領域的主要市場,成為單片機領域中的主流產品。3.8.2 AT89C51單片機性能與應用AT89C51內部包括1個8位CPU、128B RAM,2

27、1個特殊功能寄存器(SFR)、4個8位并行I/O口、1個全雙工串行口,2個16位定時器/計數器,它是一個低功耗、高性能的含有4KB閃爍存儲器的8位CMOS單片機,時鐘頻率高達20MHz,制造工藝為CHMOS的單片機一般都采用40只引腳的雙列直插封裝(DIP)方式,如圖40個引腳分別是:1. Vcc(40引腳):接+5V電源。2. Vss(20引腳):接地。3. XTAL1(19引腳):接外部晶體的1個引腳。該引腳內部是1個反相放大器的輸入端。這個反相放大器構成了片內振蕩器。如果采用外接晶體振蕩器時,此引腳接地。4. XTAL2(18引腳):接外部晶體的另一端,在該引腳內部接至內部反相放大器的輸

28、出端。若采用外部時鐘振蕩器時,該引腳接收時鐘振蕩器的信號,即把此信號直接接到內部時鐘發生器的輸入端。5RST/V(9引腳):RST(RESET)是復位信號輸入端,高電平有效。當單片機運行時,在此引腳加上持續時間大于2個機器周期(24個時鐘振蕩周期)的高電平時,就可以完成復位操作。在單片機正常運行時,此引腳應為0.5V低電平。V為本引腳的第二功能,即備用電源的輸入端。當主電源Vcc發生故障,降低到某一規定值的低電平時,將+5V電源自動接入RST端,為內部RAM提供備用電源,以保證片內RAM中的信息不所有的圖都要居中。圖1 什么圖 下面的依次排下去單片機的最小系統要寫出來吧丟失,從而使單片機在復位

29、后能繼續正常運行。6.ALE (30引腳):ALE引腳輸出為地址鎖允許信號,當單片機上電正常工作后,ALE引腳不斷輸出正脈沖信號。當單片機訪問外部存儲器時,ALE輸出信號的負跳沿用于單片機發出的低8位地址經外部鎖存器鎖存的鎖存控制信號。即使不訪問外部鎖存器,ALE端仍有正脈沖信號輸出,此頻率為時鐘振蕩器頻率fosc的1/6。如果要判斷單片機芯片的好壞,可用示波器查看ALE端是否有正脈沖信號輸出。如有脈沖信號輸出,則單片機基本上是好的。7.PSEN(29引腳):程序存儲器允許輸出控制端。在單片機訪問外部程序存儲器時,此引腳輸出脈沖負跳沿作為讀外部程序存儲器的選通信號。此引腳接外部程序存儲器的端。

30、8. /Vpp(31引腳):功能為內外程序存儲器選擇控制端。當引腳為高電平時,單片機訪問片內程序存儲器,但在PC值超過0FFFH(對于8051)時,即超出片內程序存儲器的4KB地址范圍時,將自動轉向執行外部程序存儲器內的程序。當引腳為低電平時,單片機則只訪問外部程序存儲器,不論是否有內部程序存儲器。對于8031來說,因無內部程序存儲器,所以該引腳必須接地,這樣只能選擇外部程序存儲器。9.P0口:雙向8位三態I/O口,此口為地址總線(低8位)及數據總線分時復用口,可驅動8個LS型TTL負載。 P1口:8位準雙向I/O口,可驅動4個LS型TTL負載。P2口:8位準雙向I/O口,與地址總線(高8位)

31、復用,可驅動4個LS型TTL負載。P3口:8位準雙向I/O口,雙功能復用口,可驅動4個LS型TTL負載。AT89C51作為溫度測試系統設計的核心器件。該器件是INTEL公司生產的MCS-51系列單片機中的基礎產品,采用了可靠的CMOS工藝制造技術,具有高性能的8位單片機,屬于標準的MCS-51的CMOS產品。不僅結合了HMOS的高速和高密度技術及CHMOS的低功耗特征,而且繼承和擴展了MCS一48單片機的體系結構和指令系統。AT89C51可構成真正的單片機最小應用系統,縮小系統體積,增加系統的可靠性,降低系統的成本。只要程序長度小于4K,四個I/O口全部提供給用戶??捎?V電壓編程,而且擦寫時

32、間僅需10毫秒,僅為8751/87C51的擦除時間的百分之一,與8751/87C51的12V電壓擦寫相比,不易損壞器件,沒有兩種電源的要求,改寫時不拔下芯片,適合許多嵌入式控制領域。工作電壓范圍寬(2.7V6V),全靜態工作,工作頻率寬在0Hz24MHz之間,比8751/87C51等51系列的6MHz12MHz更具有靈活性,系統能快能慢。AT89C51芯片提供三級程序存儲器加密,提供了方便靈活而可靠的硬加密手段,能完全保證程序或系統不被仿制。P0口是三態雙向口,通稱數據總線口,因為只有該口能直接用于對外部存儲器的讀/寫操作。3.9溫度傳感器的工作原理與單片機的連接溫度傳感器的單總線(1-Wir

33、e)與單片機的P27連接,P27是單片機的高位地址線。P2端口是一個帶內部上拉電阻的8位雙向IO,其輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對該端口寫“1”,可通過內部上拉電阻將其端口拉至高電平,此時可作為輸入口使用,這是因為內部存在上拉電阻,某一引腳被外部信號拉低時會輸出一個電流3。如圖3所示:DS18B20與單片機的接口電路非常簡單。DS18B20只有三個引腳,一個接地,一個接電源,一個數字輸入輸出引腳接單片機I/O口,電源與數字輸入輸出腳間需要接一個4.7K的電阻4。圖3溫度傳感器與單片機的連接圖DS18B20的內部框圖如圖4所示。64位ROM存儲器件獨一無二的序列號。暫

34、存器包含兩字節(0和1字節)的溫度寄存器,用于存儲溫度傳感器的數字輸出。暫存器還提供一字節的上線警報觸發(TH)和下線警報觸發(TL)寄存器(2和3字節),和一字節的配置寄存器(4字節),使用者可以通過配置寄存器來設置溫度轉換的精度。暫存器的5、6和7字節器件內部保留使用。第八字節含有循環冗余碼(CRC )。使用寄生電源時,DS18B20不需額外的供電電源;當總線為高電平時,功率由單總線上的上拉電阻通過DQ引腳提供;高電平總線信號同時也向內部電容CPP充電,CPP在總線低電平時為器件供電。(注:INTERNAL VDD-內部VDD 64-BIT ROM AND 1-wire PROT-64位R

35、OM和單線端 MEMORY CONTROL LOGIC-存儲器控制邏輯 SCRATCHPAD 暫存器 TEMPERATURE SENSOR 溫度傳感器 ALARM HIGH TRIGGER( TH)REGISTER 上限溫度觸發ALARM LOW TRIGGER( TL)REGISTER 下限溫度觸發 8-BIT CRC GENERTOR 8位CRC產生器 POWER SUPPLLY SENSE 電源探測 PARASITE POWER CIRCUIT 寄生電源電路)圖4 DS18B20的內部框圖訪問DS18B20必須嚴格遵守這一命令序列,如果丟失任何一步或序列混亂,DS18B20都不會響應主機

36、。a初始化:DS18B20所有的數據交換都由一個初始化序列開始。由主機發出的復位脈沖和跟在其后的由DS18B20發出的應答脈沖構成。當DS18B20發出響應主機的應答脈沖時,即向主機表明它已處在總線上并且準備工作。b. ROM命令:ROM命令通過每個器件64-bit的ROM碼,使主機指定某一特定器件(如果有多個器件掛在總線上)與之進行通信。DS18B20的ROM如表3-6所示,每個ROM命令都是8 bit長。c. 功能命令:主機通過功能命令對DS18B20進行讀/寫Scratchpad存儲器,或者啟動溫度轉換。DS18B20的功能命令如表5所示。表5 DS18B20的功能命令圖指令代碼功能讀R

37、OM33H讀DS18B20中的編碼(即64位地址)符合ROM55H發出此命令后,接著發出64位ROM編碼,訪問單總線上與該編碼相對應的DS18B20,使之作出響應,為下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數和識別64位ROM地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20V 溫度轉換命令,適用于單個DS18B20工作報警搜索命令0ECH執行后,只有溫度超過廟宇值上限或下限的片子才做出響應溫度轉換44H啟動DS18B20進行溫度轉換,轉換時間最長為500ms(典型為200ms),結果豐入內部9字節RA

38、M中讀暫存器BEH讀內部RAM中9字節的內容寫暫存器4EH發出向內部RAM的第3、4字節寫上、下溫度數據命令,緊該溫度命令之后,傳達兩字節的數據復制暫存器48H將RAM中第3、4字內容復制到E2PROM中重調EEPROM0B8H將EEPROM中內容恢復到RAM中的第3、4字節讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發送“0”,外部供電時DS18B20發送“1”(6)DS18B20的信號方式DS18B20采用嚴格的單總線通信協議,以保證數據的完整性。該協議定義了幾種信號類型:復位脈沖、應答脈沖、寫0、寫1、讀0和讀1。除了應答脈沖所有這些信號都由主機發出同步信號???/p>

39、線上傳輸的所有數據和命令都是以字節的低位在前。a.初始化序列:復位脈沖和應答脈沖在初始化過程中,主機通過拉低單總線至少480µs,以產生復位脈沖(TX)。然后主機釋放總線并進入接收(RX)模式。當總線被釋放后,4.7k的上拉電阻將單總線拉高。DS18B20檢測到這個上升沿后,延時15µs60µs,通過拉低總線60µs240µs產生應答脈沖。初始化波形如圖6所示。圖6 初始化脈沖b.讀和寫時序在寫時序期間,主機向DS18B20寫入指令;而在讀時序期間,主機讀入來自DS18B20的指令。在每一個時序,總線只能傳輸一位數據。讀/寫時序如圖3-4所示。

40、寫時序存在兩種寫時序:“寫1”和“寫0”。主機在寫1時序向DS18B20寫入邏輯1,而在寫0時序向DS18B20寫入邏輯0。所有寫時序至少需要60µs,且在兩次寫時序之間至少需要1µs的恢復時間。兩種寫時序均以主機拉低總線開始。產生寫1時序:主機拉低總線后,必須在15µs內釋放總線,然后由上拉電阻將總線拉至高電平。產生寫0時序:主機拉低總線后,必須在整個時序期間保持低電平(至少60µs)。在寫時序開始后的15µs60µs期間,DS18B20采樣總線的狀態。如果總線為高電平,則邏輯1被寫入DS18B20;如果總線為低電平,則邏輯0被寫入

41、DS18B20。3.10單片機與報警電路系統中的報警電路是由三極管,蜂鳴器,發光二極管和限流電阻組成,并與單片機的P1.0P1.3端口連接。P1端口的作用和接法與P2端口相同,不同的是在Flash編程和程序校驗期間,P1接收低8位地址數據,如圖所示7;圖7報警電路3.11電源電路由于該系統需要穩定的5 V電源,因此設計時必須采用能滿足電壓、電流和穩定性要求的電源。該電源采用三端集成穩壓器LM7805。它僅有輸入端、輸出端及公共端3個引腳,其內部設有過流保護、過熱保護及調整管安全保護電路由于所需外接元件少,使用方便、可靠,因此可作為穩壓電源。圖8為電源電路連接圖6。圖8電源電路連接圖3.12顯示

42、電路采用技術成熟,價格便宜的1602液晶顯示器做為輸出顯示。本次設計使用的1602液晶顯示器為5V電壓驅動,帶背光,可顯示兩行,每行16個字符,不能顯示漢字,內置128個字符的ASCII字符集字庫,只有并行接口,無串行接口7。4 軟件設計4.1 主程序流程圖 如圖10所示I/O口初始化讀溫度顯示Tvalue>fano風扇開啟Tvalue<fanc風扇關閉Tvalue<alarm報警不報警喂狗NYNYNY開始有風扇嗎?4.2各子程序流程圖 顯示部分flage=0Zt=0顯示溫度負值Zt=1開啟風扇的溫度值Zt=2關閉風扇的溫度值Zt=3顯示溫度正值報警的溫度值顯示延時NYNYN

43、YNY 按鍵部分NNNalarm+NFanc=0Fanc>150YFanc+S3是否按下Zt=1Zt=2Zt=3NYYKey=1;Zt+;Zt=0Zt>=4Arm=0arm>150YFano>150YFano+Fano=oS4是否按下NYFano=oFano-Fano<30YAlarm<30YArm=0YZt=3Zt=2Zt=1S2是否按下Fanc-S2、S3、S4都不按下YFanc=0NAlarm-NNNFanc<30YKey=0N4.3主程序#include <reg51.h> / 51系類單片機頭文件#include "LC

44、D1602.h" /包含對1602讀寫操作的頭文件#include "Delay.h"/延時操作頭文件#include "18B20.h" /包含對18B20操作的頭文件#include<intrins.h>sbit beep = P30; /定義蜂鳴器信號線sbit led0=P10;/定義發光二極管端口sbit led1=P11;sbit led2=P12;sbit led3=P13;uint warn_l1=250; /定義溫度下限值 溫度*10uint warn_l2=220;uint warn_h1=370;uint wa

45、rn_h2=350;/*函數名稱:deal(uint t) * 函數功能:對18B20獲取的溫度進行相應的處理 * 入口參數:temp *出口參數:無 */void deal(uint t)if(t>warn_l2)&&(t<=warn_l1)/2225度 led0=0; /第一個閃爍Delayms(20);led0=1;mdi(); /蜂鳴器慢“滴” /模擬開啟制熱else if(t<=warn_l2) / <22 度led0=0;led1=0; /第一二燈閃爍Delayms(10);led0=1;led1=1;kdi();/蜂鳴器快“滴” /模擬加大

46、制熱功率else if(t>warn_h2)&&(t<=warn_h1) /3537度led2=0; /第三個燈閃爍Delayms(20);led2=1;mdi(); /蜂鳴器慢“滴” /模擬開啟制冷else if(t>=warn_h1)/ >37度led2=0; /第三四個燈閃爍led3=0;Delayms(10);led2=1;led3=1;kdi(); /蜂鳴器慢“滴” /模擬加大制冷功率else beep=1; /溫度正常/*函數名稱:display(uint t); *函數功能:顯示溫度 *入口參數:t *出口參數:無 */void displ

47、ay(uint t)write_com(0x80+12); / 第一行第13列write_data(t/100+0x30); /十位+0X30轉換為字符顯示write_com(0x80+14);write_data(t%100/10+0x30);write_com(0x80+15);write_data(t%10+0x30);/*函數名稱:main(void); * 函數功能:主函數 * 入口參數:無 * 出口參數:無 */void main(void) uchar i = 0; uint temp = 0; while(1) init(); /LCD 初始化 tempchange(); /溫

48、度轉換 _nop_(); /稍作延時 temp = get_temp(); deal(temp); /溫度處理 _nop_(); for(i=10;i>0;i-) display(temp(); /溫度處理 18B20.H 頭文件#ifndef _18B20_h_ /防止重復定義#define _18B20_h_#include<reg52.h>#include<intrins.h> #include"18B20.h"#include"Delay.h"extern void dsreset(void); /函數聲明 外部可見

49、extern void tempwritebyte(uchar dat);extern bit tempreadbit(void);extern uchar tempreadbyte(void);extern void tempchange(void);extern uint get_temp(void);#endif 18B20.C 文件#include"18B20.h"sbit beep = P30; /定義蜂鳴器信號線sbit ds = P27; /定義18B20信號線static uint temp = 0;static float f_temp = 0.0;/*

50、函數名稱:dsreset(void) * 函數功能:18B20 初始化 * 入口參數:無 * 出口參數:無 */void dsreset(void) ds = 1; /將數據線置高電平 _nop_(); /稍作延時,要盡可能短 ds = 0; / 拉低數據線 Delayus(40); /延時 _nop_(); ds = 1; /將數據線拉高 Delayus(14); /延時 ds = 1; /拉高數據線/* 函數名稱:temwritebyte(uchar dat) * 函數功能:向18B20寫一個字節 * 入口參數:dat * 出口參數:無 */void tempwritebyte(uchar dat) uint i; for(i=0;i<8;i+) / 一個字節有8位 ds=0; /將數據線拉低 _nop_(); /稍作延時,待數據穩定 ds=dat&0x01; /低位在前,高位在后 Delayus(3); /延時45us _no

溫馨提示

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

評論

0/150

提交評論