版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計</b></p><p> 題目:基于單片機的倉庫溫濕度檢測系統(tǒng)設(shè)計</p><p> 班 級 ___ </p><p> 所屬院(系) 電子信息工程 _ </p><p> 指 導(dǎo) 教 師 _____
2、 </p><p> 2013年 6 月 13日</p><p> 基于單片機的倉庫溫濕度檢測系統(tǒng)設(shè)計</p><p><b> 摘 要</b></p><p> 防潮、防霉、防腐、防爆是倉庫日常工作的重要內(nèi)容,是衡量倉庫管理質(zhì)量的重要指標(biāo)。本文采用較為實用和先進(jìn)的單片機控制技術(shù),運用溫度傳感器和濕度傳感器
3、對溫濕度的敏感性設(shè)計的一種基于多路信號輸入的倉庫溫濕度檢測系統(tǒng)。它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進(jìn)行,首要問題是加強倉庫內(nèi)溫度與濕度的監(jiān)測工作。</p><p> 本設(shè)計系統(tǒng)采用STC89C52單片機為微控制器,STC89C52負(fù)責(zé)采集室內(nèi)溫度、自動防雨以及手動調(diào)節(jié)功能。通過溫度傳感器組成的測控系統(tǒng),間隔的測量室內(nèi)的溫度,并將溫度和日期時間經(jīng)LCD液晶顯示出來。當(dāng)遇到雨天,單片機
4、控制系統(tǒng)通過雨滴傳感器的信號,自動的進(jìn)行關(guān)天窗動作。同時為了人性化的設(shè)計,本系統(tǒng)還設(shè)有手動控制按鈕,可以通過手動按鈕控制窗子的開關(guān)。本多功能窗的設(shè)計本著安全、方便、節(jié)能、人性化的原則進(jìn)行,可使現(xiàn)代生活顯著提高。</p><p> 關(guān)鍵詞:STC89C52單片機,智能天窗,防雨,溫度采集</p><p> Design of the warehouse temperature and h
5、umidity detection system based on single chip microcomputer</p><p><b> Abstract</b></p><p> Moistureproof, mouldproof, anticorrosion, explosion-proof is the important content of th
6、e warehouse daily work, is an important index of warehouse management quality. It directly affects reserves of life and reliability. This article is using more practical and advanced MCU control technology, using the tem
7、perature sensor of temperature and humidity sensor sensitivity design based on a multi -channel signal input warehouse temperature detection system. To ensure the daily work smoothly, the main</p><p> The d
8、esign system uses STC89C52 as microcontroller.STC89C52 is responsible for the collection of indoor temperature, automatically anti-rain and manual adjustment function. Measure the indoor temperature in the interval, and
9、displays the temperature and the date and time on the LCD though the control system which composed of the temperature sensor. When faced with rain, the MCU control system will automatically close the window by the raindr
10、op sensor signal. Meanwhile, in order to user-friendly </p><p> Key Words:STC89C52 microcontroller,Intelligent window,Anti-rain,Temperature collecting</p><p><b> 目 錄</b></p>
11、<p><b> 摘 要I</b></p><p> AbstractII</p><p> 第1章 緒 論- 1 -</p><p> 1.1 選題的意義- 1 -</p><p> 1.2 課題的國內(nèi)外研究狀況- 1 -</p><p> 1.3 課題的
12、目的任務(wù)和要求- 3 -</p><p> 第2章 設(shè)計方案論證- 5 -</p><p> 2.1 溫度檢測方案- 5 -</p><p> 2.2 倉庫溫濕度檢測系統(tǒng)設(shè)計方案- 5 -</p><p> 第3章 系統(tǒng)硬件設(shè)計- 7 -</p><p> 3.1 總體設(shè)計- 7 -</p&
13、gt;<p> 3.2 各單元電路設(shè)計- 7 -</p><p> 3.2.1 控制單元設(shè)計- 7 -</p><p> 3.2.2 檢測單元設(shè)計- 18 -</p><p> 3.2.3 顯示單元設(shè)計- 24 -</p><p> 第4章 系統(tǒng)軟件設(shè)計- 27 -</p><p>
14、 4.1 總體設(shè)計- 27 -</p><p> 4.2 各部分子程序- 29 -</p><p> 4.2.1 溫濕度檢測程序- 29 -</p><p> 4.2.2 電機控制系統(tǒng)- 29 -</p><p> 4.2.3 LCD顯示程序設(shè)計- 30 -</p><p> 第5章 系統(tǒng)調(diào)試-
15、33 -</p><p> 5.1 硬件調(diào)試- 33 -</p><p> 5.2 軟件調(diào)試- 34 -</p><p> 5.3 整體調(diào)試- 35 -</p><p> 結(jié) 論- 39 -</p><p> 參考文獻(xiàn)- 41 -</p><p> 致 謝- 43 -
16、</p><p> 附 錄- 45 -</p><p><b> 第1章 緒 論</b></p><p><b> 1.1 選題的意義</b></p><p> 科學(xué)合理的實用倉庫是當(dāng)今我國及全世界物資儲存的一項重要任務(wù),若使用、管理不當(dāng),使重要物資受潮,或需低溫儲藏的物資受高溫環(huán)境影
17、響,將會造成無法估計的損失。最典型的一個例子就是糧食儲備基地的倉庫實用。眾所周知,糧食的儲存需要合適的濕度和溫度,若管理不當(dāng),糧食受潮發(fā)霉或生蟲,將會造成大量的糧食浪費。糧食管理中最重要的就是溫度和濕度的變化控制,沒有合理科學(xué)的檢測系統(tǒng),就無法談科學(xué)的控制系統(tǒng)?,F(xiàn)在,我國在糧倉建設(shè)上己實現(xiàn)規(guī)范化,但是檢測手段一直未能實現(xiàn)同步現(xiàn)代化。我國許多儲備糧庫每年都因測控設(shè)備的不完善而導(dǎo)致部分糧食霉變,許多大型儲備糧庫的測控設(shè)備仍需高價進(jìn)口,因此國
18、家準(zhǔn)備在未來的幾年內(nèi)對全國所有的糧庫進(jìn)行翻新和改造工作,要求規(guī)范糧庫管理,實現(xiàn)糧庫管理現(xiàn)代化。</p><p> 影響儲糧安全的最主要因素是糧堆內(nèi)的大氣條件(相對濕度和溫度的日變化和季</p><p> 節(jié)變化),這就要求能有一種有效的、低成本的儀表來實現(xiàn)監(jiān)測控制功能,使得管理</p><p> 人員能夠方便有效地進(jìn)行監(jiān)控操作。</p><
19、p> 本課題即以上述問題為出發(fā)點,設(shè)計倉庫溫、濕度監(jiān)控系統(tǒng),該系統(tǒng)不僅能采集倉庫內(nèi)的溫、濕度值,而且能夠迅速做出相應(yīng)的處理。</p><p> 1.2 課題的國內(nèi)外研究狀況</p><p> 在現(xiàn)代工業(yè)現(xiàn)場,隨著科技的進(jìn)步和自動化發(fā)展,溫濕度檢測系統(tǒng)在某些行業(yè)中要求越來越高,特別是在大中型倉庫管理系統(tǒng)中,由于溫濕度過高或過低引起的倉庫儲藏物本身的水分過高或連續(xù)的高濕天氣將導(dǎo)致儲
20、藏物新陳代謝加快而放出熱量,放熱引起的溫升又是代謝進(jìn)一步加劇以至發(fā)霉變質(zhì),因此倉庫必須重視對空氣溫濕度精確的而又方便的實時檢測,長期以來,由于受經(jīng)濟條件限制,我國倉庫環(huán)境較差,而且管理落后。</p><p> 倉庫管理的重點之一就是要經(jīng)常檢查溫度變化,以便及時發(fā)現(xiàn)儲藏物發(fā)熱點,減少損失。然而,堆積物的熱傳遞又是那樣的緩慢,使人感知極差,需要管理人員經(jīng)常進(jìn)入悶熱、嗆人的倉庫內(nèi)觀察溫、濕度,不斷進(jìn)行翻倉、加濕、通風(fēng)
21、和降溫設(shè)備來控制溫濕度,這樣不但控制精度低、實時性差,而且操作人員的勞動強度大。這種繁重的體力勞動,不僅對人體有極大的傷害,而且不科學(xué)、不及時。所以,倉庫儲藏物蟲蛀、霉變的情況時有發(fā)生。我國的儲藏物現(xiàn)均集中存放在地方或國家的倉庫中。按照國家儲藏物保護法,必須定期抽樣檢查糧食的溫、濕度,以確保儲藏質(zhì)量。這就迫切需要溫濕度監(jiān)控系統(tǒng)來控制倉庫。 </p><p> 近年來,由于超大規(guī)模集成電路技術(shù)、網(wǎng)絡(luò)通信技術(shù)和計算
22、機技術(shù)的發(fā)展,是檢測系統(tǒng)在工農(nóng)業(yè)生產(chǎn)等領(lǐng)域得到廣泛引用,因此,倉庫溫濕度檢測技術(shù)的研究在軟、硬件等方面都得到了一定的發(fā)展。</p><p><b> 1) 硬件技術(shù)</b></p><p> 早期倉庫溫濕度檢測主要采用溫度計量算法,它是將溫度計放入特定的插桿中,根據(jù)經(jīng)驗插入倉庫的多個測溫點,工作人員定期拔出讀數(shù),決定采取相應(yīng)的措施。這種方法由于溫度計精度、人工讀數(shù)
23、的人為因素等原因,溫度檢測不僅速度慢而且精度低,抽樣不徹底,局部糧食溫度過高不易被及時發(fā)現(xiàn),局部糧食發(fā)霉變質(zhì)引起大面積壞掉的情況時有發(fā)生。</p><p> 隨著科技的發(fā)展,溫、濕度檢測系統(tǒng)有了很大的改善和提高,系統(tǒng)在布線上采用矩陣式布線技術(shù),簡化了數(shù)據(jù)采集部分的線路;在傳感器方面應(yīng)用了熱電偶、半導(dǎo)體等器件;在數(shù)據(jù)傳輸方面減少了傳輸線的根數(shù),采用串行傳輸方式,他可對倉庫的各個測試點進(jìn)行巡回檢測,檢測的速度、精度
24、大大提高,但由于電阻傳感器靈敏度低,使檢測精度不夠理想。</p><p> 然后倉庫使用單片機進(jìn)行溫濕度檢,并采用各種手段提高數(shù)據(jù)傳輸及檢測速度,通過軟硬件技術(shù)的結(jié)合,檢測的精度和可靠性有較大提高,能滿足一般中小型倉庫的需要。</p><p> 近年來,隨著網(wǎng)絡(luò)通信技術(shù)和微處理器芯片的發(fā)展,為了簡化倉庫溫濕度檢測系統(tǒng)的設(shè)計并降低成本,各公司的科研機構(gòu)開始致力于相關(guān)領(lǐng)域的探索,是的倉庫溫
25、濕度檢測系統(tǒng)數(shù)字化,網(wǎng)絡(luò)化成為可能。其中,美國達(dá)拉斯公司推出的單總線接口協(xié)議采用單根信號線,既可傳輸數(shù)據(jù)又可傳輸時鐘,而且數(shù)據(jù)傳輸是雙向的,因此單總線技術(shù)具有線路簡單,硬件開銷小,便于總線擴展和維護等優(yōu)點。該公司所生產(chǎn)的單總線器件具有無需另附電源、在測試點直接將模擬信號數(shù)字化等特點,一方面減少了系統(tǒng)環(huán)節(jié),另一方面也保證了系統(tǒng)的精度。同時各公司開發(fā)的可視化軟件開發(fā)工具,更是向著效率高、功能強大的方向努力,從而為獲得良好的用戶界面奠定了基礎(chǔ)
26、。</p><p> 國外倉庫的監(jiān)控技術(shù)已經(jīng)發(fā)展的很成熟,高科技的數(shù)字傳感器廣泛應(yīng)用于倉庫溫、濕度監(jiān)控系統(tǒng)。這種傳感器采用微控制器與半導(dǎo)體集成電路的最新技術(shù),在一個芯片上集成了溫度檢測芯片、數(shù)據(jù)信號轉(zhuǎn)換芯片、計算機接口芯片,存儲芯片等,除完成溫度檢測功能外,還可完成預(yù)置范圍溫度、報警、多路A/D轉(zhuǎn)換、溫度補償?shù)裙δ?。由于?shù)字溫度傳感器直接輸出數(shù)字量,從而解決了溫度信號長距離傳輸問題及傳輸過程中因干擾和衰減而導(dǎo)致
27、的精度降低等問題。</p><p> 目前,國內(nèi)出現(xiàn)了豐富的數(shù)字傳感器配套產(chǎn)品,如中繼器、分線器、插接器、遠(yuǎn)程控制模塊等。數(shù)字傳感器技術(shù)、通信技術(shù)、計算機已成為當(dāng)今計算機技術(shù)的三大基礎(chǔ),計算機監(jiān)控技術(shù)已成為人們關(guān)注的熱點。</p><p><b> 2) 軟件技術(shù)</b></p><p> 近年來,各種計算機軟件開發(fā)平臺有了很大發(fā)展,特別
28、是基于Windows環(huán)境下的Delphi、Power Builder、Visual Basic、Visual C++的不斷升級,數(shù)據(jù)功能增強,能夠使用ODBC驅(qū)動程序訪問各種數(shù)據(jù)系統(tǒng),并可使用ADO、DAO等各種應(yīng)用程序開發(fā)接口,操縱數(shù)據(jù)庫中的數(shù)據(jù),管理數(shù)據(jù)庫,數(shù)據(jù)庫對象與結(jié)構(gòu)方便地對監(jiān)測系統(tǒng)進(jìn)行顯示、打印、查詢、自動控制等操作,為高性能的測控軟件設(shè)計提供了基礎(chǔ)。</p><p> 1.3 課題的目的任務(wù)和要求
29、</p><p><b> 本設(shè)計的具體任務(wù)</b></p><p> 我們設(shè)計了以AT89C52單片機為中央控制器的智能窗。該智能窗能通過傳感電路不斷循環(huán)檢測室內(nèi)濕度、溫度經(jīng)處理后傳入單片機。單片機對信號進(jìn)行運算,然后與由預(yù)先設(shè)置的參數(shù)臨界值相比較,從而作出開/關(guān)窗 的判斷,再結(jié)合窗狀態(tài)檢測電路所檢測到的當(dāng)前窗狀態(tài),再輸出脈沖信號調(diào)整步進(jìn)電機,完成下雨自動關(guān)窗等
30、。</p><p><b> 2. 本設(shè)計的要求</b></p><p> 1)完成該課題必須重點研究單片機控制、溫濕度采集、復(fù)位電路等關(guān)鍵問題和理論。</p><p> 2)研究方案的設(shè)計、研究方法和手段要合理,符合理論。</p><p> 第2章 設(shè)計方案論證</p><p> 2.
31、1 溫度檢測方案</p><p> 方案一:溫度檢測采用熱電阻溫度傳感器。熱電阻是利用導(dǎo)體的電阻隨溫度變化的特性制成的測溫元件;現(xiàn)應(yīng)用較多的有鉑、銅、鎳等熱電阻;其主要的特點為精度高、測量范圍大、便于遠(yuǎn)距離測量。濕度檢測使用濕敏電阻。</p><p> 方案二:在傳統(tǒng)的模擬信號遠(yuǎn)距離溫度測量系統(tǒng)中,需要很好的解決引線誤差補償問題、多點測量切換誤差問題和放大電路零點漂移誤差問題等技術(shù)問題
32、,才能夠達(dá)到較高的測量精度。另外一般監(jiān)控現(xiàn)場的電磁環(huán)境都非常惡劣,各種干擾信號較強,模擬溫度信號容易受到干擾而產(chǎn)生測量誤差,影響測量精度。因此,在溫度測量系統(tǒng)中,采用抗干擾能力強的新型數(shù)字溫度傳感器是解決這些問題的最有效方案,新型數(shù)字溫度傳感器DS18B20具有體積更小、精度更高、適用電壓更寬在實際應(yīng)用中取得了良好的測溫效果。DS18B20工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單。</p><p> 綜合
33、來看方案二測溫系統(tǒng)簡單、測溫精度高、連接方便,所以選用第二種方案。</p><p> 2.2 倉庫溫濕度檢測系統(tǒng)設(shè)計方案</p><p> 方案一 :直流電機驅(qū)動電路使用最廣泛的就是H型全橋式電路,這種驅(qū)動電路可以很方便實現(xiàn)直流電機的四象限運行,分別對應(yīng)正轉(zhuǎn)、正轉(zhuǎn)制動、反轉(zhuǎn)、反轉(zhuǎn)制動。</p><p> 圖2.1 H橋電機驅(qū)動電路</p>
34、<p> 橋式驅(qū)動電路的4只開關(guān)管都工作在斬波狀態(tài),S1、S2為一組,S3、S4 為另一組,兩組的狀態(tài)互補,一組導(dǎo)通則 另一組必須關(guān)斷。當(dāng)S1、S2導(dǎo)通時,S3、 S4關(guān)斷,電機兩端加正向電壓,可以實 現(xiàn)電機的正轉(zhuǎn)或反轉(zhuǎn)制動;當(dāng)S3、S4導(dǎo) 通時,S1、S2關(guān)斷,電機兩端為反向電壓,電機反轉(zhuǎn)或正轉(zhuǎn)制動。</p><p> 在窗戶動作的過程中,我們要不斷地使電機在四個象限之間切換,即在正轉(zhuǎn)和反轉(zhuǎn)之
35、間切換,也就是在S1、S2導(dǎo)通且S3、Q4關(guān)斷,到S1、S2關(guān)斷且S3、 S4導(dǎo)通,這兩種狀態(tài)之間轉(zhuǎn)換。在這種 情況下,理論上要求兩組控制信號完全互補,但是,由于實際的開關(guān)器件都存在開通和關(guān)斷時間,絕對的互補控制邏輯必然導(dǎo)致上下橋臂直通短路,比如在上橋臂關(guān)斷的過程中,下橋臂導(dǎo)通了。</p><p> 圖2.2 窗戶橋臂導(dǎo)通示意圖</p><p> 因此,為了避免直通短路且保證各個開關(guān)管
36、動作之間的協(xié)同性和同步性,兩組控制信號在理論上要 求互為倒相的邏輯關(guān)系,而實際上卻必須相差一個足夠的死區(qū)時間,這個矯正過程既可以通過硬件實現(xiàn),即在上下橋臂的兩組控制信號之間增加延時,也可以通過軟件實現(xiàn)。</p><p> 方案二:倉庫溫濕度檢測系統(tǒng)是以AT89C52系列單片機為核心構(gòu)成的檢測系統(tǒng)。本課題提出了一種可以應(yīng)用于中小型糧倉的溫濕度檢測系統(tǒng)的設(shè)計方案。 對倉庫溫濕度檢測系統(tǒng)的功能進(jìn)行設(shè)計,相應(yīng)的硬件電路
37、和系統(tǒng)軟件設(shè)計,并做出控制系統(tǒng),從而達(dá)到設(shè)計的目的:溫度升高到超過預(yù)設(shè)值時,電機轉(zhuǎn)動關(guān)閉窗戶;若下雨窗外的濕度傳感器會感應(yīng)到并把窗戶關(guān)閉;通過按鍵可以設(shè)置自動開啟窗戶時間及自動關(guān)閉窗戶時間,到設(shè)定時間會自動關(guān)閉或開啟窗戶;可以設(shè)置根據(jù)溫濕度控制窗戶開關(guān)及根據(jù)時間開啟、關(guān)閉窗戶功能。</p><p> 綜合來看AT89C52具有強驅(qū)動能力,體積小,電路設(shè)計簡單等優(yōu)點,故選用方案二。</p><
38、p> 第3章 系統(tǒng)硬件設(shè)計</p><p><b> 3.1 總體設(shè)計</b></p><p> ?。?)顯示室溫與時間:通過溫度傳感器組成的測控系統(tǒng),間隔的測量室內(nèi)的溫度,并將溫度和日期時間經(jīng)LCD液晶顯示出來。</p><p> ?。?)自動防雨:平時不能及時關(guān)窗、出門在外也總有忘記關(guān)窗的時候,遇到下雨時,雨滴傳感器檢測到下雨信息
39、,單片機控制板控制電動機動作,窗門自動關(guān)閉,使倉庫里免遭雨水侵撓。</p><p> (3)自動開關(guān)窗及手、自動切換:陽光明媚的早上,單片機根據(jù)設(shè)定的開窗時間控制板自動打開窗戶,更新室內(nèi)空氣;傍晚太陽落下時窗子自動關(guān)閉。且為了人性化的設(shè)計,系統(tǒng)還可采用按鍵電路實現(xiàn)手動控制與自動控制的切換。</p><p> 系統(tǒng)由最初的實驗階段到產(chǎn)品的形成過程中,其基本的功能框架如下:</p&g
40、t;<p><b> 圖3.1 系統(tǒng)框圖</b></p><p> 3.2 各單元電路設(shè)計</p><p> 3.2.1 控制單元設(shè)計</p><p> 1.STC89C52單片機芯片</p><p> 圖3.2 MCU核心電路</p><p> 本設(shè)計中采用了STC89
41、C52單片機作為主控芯片,STC89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,該器件采用STC高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的M C S-5 1指令集和輸出管腳相兼容。與傳統(tǒng)的51單片機相比較,STC89C52單片機具有較大的存儲器空間并且可以支持串口直接下載程序,免
42、去了購買價格昂貴的專門編程器來燒寫程序,使得開發(fā)成本得到很好控制。</p><p> STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,stc89c52可降至0hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許ra
43、m、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。</p><p> 圖3.3 STC89C52芯片引腳圖</p><p> 1)、STC89C52芯片引腳說明</p><p> ?、?主電源引腳(2根)</p><p> VCC(Pin40):電源
44、輸入,接+5V電源</p><p> GND(Pin20):接地線</p><p> ?、谕饨泳д褚_(2根)</p><p> XTAL1(Pin19):片內(nèi)振蕩電路的輸入端</p><p> XTAL2(Pin20):片內(nèi)振蕩電路的輸出端</p><p><b> ?、劭刂埔_(4根)</b&
45、gt;</p><p> RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復(fù)位。</p><p> ALE/PROG(Pin30):地址鎖存允許信號</p><p> PSEN(Pin29):外部存儲器讀選通信號</p><p> EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲
46、器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。</p><p> ④可編程輸入/輸出引腳(32根)</p><p> STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。</p><p> P0口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7</p>&
47、lt;p> P1口(Pin1~Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0~P1.7 </p><p> P2口(Pin21~Pin28):8位準(zhǔn)雙向I/O口線,名稱為P2.0~P2.7 </p><p> P3口(Pin10~Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0~P3.7</p><p> P0端口(P0.0~P0.7,39~32引
48、腳):</p><p> P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅(qū)動8個TTL負(fù)載,對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時,P0口內(nèi)部上拉電阻有效。在Flash ROM編程時,P0端口接收指令字節(jié);而在校驗程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。</p><p>
49、 P1端口(P1.0~P1.7,1~8引腳):</p><p> P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,此時可用作輸入口。P1口作輸入口使用時,因為有內(nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流(I/L )。</p><p> 此外,p1.0和p1.2分別作定時
50、器/計數(shù)器2的外部計數(shù)輸入(p1.0/t2)和時器/計數(shù)器2 的觸發(fā)輸入(p1.1/t2ex),具體如下表所示。 在flash編程和校驗時,p1口接收低8位地址字節(jié)。</p><p><b> 引腳號第二功能:</b></p><p> p1.0 t2(定時器/計數(shù)器t2的外部計數(shù)輸入),時鐘輸出</p><p> p1.1 t2ex(定
51、時器/計數(shù)器t2的捕捉/重載觸發(fā)信號和方向控制)</p><p> p1.5 mosi(在線系統(tǒng)編程用) </p><p> p1.6 miso(在線系統(tǒng)編程用) </p><p> p1.7 sck(在線系統(tǒng)編程用) </p><p> P2端口(P2.0~P2.7,21~28引腳):</p><p>
52、P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(吸收或輸出電流方式)4個TTL邏輯電平輸入。對p2端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電平,這時可用作輸入口。P2作為輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。</p><p> 在訪問外部程序存儲器和16位地址的外部數(shù)據(jù)存儲器(如執(zhí)行“MOVX @DPTR”指令)時,P2送出高8位地址。在訪問8
53、位地址的外部數(shù)據(jù)存儲器(如執(zhí)行“MOVX @R1”指令)時,P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個訪問期間不會改變。在對Flash ROM編程和程序校驗期間,P2也接收高位地址和一些控制信號。</p><p> P3端口(P3.0~P3.7,10~17引腳):</p><p> P3是一個具有內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動
54、(吸收或輸出電流方式)4個TTL輸入。對p3端口寫入“1”時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。P3做輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流(I/L )。</p><p> p3口亦作為STC89C52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,p3口也接收一些控制信號。</p><p><b> 引
55、腳號第二功能:</b></p><p> P3.0 rxd(串行輸入口)</p><p> P3.1 txd(串行輸出口)</p><p> P3.2 into(外中斷0)</p><p> P3.3 int1(外中斷1)</p><p> P3.4 to(定時/計數(shù)器0)</p>
56、<p> P3.5 t1(定時/計數(shù)器1)</p><p> P3.6 wr(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 rd(外部數(shù)據(jù)存儲器讀選通)</p><p> RST——復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。</p><p> ALE/PROG——當(dāng)訪問外部程序存儲
57、器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。</p><p> 對flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。</p><p> 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8e
58、h單元的d0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)STC89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號
59、。</p><p> EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000h-ffffh),EA端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時內(nèi)部會鎖存ea端狀態(tài)。</p><p> 如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。</p><p> flash存儲器編程時,該引腳加上+12v的編
60、程允許電源VPP,當(dāng)然這必須是該器件是使用12v編程電壓VPP。</p><p> 2)、STC89C52主要功能如下表所示</p><p> 表3.1 STC89C52的主要功能特性</p><p> 2. DS1302時鐘電路</p><p> 本電路采用DS1302時鐘芯片,DS1302主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電
61、源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通的32768Hz晶振,兩個電源Vcc1及Vcc2接電源VDD,這樣如果沒有交流電的供電也可以由可充電電池供電,起了掉電保護,防止數(shù)據(jù)丟失。2腳X1(晶振引腳)及3腳X2(晶振引腳)接32768Hz的晶振,DS1302的7腳CLK(串行時鐘輸入引腳)與單片機的P1.5相連,6腳I/O(數(shù)據(jù)輸入輸出引腳)與單片機的P1.6相連,5腳RET(復(fù)位引腳)與單片機的P1.7相連。</p&
62、gt;<p> DS1302與單片機的連接僅需要3條線:CE引腳、SCLK串行時鐘引腳、I/O串行數(shù)據(jù)引腳,Vcc2為備用電源,外接32.768kHz晶振,為芯片提供計時脈沖。</p><p> 圖3.4 時鐘電路原理圖</p><p> 現(xiàn)在流行的串行時鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡單、價格低廉、使用方便,被廣泛地采用。
63、本文介紹的實時時鐘電路DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路。 它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電
64、源/后備電源雙電源引腳,同時提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。它可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32.768kHz晶振。 </p><p> 1)、DS1302芯片的引腳說明</p><p> 圖3.5 DS1302芯片的引腳圖</p><p> Vcc1 、VCC2(8、1):其中Vcc1為后備電源,VCC2為主電源
65、。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。</p><p> X1、X2(2、3):X1和X2是振蕩源,外接32.768kHz晶振。</p><p> RST(5) :RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置
66、高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。</p&g
67、t;<p> I/O (6) :串行數(shù)據(jù)輸入輸出端(雙向)。</p><p> SCLK(7) :時鐘輸入端。 </p><p> 2)、DS1302芯片的工作原理</p><p> ?、?DS1302的控制字節(jié)</p><p> DS1302 的控制字如圖3.12所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為
68、0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,位1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。 </p><p> 圖3.6 DS1302的控制字節(jié)</p><p> ?、跀?shù)據(jù)輸入輸出(I/O)</p><p> 在控制指令字輸入后的下一
69、個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。 </p><p> ?、跠S1302的寄存器</p><p> DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放數(shù)據(jù)為BCD碼形式,其日歷、時間寄存器及其控制字見表3.2。 <
70、/p><p> 表3.2 DS1302的日歷、時間寄存器及其控制字</p><p> 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為
71、讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。</p><p> ④DS1302與CPU的連接</p><p> DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。實際上,在調(diào)試程序時可以不加電容器,只加一個32.768kHz 的晶振即可。只是選擇晶振時,不
72、同的晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時顯示實時溫度。只要占用CPU一個口線即可。</p><p> DS1302 存在時鐘精度不高,易受環(huán)境影響,出現(xiàn)時鐘混亂等缺點。DS1302可以用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結(jié)果的分析及對異常數(shù)據(jù)出現(xiàn)的原因的查找具有重要意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時
73、采樣或定時采樣,沒有具體的時間記錄,因此,只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時間;若采用單片機計時,一方面需要采用計數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費單片機的資源,而且,某些測控系統(tǒng)可能不允許。但是,如果在系統(tǒng)中采用時鐘芯片DS1302,則能很好地解決這個問題。</p><p><b> 3. 復(fù)位電路</b></p><p> 單片機最小
74、應(yīng)用系統(tǒng)中復(fù)位電路使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài)下,并從這個狀態(tài)開始工作,無論是在控制系統(tǒng)剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位。本設(shè)計采用如圖3.10所示的復(fù)位電路,該電路既可以實現(xiàn)上電復(fù)位,又可以按鍵復(fù)位。</p><p><b> 1)復(fù)位操作</b></p><p> 復(fù)位是單片機的初始化操作。其主要功能是把PC初始化為
75、0000H,使單片機從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行或操作出錯使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。</p><p> 除PC之外,復(fù)位操作還對其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表3.3所示。</p><p> 表3.3 一些寄存器的復(fù)位狀態(tài)</p><p> 2)復(fù)位信號及其產(chǎn)生</p&g
76、t;<p> RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即二個機器周期)以上。若使用頗率為6MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。</p><p> 產(chǎn)生復(fù)位信號的電路邏輯如圖3.7所示:</p><p> 圖3.7 復(fù)位信號的電路邏輯圖</p><p> 整個復(fù)位電路包括芯片內(nèi)
77、、外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機器周期的S5P2時刻對施密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。</p><p> 復(fù)位操作有上電自動復(fù)位與按鍵手動復(fù)位兩種方式。其中按鍵手動復(fù)位有電平方式和脈沖方式兩種。</p><p> ?。╝)上電復(fù)位 (b)按鍵電平復(fù)位 (c)按鍵脈沖復(fù)位</p
78、><p><b> 圖3.8 復(fù)位電路</b></p><p> ?、?上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,其電路如圖3.8(a)所示。這佯,只要電源Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。</p><p> ?、诎存I電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的,其電路如圖3.
79、8(b)所示;</p><p> ③按鍵脈沖復(fù)位是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的,其電路如圖3.8(c)所示。</p><p> 本系統(tǒng)的復(fù)位電路采用按鍵電平復(fù)位方式。</p><p> 圖3.9 單片機復(fù)位電路</p><p> 其它模塊通過P0、P1、P2和P3四組I/O口與單片機控制系統(tǒng)相接,從而實現(xiàn)單片機控制系統(tǒng)的總調(diào)度
80、任務(wù)。</p><p> 3.2.2 檢測單元設(shè)計</p><p> 1. DS18B20溫度采集電路 </p><p> DS18B20測溫系統(tǒng)具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點。DS18B20溫度采集電路有三種不同供電方式:① 寄生電源供電方式、②寄生電源強上拉供電方式、③外部電源供電方式。</p><p>
81、 1)DS18B20寄生電源供電方式</p><p> 圖3.10 寄生電源供電方式</p><p> 在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲存在內(nèi)部 電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 </p><p> 要想使DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,
82、I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由 于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個溫度傳感器掛在同一根I/O線上進(jìn)行多點測溫時,只靠4.7K上拉電阻就無法提供足夠的 能量,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。 </p><p> 因此,圖3.10電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并 且工作電源VCC必須保證在5V,當(dāng)電源電壓下降時,寄生電源能夠汲取的能
83、量也降低,會使溫度誤差變大。</p><p> 2)DS18B20寄生電源強上拉供電方式</p><p> 圖3.11 DS18B20寄生電源強上拉供電方式</p><p> 寄生電源強上拉供電方式電路圖改進(jìn)的寄生電源供電方式如圖3.11所示,為了使DS18B20在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到 E2存儲器操作時,用MOSFET把I/
84、O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到E2存儲器或啟動溫度轉(zhuǎn)換的指令后,必須在最 多10μS內(nèi)把I/O線轉(zhuǎn)換到強上拉狀態(tài)。在強上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點測溫應(yīng)用,缺點就是要多占用一根I/O口線進(jìn)行強上拉切換。</p><p> 3)DS18B20的外部電源供電方式 </p><p> 圖3.12 DS18B20外部電源供電方式</
85、p><p> 在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證 轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空 ,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。 </p><p> 本設(shè)計中DS18B20溫度采集電路采用外部電源
86、供電方式。</p><p> 圖3.13溫度采集電路原理圖</p><p> 2 .DS18B20溫度傳感器芯片</p><p> 美國Dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820 是世界上第一片支持 "一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路
87、內(nèi)。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的數(shù)字溫度傳感器DS18B20 體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng),可充分發(fā)揮“一線總線”的優(yōu)點,在實際應(yīng)用中取得了良好的測溫效果。</p><p> ?。?)DS18B20的主要特性 </p><p> 1)適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源
88、方式下可由數(shù) 據(jù)線供電。</p><p> 2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。</p><p> 3)DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。</p><p> 4)DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電
89、路集成在形如一只三極管的集成電路內(nèi)。</p><p> 5)溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃。</p><p> 6)可編程 的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。</p><p> 7)在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,
90、12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。</p><p> 8)測量結(jié)果直接輸出數(shù)字溫度信號,以"一 線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。</p><p> 9)負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。 </p><p> ?。?)DS18B20的外形和內(nèi)
91、部結(jié)構(gòu) </p><p> 圖3.14 DS18B20的封裝及引腳圖</p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。 </p><p> DS18B20芯片引腳說明: </p><p> 1) DQ為數(shù)字信號輸入/輸出端;</p>
92、<p> 2) GND為電源地;</p><p> 3) VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。</p><p> ?。?)DS18B20的工作原理</p><p> DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。 DS18B20測溫原理
93、如圖3.4所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2
94、計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖3.9中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。</p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。該裝置信號線高的時候,內(nèi)部電容器 儲存能量通由1線通信線路給片子供電,而且在低電平期間為片子供電直至下一個高電平的到來
95、重新充電。 DS18B20的電源也可以從外部3V-5 .5V的電壓得到。 </p><p> DS18B20采用一線通信接口。因為一線通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無法使用。主要首先提供以下功能命令之一: ① 讀ROM, ② ROM匹配, ③ 搜索ROM, ④ 跳過ROM, ⑤ 報警檢查。這些指令操作作用在沒有一個器件的64位光刻ROM序列號,可以在掛在一線上多個器件選定某一個器件,同時
96、,總線也可以知道總線上掛有有多少,什么樣的設(shè)備。</p><p> 若指令成功地使DS18B20完成溫度測量,數(shù)據(jù)存儲在DS18B20的存儲器。一個控制功能指揮指示DS18B20的演出測溫。測量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲器。溫度報警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報警檢查指令,這些寄存器可作為一般的用戶記憶用途。
97、在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個記憶功能的指令完成。通過緩存器讀寄存器。所有數(shù)據(jù)的讀,寫都是從最低位開始。</p><p> 圖3.15 DS18B20的測溫原理框圖</p><p> DS18B20有六條控制命令,指令約定代碼操作說明如下:</p><p> 溫度轉(zhuǎn)換 44H 啟動DS18B20進(jìn)行溫度轉(zhuǎn)換;
98、</p><p> 讀暫存器 BEH 讀暫存器9位二進(jìn)制數(shù)字;</p><p> 寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的TH、TL字節(jié); </p><p> 復(fù)制暫存器 48H 把暫存器的TH、TL字節(jié)寫到E2RAM中; </p><p> 重新調(diào)E2RAM B8H 把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié); </p
99、><p> 讀電源供電方式 B4H 啟動DS18B20發(fā)送電源供電方式的信號給主CPU。</p><p> DS18B20的溫度讀取:</p><p> DS18B20在出廠時以配置為12位,讀取溫度時共讀取16位,所以把后11位的2進(jìn)制轉(zhuǎn)化為10進(jìn)制后在乘以0.0625便為所測的溫度,還需要判斷正負(fù)。前5個數(shù)字為符號位,當(dāng)前5位為1時,讀取的溫度為負(fù)數(shù);當(dāng)前5位
100、為0時,讀取的溫度為正數(shù)。16位數(shù)字?jǐn)[放是從低位到高位。</p><p> 3.2.3 顯示單元設(shè)計</p><p> 1. LCD1602液晶顯示電路</p><p> 顯示電路設(shè)計采用的是液晶LCD1602來顯示實時日期時間、溫度等內(nèi)容。P0口作為數(shù)據(jù)口連接LCD1602的7~14口,來傳輸數(shù)據(jù)及指令,由于P0口帶負(fù)載能力差,故需接上拉電阻。P2.5接LC
101、D1602的4腳RS(數(shù)據(jù)/命令選擇端),P2.6接LCD1602的5腳R/W(讀寫選擇端),P2.7接LCD1602的6腳E(使能信號)。電位器用來調(diào)節(jié)LCD1602的亮度。</p><p> 圖3.16 芯片LCD1602</p><p> LCD1602各引腳說明:</p><p> 第1腳:VSS為地電源</p><p> 第
102、2腳:VDD接5V正電源</p><p> 第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源</p><p> 時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一 </p><p> 個10K的電位器調(diào)整對比度 。</p><p> 第4腳:RS為寄存器選擇,高電平選擇數(shù)據(jù)寄存器、低電平選擇指令寄存器。
103、</p><p> 第5腳:RW為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。</p><p> 當(dāng)RS和RW共同為低電平時 (00)可以寫入指令或者顯示地址;</p><p> 當(dāng)RS為低電平RW為高電平時(01)可以讀入忙信號;</p><p> 當(dāng)RS為高電平RW為低電平時(10)可以寫入數(shù)據(jù)。 </p>
104、<p> 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p> 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 </p><p> 第15~16腳:背光陽極和背光陰極。</p><p> 圖3.17 液晶顯示電路</p><p><b> 2. 按鍵電路</b><
105、;/p><p> 采用三個獨立按鍵,當(dāng)按鍵按下時相對應(yīng)的單片機P11-P13檢測到低電平。</p><p> 圖3.18 按鍵電路</p><p><b> 3. 電機驅(qū)動</b></p><p> 本系統(tǒng)采用電機的正反轉(zhuǎn)模擬進(jìn)出水過程。</p><p> 電機驅(qū)動采用三極管驅(qū)動,、分別控制
106、電機的正反轉(zhuǎn);</p><p> ?。?)當(dāng)M1、M2分別為0,1時Q5導(dǎo)通Q6截止,Q8、Q9導(dǎo)通,電流從+5V→Q9 →電機→Q8→地,此時電機正轉(zhuǎn);</p><p> ?。?)當(dāng)M1、M2分別為1,0時Q5截止Q6導(dǎo)通,Q7、Q10導(dǎo)通,電流從+5V→Q10 →電機→Q7→地,此時電機反轉(zhuǎn)。</p><p> 圖3.19 電機電路</p>&l
107、t;p> 第4章 系統(tǒng)軟件設(shè)計</p><p><b> 4.1 總體設(shè)計</b></p><p> 前面已經(jīng)介紹了本次設(shè)計的硬件部分,這里開始主要介紹軟件部分。程序的編寫時該</p><p> 系統(tǒng)重要的部分,軟件編寫得科學(xué)才能就能體現(xiàn)出該系統(tǒng)功能的完整性、實用性、經(jīng)濟型。只有軟件和硬件都正確才能使電路正常工作達(dá)到我們想要的效果
108、。本系統(tǒng)的軟件編程部分的編寫主要分為LCD1602顯示程序、時鐘芯片DS1302控制程序。</p><p> 通過對STC89C52單片機功能的應(yīng)用,與單片機外設(shè)電路的接口,可以大致寫出智能窗戶系統(tǒng)的軟件基本框架:</p><p> 圖4.1 系統(tǒng)軟件基本框架</p><p> 4.2 各部分子程序</p><p> 4.2.1 溫濕
109、度檢測程序</p><p> DHT11子程序是結(jié)合它的用戶使用資料編寫,主要完成的是初始化DHT11,從DHT11中讀出一個字節(jié)的數(shù)據(jù),向DHT11中寫入一個字節(jié)的數(shù)據(jù),配置DHT11包括警報溫度的上限和下限、溫度轉(zhuǎn)換的精度,讀出Scrachpad存儲器中的九個字節(jié)的數(shù)據(jù),讀出Rom中的64位Code值,對讀出的Scrachpad數(shù)據(jù)進(jìn)行CRC校驗,然后根據(jù)讀出的數(shù)據(jù)得到測量出的十進(jìn)制溫度值。</p&g
110、t;<p> DHT11數(shù)據(jù)的CRC校驗。為了解決單總線串行傳輸數(shù)據(jù)可能引起的錯誤,DHT11內(nèi)部具有產(chǎn)生CRC校驗碼電路,這樣編程時可以通過對讀出的數(shù)據(jù)進(jìn)行CRC校驗碼,并用這個校驗碼和獲得的數(shù)據(jù)的最后一個字節(jié)比較,若兩者相同則證明數(shù)據(jù)傳送沒有錯誤,從而驗證通信過程中數(shù)據(jù)傳輸?shù)恼_性,使采集溫度信號的可靠性得到保證。 CRC檢驗的求法。M為一個k位長的信息幀。P為n+1位預(yù)先確定的用來生成校驗碼的二進(jìn)制序列其最
111、高位和最低位必須為1,DS18B20中使用的序列為:P = 1 0011 0001。F為n位FCS,即校驗碼序列。T為k+n位被傳輸?shù)膸?。因為F是接在M信息幀之后的,因此T=M · 2 n (2 n 為2的n次方)中,M · 2 n 相當(dāng)于M左移n位,后面添n個零。設(shè)M · 2 n 除以P的商和余數(shù)分別是Q和R,則有M · 2 n =P · Q+R即M · 2 n /P=Q+R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的倉庫溫濕度檢測系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 基于單片機倉庫溫濕度的監(jiān)測系統(tǒng)的畢業(yè)設(shè)計
- 畢業(yè)設(shè)計_基于單片機的環(huán)境溫濕度檢測系統(tǒng)
- 單片機溫濕度畢業(yè)設(shè)計
- 基于單片機的溫濕度檢測儀【畢業(yè)設(shè)計】
- 基于單片機的溫濕度檢測系統(tǒng)的設(shè)計
- 單片機的溫濕度檢測儀畢業(yè)設(shè)計
- 單片機無線溫濕度測量系統(tǒng)畢業(yè)設(shè)計
- 基于單片機的溫濕度控制系統(tǒng)畢業(yè)設(shè)計
- 基于單片機溫濕度監(jiān)測系統(tǒng)設(shè)計
- 基于單片機的溫濕度檢測
- 基于單片機的溫濕度檢測系統(tǒng)的設(shè)計.pdf
- 基于單片機的溫濕度檢測
- 畢業(yè)設(shè)計_基于單片機的糧倉溫濕度監(jiān)控系統(tǒng)的設(shè)計
- 開題報告基于單片機的溫濕度檢測系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---基于單片機的糧倉溫濕度控制系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計--基于單片機的遠(yuǎn)程大棚溫濕度監(jiān)控系統(tǒng)
- 畢業(yè)設(shè)計-- 單片機的溫濕度計設(shè)計
- 電子信息工程畢業(yè)設(shè)計基于單片機的溫濕度檢測系統(tǒng)的設(shè)計
- 電子信息工程畢業(yè)設(shè)計基于單片機的溫濕度檢測系統(tǒng)的設(shè)計
評論
0/150
提交評論