基于51單片機(jī)的溫控風(fēng)扇設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的溫控風(fēng)扇設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的溫控風(fēng)扇設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的溫控風(fēng)扇設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的溫控風(fēng)扇設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩53頁(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、 基于51單片機(jī)的溫控風(fēng)扇設(shè)計(jì)摘要在炎熱的夏天人們用電風(fēng)扇來(lái)降溫;在工業(yè)生產(chǎn)中,大型機(jī)械用電風(fēng)扇來(lái)散熱等。隨著溫度控制的技術(shù)不斷發(fā)展,應(yīng)運(yùn)而生的溫控電風(fēng)扇也逐漸走進(jìn)了人們的生活中。溫控電風(fēng)扇可以根據(jù)環(huán)境溫度自動(dòng)調(diào)節(jié)電風(fēng)扇啟停與轉(zhuǎn)速,在實(shí)際生活的使用中,溫控風(fēng)扇不僅可節(jié)省寶貴的電資源,也大大方便了人們的生活和生產(chǎn)。本設(shè)計(jì)為一種溫控風(fēng)扇系統(tǒng),具有靈敏的溫度感測(cè)和顯示功能,系統(tǒng)采用STC89C51單片機(jī)作為控制平臺(tái)對(duì)風(fēng)扇轉(zhuǎn)速進(jìn)行控制。利用DS18B20數(shù)字溫度傳感器采集實(shí)時(shí)溫度,經(jīng)單片機(jī)處理后通過(guò)三極管驅(qū)動(dòng)直流風(fēng)扇的電機(jī)。根據(jù)采集的實(shí)時(shí)溫度,實(shí)現(xiàn)了風(fēng)扇的自起自停??捎捎脩粼O(shè)置高、低溫度值,測(cè)得溫度值

2、在高低溫度之間時(shí)打開(kāi)風(fēng)扇弱風(fēng)檔,當(dāng)溫度升高超過(guò)所設(shè)定的溫度時(shí)自動(dòng)切換到大風(fēng)檔,當(dāng)溫度小于所設(shè)定的溫度時(shí)自動(dòng)關(guān)閉風(fēng)扇,控制狀態(tài)隨外界溫度而定。關(guān)鍵詞:溫控風(fēng)扇,單片機(jī),DS18B20,自動(dòng)控制Temperaturecontrolfandesignbasedon51singlechipmicrocomputerABSTRACTInthehotsummer,peopleusecoolingfan;intheindustrialproduction,isusedtoheattheelectricfanlargemachinery.Withthecontinuousdevelopmentofthetec

3、hnologyoftemperaturecontrol,temperaturecontrolledelectricfanemergeasthetimesrequiregraduallyintopeopleslives.Temperaturecontrolledelectricfancanbeadjustedautomaticallystopandstartthefanspeedaccordingtotheenvironmenttemperature,theuseofreallife,temperaturecontrolledfannotonlycansavepowerresourcesvalu

4、able,butalsogreatlyfacilitatethepeopleslifeandproduction.Thedesignofatemperaturecontrolledfansystem,sensitivetemperate-easuinganddisplay,thesystemusesSTC89C51microcontrollerasthecontrolplatformtocontrolthespeedofthefan.Thereal-timetemperatureusingDS18B20digitaltemperaturesensor,SCMprocessingthrought

5、hetransistorDCfanmotordrive.Accordingtothereal-timetemperatureacquisition,thefanselfstop.High,lowtemperaturevaluesetbytheuser,themeasuredtemperaturevaluesinthehighandlowtemperaturebetweenopenfanweakwindprofile,whenthetemperatureexceedsthesettemperatureautomaticallyswitchtothefile,automaticallyturnof

6、fthefanwhenthetemperatureislowerthanthesettemperature,thecontrolstatevarieswiththeoutsidetemperature.KEYWORDS:Temperaturecontrolfan,MCU,DS18B20,automaticcontrol目錄TOC o 1-5 h z、F1前言 HYPERLINK l bookmark12 o Current Document 第1章緒論2 HYPERLINK l bookmark14 o Current Document 研究本課題的目的和意義2 HYPERLINK l boo

7、kmark16 o Current Document 發(fā)展現(xiàn)狀2 HYPERLINK l bookmark22 o Current Document 第2章整體方案選擇4 HYPERLINK l bookmark24 o Current Document 2.1溫度傳感器的選用4 HYPERLINK l bookmark26 o Current Document 2.2主控機(jī)的選擇6顯示電路 HYPERLINK l bookmark30 o Current Document 調(diào)速方式7 HYPERLINK l bookmark32 o Current Document 第3章系統(tǒng)硬件組成8 H

8、YPERLINK l bookmark34 o Current Document 系統(tǒng)結(jié)構(gòu)8 HYPERLINK l bookmark36 o Current Document 3.2主控芯片介紹8 HYPERLINK l bookmark38 o Current Document STC89C51簡(jiǎn)介8 HYPERLINK l bookmark40 o Current Document STC89C51主要功能和性能參數(shù)9 HYPERLINK l bookmark42 o Current Document 3.2.3STC89C51單片機(jī)引腳說(shuō)明10 HYPERLINK l bookmark

9、44 o Current Document STC89C51單片機(jī)最小系統(tǒng)123.2.5STC89C51中斷技術(shù)概述14 HYPERLINK l bookmark54 o Current Document 3.3DS18B20溫度采集電路14DS18B20的特點(diǎn)及內(nèi)部構(gòu)造14 HYPERLINK l bookmark66 o Current Document 3.3.3DS18B20的工作原理163.3.3DS18B20的工作時(shí)序19 HYPERLINK l bookmark70 o Current Document 3.4數(shù)碼管驅(qū)動(dòng)顯示電路21數(shù)碼管驅(qū)動(dòng)電路21 HYPERLINK l bo

10、okmark78 o Current Document 數(shù)碼管顯示電路223.5風(fēng)扇驅(qū)動(dòng)電路23 HYPERLINK l bookmark80 o Current Document 3.6按鍵模塊26 HYPERLINK l bookmark82 o Current Document 第4章系統(tǒng)軟件設(shè)計(jì)28 HYPERLINK l bookmark84 o Current Document 軟件介紹28 HYPERLINK l bookmark86 o Current Document KeilC5128 HYPERLINK l bookmark88 o Current Document Pr

11、otel99SE29 HYPERLINK l bookmark94 o Current Document Proteus30 HYPERLINK l bookmark98 o Current Document 4.2主程序流程圖32 HYPERLINK l bookmark100 o Current Document 4.3DS18B20子程序流程圖33 HYPERLINK l bookmark102 o Current Document 4.4數(shù)碼管顯示子程序流程圖34 HYPERLINK l bookmark104 o Current Document 4.5按鍵子程序流程圖35 HYPE

12、RLINK l bookmark106 o Current Document 第5章系統(tǒng)調(diào)試37 HYPERLINK l bookmark108 o Current Document 軟硬件調(diào)試375.1.1按鍵顯示部分的調(diào)試375.1.2傳感器DS18B20溫度采集部分調(diào)試375.1.3風(fēng)扇調(diào)速電路部分調(diào)試38 HYPERLINK l bookmark110 o Current Document 系統(tǒng)功能38系統(tǒng)實(shí)現(xiàn)的功能38 HYPERLINK l bookmark112 o Current Document 系統(tǒng)功能分析39結(jié)論40謝辭41 HYPERLINK l bookmark118

13、 o Current Document 參考文獻(xiàn)42附錄43 HYPERLINK l bookmark122 o Current Document 附錄1:protel原理圖43 HYPERLINK l bookmark126 o Current Document 附錄2:proteus仿真圖44附錄3:源程序45 HYPERLINK l bookmark128 o Current Document 外文資料譯文52 -LX.1前言在現(xiàn)代社會(huì)中,風(fēng)扇被廣泛的應(yīng)用,發(fā)揮著舉足輕重的作用,如夏天人們用的散熱風(fēng)扇、工業(yè)生產(chǎn)中大型機(jī)械中的散熱風(fēng)扇以及現(xiàn)在筆記本電腦上廣泛使用的智能CPU風(fēng)扇等。而隨著溫

14、度控制技術(shù)的發(fā)展,為了降低風(fēng)扇運(yùn)轉(zhuǎn)時(shí)的噪音以及節(jié)省能源等,溫控風(fēng)扇越來(lái)越受到重視并被廣泛的應(yīng)用。隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)作控制的溫度控制系統(tǒng)也應(yīng)運(yùn)而生,如基于單片機(jī)的溫控風(fēng)扇系統(tǒng)。它使風(fēng)扇根據(jù)環(huán)境溫度的變化實(shí)現(xiàn)自動(dòng)啟停,使風(fēng)扇轉(zhuǎn)速隨著環(huán)境溫度的變化而變化,實(shí)現(xiàn)了風(fēng)扇的智能控制。它的設(shè)計(jì)為現(xiàn)代社會(huì)人們的生活以及生產(chǎn)帶來(lái)了諸多便利,在提高人們的生活質(zhì)量、生產(chǎn)效率的同時(shí)還能節(jié)省風(fēng)扇運(yùn)轉(zhuǎn)所需的能量。本文設(shè)計(jì)了基于單片機(jī)的溫控風(fēng)扇系統(tǒng),用單片機(jī)為控制器,利用溫度傳感器DS18B20作為溫度采集元件,并根據(jù)采集到的溫度,通過(guò)兩個(gè)三極管驅(qū)動(dòng)風(fēng)扇電機(jī)。根據(jù)檢測(cè)到的溫度與系統(tǒng)設(shè)定的溫度比較實(shí)

