基于protues多點數(shù)字溫度計畢業(yè)設(shè)計_第1頁
基于protues多點數(shù)字溫度計畢業(yè)設(shè)計_第2頁
基于protues多點數(shù)字溫度計畢業(yè)設(shè)計_第3頁
基于protues多點數(shù)字溫度計畢業(yè)設(shè)計_第4頁
基于protues多點數(shù)字溫度計畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEIII畢業(yè)設(shè)計(論文)說明書多點數(shù)字溫度計設(shè)計摘要在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn),能夠獨立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。這里設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點。本次多點數(shù)字溫度計設(shè)計采用AT89C51單片機作為控制核心,使用閘刀開關(guān)設(shè)計控制電路,采用DS18B20溫度傳感器采集溫度,結(jié)合LCD顯示屏和74HC00芯片實現(xiàn)溫度的數(shù)字顯示。硬件電路設(shè)計主要包括中央處理單元電路、閘刀開關(guān)電路以及溫度收集電路。軟件程序設(shè)計則采用匯編語言實現(xiàn)。本設(shè)計的測量溫度范圍為0°C到70°C、采集的溫度分辨率為0.1°C以及能顯示10個溫度探測點的當(dāng)前采集溫度。實現(xiàn)了采集和顯示10個溫度探測點的當(dāng)前溫度的功能,達(dá)到了設(shè)計的要求和目的,并在Proteus軟件上進(jìn)行了仿真和調(diào)試。關(guān)鍵詞:數(shù)字溫度計;AT89C51;74HC00AbstractInhumanlifeenvironment,thetemperatureisplayinganextremelyimportantrole.Nomatterwhereyoulive,engagedinanywork,ever-presentandtemperaturedealtwith.Sincetheeighteenthcenturysincetheindustrialrevolution,industrialdevelopmenttowhethercanmasterhasabsolutetemperatureofcontact.Inmetallurgy,steel,petrochemical,cement,glass,medicineindustryandsoon,itcanbesaidthatalmost80%ofindustrialdepartmenthavetoconsiderthefactorsoftemperature.Withtherapiddevelopmentofmoderninformationtechnologyandtraditionalindustrialtransformationgraduallyrealize,abletoworkindependentlytemperaturedetectionanddisplaysystemappliedtomanyfields.Alongwiththerapiddevelopmentofmoderninformationtechnologyandtraditionalindustrialtransformationgraduallyrealize,abilitytoworkindependentlytemperaturedetectionanddisplaysystemappliedtomanyfields.Hereisthethermometerdesigneddigitalreadoutsconvenient,temperaturemeasuringrange,temperaturemeasurementprecision,digitaldisplay,wideapplicationscope,etc.ThemoredigitalthermometerdesignusetheAT89C51microcontrollerascontrolcore,usetheknifeswitchdesignthecontrolcircuit,usethetemperaturesensorDS18B20collectiontemperature,combinedwithLCDscreenand74HC00chiprealizetemperatureofthedigitaldisplay.Hardwarecircuitdesignincludesthecentralprocessingunitcircuit,theknifeswitchcircuit,andthetemperaturecollectcircuit.Softwareprogramdesignisrealizedbyassemblylanguage.Thisdesignofmeasuringtemperaturerangeof0℃to70℃,acquisitionofthetemperatureresolutionforthe0.1°C,andcanindicatethat10ofthecurrentcollectiontemperaturedetectionpointtemperature.Realizetheacquisitionanddisplaytemperaturedetectionpointof10currentofthefunctionKeywords:Digitalthermometer;AT89C51;74HC00目錄摘要 IAbstract II第一章緒論 11.1設(shè)計背景 11.2數(shù)字溫度計設(shè)計方案論證 11.2.1方案一 11.2.2方案二 21.3方案二的總體設(shè)計框圖 2第二章主要元器件介紹 32.1AT89C51的性能介紹 32.1.1AT89C51的主要特性 32.1.2AT89C51的管腳說明 32.1.3振蕩器特性 52.1.4芯片擦除 52.2DS18B20數(shù)字溫度傳感器概述 62.2.1DS18B20的基本情況 62.2.2DS18B20的性能特點 62.2.3DS18B20的內(nèi)部結(jié)構(gòu) 72.2.4DS18B20數(shù)據(jù)輸出格式 92.2.5DS18B20的相關(guān)命令 10第三章硬件設(shè)計 123.1中央處理單元電路 12使用AT89C51單片機作為這部分電路的主要元器件,從DS18B20溫度傳感器電路和閘刀開關(guān)電路接收信號,并向LCD顯示電路發(fā)送信號。 123.2DS18B20溫度傳感器采集溫度電路 133.3閘刀開關(guān)電路 133.4LCD溫度數(shù)字顯示電路 14第四章軟件設(shè)計 154.1主程序流程圖 15主程序流程圖如圖4.1所示。 154.2DS18B20子程序流程圖 164.3讀取溫度子程序流程圖 16第五章仿真軟件 175.1PROTEUS仿真軟件介紹 175.2ProteusISIS智能原理圖輸入系統(tǒng) 175.3ProteusISIS的界面和功能介紹 18第六章仿真調(diào)試與系統(tǒng)測試 216.1仿真調(diào)試 216.1.1繪制仿真原理圖如6.1所示: 216.2系統(tǒng)調(diào)試 216.3仿真 236.1.3開始仿真 23結(jié)束語 24參考文獻(xiàn) 25致謝 26附錄1元器件清單 27表附錄1元器件清單表 27附錄2程序 28PAGE29第一章緒論1.1設(shè)計背景 在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。溫度對于工業(yè)如此重要,由此推進(jìn)了溫度傳感器的發(fā)展。傳感器主要大體經(jīng)過了三個發(fā)展階段:模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時并不受微處理器的控制,這是二者的主要區(qū)別;智能溫度傳感器。能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。智能溫度傳感器的特點是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。1.2數(shù)字溫度計設(shè)計方案論證1.2.1方案一由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來。但是,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。1.2.2方案二采用DS18B20溫度傳感器和AT89C51單片機電路設(shè)計設(shè)計硬件電路,通過匯編程序?qū)崿F(xiàn)采集和顯示當(dāng)前溫度。這樣,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計要求。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,故采用了方案二。1.3方案二的總體設(shè)計框圖根據(jù)方案二的設(shè)計,多點數(shù)字溫度計設(shè)計的電路設(shè)計總體方框圖如圖1.1所示。使用AT89C51單片機作為控制核心,用LCD顯示屏來實現(xiàn)溫度的數(shù)字顯示。圖1.1結(jié)構(gòu)框圖第二章主要元器件介紹2.1AT89C51的性能介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。2.1.1AT89C51的主要特性●與MCS-51兼容●4K字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年●全靜態(tài)工作:0Hz-24Hz●三級程序存儲器鎖定●128*8位內(nèi)部RAM●32可編程I/O線●兩個16位定時器/計數(shù)器●5個中斷源●可編程串行通道●低功耗的閑置和掉電模式●片內(nèi)振蕩器和時鐘電路2.1.2AT89C51的管腳說明VCC:供電電壓。

