




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、任務(wù)書溫控自動(dòng)風(fēng)扇系統(tǒng)摘要:本設(shè)計(jì)為一種溫控風(fēng)扇系統(tǒng),具有靈敏的溫度感測(cè)和顯示功能,系統(tǒng)AT89S52 單片機(jī)作為控制平臺(tái)對(duì)風(fēng)扇轉(zhuǎn)速進(jìn)行控制??捎捎脩粼O(shè)置高、低溫度值,測(cè)得溫度值在高低溫度之間時(shí)打開風(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)隨外界溫度而定。引言生活中,我們經(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)速,以免使
2、人感冒。雖然電風(fēng)扇都有調(diào)節(jié)不同檔位的功能,但必須要人手動(dòng)換檔,睡著了就無(wú)能為力了,而普遍采用的定時(shí)器關(guān)閉的做法,一方面是定時(shí)時(shí)間長(zhǎng)短有限制,一般是一兩個(gè)小時(shí);另一方面可能在一兩個(gè)小時(shí)后氣溫依舊沒有降低很多,而風(fēng)扇就關(guān)閉了,使人在睡夢(mèng)中熱醒而不得不起床重新打開風(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ā)熱燒壞。要使
3、電子產(chǎn)品保持較低的溫度,必須用大功率、高轉(zhuǎn)速、大風(fēng)量的風(fēng)扇,而風(fēng)扇的噪音與其功率成正比。如果要低噪音,則要減小風(fēng)扇轉(zhuǎn)速,又會(huì)引起電子設(shè)備溫度上升,不能兩全其美。為解決上述問(wèn)題,我們?cè)O(shè)計(jì)了這套溫控自動(dòng)風(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)確。1、方案論證本系統(tǒng)實(shí)現(xiàn)風(fēng)扇的溫度控制,需要有較高的溫度變化分辨率和穩(wěn)定可靠的換檔停機(jī)控制部件。11 溫度傳感器的選用溫度傳感器可由以下幾種方案可供選擇:方案一:選用熱敏電阻作為感測(cè)溫度的核心元件,通過(guò)運(yùn)算放大器放大由于溫度變化引起熱敏電阻電阻的變
4、化、進(jìn)而導(dǎo)至的輸出電壓變化的微弱電壓變化信號(hào),再用AD轉(zhuǎn)換芯片ADC0809將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)輸入單片機(jī)處理。方案二:采用熱電偶作為感測(cè)溫度的核心元件,配合橋式電路,運(yùn)算放大電路和AD轉(zhuǎn)換電路,將溫度變化信號(hào)送入單片機(jī)處理。方案三:采用數(shù)字式集成溫度傳感器DS18B20作為感測(cè)溫度的核心元件,直接輸出數(shù)字溫度信號(hào)供單片機(jī)處理。對(duì)于方案一,采用熱敏電阻有價(jià)格便宜、元件易購(gòu)的優(yōu)點(diǎn),但熱敏電阻對(duì)溫度的細(xì)微變化不敏感,在信號(hào)采集、放大、轉(zhuǎn)換過(guò)程中還會(huì)產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關(guān)系的非線性,其本身電阻對(duì)溫度的變化存在較大誤差,雖然可以通過(guò)一定電路予以糾正,但不僅將使電路復(fù)雜穩(wěn)定性降低
5、,而且在人體所處溫度環(huán)境溫度變化中難以檢測(cè)到小的溫度變化。故該方案不適合本系統(tǒng)。對(duì)于方案二,采用熱電偶和橋式測(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)的單總線
6、技術(shù)(1-WRIE),與單片機(jī)的接口變的非常簡(jiǎn)潔,抗干擾能力強(qiáng)。關(guān)于DS18B20的詳細(xì)參數(shù)參看下面“硬件設(shè)計(jì)”中的器件介紹。12 控制核心的選擇方案一:采用電壓比較電路作為控制部件。溫度傳感器采用熱敏電阻或熱電偶等,溫度信號(hào)轉(zhuǎn)為電信號(hào)并放大,由集成運(yùn)放組成的比較電路判決控制風(fēng)扇轉(zhuǎn)速,當(dāng)高于或低于某值時(shí)將風(fēng)扇切換到相應(yīng)檔位。方案二:采用單片機(jī)作為控制核心。以軟件編程的方法進(jìn)行溫度判斷,并在端口輸出控制信號(hào)。對(duì)于方案一,采用電壓比較電路具有電路簡(jiǎn)單、易于實(shí)現(xiàn),以及無(wú)需編寫軟件程序的特點(diǎn),但控制方式過(guò)于單一,不能自由設(shè)置上下限動(dòng)作溫度,無(wú)法滿足不同用戶以及不同環(huán)境下的多種動(dòng)作溫度要求,故不在本系統(tǒng)
7、中采用。對(duì)于方案二,以單片機(jī)作為控制器,通過(guò)編寫程序不但能將傳感器感測(cè)到的溫度通過(guò)顯示電路顯示出來(lái),而且用戶能通過(guò)鍵盤接口,自由設(shè)置上下限動(dòng)作溫度值,滿足全方位的需求。并且通過(guò)程序判斷溫度具有極高的精準(zhǔn)度,能精確把握環(huán)境溫度的微小變化。故本系統(tǒng)采用方案二。13調(diào)速方式方案一:采用變壓器調(diào)節(jié)方式,運(yùn)用電磁感應(yīng)原理將220V電壓通過(guò)線圈降壓到不同的電壓,控制風(fēng)扇電機(jī)接到不同電壓值的線圈上可控制電機(jī)的轉(zhuǎn)速,從而控制風(fēng)扇風(fēng)力大小。方案二:采用PWM波調(diào)速。對(duì)于方案一,由于采用變壓器改變電壓調(diào)節(jié),有風(fēng)速級(jí)別限制,不能適應(yīng)人性化要求。且在變壓過(guò)程中會(huì)有損耗發(fā)熱,效率不高,發(fā)熱有不安全因素。對(duì)于方案二,PW
8、M的一個(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)通信距離。在接收端,通過(guò)適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除調(diào)制高頻方波并將信號(hào)還原為模擬形式。 總之,PWM既經(jīng)濟(jì)、節(jié)約空間、抗噪性能強(qiáng),故本系統(tǒng)采用方案二。2 系統(tǒng)硬件設(shè)計(jì)2.1 MCU的選擇與AT89S52簡(jiǎn)介目前在單片機(jī)系統(tǒng)中,應(yīng)用比較廣泛的微處理器芯片主要
9、為8XC5X系列的單片機(jī),該系列單片機(jī)均采用標(biāo)準(zhǔn)MCS-51內(nèi)核,硬件資源相互兼容,品類齊全、性能穩(wěn)定、體積小、價(jià)格底、貨源充足、調(diào)試和編程方便,所以應(yīng)用較為廣泛。例如AT89S52單片機(jī)是一款低功耗、低電壓、高性能CMOS8位單片機(jī),片內(nèi)含8KB(可經(jīng)受1000次擦寫周期)的FLASH可編程可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM),器件采用CMOS工藝和ATMEL公司的高密度,非易失性存儲(chǔ)器(NURAM)技術(shù)制造,其輸出引腳和指令系統(tǒng)都與MCS-51兼容,片內(nèi)的FLASH存儲(chǔ)器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲(chǔ)編程器來(lái)編程。因此,AT89S52是一種功能強(qiáng),靈活性高且價(jià)格合理的單片
10、機(jī),可方便的應(yīng)用在各個(gè)控制領(lǐng)域1。AT89S52具有以下主要性能:1.8KB可改編程序FLASH存儲(chǔ)器;2.全表態(tài)工作 :024HZ;3.256X8字節(jié)內(nèi)部RAM;4.32個(gè)外部雙向輸入,輸出(I、O)口;引腳說(shuō)明如圖2-2。圖2-2 AT89S52引腳說(shuō)明引腳功能說(shuō)明如下2:VCC:電源電壓。GND:地。P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)線復(fù)用口。作為輸出口時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為高阻抗輸入端。在訪問(wèn)外部數(shù)據(jù)儲(chǔ)存器或程序儲(chǔ)存器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。FLASH編程時(shí)
11、,P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。FLASH編程和程序校驗(yàn)期間,P1接收低8位地址。P2口:P2是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)
12、部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序儲(chǔ)存器或16位地址的外部數(shù)據(jù)儲(chǔ)存器(例如執(zhí)行MOVXDPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)儲(chǔ)存器(例如執(zhí)行MOVXRI指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不改變。FLASH編程或校驗(yàn)時(shí),P2亦接收高位地址和其他控制信號(hào)。P3口:P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P3的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻
13、,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。P3除了作為一般的I/O口線外,更重要的用途是它的第二功能,具體功能說(shuō)明如表2-1。P3口還接收一些用于FLASH閃速存儲(chǔ)器編程和程序校的控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。表2-1 P3口的第二功能表端口引腳第二功能P3.0RXD(穿行輸出口)P3.1TXD(穿行輸入口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時(shí)/計(jì)數(shù)器0)P3.5T1(定時(shí)/計(jì)數(shù)
14、器0)P3.6WR(外部數(shù)據(jù)寫選通)P3.7RD(外部數(shù)據(jù)讀選通)即使不訪問(wèn)外部存儲(chǔ)器,ALE仍以是時(shí)鐘振蕩頻率的1/6輸出固定的正脈沖信號(hào),因此他可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT80C5
15、1由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的PSEN信號(hào)不出現(xiàn)。EA/VPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序儲(chǔ)存器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(Vcc端),CPU則執(zhí)行內(nèi)部程序儲(chǔ)存器中的指令。FLASH儲(chǔ)存器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12v編程電壓。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。
16、2.2 DS18B20簡(jiǎn)介DS18B20是DALLAS公司生產(chǎn)的單線式數(shù)字溫度傳感器,具有3引腳TO92小體積封裝形式;溫度測(cè)量范圍為55125,可編程為9位12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。 每一個(gè) DSl820 包括一個(gè)唯一的 64 位長(zhǎng)的序號(hào) 該序號(hào)值存放在DSl820 內(nèi)部
17、的 ROM(只讀存貯器)中 開始8 位是產(chǎn)品類型編碼(DSl820 編碼均為 10H) 接著的 48位是每個(gè)器件唯一的序號(hào) 最后 8 位是前面 56 位的CRC(循環(huán)冗余校驗(yàn))碼 DSl820 中還有用于貯存測(cè)得的溫度值的兩個(gè) 8 位存貯器 RAM 編號(hào)為 0 號(hào)和 1號(hào) 1 號(hào)存貯器存放溫度值的符號(hào) 如果溫度為負(fù)則 1 號(hào)存貯器 8 位全為 1 否則全為 0 。0 號(hào)存貯器用于存放溫度值的補(bǔ)碼 LSB(最低位)的 1 表示 0.5貯器中的二進(jìn)制數(shù)求補(bǔ)再轉(zhuǎn)換成十進(jìn)制數(shù)并除以 2 就得到被測(cè)溫度值。具體引腳說(shuō)明如圖2-6,功能如表2-5。圖2-6 DS18B20引腳與封裝表2-5 DS18B20
18、引腳說(shuō)明序號(hào)名稱引腳功能1GND接地2DQ數(shù)據(jù)輸入/輸出引腳:開漏單總線接口引腳;當(dāng)被用到寄生電源下,也可向器件提供電源3VDD可選擇的VDD引腳,當(dāng)工作于寄生電源時(shí),此引腳必須接地DS18B20控制字和讀寫時(shí)序說(shuō)明DS18B20是1-wire單線器件,它在一根數(shù)據(jù)線上實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,這就需要一定的協(xié)議來(lái)對(duì)讀寫數(shù)據(jù)提出嚴(yán)格的時(shí)序要求,AT89S52單片機(jī)并不支持單線傳輸。因此,必須采用軟件的方法來(lái)模擬單線的協(xié)議時(shí)序。主機(jī)操作單線器件DS18B20必須遵循下面的順序8。1.初始化單線總線上的所有操作均從初始化開始,初始化過(guò)程如下。主機(jī)通過(guò)拉低單線480us以上,產(chǎn)生復(fù)位脈沖,然后釋放該線,進(jìn)
19、入RX接收模式。主機(jī)釋放總線時(shí),會(huì)產(chǎn)生一個(gè)上升沿。單線器件DS18B20檢測(cè)到該上升沿后,延時(shí)15-60us,通過(guò)拉低總線60-24us來(lái)產(chǎn)生應(yīng)答脈沖,主機(jī)接收到從機(jī)的應(yīng)答脈沖后,說(shuō)明有單線器件在線。2.ROM操作命令一旦總線主機(jī)檢測(cè)對(duì)應(yīng)答脈沖,便可以發(fā)起ROM操作命令。共有5位ROM操作命令。詳細(xì)說(shuō)明如下表2-6。表2-6 ROM操作命令與說(shuō)明命令類型命令字節(jié)功能說(shuō)明Read rom33H此命令讀取激光ROM的64位,只能用于總線上單個(gè)DS18B20的情況下,多掛則會(huì)發(fā)生沖突Match rom(匹配rom)55H此命令后跟64位ROM序列號(hào),尋址多掛總線上的DS18B20。只有序列號(hào)完全匹配
20、的DS18B20才能響應(yīng)后面的內(nèi)存操作命令,其他不匹配的將等待復(fù)位脈沖。此命令可用于單掛或多掛接總線。Skip rom(跳過(guò)rom)CCH此命令用于單掛接總線系統(tǒng)時(shí),可以無(wú)需提供64位ROM序列號(hào)皆可運(yùn)行內(nèi)存操作命令。如果總線上掛多掛DS18B20,并且在此命令后執(zhí)行讀命令,將會(huì)發(fā)生數(shù)據(jù)沖突。Scarch rom(搜索rom)F0H主機(jī)調(diào)用此命令,通過(guò)一個(gè)排除法過(guò)程,可以識(shí)別出總線上所有器件的ROM序列號(hào)。Alarm rom(警報(bào)rom)ECH此命令流程圖和scarch rom命令相同,但是DS18B20只有在最近的一次溫度測(cè)量時(shí)滿足了告警觸發(fā)條件,才會(huì)響應(yīng)此命令。3.內(nèi)存操作命令在成功執(zhí)行了
21、ROM操作命令之后,才可以使用內(nèi)存操作命令。主機(jī)可以提供6種內(nèi)存操作命令,如表2-7。4.數(shù)據(jù)處理DS18B20要求有嚴(yán)格的時(shí)序來(lái)保證數(shù)據(jù)的完整。在單線DQ上,存在復(fù)位脈沖、應(yīng)答脈沖、寫“1”、寫“0”、讀“1”、讀“0”幾種信號(hào)類型。其中,除了應(yīng)答脈沖之外,均由主機(jī)產(chǎn)生。而數(shù)據(jù)位讀寫則是通過(guò)使用讀、寫時(shí)隙實(shí)現(xiàn)的。首先了解寫時(shí)隙。當(dāng)主機(jī)將數(shù)據(jù)線從高平拉至低電平時(shí),產(chǎn)生2種類型的寫時(shí)隙:寫“1”和“0”。所有寫時(shí)隙必須在60s以上(即由高拉低后持續(xù)60s以上),各個(gè)寫時(shí)隙之間必須保證最短1us的恢復(fù)時(shí)間。DS18B20在DQ線變低后的15s60s的端口對(duì)DQ進(jìn)行采樣,如果為高電平,就為寫“1”;
22、如果為低電平,就為寫“0”。對(duì)于主機(jī)產(chǎn)生寫“1”時(shí)隙的情況,數(shù)據(jù)線必須先被拉低,然后釋放,在寫時(shí)隙開始后的15s,允許DQ線拉至高電平。對(duì)于主機(jī)寫“0”時(shí)隙的情況,DQ線必須被拉至低電平至少保持低電平60s。再來(lái)了解一下讀時(shí)隙。當(dāng)主機(jī)從DS18B20讀數(shù)據(jù)時(shí),把數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生讀時(shí)隙。數(shù)據(jù)線DQ必須保持低電平至少1s,來(lái)自DS18B20的輸出數(shù)據(jù)在讀時(shí)隙下降沿之后15s內(nèi)有效。因此,在此15s內(nèi),主機(jī)必須停止將DQ引腳置低。在讀時(shí)隙結(jié)束時(shí),DQ引腳通過(guò)外部上拉電阻拉回高電平。所有的讀時(shí)隙最短必須持續(xù)60s,各個(gè)讀時(shí)隙之間必須保證最短1s的恢復(fù)時(shí)間。表2-7 內(nèi)存操作命令與說(shuō)明命令
23、類型命令字節(jié)功能說(shuō)明Write Scratchpad(寫暫存器)4EH此命令寫暫存器中地址24的3個(gè)字節(jié)(TH、TL和配置寄存器)在發(fā)起復(fù)位脈沖之前,3個(gè)字節(jié)都必須要寫。Rrad Scratchpad(讀暫存器)BEH此命令讀取暫存器內(nèi)容,從字節(jié)0一直讀取到字節(jié)8。主機(jī)可以隨時(shí)發(fā)起復(fù)位脈沖以停止此操作。Copy Scratchpad(復(fù)制暫存器)48H此命令將暫存器中的內(nèi)容復(fù)制進(jìn)E2RAM,以便將溫度告警觸發(fā)字節(jié)存入非易失內(nèi)存。如果在此命令后產(chǎn)生讀時(shí)隙,那么只要器件在進(jìn)行復(fù)制就會(huì)輸出0,復(fù)制完成后,再輸出1。Convenrt T(溫度轉(zhuǎn)換)44H此命令開始溫度轉(zhuǎn)換操作。如果在此命令后主機(jī)產(chǎn)生讀
24、時(shí)隙,那么只要器件在進(jìn)行溫度轉(zhuǎn)換就會(huì)輸出0,轉(zhuǎn)換完成后在輸出1。Recall E2(重調(diào)E2存儲(chǔ)器)B8H將存儲(chǔ)在E2RAM中的溫度告警觸發(fā)值和配置寄存器值重新拷貝到暫存器中,此重調(diào)操作在DS18B20加電時(shí)自動(dòng)產(chǎn)生。Read Power Supply(讀供電方式)B4H主機(jī)發(fā)起此命令后每個(gè)讀數(shù)據(jù)時(shí)隙內(nèi),DS1820發(fā)信號(hào)通知它的供電方式:0為寄生電源方式,1為外部供電方式。所有的讀寫時(shí)隙至少需要60s,且每個(gè)獨(dú)立的時(shí)隙之間至少需要1s的恢復(fù)時(shí)間。在寫時(shí)序中,主機(jī)將在拉低總線15s內(nèi)釋放總線,并向DS18B20寫“1”。若主機(jī)拉低總線后能保持60s的低電平,則向單總線器件寫“0”。DS18B2
25、0僅在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)隙,以便DS18B20能傳輸數(shù)據(jù)。特別需要注意的是,與DS18B20配套使用的是頻率為11.0592Mhz單片機(jī)晶振,這決定了指令運(yùn)行時(shí)間,在軟件設(shè)計(jì)將根據(jù)指令運(yùn)行時(shí)間編寫各種延時(shí)程序。四、 溫度采集電路與單片機(jī)的連接本設(shè)計(jì)中使用DS18B20溫度傳感器進(jìn)行環(huán)境溫度采集和轉(zhuǎn)化,其與單片機(jī)的連接圖如圖2-7所示4。圖2-7 單片機(jī)與DS18B20連接圖AT89S52單片機(jī)的P3.4腳接DS18B20的I/O腳,作為數(shù)據(jù)的讀入和寫出。電阻R11作為DS18B20的I/O口的上拉電阻,在讀時(shí)隙結(jié)束時(shí),I/O引腳將通過(guò)此上拉電阻拉回到高電平。要想使DS18B
26、20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個(gè)DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,電路采用5V電源供電,根據(jù)I=U/R=5/4700=1.06mA,所以根據(jù)這個(gè)原理,可以選用小一點(diǎn)的電阻,只要保證DS18B20的工作電流,當(dāng)然也可以直接接在電源上,但是為了使信號(hào)穩(wěn)定,一般在電路設(shè)計(jì)中加上拉電阻。我們選用4.7K。2.3時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路是用來(lái)產(chǎn)生AT89S52單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),AT89S52本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),AT89S52在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作 ,時(shí)鐘的頻率影響單片機(jī)的速
27、度和穩(wěn)定性。通常時(shí)鐘由于兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘。我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來(lái)為系統(tǒng)提供時(shí)鐘信號(hào)。AT89S52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器。電路中的C1、C2的選擇在30PF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ12MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為12MHZ。本次系統(tǒng)的時(shí)鐘電路設(shè)計(jì)如圖3.2所示。 圖3.2 時(shí)鐘電路圖2.4系統(tǒng)復(fù)位電路
28、AT89S52的復(fù)位輸入引腳RST為單片機(jī)提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在AT89S52的時(shí)鐘電路工作后,只要RST引腳上出現(xiàn)超過(guò)兩個(gè)機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作,只要RST保持高電平,則AT89S52循環(huán)復(fù)位,只有當(dāng)RET由高電平變成低電平以后,單片機(jī)復(fù)位。 圖3.3 復(fù)位電路圖2.5 按鍵控制部分第一個(gè)是功能鍵,按一次出現(xiàn) L20,可以進(jìn)行對(duì)下限溫度進(jìn)行設(shè)置 按一次出現(xiàn) H30,可以進(jìn)行對(duì)上限溫度進(jìn)行設(shè)置 按第三次恢復(fù)溫度顯示第二個(gè)按鍵是增加鍵,可以對(duì)上下限溫度進(jìn)行增大調(diào)整第三個(gè)按鍵是減小鍵,可以對(duì)上下限溫度進(jìn)行減小調(diào)整2.6 風(fēng)扇部分控制電路的設(shè)計(jì) 采用用
29、PWM波進(jìn)行調(diào)速,可由用戶設(shè)置高、低溫度值,測(cè)得溫度值在高低溫度之間時(shí)打開風(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)隨外界溫度而定。3系統(tǒng)軟件的設(shè)計(jì)3.1系統(tǒng)總體流程圖系統(tǒng)AT89S52 單片機(jī)作為控制平臺(tái)對(duì)風(fēng)扇轉(zhuǎn)速進(jìn)行控制。通過(guò)DS18B20進(jìn)行測(cè)溫,可由用戶設(shè)置高、低溫度值,測(cè)得溫度值在高低溫度之間時(shí)打開風(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)隨外界溫度而定。系統(tǒng)總體流程圖如下3.2 按鍵設(shè)置流程圖參考文獻(xiàn)1 胡漢才.單片機(jī)原理及其接口技術(shù).北京:清華大學(xué)出版社,2
30、0042 吳金戍,沈慶陽(yáng),郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用.北京: 清華大學(xué)出版社,20023 王化詳,張淑英.傳感器原理.天津:天津大學(xué)出版社,20024 張建民,機(jī)電一體化系統(tǒng)設(shè)計(jì),高等教育出版社,2007總結(jié)及心得體會(huì) 本次設(shè)計(jì)作業(yè)中是以機(jī)電系統(tǒng)為主要方向來(lái)定方案的,是電子電工和機(jī)械的結(jié)合,使得設(shè)計(jì)更加有挑戰(zhàn)性和先進(jìn)性。更能增加和提高我們的設(shè)計(jì)能力。 本設(shè)計(jì)中的溫控自動(dòng)控制風(fēng)扇可以根據(jù)季節(jié)、溫度的變化自動(dòng)開啟和調(diào)節(jié)室內(nèi)的溫度和空氣流通。對(duì)其的使用方便,單片的控制和電路的改造使其在普通風(fēng)扇上大大增加優(yōu)勢(shì),而且外形體積也沒有增大或改變。在市場(chǎng)不斷要求產(chǎn)品的功能多元化和使用方便、人性化中,經(jīng)過(guò)
31、這樣改進(jìn)和更具有潛力的產(chǎn)品無(wú)疑是風(fēng)和要求的。附件一:總體原理圖:附件二:總體PCB圖附件3 總體程序#include <reg52.h> /52系列頭文件#include <stdio.h>#define uchar unsigned char#define uint unsigned int#define PWM_T 100sbit ds=P34;sbit dula=P26;sbit beep=P10; /定義蜂鳴器uint temp,t,w; /定義整型的溫度數(shù)據(jù)uchar flag;float f_temp; /定義浮點(diǎn)型的溫度數(shù)據(jù)uint high,low,PW
32、M_t,time_count; sbit led1=P11; /控制發(fā)光二極管sbit led2=P12; /控制發(fā)光二極管sbit s1=P35;sbit s2=P36;sbit s3=P37;sbit PWM=P16;uchar flag1,flag2,flag3,flag4,s1num,qian,bai,shi,ge;uchar code table= 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0xc6 ;/共陽(yáng)數(shù)碼管段碼表uchar code table1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,
33、0x78,0x00,0x10;/帶小數(shù)點(diǎn)的編碼 void delay(uchar z) /延時(shí)函數(shù) uchar a,b; for(a=z;a>0;a-) for(b=100;b>0;b-);void init() EA=1; ET1=1; ET0=1; TR1=1; TR0=1; TMOD=0x12; TH1=(65536-4000)/256; TL1=(65536-4000)%256; TH0=0x216; /保證定時(shí)時(shí)長(zhǎng)為0.1ms TL0=0x216; flag=0; low=200; high=300;void hdidi() beep=0; led1=0; delay(5
34、00); beep=1; led1=1; delay(500);void ldidi() beep=0; led2=0; delay(50); beep=1; led2=1; delay(50);void dsreset(void) /DS18b20復(fù)位, 初始化函數(shù) uint i; ds=0; i=103; /延時(shí)最短480us while(i>0) i-; ds=1; /等待16-60us,收到低電平一個(gè)約60-240us則復(fù)位成功 i=4; while(i>0) i-;bit tempreadbit(void) /讀1位數(shù)據(jù)函數(shù) uint i; bit dat; ds=0;i
35、+; ds=1;i+;i+;/i+起到延時(shí)作用 dat=ds; i=8; while(i>0)i-; return(dat);uchar tempread(void)/讀1字節(jié)的數(shù)據(jù)函數(shù) uint i,j,dat; dat=0; for(i=1;i<=8;i+) j=tempreadbit(); dat=(j<<7)|(dat>>1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在dat里 return(dat);void tempwritebyte(uchar dat) /向DS18B20寫一個(gè)字節(jié)的數(shù)據(jù)函數(shù) uint i; uchar j; bit t
36、estb; for(j=1;j<=8;j+) testb=dat&0x01; dat=dat>>1; if(testb) /寫1 ds=0;i+;i+;ds=1;i=8;while(i>0)i-; else /寫0 ds=0;i=8;while(i>0) i-;ds=1;i+;i+; void tempchange(void) /DS18B20開始獲取溫度并轉(zhuǎn)換 dsreset(); delay(1); tempwritebyte(0xcc);/寫跳過(guò)讀ROM指令 tempwritebyte(0x44); /寫溫度轉(zhuǎn)換指令uint get_temp()/讀
37、取寄存器中存儲(chǔ)的溫度數(shù)據(jù) uchar a,b; dsreset(); delay(1); tempwritebyte(0xcc); /寫跳過(guò)讀ROM指令 tempwritebyte(0xbe); /寫溫度轉(zhuǎn)換指令 a=tempread(); /讀低8位 b=tempread(); /讀高8位 temp=256*b+a; f_temp=temp*0.0625; /溫度在寄存器中為12位,分辨率為0.0625 temp=f_temp*10+0.5; /乘以10表示小數(shù)點(diǎn)后面只取一位 return temp; /temp是整型void keyscan() if(s1=0) P2=0xff; delay(5); if(s1=0) while(!s1); s1num+; if(s1num=1) flag=1; if(s1num=2) flag=2; if(s1num=3) s1num=0; flag=0; if(s1num=1) flag=1;if(s2=0) delay(5);if(s2=0) while(!s2);low+=10;if(h
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 仿古門窗加工合同范本
- 午托員工合同范本
- 教學(xué)提質(zhì)增效課題申報(bào)書
- 農(nóng)村合作社有些合同范例
- 克拉瑪依勞動(dòng)合同范本
- 員工離職接觸合同范本
- 廠房拆除門窗合同范本
- 中介融資合同范本
- 叫做招標(biāo)性質(zhì)合同范本
- 加強(qiáng)合同范例使用
- GB∕T 2518-2019 連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 福晨河北科技發(fā)展有限公司年分裝500噸化學(xué)試劑建設(shè)項(xiàng)目環(huán)境影響報(bào)告表
- 用戶需求(URS)編寫及管理規(guī)程
- 分班后第一次班會(huì)——起航剖析
- 牛羊定點(diǎn)屠宰廠項(xiàng)目可行性研究報(bào)告-甲乙丙資信
- 03SG520-1實(shí)腹式鋼吊車梁(中輕級(jí)工作制A1~A5_Q235鋼_跨度6.0m、7.5m、9.0m)
- 妊娠糖尿病-楊慧霞.ppt
- (完整word版)消化系統(tǒng)知識(shí)點(diǎn)整理
- 煤礦綜采工作面配套設(shè)備選型設(shè)計(jì)
- 全國(guó)防返貧監(jiān)測(cè)信息系統(tǒng)業(yè)務(wù)管理子系統(tǒng)操作手冊(cè)
- 工程施工項(xiàng)目明細(xì)表-改(5)
評(píng)論
0/150
提交評(píng)論