15、現(xiàn)風(fēng)扇電機(jī)的自動(dòng)啟動(dòng)和停止,并能根據(jù)溫度的變化自動(dòng)改變風(fēng)扇電機(jī)的轉(zhuǎn)速檔位,同時(shí)用LED八段數(shù)碼管顯示檢測(cè)到的溫度與當(dāng)前檔位。系統(tǒng)的預(yù)設(shè)溫度的設(shè)置是通過(guò)三個(gè)獨(dú)立按鍵來(lái)實(shí)現(xiàn)的,一個(gè)是設(shè)置按鍵,一個(gè)是增大預(yù)設(shè)溫度,一個(gè)是減小預(yù)設(shè)溫度。第1章緒論研究本課題的目的和意義生活中,我們經(jīng)常會(huì)使用一些與溫度有關(guān)的設(shè)備。比如,現(xiàn)在雖然不少城市家庭用上了空調(diào),但在占中國(guó)大部分人口的農(nóng)村地區(qū)依舊使用電風(fēng)扇作為降溫防暑設(shè)備,春夏(夏秋)交替時(shí)節(jié),白天溫度依舊很高,電風(fēng)扇應(yīng)高轉(zhuǎn)速、大風(fēng)量,使人感到清涼;到了晚上,氣溫降低,當(dāng)人入睡后應(yīng)該逐步減小轉(zhuǎn)速,以免使人感冒。雖然風(fēng)扇都有調(diào)節(jié)不同檔位的功能,但必須要人手動(dòng)換檔,睡著

16、了就無(wú)能為力了,而普遍采用的定時(shí)器關(guān)閉的做法,一方面是定時(shí)時(shí)間長(zhǎng)短有限制,一般是一兩個(gè)小時(shí);另一方面可能在一兩個(gè)小時(shí)后氣溫依舊沒(méi)有降低很多,而風(fēng)扇就關(guān)閉了,使人在睡夢(mèng)中熱醒而不得不起床重新打開(kāi)風(fēng)扇,增加定時(shí)器時(shí)間,非常麻煩,而且可能多次定時(shí)后最后一次定時(shí)時(shí)間太長(zhǎng),在溫度降低以后風(fēng)扇依舊繼續(xù)吹風(fēng),使人感冒;第三方面是只有簡(jiǎn)單的到了定時(shí)時(shí)間就關(guān)閉風(fēng)扇電源的單一功能,不能滿足氣溫變化對(duì)風(fēng)扇風(fēng)速大小的不同要求。又比如在較大功率的電子產(chǎn)品散熱方面,現(xiàn)在絕大多數(shù)都采用了風(fēng)冷系統(tǒng),利用風(fēng)扇引起空氣流動(dòng),帶走熱量,使電子產(chǎn)品不至于發(fā)熱燒壞。要使電子產(chǎn)品保持較低的溫度,必須用大功率、高轉(zhuǎn)速、大風(fēng)量的風(fēng)扇,而風(fēng)扇