GND:接地。

P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。

P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。

P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。

P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表(表2-1)所示:表2-1AT89C51的特殊功能口口管腳備選功能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ù)存儲器讀選通P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.1.3振蕩器特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.1.4芯片擦除整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。2.2DS18B20數(shù)字溫度傳感器概述2.2.1DS18B20的基本情況Dallas公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器,具有以下基本特性:●只要有一個I/O引腳即可實現(xiàn)溫度的采集,實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫;●測量溫度范圍為-55℃~+125●數(shù)字溫度計的分辨率用戶可以從9位到12位選擇,精度為±0.5℃●內(nèi)部有E2PROM,用戶可以進(jìn)行溫度上、下限報警設(shè)置。2.2.2DS18B20的性能特點●獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊●DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫●DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)●適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電●溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃●零待機功耗●可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫●在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快●用戶可定義報警設(shè)置●報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件●測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力●負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作以上特點使DS18B20非常適用與多點、遠(yuǎn)距離溫度檢測系統(tǒng)。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖2-1所示,DQ為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源;GND為地信號;VDD為可選擇的VDD引腳。當(dāng)工作于寄生電源時,此引腳必須接地。圖2-1DS18B20外部封裝形式2.2.3DS18B20的內(nèi)部結(jié)構(gòu)圖2-2為DS18B20的內(nèi)部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM),用于存儲用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲與控制邏輯、8位循環(huán)冗余校驗碼(CRC)發(fā)生器等七部分。DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2-2所示:圖2-2DS18B20的內(nèi)部結(jié)構(gòu)圖64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進(jìn)行通信的原因。溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2-3所示。圖2-364位閃速ROM的結(jié)構(gòu)DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2-4所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置寄存器(圖2-5),它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.3所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。圖2-4DS18B20溫度傳感器的內(nèi)部存儲器圖2-5配置寄存器由表2-2可見,DS18B20溫度轉(zhuǎn)換的時間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。表2-2DS18B20溫度轉(zhuǎn)換時間表R1R0分辨率/位溫度最大轉(zhuǎn)換時間/ms00993.750110187.5101137511127502.2.4DS18B20數(shù)據(jù)輸出格式DS18B20讀出的溫度結(jié)果的數(shù)據(jù)為兩字節(jié),用16位符號擴展的二進(jìn)制補碼讀數(shù)形式提供。因此,在系統(tǒng)中要將得到溫度值數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,才能用于顯示。這兩字節(jié)的數(shù)據(jù)格式如圖2-6所示。圖2-6DS18B20的數(shù)據(jù)格式高8位中的高5位是符號位,表示溫度是零上還是零下。高8位中的低3位D6、D5、D4和低8位中的高4位D3、D2、D1、D0構(gòu)成溫度的整數(shù)部分。低8位中的D-1、D-2、D-3、D-4為溫度的小數(shù)部分(為0.5+0.25+0.125+0.0625)。表2-3是幾個溫度值的格式舉例。表2-3幾個溫度值的格式舉例溫度二進(jìn)制表示十六進(jìn)制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90HDS18B20上電復(fù)位時的溫度值固定為0550H(85℃)2.2.5DS18B20的相關(guān)命令首先要對DS18B20進(jìn)行初始化,由主機發(fā)出的復(fù)位脈沖和跟在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。當(dāng)DS18B20發(fā)出響應(yīng)主機的應(yīng)答脈沖時,即向主機表明DS18B20已處在總線上并且準(zhǔn)備工作。ROM命令ROM命令通過每個器件64位的ROM碼,使主機指定某一特定器件(如果有多個器件掛在總線上)與之進(jìn)行通信。相關(guān)命令如表2-4所列。表2-4ROM命令命令描述協(xié)議此命令發(fā)出后總線上的活動SEARCHROM識別總線上掛著的所有DS18B20的ROM碼F0H所有DS18B20向主機傳送ROM碼READROM當(dāng)只有一個DS18B20掛在總線上時,可用此命令來讀取ROM碼33HDS18B20向主機傳送ROM碼MATCHROM主機用ROM碼來指定某一DS18B20,只有匹配的DS18B20才會響應(yīng)55H主機向總線傳送一個ROM碼SKIPROM用于指定總線上所有的器件CCHALARMSEARCH與SEARCHROM命令類似,但只有溫度超出警報線的DS18B20才會響應(yīng)ECH超出警報線的DS18B20向主機傳送ROM碼(2)功能命令主機通過功能命令對DS18B20的Scratchpad存儲器進(jìn)行讀/寫。或者啟動溫度轉(zhuǎn)換,如表2-5所列。表2-5功能命令命令描述協(xié)議此命令發(fā)出后總線上的活動ConvertT開始溫度轉(zhuǎn)換44HDS18B20向主機傳送轉(zhuǎn)換狀態(tài)READScratchpad讀暫存器完整的數(shù)據(jù)BEHDS18B20向主機傳送總共9位字節(jié)的數(shù)據(jù)WriteScratchpad向暫存器的2、3和4字節(jié)寫入數(shù)據(jù)(TH,TL和精度)4EH主機向DS18B20傳送3個字節(jié)的數(shù)據(jù)CopyScratchpad將TH、TL和配置寄存器的數(shù)據(jù)復(fù)制到EEPROM48HDS18B20向主機傳送調(diào)用狀態(tài)RecallE2將TH、TL和配置寄存器的數(shù)據(jù)從EEPROM中調(diào)到暫存器中B8HReadPowerSupply向主機示意電源供電狀態(tài)B4HDS18B20向主機傳送供電狀態(tài)第三章硬件設(shè)計系統(tǒng)整體硬件電路包括四個部分:中央處理單元電路(AT89C51)、DS18B20溫度傳感器采集溫度電路、LCD溫度數(shù)字顯示電路和閘刀開關(guān)電路。各部分之間相互協(xié)作,構(gòu)成一個統(tǒng)一的有機整體,實現(xiàn)多點數(shù)字溫度計的功能。各部分的硬件電路設(shè)計如下:3.1中央處理單元電路使用AT89C51單片機作為這部分電路的主要元器件,從DS18B20溫度傳感器電路和閘刀開關(guān)電路接收信號,并向LCD顯示電路發(fā)送信號。圖3.13.2DS18B20溫度傳感器采集溫度電路圖3.1.2DS18B20溫度傳感器采集溫度電路使用DS18B20溫度傳感器采集溫度設(shè)計溫度采集電路,并將采集到的溫度傳送給AT89C51單片機。3.3閘刀開關(guān)電路使用閘刀開關(guān)設(shè)計電路,進(jìn)行溫度傳感器切換,從溫度采集電路接受溫度信號并將信號傳送給AT89C51單片機。圖3.3LCD溫度數(shù)字顯示電路3.4LCD溫度數(shù)字顯示電路使用LCD顯示屏和74HC00芯片設(shè)計LCD溫度數(shù)字顯示電路,經(jīng)接口從AT89C51單片機接收信號,實現(xiàn)溫度數(shù)字的功能。圖3.4LCD溫度數(shù)字顯示電路第四章軟件設(shè)計按照方案設(shè)計要求,在硬件電路的基礎(chǔ)上,進(jìn)行軟件設(shè)計,為增加程序可讀性,可分為以下D個功能模塊:主程序。主程序流程圖如圖4.1所示。子程序。流程圖如圖4.2所示。子程序。流程圖如圖4.3所示。4.1主程序流程圖主程序流程圖如圖4.1所示。圖4.1主程序流程圖4.2DS18B20子程序流程圖圖4.2DS18B20子程序流程圖4.3讀取溫度子程序流程圖圖4.3讀取溫度子程序流程圖第五章仿真軟件5.1PROTEUS仿真軟件介紹Proteus軟件是一款功能強大的電路設(shè)計分析軟件。在利用其進(jìn)行單片機的軟件仿真時,僅僅是使用了其部分功能(如使用其中的ISIS智能原理圖輸入系統(tǒng)來繪制電路原理圖)。因此這里主要介紹該部分的相關(guān)知識。5.2ProteusISIS智能原理圖輸入系統(tǒng)ProteusISIS是Proteus軟件的核心,具有以下特性:出版高質(zhì)量的原理圖:ISIS提供給用戶圖形外觀,包括線寬、填充類型、字符庫等的全部控制,使用戶生成精美的原理圖。畫完圖后可以以圖形文件輸出。良好的用戶界面:用戶只需要單擊元件的引腳或者先前布好的線,就能實現(xiàn)布線。而且擺放、移動和刪除操作能都直接用鼠標(biāo)實現(xiàn),無需去單擊菜單或圖標(biāo)。自動走線:只要單擊想要連接的兩個引腳,就能簡單地實現(xiàn)走線。在特殊的位置需要布線時,只需在中間的角落單擊。自動走線也能在元件移動時操作,自動解決相應(yīng)連線。節(jié)點能夠自動布置和移除,節(jié)約時間,又避免一些可能的錯誤。層次設(shè)計:ISIS支持層次圖設(shè)計,特殊的元件能夠定義為通過電路圖表示的模塊,能夠任意設(shè)定層次。模塊可畫成標(biāo)準(zhǔn)元件,在使用中可放置和刪除端口的子模塊電路??偩€支持:ISIS的元件庫包含8000多個元件,有標(biāo)準(zhǔn)符號、三極管、二極管、CMOS、微處理器、存儲器元件、模擬IC和運算放大器等。ProteusISIS運行于Windows98/2000/XP環(huán)境,對計算機的配置要求不是很高。在運行ProteusISIS的執(zhí)行程序后,先出現(xiàn)一個啟動畫面,隨機進(jìn)入如圖5-1所示的ProteusISIS編輯環(huán)境。圖5.1ProteusISIS的編輯環(huán)境5.3ProteusISIS的界面和功能介紹ProteusISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖5.2所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。圖5.2Proteus窗口界面圖(1)原理圖編輯窗口顧名思義,它是用來繪制原理圖的。藍(lán)色方框內(nèi)為可編輯區(qū),元件要放到它里面。注意,這個窗口是沒有滾動條的,你可用預(yù)覽窗口來改變原理圖的可視范圍。(2)預(yù)覽窗口它可顯示兩個內(nèi)容,一個是:當(dāng)你在元件列表中選擇一個元件時,它會顯示該元件的預(yù)覽圖;另一個是,當(dāng)你的鼠標(biāo)焦點落在原理圖編輯窗口時(即放置元件到原理圖編輯窗口后或在原理圖編輯窗口中點擊鼠標(biāo)后),它會顯示整張原理圖的縮略圖,并會顯示一個綠色的方框,綠色的方框里面的內(nèi)容就是當(dāng)前原理圖窗口中顯示的內(nèi)容,因此,你可用鼠標(biāo)在它上面點擊來改變綠色的方框的位置,從而改變原理圖的可視范圍。(3)模型選擇工具欄主要模型(MainMode:●1選擇元件(coponents(默認(rèn)選擇的)●2放置連接點●3放置標(biāo)簽(用總線時會用到)●4放置文本●5用于繪制總線●6用于放置子電路●7用于即時編輯元件參數(shù)(先單擊該圖標(biāo)再單擊要修改的元件)配件(Gadgets)●1終端接口(teinals有、地、輸出、輸入等接口●2器件引腳:用于繪制各種引腳●3仿真圖表(graph用于各種分析,如NoiseAnalysis●4錄音機●5信號發(fā)生器(generators)●6電壓探針:使用仿真圖表時要用到●7電流探針:使用仿真圖表時要用到●8虛擬儀表:有示波器等2D圖形(2DGraphics)●1畫各種直線●2畫各種方框●3畫各種圓●4畫各種圓弧●5畫各種多邊形●6畫各種文本●7畫符號●8畫原點等元件列表用于挑選元件(components)終端接口(terminals)信號發(fā)生器(generators)仿真圖表(graph)等。舉例,當(dāng)你選擇“元件(components)”單擊“P”按鈕會打開挑選元件對話框,選擇了一個元件后該元件會在元件列表中顯示,以后要用到該元件時,只需在元件列表中選擇即可。(5)方向工具欄旋轉(zhuǎn):旋轉(zhuǎn)角度只能是90的整數(shù)倍。成水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。使用方法:先右鍵單擊元件,再點擊(左擊)相應(yīng)的旋轉(zhuǎn)圖標(biāo)。(6)仿真工具欄仿真控制按鈕●1運行●2單步運行●3暫停●4停止第六章仿真調(diào)試與系統(tǒng)測試6.1仿真調(diào)試6.1.1繪制仿真原理圖如6.1所示:圖6.1仿真原理圖6.2系統(tǒng)調(diào)試1.雙擊單片機出現(xiàn)下圖所示畫面圖6.2-1,在ProgramFile一欄中選取仿真項目的源程序代碼,點擊OK。6.2-1加載源程序圖2.點擊菜單中的“Source”—“BuildAll”,得到如圖6.2-2所示的“BuildLog”。圖6.2-2檢查日志圖6.3仿真6.1.3開始仿真單擊Play按鈕,進(jìn)入仿真狀態(tài),出現(xiàn)下圖4.5所示:圖6.3-1仿真結(jié)果一圖6.3-2仿真結(jié)果二結(jié)束語經(jīng)過幾周的努力,我終于完成了多點數(shù)字溫度計的設(shè)計。本次多點數(shù)字溫度計設(shè)計采用AT89C51單片機作為控制核心,使用閘刀開關(guān)設(shè)計控制電路,采用DS18B20溫度傳感器采集溫度,結(jié)合LCD顯示屏和74HC00芯片實現(xiàn)溫度的數(shù)字顯示,達(dá)到設(shè)計要求和目的。通過這份畢業(yè)設(shè)計,我成長了很多,單片機畢業(yè)設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法。這提高了我編寫軟件程序的能力。同時,本次畢業(yè)設(shè)計也使我對單片機技術(shù)有了更進(jìn)一步的了解。實踐和理論有很大的聯(lián)系,又高于理論。要把課本上所學(xué)的知識跟實際聯(lián)系起來,才能把理論變成實際。本次電路的設(shè)計既鞏固了我從課本上所學(xué)的知識,也使我把理論與實際結(jié)合起來,增強了學(xué)習(xí)的興趣,考驗了我們借助圖書館、互聯(lián)網(wǎng)搜索、查閱相關(guān)資料的綜合能力。這也為我以后從事電子電路設(shè)計、研制電子產(chǎn)品方面的工作奠定了一定的基礎(chǔ)。參考文獻(xiàn)[1]李朝青.單片機原理及接口技術(shù)(簡明修訂版).杭州;北京航空航天大學(xué)出版社,1998[2]李廣弟.單片機基礎(chǔ)[M].北京;北京航空航天大學(xué)出版社,1994[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版).北京;高等教育出版社,1989[4]高衛(wèi)東,辛友順,韓彥征.51單片機原理與實踐[M].北京;北京航空航天大學(xué)出版社,2008致謝在畢業(yè)設(shè)計即將完成之際,我特別感謝xxx老師的熱情關(guān)懷和悉心指導(dǎo)。在我畢業(yè)設(shè)計制作過程中,xxx老師傾注了大量的心血和汗水,無論是在課題的選題、構(gòu)思和資料的收集方面,還是在課題的研究方法以及成文定稿方面,我都得到了xxx老師悉心細(xì)致的教誨和無私的幫助,特別是他廣博的學(xué)識,令我擴展了程序應(yīng)用軟件方面的認(rèn)識,在此表示真誠地感謝和深深的謝意。寫作過程中,也得到了許多同學(xué)的寶貴建議,在此一并致以誠摯的謝意。感謝所有關(guān)心、支持、幫助過我的良師益友。

最后,向在百忙中抽出時間對本文進(jìn)行評審并提出寶貴意見的各位老師表示衷心地感謝!附錄1元器件清單表附錄1元器件清單表物質(zhì)名稱規(guī)格型號數(shù)量(單位)AT89C51單片機AT89C51塊74HC00芯片74HC003塊LCD顯示屏LM016L1塊閘刀開關(guān)一SW-SPDT1個閘刀開關(guān)二SW-SPDT-52個溫度傳感器DS18B2010個附錄2程序DQ BIT P1.0FLAG BIT 00H FLAG_NEG BIT 01HTEMP_L EQU30HTEMP_H EQU 31HTEMP_INT EQU32HTEMP_DP EQU33HTEMP_100 EQU 34HTEMP_10 EQU 35HTEMP_1 EQU 36HWR_LCD BITP3.6;寫LCD函數(shù)RD_LCD BIT P3.7 ORG0000H LJMPSTART ORG1000HSTART: MOVSP,#60H LCALLINITMAIN: LCALLREAD_TEMP LCALLPROC_TEMP LJMPMAIN;*********************************READ_TEMP: SETB DQ;DQ置位進(jìn)位為1 LCALLINI_DQ JB FLAG,RE_0 RETRE_0: MOVA,#0CCH LCALLWRITE_DQ MOVA,#44H LCALLWRITE_DQ LCALLDISPLAY ;調(diào)用lcd顯示程序,并起延時作用 LCALLINI_DQ MOVA,#0CCH LCALLWRITE_DQ MOVA,#0BEH LCALLWRITE_DQ LCALLREAD_DQ RET ;************DS18B20初始化程序***************INI_DQ: SETB DQ;DQ置位進(jìn)位為1 NOP NOP CLR DQ MOV R1,#3INI_0: MOV R0,#80 DJNZ R0,$ DJNZ R1,INI_0 SETB DQ;DQ置位進(jìn)位為1 NOP NOP NOP MOV R7, #25INI_1:JNB DQ,INI_2 DJNZ R7,INI_1;延時 LJMP INI_3INI_2: SETB FLAG;標(biāo)志位 LJMP INI_4INI_3: CLR FLAG LJMP INI_5INI_4:MOV R0,#80 DJNZ R0,$;時序要求延時一段時間INI_5:SETB DQ;DQ置位進(jìn)位為1 RET;**************DS18B20寫命令******************WRITE_DQ: MOV R6, #8 CLRCTloop: CLR DQ MOVR2,#6 DJNZR2,$ RRC A ;最低位移到C中 MOVDQ,C MOVR2,#23 DJNZR2,$ SETBDQ;DQ置位進(jìn)位為1 NOP DJNZR6,Tloop SETBDQ;DQ置位進(jìn)位為1 RET;**************讀DS18B20數(shù)據(jù)函數(shù)*************READ_DQ: MOVR5, #2 MOVR0, #30HREAD_0: MOV R6, #8READ_1: CLR C SETBDQ;DQ置位進(jìn)位為1 NOP NOP CLR DQ NOP NOP NOP NOP SETB DQ;DQ置位進(jìn)位為1 MOV R2,#9 DJNZ R2,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R6, READ_1 MOV @R0,A INC R0 DJNZ R5,READ_0 SETB DQ;DQ置位進(jìn)位為1 RET;***************溫度數(shù)據(jù)處理程序*****************PROC_TEMP: CLRFLAG_NEG MOVA,TEMP_L SWAPA ORLA,#0F0H MOVTEMP_INT,A MOVA,TEMP_H SWAPA ORLA,#0FH ANLTEMP_INT,A MOVA,TEMP_H JB ACC.7,NEGTIVE MOVA,TEMP_L ANLA,#0FH MOVDPTR,#TAB3 MOVCA,@A+DPTR MOVTEMP_DP,A LJMPPRO_0NEGTIVE: ;溫度值為負(fù)時處理程序,按實際情況,處理過程比較復(fù)雜 SETBFLAG_NEG;FLAG_NEG置位進(jìn)位為1 MOVA,TEMP_L CPLA ANLA,#0FH MOVR1,A CJNER1,#0FH,PRO_1 PUSHACC MOVA,TEMP_INT SUBBA,#1 MOVTEMP_INT,A POPACC MOVTEMP_DP,#00H LJMPPRO_2PRO_1: ADDA,#1 MOVDPTR,#TAB3 MOVCA,@A+DPTR MOVTEMP_DP,APRO_2: MOVA,TEMP_INT CPLA MOVTEMP_INT,APRO_0: MOVA,TEMP_INT MOVB,#100 DIVAB MOVTEMP_100,A MOVA,B MOVB,#10 DIVAB MOVTEMP_10,A MOVTEMP_1,B RET;**************LED顯示***********************;**************LCD初始化**********************INIT: MOVDPTR,#8000H SETB WR_LCD SETB RD_LCD MOVA,#01H ACALLF_BUSY MOVX@DPTR,A ACALLF_BUSY MOVA,#38H MOVX@DPTR,A ACALLF_BUSY MOVA,0EH MOVX@DPTR,A ACALLF_BU

溫馨提示

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

評論

0/150

提交評論