基于單片機的多點溫度測量系統(tǒng)_第1頁
基于單片機的多點溫度測量系統(tǒng)_第2頁
基于單片機的多點溫度測量系統(tǒng)_第3頁
基于單片機的多點溫度測量系統(tǒng)_第4頁
基于單片機的多點溫度測量系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄TO(shè)C\o"1-3"\h\z\uTOC\o"1-3"\h\z\uHYPERLINK\l"_Toc324757745"摘要?PAGEREF_Toc324757745\h1HYPERLINKAbstract?PAGEREF_Toc324757746\h2HYPERLINK\l"_Toc324757747"1緒論 PAGEREF_Toc324757747\h3HYPERLINK\l"_Toc324757748"1.1國內(nèi)外溫度測量技術(shù)發(fā)展狀況 PAGEREF_Toc324757748\h3HYPERLINK1.2課題研究的意義和目的?PAGEREF_Toc324757749\h4HYPERLINK1.3課題研究的內(nèi)容及研究方法 PAGEREF_Toc324757750\h5HYPERLINK\l"_Toc324757751"1.4論文結(jié)構(gòu)安排 PAGEREF_Toc324757751\h5HYPERLINK\l"_Toc324757752"2基礎(chǔ)知識介紹?PAGEREF_Toc324757752\h6HYPERLINK2.1單片機簡介?PAGEREF_Toc324757753\h6HYPERLINK\l"_Toc324757754"2.1.1單片機技術(shù)的發(fā)展?PAGEREF_Toc324757754\h6_Toc324757756"2.2AT89C51簡介?PAGEREF_Toc324757756\h7HYPERLINK\l"_Toc324757757"2.2.1AT89C51主要特性 PAGEREF_Toc324757757\h8HYPERLINK2.2.2AT89C51管腳說明?PAGEREF_Toc324757758\h8HYPERLINK\l"_Toc324757759"2.3DS18B20簡介 PAGEREF_Toc324757759\h9HYPERLINK\l"_Toc324757760"2.3.1DS18B20的結(jié)構(gòu)和特點?PAGEREF_Toc324757760\h10HYPERLINK\l"_Toc324757761"2.3.2DS18B20工作原理 PAGEREF_Toc324757761\h13HYPERLINK\l"_Toc324757762"2.4Proteus軟件簡介 PAGEREF_Toc324757762\h16HYPERLINK\l"_Toc324757763"2.4.1PROTEUS特點 PAGEREF_Toc324757763\h16HYPERLINK3硬件設(shè)計?PAGEREF_Toc324757764\h17HYPERLINK\l"_Toc324757765"3.1硬件系統(tǒng)設(shè)計思想 PAGEREF_Toc324757765\h17HYPERLINK\l"_Toc324757766"3.2單片機最小系統(tǒng) PAGEREF_Toc324757766\h173.3溫度測量模塊?PAGEREF_Toc324757768\h19HYPERLINK\l"_Toc324757769"3.4按鍵設(shè)置模塊 PAGEREF_Toc324757769\h193.5顯示模塊?PAGEREF_Toc324757770\h20HYPERLINK\l"_Toc324757771"3.5.2LCDLM016L引腳定義?PAGEREF_Toc324757771\h20HYPERLINK\l"_Toc324757772"3.5.3LCD顯示電路 PAGEREF_Toc324757772\h21HYPERLINK\l"_Toc324757773"3.6報警模塊?PAGEREF_Toc324757773\h22HYPERLINK4軟件設(shè)計 PAGEREF_Toc324757774\h23HYPERLINK\l"_Toc324757775"4.1系統(tǒng)軟件設(shè)計思想?PAGEREF_Toc324757775\h23HYPERLINK\l"_Toc324757776"4.2測溫模塊程序 PAGEREF_Toc324757776\h24HYPERLINK4.3顯示模塊程序?PAGEREF_Toc324757777\h25HYPERLINK\l"_Toc324757778"4.4按鍵模塊 PAGEREF_Toc324757778\h26HYPERLINK\l"_Toc324757779"5系統(tǒng)調(diào)試?PAGEREF_Toc324757779\h27HYPERLINK\l"_Toc324757780"6總結(jié) PAGEREF_Toc324757780\h30HYPERLINK參考文獻 PAGEREF_Toc324757781\h30HYPERLINK\l"_Toc324757782"謝辭?PAGEREF_Toc324757782\h30摘要在日常生活及工業(yè)生產(chǎn)中,經(jīng)常涉及到溫度的測量及控制,溫度是生產(chǎn)過程和科學實驗中普遍而且重要的物理參數(shù)之一。在工業(yè)生產(chǎn)過程中,為了高效地進行生產(chǎn),常常會對其參數(shù),如溫度、壓力、流量等進行合理的監(jiān)測與控制。溫度控制在生產(chǎn)過程中占有相當大的比例。溫度測量是溫度控制的基礎(chǔ),技術(shù)已經(jīng)比較成熟。該設(shè)計介紹了一種利用單片機AT89C51組成的高精度溫度測量系統(tǒng),從硬件和軟件兩方面介紹了單片機溫度測量系統(tǒng)的設(shè)計思路。著重介紹了硬件電路和程序框圖,闡述了系統(tǒng)的工作原理、設(shè)計思想及實現(xiàn)方法。系統(tǒng)由DS18B20溫度傳感器芯片測量當前的溫度,并將結(jié)果送入單片機。然后通過單片機對送來的溫度進行計算和轉(zhuǎn)換,并將此結(jié)果送入液晶顯示模塊。最后,由1602液晶顯示器將溫度顯示出來。它可以實時顯示和設(shè)定溫度上下限,實現(xiàn)對當前溫度的監(jiān)測,當溫度值超出上、下限時自動報警,實現(xiàn)了系統(tǒng)結(jié)構(gòu)簡單、性能可靠、控制精度高的要求。關(guān)鍵詞:AT89C51單片機;DS18B20溫度傳感器;溫度測量AbstractThedetectionandcontroloftemperatureisoftenusedindailylifeandindustrialproductionprocess,temperatureisoneoftheimportantphysicalparametersoftheproductionprocessandscientificexperimentsgenerally.Duringtheproductionprocess,inordertocarryouttheproductionefficiently,wemustcontrolitsmainparameterswell,suchastemperature,pressureandsoon.Temperaturecontrolintheproductionprocessesalargeproportion.Temperat(yī)uremeasurementisthebasisoftemperature-controllingandamorematuretechnology.AprecisiontemperaturecontrolsystemusedAT89S51SCMandthehardwarecircuitandsoftwareofthissystemareintroduced.Schematicdiagramofthehardwareandproceduresisrelatedinemphasis.Workingprinciple,designandimplementat(yī)ioniselaborated.Thecurrenttemperat(yī)ureismeasuredbyDS18b20temperaturesensorandtheresultsistransportedintoSCM.Then,thetemperatureiscalculatedandtheconversionresultsistransportedintotheliquidcrystaldisplaymodules1602onshow.Itcandisplaycurrenttemperaturewhichissetrandomlyandcontrolledflexibility,andthetemperaturecontrol.Whenthetemperatureisbeyondtheupperandlowerlimitsoftemperature,thealarmsystemstartsautomatically.What(yī)isrealizedinthissystemissimplestructure,reliableperformanceandhighprecisioncontrol.Thesystemisingoodscalability,high-resolution,widerange,anti-interferenceperformanceandsoon.KeyWords:AT89C51SCM;DS18B20Temperaturesensor;Temperaturedetection1緒論在工業(yè)生產(chǎn)中,壓力、溫度、流量等都是常用的被測參數(shù)。溫度往往是表征對象和過程狀態(tài)最重要的參數(shù)之一,在工業(yè)生產(chǎn)的很多領(lǐng)域中,人們都需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進行測量和控制。采用單片機對溫度進行測量不僅具有使用方便、簡單和靈活性大等優(yōu)點,而且可以大幅度提高被測溫度的技術(shù)指標,從而大大提高產(chǎn)品的質(zhì)量和數(shù)量。目前應(yīng)用的溫度測量系統(tǒng)大多采用由模擬溫度傳感器、多路模擬開關(guān)、A/D轉(zhuǎn)換器等模塊組成的傳輸系統(tǒng)。這種溫度采集系統(tǒng)需要大量的測溫電纜,才能把現(xiàn)場傳感器的信號送到采集卡上.安裝和拆卸繁雜,成本也相對較高,同時線路上傳送的是模擬信號,易受干擾、易損耗,測量誤差也比較大,不利于控制者根據(jù)溫度變化及時做出控制決定。針對這種情況,本文提出一種采用數(shù)字化單總線技術(shù)的溫度采集系統(tǒng),并利用Proteus和Keil軟件對設(shè)計電路進行綜合虛擬仿真,成功實現(xiàn)了溫度實時監(jiān)測。1.1國內(nèi)外溫度測量技術(shù)發(fā)展狀況1.1.1溫度測量技術(shù)簡介隨著國內(nèi)外工業(yè)的日益發(fā)展,溫度測量技術(shù)也在不斷的進步,目前用來進行溫度測量的方法種類繁多,應(yīng)用范圍廣泛,大致包括以下幾種方法:(1)利用物體熱脹冷縮原理制成的溫度計。(2)利用熱電效應(yīng)技術(shù)制成的溫度測量元件。(4)利用熱阻效應(yīng)技術(shù)制成的溫度計。(5)利用熱輻射原理制成的高溫計。(6)利用聲學原理進行溫度測量。(7)利用紅外測溫技術(shù)。1.1.2溫度測量技術(shù)的發(fā)展生產(chǎn)管理一體化、網(wǎng)絡(luò)化是當今工業(yè)自動化控制領(lǐng)域的大趨勢,要實現(xiàn)這些功能,必須借助于工業(yè)計算機、現(xiàn)場網(wǎng)絡(luò)及開放的工業(yè)數(shù)據(jù)庫。利用先進技術(shù)手段監(jiān)測各種復雜生產(chǎn)環(huán)境的被控參數(shù)如溫度、流量及壓力等,使生產(chǎn)和管理一體化,可以有效地提高生產(chǎn)和管理的自動化水平。溫度測量是一種利用微機來實現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)通訊傳輸和數(shù)據(jù)分析處理的一門新技術(shù),是在生產(chǎn)過程中記錄和說明熱加工產(chǎn)品與空氣溫度關(guān)系的技術(shù),追蹤測量得到的數(shù)據(jù)被顯示為圖表或數(shù)字。這個過程最簡單的形式就是它可以告訴生產(chǎn)者所生產(chǎn)的產(chǎn)品的溫度、保持這個溫度有多長時間以及在什么時間達到了什么溫度。通過分析數(shù)據(jù),生產(chǎn)人員可以保證產(chǎn)品達到最好的質(zhì)量、解決產(chǎn)品存在問題、優(yōu)化生產(chǎn)工藝路線及節(jié)約能耗。無論是在電子產(chǎn)品的生產(chǎn)、食品加工、還是在醫(yī)療器械生產(chǎn)方面,溫度都是重要的控制指標,因此溫度測量技術(shù)具有非常廣闊的應(yīng)用前景。A國內(nèi)外溫度測量技術(shù)發(fā)展趨勢擴展測量范圍現(xiàn)在工業(yè)上通用的溫度測量范圍為-200~3000℃擴大測溫對象溫度測量技術(shù)將會由點測溫發(fā)展到線、面,甚至立體的測量。應(yīng)用范圍己經(jīng)從工業(yè)領(lǐng)域延伸到環(huán)境保護、家用電器、汽車工業(yè)及航天工業(yè)領(lǐng)域。發(fā)展新型產(chǎn)品利用以前的測量技術(shù)生產(chǎn)出適應(yīng)于不同場合、不同工況要求的新型產(chǎn)品,以滿足用戶需要。同時利用新的測量技術(shù)制造出新的產(chǎn)品。適應(yīng)特殊環(huán)境下的測溫對許多場合中的溫度測量器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移動物體和高速旋轉(zhuǎn)物體的測溫、鋼水的連續(xù)測溫、火焰溫度測量等。顯示數(shù)字化溫度儀表向數(shù)字化方向發(fā)展。其最大優(yōu)點是直觀、無讀數(shù)誤差、分辨率高、測量誤差小,因而有廣闊的銷售市場。標定自動化應(yīng)用計算機技術(shù),快速、準確、自動地標定溫度測量器。根據(jù)上述要求,國內(nèi)外溫度儀表制造商將向以下幾方面發(fā)展:(1)繼續(xù)生產(chǎn)量大面廣的傳統(tǒng)的溫度測量元件,如:熱電偶、熱電阻、熱敏電阻等。(2)加強新原理、新材料、新加工工藝的開發(fā)。如近來已經(jīng)開發(fā)的炭化硅薄膜熱敏電阻溫度測量器,厚膜、薄膜鉑電阻溫度測量器,硅單晶熱敏電阻溫度測量器等。(3)向智能化、集成化、適用化方向發(fā)展。新產(chǎn)品不僅要具有測量功能,又要具有判斷和指令等多功能,采用微機向智能化方向發(fā)展,向機電一體化方向發(fā)展。近年來,在溫度測量技術(shù)領(lǐng)域,多種新的測量原理與技術(shù)的開發(fā)應(yīng)用,已經(jīng)取得了重大進展。新一代溫度測量元件正在不斷出現(xiàn)和完善化。從晶體管溫度測量元件到集成電路溫度測量元件、核磁共振溫度測量器、激光、微波測溫等等,這一現(xiàn)象表明溫度測量技術(shù)正在高速發(fā)展并已經(jīng)逐步進入高精尖的現(xiàn)代化發(fā)展領(lǐng)域。1.2課題研究的意義和目的1.2.1課題研究的意義通過完成此次畢業(yè)設(shè)計可以使我們進一步熟悉和掌握單片機的內(nèi)部結(jié)構(gòu)和工作原理,了解單片機應(yīng)用系統(tǒng)設(shè)計的基本方法和步驟。通過使用51單片機,理解單片機在數(shù)字化儀表中的作用以及掌握單片機的編程方法。通過設(shè)計一個簡單的實際應(yīng)用輸入及顯示模擬系統(tǒng),掌握單片機仿真軟件Proteus的使用方法。掌握鍵盤和顯示器在的單片機控制系統(tǒng)中的應(yīng)用和掌握撰寫綜合設(shè)計報告的方法。通過對本課題的研究,還可以進一步了解單片機及其應(yīng)用技術(shù)、傳感器等技術(shù)的發(fā)展及研究現(xiàn)狀,緊跟時代脈搏;可以進一步深化理論技術(shù)方面的知識,培養(yǎng)自身實踐動手能力、分析研究及科技創(chuàng)新能力。1.2.2課題研究目的本課題基于單片機原理及其接口技術(shù)、Proteus仿真軟件以及傳感器應(yīng)用等方面技術(shù)來實現(xiàn)對溫度的測量。系統(tǒng)的整體設(shè)計思想是以51單片機為控制核心,采用單線數(shù)字溫度傳感器DS18B20進行溫度數(shù)據(jù)采集,利用單片機獲取被測溫度,實時顯示當前溫度,并與系統(tǒng)報警設(shè)定值進行比較,根據(jù)比較結(jié)果分別實現(xiàn)上下限報警功能。1.3課題研究的內(nèi)容及研究方法系統(tǒng)總體設(shè)計思想是以單片機為控制核心,整個系統(tǒng)硬件部分包括溫度測量部分、顯示部分、鍵盤、報警部分及最小系統(tǒng)基本電路。系統(tǒng)利用單片機獲取溫度傳感器數(shù)據(jù)并與系統(tǒng)設(shè)定值進行比較,根據(jù)結(jié)果判斷是否啟動越限報警裝置。本系統(tǒng)應(yīng)用AT89C51和DS18B20溫度傳感器來設(shè)計,具有抗干擾性好、設(shè)計靈活方便,適用于惡劣的環(huán)境下進行現(xiàn)場溫度測量等優(yōu)點??梢詰?yīng)用在大型工業(yè)及民用常溫多點監(jiān)測場所。如糧食倉儲系統(tǒng)、樓宇自動化系統(tǒng)、溫度控制生產(chǎn)線之溫度影像測量、醫(yī)療與健診的溫度測試、空調(diào)系統(tǒng)的溫度測量等等。1.4論文結(jié)構(gòu)安排論文整體分為七大部分,分別是緒論、基礎(chǔ)知識、硬件設(shè)計、軟件設(shè)計、系統(tǒng)調(diào)試、結(jié)論和參考文獻。緒論中簡要的說明論文研究工作的緣起、背景、目的、意義等,與本研究相關(guān)領(lǐng)域的研究現(xiàn)狀、成果以及本設(shè)計預(yù)期的實現(xiàn)效果等。基礎(chǔ)知識部分是對于此次設(shè)計中用到的有關(guān)方面的知識做以簡要的介紹,使論文內(nèi)容更加充實結(jié)構(gòu)緊湊。硬件設(shè)計部分是本次設(shè)計的核心部分,它羅列出了本次設(shè)計系統(tǒng)中的各個模塊,對于每部分的功能也做了詳細介紹,并且每個單元模塊都附有圖片,這樣使得整篇論文的可讀性得以提高,使讀者更容易理解每個單元模塊的功能。軟件設(shè)計模塊主要是每個單元模塊的流程圖及相關(guān)思路介紹,因為整個的C程序太過冗長,所以論文中沒有詳細羅列。第五部分是系統(tǒng)的調(diào)試部分,這部分簡要的介紹了系統(tǒng)在調(diào)試時候的注意事項和調(diào)試過程中所遇到的問題。第六部分是本篇設(shè)計的結(jié)尾部分,這里總結(jié)了整個系統(tǒng)設(shè)計過程中所學所感,所遇到的問題,所解決的問題,是對于整個畢業(yè)設(shè)計過程的總結(jié)和體會。接下來的第七部分是參考文獻部分,這部分列舉了本篇論文撰寫過程中參考的書籍,期刊雜志等文獻。2基礎(chǔ)知識介紹2.1單片機簡介2.1.1單片機技術(shù)的發(fā)展所謂單片機(m1crocontroller)是指在一個集成芯片中,集成微處理器(CPU)、存儲器、基本的I/O接口以及定時/計數(shù)、通信部件,即在一個芯片上實現(xiàn)一臺微型計算機的基本功能。1970年微型計算機研制成功之后,隨著就出現(xiàn)了單片機(即單芯片微型計算機)。美國Intel公司1971年生產(chǎn)的4位單片機4004和1972年生產(chǎn)的雛形8位單片機8008,特別是1976年MCS-48單片機問世以來,在短短的二十幾年間,經(jīng)歷了四次更新?lián)Q代,其發(fā)展速度大約每二、三年要更新一代、集成度增加一倍、功能翻一番。其發(fā)展速度之快、應(yīng)用范圍之廣,已達到了驚人的地步,它已滲透到生產(chǎn)和生活的各個領(lǐng)域。盡管目前單片機的品種很多,但其中最具典型性的當數(shù)Intel公司的MCS-51系列單片機。MCS-51是在MCS-48的基礎(chǔ)上于80年代初發(fā)展起來的,雖然它仍然是8位的單片機,但其功能有很大的增強。由于PHILIPS、ATMEL、WELBORD、LG等近百家IC制造商都主產(chǎn)51系列兼容產(chǎn)品,具有品種全、兼容性強、軟硬件資料豐富等特點。因此,MCS-51應(yīng)用非常廣泛,成為繼MCS-48之后最重要的單片機品種。直到現(xiàn)在MCS-51仍不失為單片機中的主流機型。國內(nèi)尤以Intel的MCS-51系列單片機應(yīng)用最廣。由于8位單片機的高性能價格比,估計近十年內(nèi),8位單片機仍將是單片機中的主流機型。2.1.2單片機技術(shù)的應(yīng)用隨著計算機技術(shù)的發(fā)展和在控制系統(tǒng)中的廣泛應(yīng)用,以及設(shè)備向小型化、智能化方向發(fā)展,作為高新技術(shù)之一的單片機以其體積小、功能強、價格低廉、使用靈活等優(yōu)勢,顯示出很強的生命力。它和一般的集成電路相比有較好的抗干擾能力,對環(huán)境的溫度和濕度都有較好的適應(yīng)性,可以在復雜工業(yè)條件下穩(wěn)定工作。且單片機廣泛地應(yīng)用于各種儀器儀表,使儀器儀表智能化,提高它們的測量速度和測量精度,加強控制功能。如MCS-51系列單片機控制的“船舶航行狀態(tài)自動記錄儀”、“煙葉水分測試儀”、“智能超聲波測厚儀”等。單片機也廣泛地應(yīng)用于實時控制系統(tǒng)中,例如對工業(yè)上各種窯爐的溫度、酸度、化學成分的測量和控制。將測量技術(shù)、自動控制技術(shù)和單片機技術(shù)相結(jié)合,充分發(fā)揮其數(shù)據(jù)處理功能和實時控制功能,使系統(tǒng)工作處于最佳狀態(tài),提高系統(tǒng)的生產(chǎn)效率和產(chǎn)品質(zhì)量。從航空航天、地質(zhì)石油、冶金采礦、機械電子、輕工紡織等行業(yè)的分布系統(tǒng)與智能控制以及機電一體化設(shè)備和產(chǎn)品,到郵電通信、日用設(shè)備和器械,單片機都發(fā)揮了巨大作用。其應(yīng)用大致可分為以下幾方面:A機電一體化設(shè)備的控制核心機電一體化是機械設(shè)備發(fā)展的方向。單片機的出現(xiàn)促進了機電一體化技術(shù)的發(fā)展,它作為機電產(chǎn)品的控制器,充分發(fā)揮其自身優(yōu)點,大大強化了機器的功能,提高了機器的自動化、智能化程度。最典型的機電產(chǎn)品機器人,每個關(guān)節(jié)或動作部位都是一個單片機控制系統(tǒng)。B數(shù)據(jù)采集系統(tǒng)的現(xiàn)場采集單元大型數(shù)據(jù)采集系統(tǒng),要求數(shù)據(jù)采集的同步性和實時性要好。使用單片機作為系統(tǒng)的前端采集單元,由主控計算機發(fā)出采集命令,再將采集到的數(shù)據(jù)逐一送到主計算機中進行處理。如有些氣象部門、油田采油部門以及電廠等均可采用這樣的系統(tǒng)。C分布控制系統(tǒng)的前端控制器在直接控制級的計算機分布控制系統(tǒng)(DCS)中,單片機作為過程控制中每一分部操作或控制的控制器,進行數(shù)據(jù)采集、反饋計算、控制輸出,并在上位機命令的指揮下進行相應(yīng)協(xié)調(diào)工作。D智能化儀表的機芯自動化儀表的智能化程度越來越高。采用單片機的智能化儀表可具有自整定、自校正、自動補償和自適應(yīng)功能,還可進行數(shù)字PID調(diào)節(jié),軟件消除電流熱噪聲等等,解決傳統(tǒng)儀表所不能解決的難題。單片機的應(yīng)用使這種性能如虎添翼,如自動計費電度表、燃氣表中已有這方面的應(yīng)用。許多工業(yè)儀表中的智能流量計,氣體分析儀、成分分析儀等也采用了這項技術(shù)。甚至有的保健治療儀中也采用了單片機控制。E消費類電子產(chǎn)品控制該應(yīng)用主要反映在家電領(lǐng)域,如洗衣機、空調(diào)器、保安系統(tǒng)、VCD視盤機、電子秤、IC卡、手機等。這些設(shè)備中使用了單片機機芯后,大大提高了其控制功能和性能,并實現(xiàn)了智能化、最優(yōu)化控制。F終端及外圍設(shè)備控制計算機網(wǎng)絡(luò)終端設(shè)備,如銀行終端、商業(yè)POS(自動收款機)以及計算機外圍設(shè)備如打印機、通信終端和智能化UPS等。在這些設(shè)備中使用單片機,使其具有計算、存儲、顯示、輸入等功能,具有和計算機連接的接口,使計算機的能力及應(yīng)用范圍大大提高。2.2AT89C51簡介AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。2.2.1AT89C51主要特性(1)與MCS-51兼容(2)4K字節(jié)可編程FLASH存儲器(3)壽命:1000寫/擦循環(huán)(4)數(shù)據(jù)保留時間:10年(5)全靜態(tài)工作:0Hz-24MHz(6)三級程序存儲器鎖定(7)128×8位內(nèi)部RAM(8)32個可編程I/O口線(9)兩個16位定時器/計數(shù)器(10)5個中斷源(11)可編程串行通道(12)低功耗的閑置和掉電模式(13)片內(nèi)振蕩器和時鐘電路2-1AT89C1單片機引腳圖2.2.2AT89C51管腳說明(1)VCC:供電端,提供單片機工作所需電源。(2)GND:接地端。(3)P0口:P0口為一個8位漏級開路雙向I/O口,每腳可接收8個TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時P0輸出原碼,此時P0外部必須接上拉電阻。(4)P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。(5)P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用做外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫數(shù)據(jù)時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。(6)P3口:P3口管腳是8個帶著內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流,這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口如表2-1所示;P3口同時為閃爍編程和編程校驗接收一些控制信號。(7)RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。表2-1P3口特殊功能口管腳備選功能P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2/INT0外部中斷0P3.3/INT1外部中斷1P3.4T0記時器0外部輸入P3.5T1記時器1外部輸入P3.6/WR外部數(shù)據(jù)存儲器寫選通P3.7/RD外部數(shù)據(jù)存儲器讀選通(8)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指令期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。(9)/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端口保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。(10)XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。(11)XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.3DS18B20簡介DS18B20是美國DALLAS半導體公司繼DS1820之后最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75ms和750ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根接口線讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。它在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較DS1820有了很大的改進,給用戶帶來了更方便的使用和更令人滿意的效果。2.3.1DS18B20的結(jié)構(gòu)和特點ADS18B20的外形及管腳排列如下圖2-3:圖2-3DS18B20引腳圖BDS18B20內(nèi)部結(jié)構(gòu)組成DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。(1)64位光刻ROM。開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗碼,這也是多個DS18B20可以采用一線進行通信的原因。圖2-4DS18B20內(nèi)部結(jié)構(gòu)(2)非揮發(fā)的溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限值。(3)高速暫存存儲,可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的E2PRAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2-4所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的內(nèi)部存儲器結(jié)構(gòu)和字節(jié)定義如表2-2所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。Byte0溫度測量值LSB(50H)Byte1溫度測量值MSB(50H)E2PROMByte2TH高溫寄存器TH高溫寄存器Byte3TL低溫寄存器----TL低溫寄存器Byte4配位寄存器----配位寄存器Byte5預(yù)留(FFH)Byte6預(yù)留(0CH)Byte7預(yù)留(IOH)Byte8循環(huán)冗余碼校驗(CRC)圖2-5DS18B20內(nèi)部存儲器結(jié)構(gòu)DS18B20出廠時該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率,如圖2-6。表2-2DS18B20字節(jié)定義TMR0R100011111由表2-3可見,分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625℃當符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉(zhuǎn)換為十進制;當符號位S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。表2-4是一部分溫度值對應(yīng)的二進制溫度數(shù)據(jù)。表2-3DS18B20溫度轉(zhuǎn)換時間表R1R0分辨率/位溫度最大轉(zhuǎn)向時間/ms00993.750110187.510113751112750表2-4部分溫度對應(yīng)值表溫度/℃二進制表示十六進制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.51111111111110000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90H(4)CRC的產(chǎn)生在64位ROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗碼(CRC)。主機根據(jù)ROM的前56位來計算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機收到的ROM數(shù)據(jù)是否正確。另外,由于DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按協(xié)議進行。操作協(xié)議為:初使化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。CDS18B20的特點(1)適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。(3)DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(5)溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃(6)可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625(7)在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字。(8)測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。(9)負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。2.3.2DS18B20工作原理ADS18B20的工作時序根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:(1)每一次讀寫之前都必須要對DS18B20進行復位;(2)復位成功后發(fā)送一條ROM指令;(3)最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作。復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待15~60微秒左右后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。其工作時序包括初始化時序、寫時序和讀時序,具體工作方法如圖2-7、2-8、2-9所示。初始化時序圖2-7初始化時序總線上的所有傳輸過程都是以初始化開始的,主機響應(yīng)應(yīng)答脈沖。應(yīng)答脈沖使主機知道,總線上有從機設(shè)備,且準備就緒。主機輸出低電平,保持低電平時間至少480us,以產(chǎn)生復位脈沖。接著主機釋放總線,4.7KΩ上拉電阻將總線拉高,延時15~60us,并進入接受模式,以產(chǎn)生低電平應(yīng)答脈沖,若為低電平,再延時480us。寫時序圖2-8寫時序?qū)憰r序包括寫0時序和寫1時序。所有寫時序至少需要60us,且在2次獨立的寫時序之間至少需要1us的恢復時間,都是以總線拉低開始。寫1時序,主機輸出低電平,延時2us,然后釋放總線,延時60us。寫0時序,主機輸出低電平,延時60us,然后釋放總線,延時2us[8]。(3)讀時序圖2-9讀時序總線器件僅在主機發(fā)出讀時序是,才向主機傳輸數(shù)據(jù),所以,在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便從機能夠傳輸數(shù)據(jù)。所有讀時序至少需要60us,且在2次獨立的讀時序之間至少需要1us的恢復時間。每個讀時序都由主機發(fā)起,至少拉低總線1us。主機在讀時序期間必須釋放總線,并且在時序起始后的15us之內(nèi)采樣總線狀態(tài)。主機輸出低電平延時2us,然后主機轉(zhuǎn)入輸入模式延時12us,然后讀取總線當前電平,然后延時50us。BROM操作命令當主機收到DSl8B20的響應(yīng)信號后,便可以發(fā)出ROM操作命令之一,這些命令如表2-5CDS18B20的測溫原理每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM中。主機在進入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號讀出。程序可以先跳過ROM,啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)。表2-5ROM操作命令指令約定代碼功能讀ROM33H讀DS18B20ROM中的編碼符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單線總線上與該編碼相對應(yīng)的DS18B20使之作出響應(yīng),為下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROM地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片工作。告警搜索命令0ECH執(zhí)行后,只有溫度超過設(shè)定值上限或者下限的片子才做出響應(yīng)溫度變換44H啟動DS18B20進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500MS,結(jié)果存入內(nèi)部9字節(jié)RAM中讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的第3,4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟讀命令之后,是傳送兩字節(jié)的數(shù)據(jù)復制暫存器48H將E2PRAM中第3,4字節(jié)內(nèi)容復制到E2PRAM中重調(diào)E2PRAM0BBH將E2PRAM中內(nèi)容恢復到RAM中的第3,4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1”DS18B20的測溫原理如圖2-10,低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,高溫度系數(shù)晶振隨溫度變化其震減法計數(shù)器減法計數(shù)器1斜坡累加器減到0減法計數(shù)器2預(yù)置低溫度系數(shù)振蕩器高溫度系數(shù)振蕩器計數(shù)比較器預(yù)置溫度寄存器減到0圖2-10測溫原理圖蕩頻率圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是DS18B20的測溫原理。另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。2.4Proteus軟件簡介Proteus軟件是由英國LabCenterElectronics公司開發(fā)的EDA工具軟件。它不僅能夠仿真模擬、數(shù)字電路以及模數(shù)混合電路,更具特色的是Proteus能夠仿真基于單片機的電子系統(tǒng)。Proteus不但完全支持MCS-51及其派生系列單片機的設(shè)計系統(tǒng),另外也能仿真基于AVR和PIC系列的單片機系統(tǒng)。Proteus軟件可以提供的模擬、數(shù)字、交流和直流等元器件庫多達30多個,共計數(shù)千種元器件。此外,對于元件庫中沒有的器件,使用者也可以依照自己的需要自行創(chuàng)建。在軟件調(diào)試方面,Proteus自身只帶有匯編編譯器,不支持C語言,但可以與KeilC51集成開發(fā)環(huán)境連接,將用匯編和C語言編寫的程序編譯好之后,可以進行軟硬件結(jié)合的系統(tǒng)仿真,像使用仿真器一樣來調(diào)試程序。Proteus運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。2.4.1Proteus特點(1)實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51uVision2、MPLAB等軟件。(4)具有強大的原理圖繪制功能??傊?該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。3硬件設(shè)計3.1硬件系統(tǒng)設(shè)計思想本系統(tǒng)設(shè)計主要包括單片機最小系統(tǒng)、溫度測量模塊、溫度顯示模塊、按鍵控制和報警模塊。通過這幾個模塊的協(xié)調(diào)工作就可以完成相應(yīng)的溫度測量和顯示功能。系統(tǒng)設(shè)計總體方框圖如圖所示。溫度測量溫度測量模塊AT89C51顯示模塊顯示模塊報警模塊報警模塊鍵盤模塊鍵盤模塊圖3-1系統(tǒng)結(jié)構(gòu)框圖3.2單片機最小系統(tǒng)單片機的最小系統(tǒng)是由組成單片機系統(tǒng)必需的一些元件構(gòu)成的,除了單片機之外,還需要包括電源供電電路、時鐘電路、復位電路。下面著重介紹時鐘電路和復位電路。圖3-2時鐘和復位電路圖 3.2.1時鐘電路單片機工作時,從取指令到譯碼再進行微操作,必須在時鐘信號控制下才能有序地進行,時鐘電路就是為單片機工作提供基本時鐘的。單片機的時鐘信號通常有兩種產(chǎn)生方式:內(nèi)部時鐘方式和外部時鐘方式。內(nèi)部時鐘方式的原理電路如圖3-2所示。在單片機XTAL1和XTAL2引腳上跨接上一個晶振和兩個穩(wěn)頻電容,可以與單片機片內(nèi)的電路構(gòu)成一個穩(wěn)定的自激振蕩器。晶振的取值范圍一般為0~24MHz,常用的晶振頻率有6MHz、12MHz、11.0592MHz、24MHz等。一些新型的單片機還可以選擇更高的頻率。外接電容的作用是對振蕩器進行頻率微調(diào),使振蕩信號頻率與晶振頻率一致,同時起到穩(wěn)定頻率的作用,一般選用20~30pF的瓷片電容。外部時鐘方式則是在單片機XTAL1引腳上外接一個穩(wěn)定的時鐘信號源,它一般適用于多片單片機同時工作的情況,使用同一時鐘信號可以保證單片機的工作同步。時序是單片機在執(zhí)行指令時CPU發(fā)出的控制信號在時間上的先后順序。AT89C51單片機的時序概念有4個,可用定時單位來說明,包括振蕩周期、時鐘周期、機器周期和指令周期。(1)振蕩周期:是片內(nèi)振蕩電路或片外為單片機提供的脈沖信號的周期。時序中1個振蕩周期定義為1個節(jié)拍,用P表示。(2)時鐘周期:振蕩脈沖送入內(nèi)部時鐘電路,由時鐘電路對其二分頻后輸出的時鐘脈沖周期稱為時鐘周期。時鐘周期為振蕩周期的2倍。時序中1個時鐘周期定義為1個狀態(tài),用S表示。每個狀態(tài)包括2個節(jié)拍,用P1、P2表示。(3)機器周期:機器周期是單片機完成一個基本操作所需要的時間。一條指令的執(zhí)行需要一個或幾個機器周期。一個機器周期固定的由6個狀態(tài)S1~S6組成。(4)指令周期:執(zhí)行一條指令所需要的時間稱為指令周期。一般用指令執(zhí)行所需機器周期數(shù)表示。AT89C51單片機多數(shù)指令的執(zhí)行需要1個或2個機器周期,只有乘除兩條指令的執(zhí)行需要4個機器周期。了解了以上幾個時序的概念后,我們就可以很快的計算出執(zhí)行一條指令所需要的時間。例如:若單片機使用12MHz的晶振頻率,則振蕩周期=1/(12MHz)=1/12us,時鐘周期=1/6us,機器周期=1us,執(zhí)行一條單周期指令只需要1us,執(zhí)行一條雙周期指令則需要2us。3.2.2復位電路無論是在單片機剛開始接上電源時,還是運行過程中發(fā)生故障都需要復位。復位電路用于將單片機內(nèi)部各電路的狀態(tài)恢復到一個確定的初始值,并從這個狀態(tài)開始工作。單片機的復位條件:必須使其RST引腳上持續(xù)出現(xiàn)兩個(或以上)機器周期的高電平。單片機的復位形式:上電復位、按鍵復位。上電復位和按鍵復位電路如圖3-2所示。上電復位電路中,利用電容充電來實現(xiàn)復位。在電源接通瞬間,RST引腳上的電位是高電平(Vcc),電源接通后對電容進行快速充電,隨著充電的進行,RST引腳上的電位也會逐漸下降為低電平。只要保證RST引腳上高電平出現(xiàn)的時間大于兩個機器周期,便可以實現(xiàn)正常復位。按鍵復位電路中,當按鍵沒有按下時,電路同上電復位電路。如在單片機運行過程中,按下RESET鍵,已經(jīng)充好電的電容會快速通過200Ω電阻的回路放電,從而使得RST引腳上的電位快速變?yōu)楦唠娖?,此高電平會維持到按鍵釋放,從而滿足單片機復位的條件實現(xiàn)按鍵復位。3.3溫度測量模塊本設(shè)計使用了4片DS18B20溫度傳感器,可以實現(xiàn)同時測量四路溫度的功能,通過一條總線DQ與AT89C51單片機P1.0口連接,實現(xiàn)數(shù)據(jù)通訊。DS18B20可采用自供電和外供電兩種供電方式,本設(shè)計采用外供電的方式,把四個DS18B20傳感器的VCC端口串聯(lián),接外界+5V電源。溫度傳感器的GND端分別接地。圖3-3溫度測量模塊3.4按鍵設(shè)置模塊圖3-4按鍵模塊本設(shè)計應(yīng)用了四個按鍵,分別是K1、K2、K3、K4,并且分別與單片機的P1.2、P1.3、P1.4和P1.5相連接。K1和K2的功能分別是加1減1;K3是設(shè)置按鍵;K4是確定按鍵。系統(tǒng)正常工作時,顯示界面LCD循環(huán)顯示四個溫度傳感器的測量數(shù)據(jù),當要求改變溫度的報警值上下限時,點擊按鍵“設(shè)置”,顯示界面LCD會切換至已設(shè)置當前的上下限溫度值的上限值,并且伴隨光標閃動,表明可修改狀態(tài);接下來點擊加1或者減1按鍵,從而修改到要求的上限值;當要求修改下限值時,只要在修改上限的界面再點擊一下“確定”按鍵,光標即會跳轉(zhuǎn)到當前下限值處,并伴隨閃動,進入可以修改狀態(tài)。當修改完成后,點擊“確定”鍵系統(tǒng)即完成了修改儲存,在新修改的上下限條件下繼續(xù)工作,并且顯示界面LCD會切換回四路溫度循環(huán)顯示的界面。3.5顯示模塊液晶顯示器是一種將液晶顯示器件,連接器件,集成電路,PCB線路板,背光源,結(jié)構(gòu)器件裝配在一起的組件。根據(jù)顯示內(nèi)容和方式的不同可以分為,數(shù)顯LCD,點陣字符LCD,點陣圖形LCD在此設(shè)計中我們采用點陣字符LCD,這里采用常用的2行16個字的1602液晶模塊。3.5.1LM016L顯示原理DDRAM就是顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼。共80個字節(jié),其地址和屏幕的對應(yīng)關(guān)系如下表:表3-1顯示地址顯示位置1234567……40DDRAM地址第一行00H01H02H03H04H05H06H……27H第二行40H41H42H43H44H45H46H……67H也就是說想要在LM016L屏幕的第一行第一列顯示一個"A"字,就要向DDRAM的00H地址寫入“A”字的代碼就行了。但具體的寫入是要按LCD模塊的指令格式來進行的。那么一行有40個地址,但在LCD中我們就用前16個就行了。第二行也一樣用前16個地址。對應(yīng)如下表3-2:表3-2DDRAM地址與顯示位置的對應(yīng)關(guān)系“A”字的對應(yīng)上面高位代碼為0100,對應(yīng)左邊低位代碼為0001,合起來就是01000001,也就是41H。可見它的代碼與我們PC中的字符代碼是基本一致的。因此我們在向DDRAM寫C51字符代碼程序時甚至可以直接用P1='A'這樣的方法。PC在編譯時就把“A”先轉(zhuǎn)為41H代碼了。3.5.2LCDLM016L引腳定義LM016L采用標準的14腳接口,其中:圖3-5LCD引腳圖第1腳:VSS為電源地;第2腳:VDD接5V正電源;第3腳:VEE為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度;第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器;第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀指令,當RS為高電平RW為低電平時可以寫入數(shù)據(jù);第6腳:E端為使能端,當E端為高電平時讀取信息,由高電平跳變成低電平時,液晶模塊執(zhí)行命令;第7~14腳:D0~D7為8位雙向數(shù)據(jù)線;3.5.3LCD顯示電路LCD與單片機的連接如圖3-6所示。溫度測量系統(tǒng)中,AT89S51單片機的并口P0與LCD的8位雙向數(shù)據(jù)線相連接,通過并口輸入或輸出數(shù)據(jù)或指令,從而實現(xiàn)溫度顯示功能,基本操作時序如下。圖3-6液晶顯示電路圖讀狀態(tài)輸入:RS=L,RW=H,E=H輸出:DB0~DB7=狀態(tài)字寫指令輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼輸出:無讀數(shù)據(jù)輸入:RS=H,RW=H,E=H輸出:DB0~DB7=數(shù)據(jù)寫數(shù)據(jù)輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)輸出:無把8根數(shù)據(jù)線和P0口連接,把3根控制線和P2.0、P2.1、P2.2連接。給VCC端加上+5V的電壓,GND端接地。VEE端的驅(qū)動電壓不要過大,要調(diào)節(jié)滑動變阻器使VEE在0.7伏以下顯示器才能工作。3.6報警模塊本設(shè)計采用兩個LED燈和一個蜂鳴器來實現(xiàn)溫度的越限報警。當系統(tǒng)處于正常工作狀態(tài)時,綠色LED指示燈常亮,表明系統(tǒng)正常運行;當系統(tǒng)發(fā)生越限時,紅色LED指示燈常亮,綠色熄滅,蜂鳴器發(fā)出聲音,以此燈光音響報警來表明溫度越限。蜂鳴器的高電平處設(shè)置有手動解除音響按鈕,當系統(tǒng)發(fā)出報警時,運行人員可以根據(jù)需要手動結(jié)束音響效果。圖3-7報警模塊4軟件設(shè)計4.1系統(tǒng)軟件設(shè)計思想本系統(tǒng)軟件部分主要包括主程序、DS18B20測溫模塊程序、LCD顯示程序、按鍵設(shè)置程序報警程序等。主程序是系統(tǒng)的監(jiān)控程序,在程序運行的過程中必須先經(jīng)過初始化,包括鍵盤程序,中斷程序,以及各個控制端口的初始化工作。系統(tǒng)在初始化完成后就進入溫度測量程序,實時的測量當前的溫度,并與設(shè)定的報警溫度上、下限值進行比較,信息通過LCD顯示出來。程序中以查詢的方式來重新設(shè)定溫度的上下限。根據(jù)硬件設(shè)計完成對溫度的監(jiān)測。按下鍵盤上的設(shè)置鍵可以設(shè)置新的溫度上、下限值。開始LCD開始LCD初始化寫入報警上下限值復位顯示ERROMDS18B20存在否?NY溫度超上下限?讀取溫度數(shù)據(jù)按鍵掃描結(jié)束轉(zhuǎn)換、顯示顯示OKNY。溫度達到上限?溫度達到上限?報警LED亮LED亮溫度達到下限?報警YYUNNNN 圖4-1系統(tǒng)流程圖4.2測溫模塊程序首先DS18B20初始化,復位DS18B20,然后單片機等待DS18B20的應(yīng)答脈沖。一旦單片機測量到應(yīng)答脈沖,便發(fā)起跳過ROM匹配操作命令。成功執(zhí)行了ROM操作命令后,就可以使用內(nèi)存操作命令,啟動溫度轉(zhuǎn)換,延時一段時間后,等待溫度轉(zhuǎn)換完成。再發(fā)起跳過ROM匹配操作命令,然后讀暫存器,將轉(zhuǎn)換結(jié)果讀出,并轉(zhuǎn)為顯示碼,送到液晶顯示。DS18B20模塊程序流程圖如圖4-2所示。啟動溫度轉(zhuǎn)換啟動溫度轉(zhuǎn)換讀取溫度溫度處理跳過ROM匹配DS18B20復位跳過ROM匹配DS18B20復位圖4-2DS18B20模塊程序流程圖4.3顯示模塊程序首先對LCD液晶顯示器進行初始化,按鍵復位后,延時15ms,進行初始化設(shè)置,依次為顯示關(guān)閉、顯示清屏、顯示光

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論