17、的噪音與其功率成正比。如果要低噪音,則要減小風(fēng)扇轉(zhuǎn)速,又會(huì)引起電子設(shè)備溫度上升,不能兩全其美。為解決上述問(wèn)題,我們?cè)O(shè)計(jì)了這套溫控風(fēng)扇系統(tǒng)。本系統(tǒng)采用高精度集成溫度傳感器,用單片機(jī)控制,能顯示實(shí)時(shí)溫度,并根據(jù)使用者設(shè)定的溫度自動(dòng)在相應(yīng)溫度時(shí)作出小風(fēng)、大風(fēng)、停機(jī)動(dòng)作,精確度高動(dòng)作準(zhǔn)確。發(fā)展現(xiàn)狀當(dāng)今社會(huì)已經(jīng)完全進(jìn)入了電子信息化,溫度控制器在各行各業(yè)中已經(jīng)得到了充分的利用。具有對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)控的功能,以保證工業(yè)儀器,測(cè)量工具,農(nóng)業(yè)種植的正常運(yùn)作,它的最大特點(diǎn)是能實(shí)時(shí)監(jiān)控周?chē)鷾囟鹊母叩?,并能同時(shí)控制電機(jī)運(yùn)作來(lái)改變溫度。它的廣泛應(yīng)用和普及給人們的日常生活帶來(lái)了方便。溫控風(fēng)扇是用單片機(jī)系統(tǒng)來(lái)完成的一個(gè)小型

18、的控制系統(tǒng)。現(xiàn)階段運(yùn)用與國(guó)內(nèi)大部分家庭,系統(tǒng)效率越來(lái)越高,成本也越來(lái)越低。其發(fā)展趨勢(shì)可以根據(jù)其性質(zhì)進(jìn)行相應(yīng)的改進(jìn)可以運(yùn)用與不同場(chǎng)合的溫度監(jiān)測(cè)控制,并帶來(lái)大量的經(jīng)濟(jì)效益。第2章整體方案選擇溫度傳感器的選用溫度傳感器可由以下幾種方案可供選擇:方案一:選用熱敏電阻作為感測(cè)溫度的核心元件,通過(guò)運(yùn)算放大器放大由于溫度變化引起熱敏電阻電阻的變化、進(jìn)而導(dǎo)至的輸出電壓變化的微弱電壓變化信號(hào),再用AD轉(zhuǎn)換芯片ADC0809將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)輸入單片機(jī)處理。具體方案如果2-1U2R8VCC12345I1612VCCmsb2-12-22-32-42-52-62-7lsb2-8IN-0IN-1IN-2IN-3I

19、N-4EOCIN-5ADD-AADD-BADD-CIN-6IN-7ALEref(-)ENABLESTARTCLOCKref(+)ADC08092622ST7EOC27R1010k2825242321P1720P1619P1518P148P1315P1214P1117P10OE6STALE圖2-1熱敏溫度采集電路方案二:采用熱電偶作為感測(cè)溫度的核心元件,配合橋式電路,運(yùn)算放大電路和AD轉(zhuǎn)換電路,將溫度變化信號(hào)送入單片機(jī)處理。此方案原理和方案一的原理大同小異,AD轉(zhuǎn)換電路一樣,就是模擬量輸入的處理方式不一樣,熱電偶的還需要配合橋式電路,整體更加復(fù)雜點(diǎn),但是此方案的測(cè)溫范圍更廣。方案三:采用數(shù)字式集

20、成溫度傳感器DS18B20作為感測(cè)溫度的核心元件,直接輸出數(shù)字溫度信號(hào)供單片機(jī)處理。I3DNGDS18B20ll2l|j*IvccR1310K圖2-2DS18B20溫度采電路對(duì)于方案一,采用熱敏電阻有價(jià)格便宜、元件易購(gòu)的優(yōu)點(diǎn),但熱敏電阻對(duì)溫度的細(xì)微變化不敏感,AD0809也只有8位,所以顯示溫度也只能顯示到度,不能顯示到小數(shù)。在信號(hào)采集、放大、轉(zhuǎn)換過(guò)程中還會(huì)產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關(guān)系的非線性,其本身電阻對(duì)溫度的變化存在較大誤差,雖然可以通過(guò)一定電路予以糾正,但不僅將使電路復(fù)雜穩(wěn)定性降低,而且在人體所處溫度環(huán)境溫度變化中難以檢測(cè)到小的溫度變化。故該方案不適合本系統(tǒng)。對(duì)于方案二,

21、采用熱電偶和橋式測(cè)量電路相對(duì)于熱敏電阻其對(duì)溫度的敏感性和器件的非線性誤差都有較大提高,其測(cè)溫范圍也非常寬,從-50攝氏度到1600攝氏度均可測(cè)量。但是依然存在電路復(fù)雜,對(duì)溫度敏感性達(dá)不到本系統(tǒng)要求的標(biāo)準(zhǔn),故不采用該方案。對(duì)于方案三,由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,大大降低了外接放大轉(zhuǎn)換等電路的誤差因素,溫度誤差很小,并且由于其感測(cè)溫度的原理與上述兩種方案的原理有著本質(zhì)的不同,使得其溫度分辨力極高。溫度值在器件內(nèi)部轉(zhuǎn)換成數(shù)字量直接輸出,簡(jiǎn)化了系統(tǒng)程序設(shè)計(jì),又由于該傳感器采用先進(jìn)的單總線技術(shù)(1-WRIE),與單片機(jī)的接口變的非常簡(jiǎn)潔,抗干擾能力強(qiáng)。關(guān)于DS18B20的詳細(xì)參數(shù)

22、參看下面“硬件設(shè)計(jì)”中的器件介紹。2.2主控機(jī)的選擇方案一:采用凌陽(yáng)系列單片機(jī)作為系統(tǒng)的控制器,凌陽(yáng)系列單片機(jī)可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩(wěn)定性。凌陽(yáng)系列單片機(jī)提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。方案二:采用單片機(jī)作為控制核心。以軟件編程的方法進(jìn)行溫度判斷,并在端口輸出控制信號(hào)。因51單片機(jī)價(jià)格比凌陽(yáng)系列低得多,且本設(shè)計(jì)不需要很高的處理速度,從經(jīng)濟(jì)和方便使用角度考慮,本設(shè)計(jì)選擇了方案二。對(duì)于方案二,以單片機(jī)作為控制器,通過(guò)編寫(xiě)程序不但能將傳感器感測(cè)到的溫度通過(guò)顯示電路顯示出來(lái),而且用戶能通過(guò)鍵盤(pán)接口,自由設(shè)置上

23、下限動(dòng)作溫度值,滿足全方位的需求。并且通過(guò)程序判斷溫度具有極高的精準(zhǔn)度,能精確把握環(huán)境溫度的微小變化。故本系統(tǒng)采用方案二。顯示電路方案一:采用數(shù)碼管顯示溫度,動(dòng)態(tài)掃描顯示方式。采用LED數(shù)碼管這種方案。雖然顯示的內(nèi)容有限,但是也可以顯示數(shù)字和幾個(gè)英文字母,在這個(gè)設(shè)計(jì)中已經(jīng)足夠了,并且價(jià)格比液晶字符式要低的多,為了控制設(shè)計(jì)制作的成本,在此設(shè)計(jì)中選用LED數(shù)碼管顯示。方案二:采用液晶顯示屏LCD顯示溫度。顯示用液晶字符式,可以用軟件達(dá)到很好的控制,硬件不復(fù)雜,液晶字符顯示器可以顯示很豐富的內(nèi)容,但是液晶字符式價(jià)格昂貴。對(duì)于方案一,該方案成本低廉,顯示溫度明確醒目,在夜間也能看見(jiàn),功耗極低,顯示驅(qū)動(dòng)

24、程序的編寫(xiě)也相對(duì)簡(jiǎn)單,這種顯示方式得到廣泛應(yīng)用。不足的地方是掃描顯示方式是使數(shù)碼管逐個(gè)點(diǎn)亮,因此會(huì)有閃爍,但是人眼的視覺(jué)暫留時(shí)間為20MS,當(dāng)數(shù)碼管掃描周期小于這個(gè)時(shí)間時(shí)人眼將感覺(jué)不到閃爍,因此可以通過(guò)增大掃描頻率來(lái)消除閃爍感。對(duì)于方案二,液晶體顯示屏具有顯示字符優(yōu)美,不但能顯示數(shù)字還能顯示字符甚至圖形的優(yōu)點(diǎn),這是LED數(shù)碼管無(wú)法比擬的。但是液晶顯示模塊價(jià)格昂貴,驅(qū)動(dòng)程序復(fù)雜,從簡(jiǎn)單實(shí)用的原則考慮,本系統(tǒng)采用方案一。調(diào)速方式方案一:采用變壓器調(diào)節(jié)方式,運(yùn)用電磁感應(yīng)原理將220V電壓通過(guò)線圈降壓到不同的電壓,控制風(fēng)扇電機(jī)接到不同電壓值的線圈上可控制電機(jī)的轉(zhuǎn)速,從而控制風(fēng)扇風(fēng)力大小。方案二:采用三

25、極管驅(qū)動(dòng)PWM進(jìn)行控制。對(duì)于方案一,由于采用變壓器改變電壓調(diào)節(jié),有風(fēng)速級(jí)別限制,不能適應(yīng)人性化要求。且在變壓過(guò)程中會(huì)有損耗發(fā)熱,效率不高,發(fā)熱有不安全因素。對(duì)于方案二,PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無(wú)需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時(shí),也才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。對(duì)噪聲抵抗能力的增強(qiáng)是PWM相對(duì)于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長(zhǎng)通信距離。故本系統(tǒng)采用方案二。第3章系統(tǒng)硬件組成系統(tǒng)結(jié)構(gòu)本系統(tǒng)由集成溫度傳感器、單片機(jī)

26、、LED數(shù)碼管、三極管驅(qū)動(dòng)電路及一些其他外圍器件組成。使用具有價(jià)廉易購(gòu)的STC89C51單片機(jī)編程控制通過(guò)修改程序可方便實(shí)現(xiàn)系統(tǒng)升級(jí)。系統(tǒng)的框圖結(jié)構(gòu)如下:圖3-1系統(tǒng)框圖3.2主控芯片介紹STC89C51簡(jiǎn)介STC89C51是一種低功耗、高性能CM0S8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門(mén)狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)

27、6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外STC89X51可降至OHz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止U4高運(yùn)作頻率89C51hz,6T/12T可選。圖3-2STC89C51單片機(jī)引腳圖單片機(jī)是美國(guó)STC公司最新推出的一種新型51內(nèi)核的單片機(jī)。片內(nèi)含有Flash程序存儲(chǔ)器、SRAM、UART、SPI、PWM等模塊。3.2.2STC89C51主要功能和性能參數(shù)(1)內(nèi)置標(biāo)準(zhǔn)51內(nèi)核,機(jī)器周期:增強(qiáng)型為6時(shí)鐘,普通型為12

28、時(shí)鐘;(2)工作頻率范圍:040MHZ,相當(dāng)于普通8051的080MHZ;(3)STC89C51RC對(duì)應(yīng)Flash空間:4KB;(4)內(nèi)部存儲(chǔ)器(RAM):512B;(5)定時(shí)器計(jì)數(shù)器:3個(gè)16位;(6)通用異步通信口(UART)1個(gè);(7)中斷源:8個(gè);有ISP(在系統(tǒng)可編程)IAP(在應(yīng)用可編程),無(wú)需專用編程器仿真器;通用IO口:3236個(gè);(10)工作電壓:3.85.5V;(11)外形封裝:40腳PDIP、44腳PLCC和PQFP等。3.2.3STC89C51單片機(jī)引腳說(shuō)明VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的

29、管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻

30、拉高,且作為輸入。并因此作為輸入時(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)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3.0RXD(串行輸入口

31、)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。I/O口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過(guò)某種運(yùn)算或變換后再寫(xiě)回到端口鎖存器。只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。上面圖中的兩個(gè)三角形表示的就是輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號(hào)以完成不同

32、的操作。這是由硬件自動(dòng)完成的,不需要我們操心,1然后再實(shí)行讀引腳操作,否則就可能讀入出錯(cuò),為什么看上面的圖,如果不對(duì)端口置1端口鎖存器原來(lái)的狀態(tài)有可能為0Q端為0Q為1加到場(chǎng)效應(yīng)管柵極的信號(hào)為1,該場(chǎng)效應(yīng)管就導(dǎo)通對(duì)地呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號(hào)為1,也會(huì)因端口的低阻抗而使信號(hào)變低使得外加的1信號(hào)讀入后不一定是1。若先執(zhí)行置1操作,則可以使場(chǎng)效應(yīng)管截止引腳信號(hào)直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入,由于在輸入操作時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作,所以這類I/O口被稱為準(zhǔn)雙向口。89C51的P0/P1/P2/P3口作為輸入時(shí)都是準(zhǔn)雙向口。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期

33、的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSE

34、N有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。3.2.4STC89C51單片機(jī)最小系統(tǒng)最小系統(tǒng)包括單片機(jī)及其所需的必要的電源、時(shí)鐘、復(fù)位等部件,能使單片機(jī)始終處于正常的運(yùn)行狀態(tài)。電源、時(shí)鐘等電路是使單片機(jī)能運(yùn)行的

35、必備條件,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過(guò)對(duì)其進(jìn)行存儲(chǔ)器擴(kuò)展、A/D擴(kuò)展等,使單片機(jī)完成較復(fù)雜的功能。STC89C51是片內(nèi)有ROM/EPROM的單片機(jī),因此,這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單、可靠。用STC89C52單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,結(jié)構(gòu)如圖2-3所示,由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。圖3-3單片機(jī)最小系統(tǒng)原理框圖1.時(shí)鐘電路STC89C51單片機(jī)的時(shí)鐘信號(hào)通常有兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。內(nèi)部時(shí)鐘方式如圖2-4所示。在STC89C51單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1(18)和

36、XTAL2(19)引腳外接石英晶體(簡(jiǎn)稱晶振),就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在530pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.212MHz間選擇,典型值為12MHzC2和6MHz。12M30PC3圖3-4PSTC89C51內(nèi)部時(shí)鐘電路2.復(fù)位電路當(dāng)在STC89C51單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充放電來(lái)實(shí)

37、現(xiàn)的。只要Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過(guò)RST(9)端與電源Vcc接通而實(shí)現(xiàn)的。按鍵手動(dòng)復(fù)位電路見(jiàn)圖2-5。時(shí)鐘頻率用11.0592MHZ時(shí)C取10uF,R取10kQ。圖3-5STC89C51復(fù)位電路3.2.5STC89C51中斷技術(shù)概述中斷技術(shù)主要用于實(shí)時(shí)監(jiān)測(cè)與控制,要求單片機(jī)能及時(shí)地響應(yīng)中斷請(qǐng)求源提出的服務(wù)請(qǐng)求,并作出快速響應(yīng)、及時(shí)處理。這是由片內(nèi)的中斷系統(tǒng)來(lái)實(shí)現(xiàn)的。當(dāng)中斷請(qǐng)求源發(fā)出中斷請(qǐng)求時(shí),如果中斷請(qǐng)求被允許,單片機(jī)暫時(shí)中止當(dāng)前正在執(zhí)行的主

38、程序,轉(zhuǎn)到中斷服務(wù)處理程序處理中斷服務(wù)請(qǐng)求。中斷服務(wù)處理程序處理完中斷服務(wù)請(qǐng)求后,再回到原來(lái)被中止的程序之處(斷點(diǎn)),繼續(xù)執(zhí)行被中斷的主程序。圖3-6為整個(gè)中斷響應(yīng)和處理過(guò)程。圖3-6中斷響應(yīng)和處理過(guò)程如果單片機(jī)沒(méi)有中斷系統(tǒng),單片機(jī)的大量時(shí)間可能會(huì)浪費(fèi)在查詢是否有服務(wù)請(qǐng)求發(fā)生的定時(shí)查詢操作上。采用中斷技術(shù)完全消除了單片機(jī)在查詢方式中的等待現(xiàn)象,大大地提高了單片機(jī)的工作效率和實(shí)時(shí)性。3.3DS18B20溫度采集電路DS18B20是美國(guó)DALLAS半導(dǎo)體器件公司推出的單總線數(shù)字化智能集成溫度傳感器。單總線(1-Wire)是DALLAS公司的一項(xiàng)專有技術(shù),它采用單根信號(hào)線,既傳輸時(shí)鐘又傳輸數(shù)據(jù),而且

39、數(shù)據(jù)傳輸是雙向的,具有節(jié)省I/O口線資源、結(jié)構(gòu)簡(jiǎn)單、成本低廉、便于總線擴(kuò)展和維護(hù)等諸多優(yōu)點(diǎn)。3.3.1DS18B20的特點(diǎn)及內(nèi)部構(gòu)造特點(diǎn)如下:(1)采用獨(dú)特的單總線接口方式,即只有一根信號(hào)線與控制器相連,實(shí)現(xiàn)數(shù)據(jù)的雙向通信,不需要外部元件;測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以單總線串行傳送給控制器,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三根線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)量;適應(yīng)電壓范圍寬3.0-5.5V,不需要備份電源、可用數(shù)據(jù)線供電,溫度測(cè)量范圍為-55C125C,-10C85C時(shí)測(cè)量精度為0.5C;(5)通過(guò)編程可實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方

40、式,對(duì)應(yīng)的可分辨溫度分別為0.5C,0.25C,0.125C,0.0625C,實(shí)現(xiàn)高精度測(cè)溫;(6)負(fù)壓特性。電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。封裝圖及內(nèi)部構(gòu)造,如下圖3-7和3-8所示PINASSIGNMENTALLAS1SB2D123NCHNOOVqdIDQa|ikMTTmirlEVh-JTO-92(LSI8B2C)8-Pin15Om.ilSO(DS18B20Z)DOl=NC匸二NC匚二GND匚二:1INC二頁(yè)UNG8-PinjuSOP(LSISEH20U)外部結(jié)構(gòu)框圖圖37DS18B20C圖38DS18B20內(nèi)部結(jié)構(gòu)框圖3.3.2引腳功能介紹NC:空引腳,懸空不使用;

41、VDD:可選電源腳,電源電壓范圍35.5V。工作于寄生電源時(shí),此引腳應(yīng)接地;I/O:數(shù)據(jù)輸入/輸出腳,漏極開(kāi)路,常態(tài)下高電平。DS18B20采用3腳TO-92封裝或8腳SOIC及CSP封裝方式。圖2-8所示為DS18B20的內(nèi)部結(jié)構(gòu)框圖,它主要包括寄生電源、溫度傳感器、64位光刻ROM及單總線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM)、存儲(chǔ)與控制邏輯、用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器、結(jié)構(gòu)寄存器、8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等八部分。叩一1827CS18B20NC一36NC一45VccNCNCNCGNDI/OUDD封裝圖3-9DS18B20的封裝3.3.3DS18

42、B20的工作原理64位ROM的結(jié)構(gòu)如圖3-10所示,開(kāi)始8位是產(chǎn)品類型的編號(hào);接著是每個(gè)器件唯一的序號(hào),共48位;最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可采用單線進(jìn)行通信的原因。非易失性溫度報(bào)警觸發(fā)器TH、TL,可以通過(guò)編程寫(xiě)入用戶報(bào)警上下線數(shù)據(jù)。8位檢驗(yàn)48位序列8位工廠代ML按ML圖3-1064位ROM示意圖DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPROM。高速暫存RAM的結(jié)構(gòu)位9字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2-12所示。前兩個(gè)字節(jié)包括測(cè)得溫度的信息。3、4字節(jié)是TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5字節(jié)為配

43、置寄存器,其內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換頻率,DS18B20工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如圖2-13,其低5位一直為1;TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在檢測(cè)模式,在DS18B20出廠時(shí),該位被設(shè)置為0,用戶不要去改動(dòng);R1和R2決定溫度轉(zhuǎn)換的精度位數(shù),即用來(lái)設(shè)置分辨率,單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù)。的數(shù)據(jù)時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.0625C/LSB形式表示。表3-1是部分溫度值對(duì)應(yīng)的二進(jìn)制溫度表示數(shù)據(jù)。表3-1DS18B20溫度與表示值對(duì)應(yīng)表溫度/C二進(jìn)制十六進(jìn)制+125000001111101000007D0H+

44、8500000101010100000550H+25.00000001100100010191H+10.000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1111111101011110FF5EH-25.1111111001101111FF6FH-551111110010010000FC90HDS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容對(duì)照,若TTH或TTL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令做出響

45、應(yīng)。因此,可以用多個(gè)DS18B20同時(shí)測(cè)得溫度并進(jìn)行報(bào)警搜索。在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來(lái)計(jì)算CRC值,并與存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。關(guān)于DS18B20的工作原理這里就不再多說(shuō),有感興趣的可以查閱相關(guān)手冊(cè)。DS18B20的編程指令DS18B20的指令有:讀ROM(33H),匹配ROM(55H),跳過(guò)ROM(CCH),搜索ROM(F0H),報(bào)警搜索(ECH),穩(wěn)定轉(zhuǎn)換(44H),度暫存器(BEH),寫(xiě)暫存器(4EH),復(fù)制暫存器(48H),重調(diào)E2PROM(B8H),讀供電方式(B4H)關(guān)于

46、這些指令,這里也不再一一介紹,只把本設(shè)計(jì)用到的用法說(shuō)一下。CCH-跳過(guò)ROM指令。忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于一個(gè)從機(jī)工作。44H-溫度轉(zhuǎn)換指令。啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長(zhǎng)為750ms(9位93.75ms)。結(jié)果存入內(nèi)部9字節(jié)的RAM中。BEH-讀暫存器指令。讀內(nèi)部RAM中9字節(jié)的溫度數(shù)據(jù)。如圖2-14所示,是DS18B20在電路中的接發(fā),本設(shè)計(jì)采用的是單獨(dú)電源供電方式,下面將介紹其工作時(shí)序,有工作時(shí)序圖可以很清楚的知道該這樣控制DS18B20。圖3-11DS18B20的工作電路3.3.3DS18B20的工作時(shí)序初始化時(shí)序,當(dāng)主機(jī)將單總

47、線P30從邏輯高拉到邏輯低時(shí),即啟動(dòng)一個(gè)寫(xiě)時(shí)隙,所有的寫(xiě)時(shí)隙必須在60120us完成,且在每個(gè)循環(huán)之間至少需要1us的恢復(fù)時(shí)間。寫(xiě)0和寫(xiě)1時(shí)隙如圖所示。在寫(xiě)0時(shí)隙期間,微控制器在整個(gè)時(shí)隙中將總線拉低;而寫(xiě)1時(shí)隙期間,微控制器將總線拉低,然后在時(shí)隙起始后15us之釋放總線。時(shí)序圖如圖3-15所示。復(fù)位脈沖1-WIREBUS圖3-15初始化時(shí)序圖MSB具體步驟如下:(1)將數(shù)據(jù)線置高電平1。(2)延時(shí)(時(shí)間應(yīng)盡量短些)。(3)數(shù)據(jù)線拉到低電平0。(4)延時(shí)750口s(該范圍可以在480960口s)。(5)數(shù)據(jù)線拉置高電平1。(6)延時(shí)等待。如果初始化成功則在1560ms內(nèi)產(chǎn)生一個(gè)由DS18B20返

48、回的低電平0,據(jù)該狀態(tài)可以確定它的存在。但是應(yīng)注意,不能無(wú)限地等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)判斷。若CPU讀到數(shù)據(jù)線上的低電平0后,還要進(jìn)行延時(shí),其延時(shí)的時(shí)間從發(fā)出高電平算起(第5)步的時(shí)間算起)最少要480口s。(7)將數(shù)據(jù)線再次拉置高電平1后結(jié)束。數(shù)據(jù)時(shí)序當(dāng)主機(jī)將單總線P30從邏輯高拉到邏輯低時(shí),即啟動(dòng)一個(gè)寫(xiě)時(shí)隙,所有的寫(xiě)時(shí)隙必須在60120us完成,且在每個(gè)循環(huán)之間至少需要1us的恢復(fù)時(shí)間。寫(xiě)0和寫(xiě)1時(shí)隙如圖所示。在寫(xiě)0時(shí)隙期間,微控制器在整個(gè)時(shí)隙中將總線拉低;而寫(xiě)1時(shí)隙期間,微控制器將總線拉低,然后在時(shí)隙起始后15us之釋放總線。時(shí)序圖見(jiàn)圖3-16所示。圖3-16寫(xiě)數(shù)據(jù)時(shí)

49、序圖具體步驟如下:數(shù)據(jù)線先置低電平0。延時(shí)確定時(shí)間為15口s。按從低位到高位的順序發(fā)送數(shù)據(jù)(一次只發(fā)送一位)。延時(shí)時(shí)間為45口s。將數(shù)據(jù)線拉到高電平1。重復(fù)(1)(5)步驟,直到發(fā)送完整個(gè)字節(jié)。最后將數(shù)據(jù)線拉高到1。讀數(shù)據(jù)時(shí)序DS18B20器件僅在主機(jī)發(fā)出讀時(shí)隙時(shí),才向主機(jī)傳輸數(shù)據(jù)。所以在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)隙,以便DS18B20能夠傳輸數(shù)據(jù)。所有的讀時(shí)隙至少需要60us,且在兩次獨(dú)立的讀時(shí)隙之間,至少需要1us的恢復(fù)時(shí)間。每個(gè)讀時(shí)隙都由主機(jī)發(fā)起,至少拉低總線1us。在主機(jī)發(fā)起讀時(shí)隙之后,DS18B20器件才開(kāi)始在總線上發(fā)送0或1,若DS18B20發(fā)送1,則保持總線為高電平。

50、若發(fā)送為0,則拉低總線當(dāng)發(fā)送0時(shí),DS18B20在該時(shí)隙結(jié)束后,釋放總線,由上拉電阻將總線拉回至高電平狀態(tài)。DS18B20發(fā)出的數(shù)據(jù),在起始時(shí)隙之后保持有效時(shí)間為15us。因而主機(jī)在讀時(shí)隙期間,必須釋放總線。并且在時(shí)隙起始后的15us之內(nèi)采樣總線的狀態(tài)。時(shí)序圖見(jiàn)圖3-17所示。圖3-17讀數(shù)據(jù)時(shí)序圖具體步驟如下:(1)將數(shù)據(jù)線拉高到1。延時(shí)2口s。(3)將數(shù)據(jù)線拉低到0。(4)延時(shí)6口s。(5)將數(shù)據(jù)線拉高到1。延時(shí)4口s。讀數(shù)據(jù)線的狀態(tài)得到一個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。延時(shí)6口s。重復(fù)(1)(7)步驟,直到讀取完一個(gè)數(shù)據(jù)。3.4數(shù)碼管驅(qū)動(dòng)顯示電路3.4.1數(shù)碼管驅(qū)動(dòng)電路本電路的顯示驅(qū)動(dòng)模塊是由

51、74HC573芯片來(lái)完成的,74HC573包含八路D型透明鎖存器,每個(gè)鎖存器具有獨(dú)立的D型輸入,以及適用于面向總線的應(yīng)用的三態(tài)輸出。所有鎖存器共用一個(gè)鎖存使能(LE)端和一個(gè)輸出使能(OE)端。當(dāng)LE為高時(shí),數(shù)據(jù)從Dn輸入到鎖存器,在此條件下,鎖存器進(jìn)入透明模式,也就是說(shuō),鎖存器的輸出狀態(tài)將會(huì)隨著對(duì)應(yīng)的D輸入每次的變化而改變。當(dāng)LE為低時(shí),鎖存器將存儲(chǔ)D輸入上的信息一段就緒時(shí)間,直到LE的下降沿來(lái)臨。當(dāng)0E為低時(shí),8個(gè)鎖存器的內(nèi)容可被正常輸出;當(dāng)OE為高時(shí),輸出進(jìn)入高阻態(tài)。OE端的操作不會(huì)影響鎖存器的狀態(tài)。表3-274HC573電氣參數(shù)表74HC573參數(shù)74HC573基本參數(shù)電壓2.06.0

52、V驅(qū)動(dòng)電流+/-7.8mA傳輸延遲14ns5V74HC573其他特性邏輯電平功耗考量CMOS低功耗或電池供電應(yīng)用74HC573封裝與引腳S020,SS0P20,DIP20,TSSOP2074HC573特性:(1)輸入輸出分布在芯片封裝的兩側(cè),為微處理器提供簡(jiǎn)便的接口(2)用于微控制器和微型計(jì)算機(jī)的輸入輸出口(3)三態(tài)正相輸出,用于面向總線的應(yīng)用(4)共用三態(tài)輸出使能端(5)邏輯功能與74HC563、74HC373相同(6)遵循JEDEC標(biāo)準(zhǔn)no.7A(7)ESD保護(hù)數(shù)碼管顯示電路本電路的顯示模塊主要由一個(gè)4位一體的7段LED數(shù)碼管構(gòu)成,用于顯示測(cè)量到的溫度及當(dāng)前的檔位。它是一個(gè)共陰極的數(shù)碼管,

53、每一位數(shù)碼管的a,b,c,d,e,f,g和dp端都各自連接在一起,用于接收單片機(jī)的P0口產(chǎn)生的顯示段碼。S1,S2,S3,S4引腳端為其位選端,用于接收單片機(jī)的P2口產(chǎn)生的位選碼。本系統(tǒng)采用動(dòng)態(tài)掃描方式。掃描方式是用其接口電路把所有數(shù)碼管的8個(gè)比劃段ag和dp同名端連在一起,而每一個(gè)數(shù)碼管的公共極COM各自獨(dú)立地受I/O線控制。CUP從字段輸出口送出字型碼時(shí),所有數(shù)碼管接收到相同的字型碼,但究竟是哪個(gè)數(shù)碼管亮,則取決于COM端。COM端與單片機(jī)的I/O接口相連接,由單片機(jī)輸出位位選碼到I/O接口,控制何時(shí)哪一位數(shù)碼管被點(diǎn)亮。在輪流點(diǎn)亮數(shù)碼管的位掃描過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間極為短暫。但由于人

54、的視覺(jué)暫留現(xiàn)象,給人的印象就是一組穩(wěn)定顯示的數(shù)碼。動(dòng)態(tài)方式的優(yōu)點(diǎn)是十分明顯的,即耗電省,在動(dòng)態(tài)掃描過(guò)程中,任何時(shí)刻只有一個(gè)數(shù)碼管是處于工作狀態(tài)的。具體原理圖如圖3-18所示191817161514131274HC5731a冬3baaaa1FEe10V20G圖3-18數(shù)碼管顯示電路429F賂9Apc念J23456DGEU34-LED風(fēng)扇驅(qū)動(dòng)電路風(fēng)扇的驅(qū)動(dòng)采用的是兩個(gè)三極管,三級(jí)管將信號(hào)放大,然后傳輸?shù)斤L(fēng)扇下圖是該模塊電路:C,基極B,發(fā)射極E。分成NPN和PNP兩種。我們僅以NPN三極管的共發(fā)射極放大電路為例來(lái)說(shuō)明一下三極管放大電路的基本原理。(1)電流放大下面的分析僅對(duì)于NPN型硅三極管。如上

55、圖所示,我們把從基極B流至發(fā)射極E的電流叫做基極電流lb;把從集電極C流至發(fā)射極E的電流叫做集電極電流Ic。這兩個(gè)電流的方向都是流出發(fā)射極的,所以發(fā)射極E上就用了一個(gè)箭頭來(lái)表示電流的方向。三極管的放大作用就是:集電極電流受基極電流的控制(假設(shè)電源能夠提供給集電極足夠大的電流的話),并且基極電流很小的變化,會(huì)引起集電極電流很大的變化,且變化滿足一定的比例關(guān)系:集電極電流的變化量是基極電流變化量的B倍,即電流變化被放大了B倍,所以我們把B叫做三極管的放大倍數(shù)(B般遠(yuǎn)大于1,例如幾十,幾百)。如果我們將一個(gè)變化的小信號(hào)加到基極跟發(fā)射極之間,這就會(huì)引起基極電流Ib的變化,Ib的變化被放大后,導(dǎo)致了Ic

56、很大的變化。如果集電極電流Ic是流過(guò)一個(gè)電阻R的,那么根據(jù)電壓計(jì)算公式U=R*I可以算得,這電阻上電壓就會(huì)發(fā)生很大的變化。我們將這個(gè)電阻上的電壓取出來(lái),就得到了放大后的電壓信號(hào)了。(2)偏置電路三極管在實(shí)際的放大電路中使用時(shí),還需要加合適的偏置電路。這有幾個(gè)原因。首先是由于三極管BE結(jié)的非線性(相當(dāng)于一個(gè)二極管),基極電流必須在輸入電壓大到一定程度后才能產(chǎn)生(對(duì)于硅管,常取0.7V)。當(dāng)基極與發(fā)射極之間的電壓小于0.7V時(shí),基極電流就可以認(rèn)為是0。但實(shí)際中要放大的信號(hào)往往遠(yuǎn)比0.7V要小,如果不加偏置的話,這么小的信號(hào)就不足以引起基極電流的改變(因?yàn)樾∮?.7V時(shí),基極電流都是0)。如果我們事

57、先在三極管的基極上加上一個(gè)合適的電流(叫做偏置電流,上圖中那個(gè)電阻Rb就是用來(lái)提供這個(gè)電流的,所以它被叫做基極偏置電阻),那么當(dāng)一個(gè)小信號(hào)跟這個(gè)偏置電流疊加在一起時(shí),小信號(hào)就會(huì)導(dǎo)致基極電流的變化,而基極電流的變化,就會(huì)被放大并在集電極上輸出。另一個(gè)原因就是輸出信號(hào)范圍的要求,如果沒(méi)有加偏置,那么只有對(duì)那些增加的信號(hào)放大,而對(duì)減小的信號(hào)無(wú)效(因?yàn)闆](méi)有偏置時(shí)集電極電流為0,不能再減小了)。而加上偏置,事先讓集電極有一定的電流,當(dāng)輸入的基極電流變小時(shí),集電極電流就可以減小;當(dāng)輸入的基極電流增大時(shí),集電極電流就增大。這樣減小的信號(hào)和增大的信號(hào)都可以被放大了。(3)開(kāi)關(guān)作用下面說(shuō)說(shuō)三極管的飽和情況。像上

58、面那樣的圖,因?yàn)槭艿诫娮鑂c的限制(Rc是固定值,那么最大電流為U/Rc,其中U為電源電壓),集電極電流是不能無(wú)限增加下去的。當(dāng)基極電流的增大,不能使集電極電流繼續(xù)增大時(shí),三極管就進(jìn)入了飽和狀態(tài)。一般判斷三極管是否飽和的準(zhǔn)則是:lb*BIc。進(jìn)入飽和狀態(tài)之后,三極管的集電極跟發(fā)射極之間的電壓將很小,可以理解為一個(gè)開(kāi)關(guān)閉合了。這樣我們就可以拿三極管來(lái)當(dāng)作開(kāi)關(guān)使用:當(dāng)基極電流為0時(shí),三極管集電極電流為0(這叫做三極管截止),相當(dāng)于開(kāi)關(guān)斷開(kāi);當(dāng)基極電流很大,以至于三極管飽和時(shí),相當(dāng)于開(kāi)關(guān)閉合。如果三極管主要工作在截止和飽和狀態(tài),那么這樣的三極管我們一般把它叫做開(kāi)關(guān)管。ro-91圖3-20三極管引腳介

59、紹3.6按鍵模塊單片機(jī)鍵盤(pán)有獨(dú)立鍵盤(pán)和矩陣式鍵盤(pán)兩種:獨(dú)立鍵盤(pán)每一個(gè)I/O口上只接一個(gè)按鍵,按鍵的另一端接電源或接地(一般接地),這種接法程序比較簡(jiǎn)單且系統(tǒng)更加穩(wěn)定;而矩陣式鍵盤(pán)式接法程序比較復(fù)雜,但是占用的I/O少。根據(jù)本設(shè)計(jì)的需要這里選用了獨(dú)立式鍵盤(pán)接法。獨(dú)立式鍵盤(pán)的實(shí)現(xiàn)方法是利用單片機(jī)I/O口讀取口的電平高低來(lái)判斷是否有鍵按下。將常開(kāi)按鍵的一端接地,另一端接一個(gè)I/O口,程序開(kāi)始時(shí)將此I/O口置于高電平,平時(shí)無(wú)鍵按下時(shí)I/O口保護(hù)高電平。當(dāng)有鍵按下時(shí),此I/O口與地短路迫使I/O口為低電平。按鍵釋放后,單片機(jī)內(nèi)部的上拉電阻使I/O口仍然保持高電平。我們所要做的就是在程序中查尋此I/O口的

60、電平狀態(tài)就可以了解我們是否有按鍵動(dòng)作了。在用單片機(jī)對(duì)鍵盤(pán)處理的時(shí)候涉及到了一個(gè)重要的過(guò)程,那就是鍵盤(pán)的去抖動(dòng)。這里說(shuō)的抖動(dòng)是機(jī)械的抖動(dòng),是當(dāng)鍵盤(pán)在未按到按下的臨界區(qū)產(chǎn)生的電平不穩(wěn)定正?,F(xiàn)象,并不是我們?cè)诎存I時(shí)通過(guò)注意可以避免的。這種抖動(dòng)一般10200毫秒之間,這種不穩(wěn)定電平的抖動(dòng)時(shí)間對(duì)于人來(lái)說(shuō)太快了,而對(duì)于時(shí)鐘是微秒的單片機(jī)而言則是慢長(zhǎng)的。硬件去抖動(dòng)就是用部分電路對(duì)抖動(dòng)部分加之處理,軟件去抖動(dòng)不是去掉抖動(dòng),而是避抖動(dòng)部分的時(shí)間,等鍵盤(pán)穩(wěn)定了再對(duì)其處理。所以這里選擇了軟件去抖動(dòng),實(shí)現(xiàn)法是先查尋按鍵當(dāng)有低電平出現(xiàn)時(shí)立即延時(shí)10200毫秒以避開(kāi)抖動(dòng)(經(jīng)典值為20毫秒),延時(shí)結(jié)束后再讀一次I/O口的值

溫馨提示

  • 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)論