倉庫溫度設(shè)計_第1頁
倉庫溫度設(shè)計_第2頁
倉庫溫度設(shè)計_第3頁
倉庫溫度設(shè)計_第4頁
倉庫溫度設(shè)計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

33/37摘要本課題設(shè)計的是一套基于單片機控制的倉庫溫度監(jiān)控系統(tǒng),主要是對倉庫的溫度監(jiān)控,以保證存儲物品的安全。系統(tǒng)以單片機AT89C51為核心,從DS18B20溫度檢測的數(shù)據(jù)采集、設(shè)定值調(diào)整、LED數(shù)碼管顯示電路、報警及輸出控制通風(fēng)機等幾個方面出發(fā),詳細研究和設(shè)計了基于單片機的倉庫溫度監(jiān)控的各個部分內(nèi)容,設(shè)計了單片機及其外圍電路,并結(jié)合一套經(jīng)典的程序算法。給出了一套合理的基于單片機的倉庫溫度監(jiān)控系統(tǒng)的軟硬件解決方案。關(guān)鍵字:溫度檢測;DS18B20;單片機;溫度控制AbstractThisissueisasetofdesignbasedonsinglechipcontrolledwarehousetemperaturemonitoringsystem,mainlyforwarehousetemperaturemonitoringtoensurethesafetyofstoreditems。AT89C51microcontrollerasthecoresystem,fromtheDS18B20thetemperaturedetectiondataacquisition,setthevalueofadjustment,LEDdigitaltubedisplaycircuit,alarmandoutputcontrolfan,andseveralotheraspectsofstartingadetailedstudyanddesignofmicrocomputer-basedwarehousetemperaturemonitoringofvariouspartsofthecontentsofthemicrocontrolleranditsperipheralcircuitdesign,combinedwithasetofproceduresfortheclassicalgorithm.Isgivenareasonablemicrocontroller—basedwarehousetemperaturemonitoringsystemhardwareandsoftwaresolution。Keywords:temperaturedetection;DS18B20;microcomputertemperaturecontrol

目錄TOC\o"1-3”\u摘要?PAGEREF_Toc251934994\hIAbstract?PAGEREF_Toc251934995\hII引言?PAGEREF_Toc251935000\h11研究動態(tài)?PAGEREF_Toc251935002\h21。1研究的背景與意義 PAGEREF_Toc251935003\h21.2國內(nèi)外倉庫技術(shù)現(xiàn)狀?008\h21。3倉庫測控系統(tǒng)的發(fā)展趨勢 PAGEREF_Toc251935010\h31。4本文的主要工作 PAGEREF_Toc251935011\h42系統(tǒng)的總體設(shè)計?PAGEREF_Toc251935012\h53系統(tǒng)的硬件部分設(shè)計與實現(xiàn) PAGEREF_Toc251935013\h63.1單片機介紹 PAGEREF_Toc251935014\h63.1.1單片機概述 PAGEREF_Toc251935015\h63.1.2單片機編程語言介紹?51935016\h73.1。3系統(tǒng)選擇?PAGEREF_Toc251935017\h83。1.4AT89C51引腳功能介紹 PAGEREF_Toc251935018\h93.2溫度傳感器DS18B20 PAGEREF_Toc251935019\h113.2。1溫度傳感器分類 PAGEREF_Toc251935020\h113.2.2DS18B20簡介?PAGEREF_Toc251935022\h133.2。3DS18B20的硬件連接 PAGEREF_Toc251935023\h144溫度監(jiān)控的系統(tǒng)設(shè)計?PAGEREF_Toc251935024\h164。1硬件設(shè)計?PAGEREF_Toc251935025\h164.1。1溫度檢測部分?PAGEREF_Toc251935026\h164.1.2LED數(shù)碼管顯示電路 PAGEREF_Toc251935027\h164。1.3報警及控制輸出部分?PAGEREF_Toc251935028\h174.1。4單片機最小系統(tǒng)?PAGEREF_Toc251935029\h184.1.5按鍵電路設(shè)計 PAGEREF_Toc251935030\h214.2軟件系統(tǒng)設(shè)計 PAGEREF_Toc251935031\h234。2.1系統(tǒng)程序流程圖 PAGEREF_Toc251935032\h234.2.2單片機軟件開發(fā)語言?PAGEREF_Toc251935033\h244。2。3DS18B20驅(qū)動程序 PAGEREF_Toc251935034\h25結(jié)論 PAGEREF_Toc251935035\h28參考文獻 PAGEREF_Toc251935038\h29致謝?PAGEREF_Toc251935040\h30附錄一:系統(tǒng)整體硬件電路圖 PAGEREF_Toc251935041\h31附錄二:系統(tǒng)程序仿真圖 PAGEREF_Toc251935042\h32附錄三:程序 PAGEREF_Toc251935046\h33引言防潮、防霉、防腐、防爆是倉庫日常工作的重要內(nèi)容,是衡量倉庫管理質(zhì)量的重要指標(biāo)。它直接影響到儲備物資的使用壽命和工作可靠性.為保證日常工作的順利進行,首要問題是加強倉庫內(nèi)溫度與濕度的監(jiān)測工作。但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行檢測,對不符合溫度和濕度要求的庫房進行通風(fēng)、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度及濕度誤差大,隨機性大。因此我們需要一種造價低廉、使用方便且測量準(zhǔn)確的溫濕度測量儀.隨著“信息時代”的到來,作為獲取信息的手段——傳感器技術(shù)得到了顯著的進步,其應(yīng)用領(lǐng)域越來越廣泛,對其要求越來越高,需求越來越迫切。傳感器技術(shù)已成為衡量一個國家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一.因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的.?1研究動態(tài)1.1研究的背景與意義傳感器能將各種物理量、化學(xué)量和生物量等信號轉(zhuǎn)變?yōu)殡娦盘?,使得人們可以利用計算機實現(xiàn)自動測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能.因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標(biāo),還必須懂得傳感器經(jīng)過適當(dāng)?shù)慕涌陔娐氛{(diào)整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應(yīng)用實例的原理和智能傳感器實例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應(yīng)傳感器的生產(chǎn)、研制、開發(fā)和應(yīng)用.另一方面,傳感器的被測信號來自于各個應(yīng)用領(lǐng)域,每個領(lǐng)域都為了改革生產(chǎn)力、提高工效和時效,各自都在開發(fā)研制適合應(yīng)用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類傳感器。其發(fā)展速度之快,以及其應(yīng)用之廣,并且還有很大潛力。倉庫監(jiān)控系統(tǒng)包括:存儲物品檢測、分析與通風(fēng)控制?!按鎯ξ锲窓z測”在儲藏過程中所起的作用就像“人工”保管時期保管人員的“眼睛"和“鼻子”,對儲藏過程中各種狀況進行實時觀察,并密切關(guān)注著存儲物品的實時變化;“存儲物品情況分析”就像保管人員的“大腦”,對通過“眼睛”和“鼻子"觀察到各種存儲物品及變化情況,并根據(jù)儲藏技術(shù)的特點和儲藏的各種環(huán)境條件進行綜合分析與判斷,給出相應(yīng)的結(jié)論及處理建議;“通風(fēng)控制"就像保管人員的“手”和“足",根據(jù)“大腦”的結(jié)論和處理建議來采取相應(yīng)的處理措施,以確保存儲物品處在適宜的儲藏狀態(tài),保證存儲物品的安全。存儲物品檢測是對儲藏過程中物品溫度、倉內(nèi)溫、濕度、大氣溫、濕度等基本檢測參數(shù)變化的記錄.檢測系統(tǒng)是通過電源電纜、通訊電纜將計算機、檢測主機、檢測分機、分線器和測溫電纜等連結(jié)起來構(gòu)成的系統(tǒng)。倉庫檢測過程是把埋在存儲物品內(nèi)的溫度傳感器所感應(yīng)到存儲物品內(nèi)的溫度變化情況,通過分線器、檢測分機、檢測主機而反映到主控機房的計算機上,使庫房保管人員可以隨時觀察存儲物品內(nèi)的溫度變化情況,并采取相應(yīng)的處理措施,以確保存儲物品儲藏過程的安全。建立物品監(jiān)測產(chǎn)品技術(shù)應(yīng)用新體系,應(yīng)本著一切從國情出發(fā),從實際需要出發(fā),從日前國內(nèi)的技術(shù)水平出發(fā),面向遍布全國各區(qū)不同倉房類型和功能的檢測成套系列化產(chǎn)品,經(jīng)濟實用地滿足儲藏的不同需求。本課題研究的是一種基于單片機的溫度檢測系統(tǒng)的研究,并能設(shè)定高低溫報警的倉庫溫度測控系統(tǒng)。1.2國內(nèi)外倉庫技術(shù)現(xiàn)狀隨著經(jīng)濟的不斷發(fā)展,加之電子商務(wù)的不斷推進,給傳統(tǒng)的倉庫物流產(chǎn)業(yè)帶來的空前的挑戰(zhàn),我國現(xiàn)行的五大倉庫系統(tǒng)(軍隊倉庫業(yè),外貿(mào)倉庫業(yè),商業(yè)供銷糧食儲運業(yè),鄉(xiāng)鎮(zhèn)儲運業(yè))都曾載著巨大的倉儲壓力。眾所周知,不同的貨物的保存,需要不同的環(huán)境,包括一定的溫度、濕度、二氧化碳、光強、粉塵等,都有各自不同的要求,其中一般貨物對倉庫溫度和濕度的要求尤為突出,同時溫度和濕度著兩大倉儲環(huán)境也是最受關(guān)注的倉儲環(huán)境要素。而且倉庫易發(fā)生火災(zāi),盜竊事件,給生命財產(chǎn)安全帶來了威脅。倉儲的倉庫溫度、濕度、火警、盜警燈參數(shù)需要進行實時的監(jiān)控,并并且在系統(tǒng)監(jiān)控到異常的情況時及時的進行提示和報警??刂坪驼{(diào)節(jié)倉庫溫濕度:為了維護倉儲商品的質(zhì)量完好,創(chuàng)造適宜于商品儲存的環(huán)境,當(dāng)庫內(nèi)溫濕度適宜商品儲存時,就要設(shè)法防止庫外氣候?qū)靸?nèi)的不利影響;當(dāng)庫內(nèi)溫濕度不適宜商品儲存時,就要及時采取有效措施調(diào)節(jié)庫內(nèi)的溫濕度。上述的五大倉儲系統(tǒng)對高端倉儲物品的環(huán)境都能控制得很到位,尤其是軍用倉儲業(yè)和外貿(mào)倉儲業(yè),但是,在一般的倉儲物流中心,對農(nóng)業(yè)產(chǎn)品的倉儲環(huán)境監(jiān)控還沒有做到至善至美,在鄉(xiāng)鎮(zhèn)儲運中,農(nóng)業(yè)產(chǎn)品的倉儲技術(shù)水平甚至還停留在原始階段。光強、溫度、濕度是農(nóng)業(yè)產(chǎn)品倉儲不可缺少的因素,目前市場上普遍存在的溫度檢測儀器大都是單點測量,而且一般的溫度信息傳遞不及時,精度達不到要求,不利于控制者根據(jù)溫度變化及時做出調(diào)整;另外濕度傳感器價格昂貴,大多是使用進口元件,但事實上,農(nóng)用精度要求并不高,現(xiàn)在國產(chǎn)溫濕度傳感器完全可以使用。我國倉儲業(yè)的發(fā)展存在許多制約的因素,為把倉儲業(yè)培育成國民經(jīng)濟的一個獨立產(chǎn)業(yè),有必要對倉儲業(yè)的現(xiàn)狀進行分析,找出問題,探索發(fā)展思路。1.3倉庫測控系統(tǒng)的發(fā)展趨勢對比國內(nèi)外溫室環(huán)境控制研究及應(yīng)用情況我們可以看出,溫室環(huán)境控制系統(tǒng)正向著分布式、網(wǎng)絡(luò)化、智能化方向發(fā)展。(1)分布式目前工業(yè)控制的發(fā)展我們可以分為五個階段:人工控制階段、以模擬表為主的控制階段、計算機參與的控制階段、分散控制DCS(DistributedControlsystem)階段、現(xiàn)場總線控制FCS(FieldBusControlSystem)階段。(2)網(wǎng)絡(luò)化網(wǎng)絡(luò)通訊技術(shù)是目前最有活力,發(fā)展最快的高科技領(lǐng)域。網(wǎng)絡(luò)技術(shù)的應(yīng)用使得信息的交換速度、范圍、信息量得到了極大的提高。隨著網(wǎng)絡(luò)在生產(chǎn)中的應(yīng)用,使得在線遠程服務(wù)成為可能。我們可以利用遠在千里之外的專家,來解決現(xiàn)場問題,它改變了傳統(tǒng)的信息傳播方式,對人類的生活方式造成了重大影響。(3)智能化利用計算機強大的數(shù)據(jù)運算能力,巨大的存儲空間,從而能夠?qū)⒎N植者的經(jīng)驗通過管理軟件固化起來,指導(dǎo)非專業(yè)人員或技術(shù)不熟練人員代替專家進行工作。目前神經(jīng)網(wǎng)絡(luò)、遺傳算法、模糊推理等人工智能技術(shù)在設(shè)施農(nóng)業(yè)中得到重視并逐步發(fā)展。其次,為了適應(yīng)各地地域特點、氣候差異,糧倉測控系統(tǒng)還表現(xiàn)出多樣性以及個性化的特點。1。4本文的主要工作基于對倉庫溫度控制系統(tǒng)的研究,本文的主要內(nèi)容有一下幾個方面:(1)收集資料,了解更多關(guān)于存儲物品儲藏、物品環(huán)境因子情況,掌握目前國內(nèi)外倉庫溫度監(jiān)控系統(tǒng)的研究狀況,分析其優(yōu)點和缺點;(2)設(shè)計倉庫溫度監(jiān)控系統(tǒng)的整體組成方案;(3)設(shè)計溫度傳感器的檢測電路及各部分組成電路,完成倉庫溫度監(jiān)控系統(tǒng)的硬件設(shè)計;(4)利用C語言對系統(tǒng)進行軟件設(shè)計。2系統(tǒng)的總體設(shè)計倉庫溫度監(jiān)控系統(tǒng)需要完成溫度的檢測并可以通過按鍵設(shè)定調(diào)整最高溫度和最低溫度值、能夠顯示當(dāng)前溫度值、最高溫度和最低溫度值,同時要實現(xiàn)倉內(nèi)溫度超過最高溫度時,啟動通風(fēng)系統(tǒng)。需要系統(tǒng)包括單片機最小系統(tǒng)電路和按鍵電路、LED顯示電路、溫度檢測部分、報警和控制輸出等主要部分,系統(tǒng)總體設(shè)計框圖如下圖所示:LED數(shù)碼管顯示LED數(shù)碼管顯示DS18B20溫度檢測部分單片機單片機報警和輸出控制部分報警和輸出控制部分按鍵電路圖2.1系統(tǒng)整體設(shè)計框圖單片機在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,并且在很多電子產(chǎn)品中也將其用到溫度檢測和溫度控制?;趩纹瑱C倉庫溫度監(jiān)控系統(tǒng)較傳統(tǒng)的溫度控制器具有更高的智能性,并且系統(tǒng)的功能更加易于擴展和升級,是一種低成本的溫度檢測、控制方案。3系統(tǒng)的硬件部分設(shè)計與實現(xiàn)3。1單片機介紹3.1。1單片機概述單片微機(Single—ChipMicrocomputer)簡稱單片機,通常統(tǒng)稱微控制器(Micro-Controller簡寫μC)或微型處理部件(MicroControllerUnit簡寫MCU)。一般的說,單片機就是在一塊硅片上集成CPU、RAM、ROM、定時器/計數(shù)器、和多種I/O的完整的數(shù)字處理系統(tǒng)。二十世紀,微電子、IC集成電路行業(yè)發(fā)展迅速,其中單片機行業(yè)的發(fā)展最引人注目.單片機功能強、價格便宜、使用靈活,在計算機應(yīng)用領(lǐng)域中發(fā)揮著極其重要的作用。從INTEL公司于1971年生產(chǎn)第一顆單片機Intel-4004開始,開創(chuàng)了電子應(yīng)用的“智能化"新時代。單片機以其高性價比和靈活性,牢固樹立了其在嵌入式微控制系統(tǒng)中的“霸主"地位,在PC機以286、386、Pentium、PⅢ高速更新?lián)Q代的同時,單片機卻“始終如一"保持旺盛的生命力。例如,MCS—51系列單片機已有十多年的生命期,如今仍保持著上升的態(tài)勢就充分證明了這一點.(1)單片機的結(jié)構(gòu)與組成目前,單片機的系統(tǒng)結(jié)構(gòu)有兩種類型:一種是將程序和數(shù)據(jù)存儲器分開使用,即哈佛(Harvard)結(jié)構(gòu),當(dāng)前的單片機大都是這種結(jié)構(gòu).另一種是采用和PC機的馮.諾依曼(VonNeumann)類似的原理,對程序和數(shù)據(jù)存儲器不作邏輯上的區(qū)分,用來存放用戶程序,可分為EPROM、OTP、ROM和FLASH等類。EPROM型內(nèi)存編程后其內(nèi)容可用紫外線擦除,用戶可反復(fù)使用,故特別適用于開發(fā)過程,但EPROM型單片機價格很高。具有ROM型(掩膜型)內(nèi)存的單片機價格最低,它適用于大批量生產(chǎn)。由于ROM型單片機的代碼只能由生產(chǎn)廠商在制造芯片時寫入,故用戶要更改程序代碼就十分不便,在產(chǎn)品未成熟時選用ROM型單片機風(fēng)險較高。OTP型(一次可編程)單片機介于EPROM和ROM型單片機之間,它允許用戶自己對其編程,但只能寫入一次。OTP型單片機生產(chǎn)多少完全可由用戶自己掌握,不存在ROM型有最小起訂量和掩膜費問題,另外,該類單片機價格已同掩膜型十分接近,故特別受中小批量客戶的歡迎。Flash型(閃速型)單片機允許用戶使用編程工具或在線快速修改程序代碼,且可反復(fù)使用,故一推出就受到廣大用戶的歡迎。Flash型單片機,即可用于開發(fā)過程,也可用于批量生產(chǎn),隨著制造工藝的改進,Flash型單片機價格不斷下降,使用越來越普遍,它已是現(xiàn)代單片機的發(fā)展趨勢。隨機內(nèi)存(RAM):用來存放程序運行時的工作變量和數(shù)據(jù),由于RAM的制作工藝復(fù)雜,價格比ROM高得多,所以單片機的內(nèi)部RAM非常寶貴,通常僅有幾十到幾百個字節(jié).RAM的內(nèi)容是易失性(也有的稱易揮發(fā)性)的,掉電后會丟失。最近出現(xiàn)了EEPROM或FLASH型的數(shù)據(jù)存儲器,方便用戶存放不經(jīng)常改變的數(shù)據(jù)及其它重要信息。單片機通常還有特殊寄存器和通用寄存器,它們是單片機中存取速度最快的內(nèi)存,但通常存儲空間很小.(2)中央處理器(CPU)是單片機的核心單元,通常由算術(shù)邏輯運算部件ALU和控制部件構(gòu)成.CPU就象人的大腦一樣,決定了單片機的運算能力和處理速度。并行輸入/輸出(I/O)口:通常為獨立的雙向口,任何口既可以用作輸入方式,又可以作輸出方式,通過軟件編程來設(shè)定?,F(xiàn)代的單片機的I/O口也有不同的功能,有的內(nèi)部具有上拉或下拉電阻,有的是漏極開路輸出,有的能提供足夠的電流可以直接驅(qū)動外部設(shè)備.I/O是單片機的重要資源,也是衡量單片機功能的重要指針之一。串口輸入/輸出口:用于單片機和串行設(shè)備或其它單片機的通信。串行通信有同步和異步之分,這可以用硬件或通用串行收發(fā)器件來實現(xiàn)。不同的單片機可能提供不同標(biāo)準(zhǔn)的串行通信接口,如UART、SPI、、MicroWire等。(3)定時器/計數(shù)器(T/C)單片機內(nèi)部用于精確定時或?qū)ν獠渴录ㄝ斎胄盘柸缑}沖)進行計數(shù),有的單片機內(nèi)部有多個定時/計數(shù)器。(4)系統(tǒng)時鐘通常需要外接石英晶體或其它振蕩源來提供時鐘信號輸入,也有的使用內(nèi)部RC振蕩器。以上是單片機的基本構(gòu)成,現(xiàn)代的單片機又加入了許多新的功能部件,如模擬/數(shù)字轉(zhuǎn)換器(A/D)、數(shù)字/模擬轉(zhuǎn)換器(D/A)、溫度傳感器、液晶(LCD)驅(qū)動電路、電壓監(jiān)控、看門狗(WDT)電路、低壓檢測(LVD)電路等等.3。1。2單片機編程語言介紹對于51系列單片機,現(xiàn)有四種語言支持,即匯編、PL/M,C和BASIC.BASIC通常附在PC機上,是初學(xué)編程的第一種語言。一個新變量名定義之后可在程序中作變量使用,非常易學(xué),根據(jù)解釋的行可以找到錯誤而不是當(dāng)程序執(zhí)行完才能顯現(xiàn)出來.BASIC由于逐行解釋自然很慢,每一行必須在執(zhí)行時轉(zhuǎn)換成機器代碼,需要花費許多時間不能做到實時性.BASIC為簡化使用變量,所有變量都用浮點值。BASIC是用于要求編程簡單而對編程效率和運行速度要求不高的場合。PL/M是Intel從8080微處理器開始為其系列產(chǎn)品開發(fā)的編程語言。它很像PASCAL,是一種結(jié)構(gòu)化語言,但它使用關(guān)鍵詞去定義結(jié)構(gòu)。PL/M編譯器好像匯編器一樣可產(chǎn)生緊湊代碼.PL/M總的來說是“高級匯編語言",可詳細控制著代碼的生成。但對51系列,PL/M不支持復(fù)雜的算術(shù)運算、浮點變量而無豐富的庫函數(shù)支持。學(xué)習(xí)PL/M無異于學(xué)習(xí)一種新語言。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼。C語言結(jié)構(gòu)是以括號{}而不是子和特殊符號的語言。C可以進行許多機器級函數(shù)控制而不用匯編語言。與匯編相比,有如下優(yōu)點:對單片機的指令系統(tǒng)不要求了解,僅要求對51的內(nèi)存結(jié)構(gòu)有初步了解寄存器分配、不同內(nèi)存的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性編程及程序調(diào)試時間顯著縮短,從而提高效率提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強的數(shù)據(jù)處理能將已編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術(shù)C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機不同較快地移植過來。51的匯編語言非常像其它匯編語言.指令系統(tǒng)比第一代微處理器要強一些。51的不同存儲區(qū)域使得其復(fù)雜一些。盡管懂得匯編語言不是你的目的,看懂一些可幫助你了解影響任何語言效率的51特殊規(guī)定。例如,懂得匯編語言指令就可以使用在片內(nèi)RAM作變量的優(yōu)勢,因為片外變量需要幾條指令才能設(shè)置累加器和數(shù)據(jù)指針進行存取。要求使用浮點和啟用函數(shù)時只有具備匯編編程經(jīng)驗才能避免生成龐大的、效率低的程序,這需要考慮簡單的算術(shù)運算或先算好的查表法。最好的單片機編程者應(yīng)是由匯編轉(zhuǎn)用C而不是原來用過標(biāo)準(zhǔn)C語言的人.由此來看,單片機有著微處理器所不具備的功能,它可單獨地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機最大的特征.3.1.3系統(tǒng)選擇本系統(tǒng)以MCS-51單片機成員中的AT89C51為控制核心。AT89C51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)含4kbytes的可系統(tǒng)編程的Flash只讀程序內(nèi)存,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序內(nèi)存既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89C51單片機可為您提供許多高性價比的應(yīng)用場合,它靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù):(1)與MCS—51產(chǎn)品指令系統(tǒng)完全兼容(2)4K字節(jié)在系統(tǒng)編程(ISP)Flash閃速內(nèi)存(3)1000次擦寫周期(4)4。0—5.5V的工作電壓范圍(5)全靜態(tài)工作模式:0Hz—33MHz(6)三級程序加密鎖(7)2568字體內(nèi)部RAM(8)32個可編程I/O口線(9)3個16位定時/計數(shù)器(10)5個中斷源(11)全雙工串行UART通道(12)低功耗空閑和掉電模式(13)中斷可從空閑模喚醒系統(tǒng)(14)看門狗(WDT)及雙數(shù)據(jù)指針(15)掉電標(biāo)識和快速編程特性(16)靈活的在系統(tǒng)編程(ISP—字節(jié)或頁寫模式)其內(nèi)部結(jié)構(gòu)結(jié)構(gòu)如圖3。1所示:圖3.1單片機內(nèi)部結(jié)構(gòu)圖圖3.1單片機內(nèi)部結(jié)構(gòu)圖3.1。4AT89C51引腳功能介紹(1)電源引腳Vcc和GNDVcc:電源電壓,GND(10腳):接地端。(2)時鐘電路引腳XTALl和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端。在內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體的固有頻率.要檢查單片機的振蕩電路是否正確工作,可用示波器查看XTAL2端是否有脈沖信號輸出。XTAL1(19腳):接外部晶體的微調(diào)電容的另一端。在片內(nèi)它是振蕩電路反相放大器的輸入端.若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖如圖3。2,3。3所示。圖3.2圖3.2AT89S51單片機晶振接法圖3.3外部時鐘電路(3)控制信號引腳RSTRES(8腳):RST是復(fù)位信號輸入端,高電平有效。當(dāng)此輸入端保持兩個機器周期(24個時鐘振蕩周期)的高電平時,可以完成復(fù)位操作。(4)I/O(輸入/輸出)P0、P1、P2和P3標(biāo)準(zhǔn)51單片機,如8051、8031、AT89C51、AT89S51、P89C51等有4個I/O(輸入/輸出)口,分別為:P0口(39—32腳):P0口是一個漏極開路的8位雙向埠.作為漏極八路的輸出端口,每次能驅(qū)動8個Ls型TTL負載。當(dāng)P0口作為輸入口使用時,其先向鎖存器(地址80H)寫入全1,此時P0口的全部引腳懸空,叫作為高阻抗輸入。P1口(1—8腳):P1口是一個帶上拉電阻的8位準(zhǔn)雙向I/O端口每一位能驅(qū)動(吸收成輸出電流)4個LS型TTL負載。在P1口作為輸入口使用時,應(yīng)先向P1口鎖存器(地址90H)寫入全1,上拉電阻接成高電平。P2口(21—28腳):P2口是一個帶內(nèi)部上接電阻的8位準(zhǔn)雙向埠。P2口的每一位能驅(qū)動4個LS型TTL負載。P3口(21—28腳):P3口是一個帶內(nèi)部上接電阻的8位準(zhǔn)雙向埠。P3口的每一位能驅(qū)動(吸收或輸出電流)4個LS型TTL負載。P3口與其它的I/O埠有很大區(qū)別,它除作為-般準(zhǔn)雙向I/O口外,每個引腳還具有專門的功能,見表3—1。表3-1端口引腳功能P1口也是一個準(zhǔn)雙向口,作通用I/O口使用。其電路結(jié)構(gòu)見圖3.4。圖3.4P1口作通用圖3.4P1口作通用I/O口使用輸出驅(qū)動部分內(nèi)部有上拉負載電阻與電源相連。實質(zhì)上拉電阻是兩個場效應(yīng)管(FET)并在一起,—個FET為負載管,其電阻固定;另一個FET可工作在導(dǎo)通或截止兩種狀態(tài),使其總電阻值變化近為0或阻值很大兩種情況。當(dāng)阻值近似為0時,可將引腳快速上拉至全高電平,當(dāng)阻值很大時,P1口為高阻輸入狀態(tài).當(dāng)P1口輸出高電平時,能向外提供拉電流負載,所以不必再接上拉電阻。在埠用作輸入時,也必須先向?qū)?yīng)的鎖存器寫入“1”,使FET截止。由于片內(nèi)負載電阻較大,約20k—40k,所以不會對輸入的數(shù)據(jù)產(chǎn)生影響.3.2溫度傳感器DS18B203.2。1溫度傳感器分類(l)熱敏電阻熱敏電阻器是敏感元件的一類,按照溫度系數(shù)不同分為正溫度系數(shù)熱敏電阻器(PTC)和負溫度系數(shù)熱敏電阻器(NTC)。熱敏電阻器的典型特點是對溫度敏感,不同的溫度下表現(xiàn)出不同的電阻值.以溫度變化導(dǎo)致阻值的變化為工作原理的熱敏電阻,因其具有成本低、體積小、簡單、可靠、響應(yīng)速度快、容易使用等特點,在多項溫度測量應(yīng)用中受到廣泛歡迎,同樣也是國內(nèi)倉庫檢測系統(tǒng)中采用最多的溫度傳感器.熱敏電阻的電阻溫度系數(shù)較高,室溫電阻通常也較高,因此其自身發(fā)熱較小,信號調(diào)節(jié)較為簡單.熱敏電阻的缺點是互換性差,溫度與輸出阻值之間旱非線性關(guān)系。正溫?zé)崦綦娮杵鳎≒TC)在溫度越高時電阻值越大,負溫度系數(shù)熱敏電阻器(NTC)在溫度越高時電阻值越低,它們同屬于半導(dǎo)體器件。但在溫度測量應(yīng)用中,正溫度系數(shù)熱敏電阻較少得到采用,更多采用的是負溫度系數(shù)熱敏電阻。以下提及的熱敏電阻均指負溫度系數(shù)熱敏電阻.采用熱敏電阻作為溫度傳感器的測溫電纜是倉庫檢測系統(tǒng)的重要組成部分,它是將多個熱敏電阻置入一根測溫電纜之中,電纜內(nèi)加細鋼絲繩提高抗拉強度、外加絕緣護套密封防腐。采用熱敏電阻作為溫度傳感器的倉庫情況檢測系統(tǒng)的溫度檢測范圍一般在—40℃—+50℃之間,檢測精度為士1℃,完全滿足倉庫溫度檢測的需要。根據(jù)其系統(tǒng)結(jié)構(gòu)的特點,一般在單根測溫電纜上置入3—4個熱敏電阻,特別適合房式倉儲環(huán)境。熱敏電阻:(2)數(shù)字式溫度傳感器數(shù)字式溫度傳感器的種類也不少,但用于倉庫檢測系統(tǒng)的溫度傳感器主要是美國Dallas公司生產(chǎn)的DS18B2O系列溫度傳感器,其溫度檢測范圍為—55℃~+l25℃,檢測精度為℃。DS18B20采用l—wire接口,封裝形式有PR—35和8-PINSOIC兩種,倉庫檢測系統(tǒng)中采用的是PR-35封裝.DSl8B20采用9個位表示測溫點的溫度值,每個DSl8B20內(nèi)部都設(shè)置有一個單一的序列號,因此可以使多個DS18B20共存于同一根數(shù)據(jù)傳輸線上。DS18B20內(nèi)部分為4個部分:1)64位序列號;2)保存臨時數(shù)據(jù)的8字節(jié)片內(nèi)RAM;3)保存永久數(shù)據(jù)的2字節(jié)EEPROM;4)溫度傳感器.采用數(shù)字式溫度傳感器的倉庫檢測系統(tǒng)的結(jié)構(gòu)與采用熱敏電阻倉庫檢測系統(tǒng)的結(jié)構(gòu)人致相同,只是用檢測單元替代了智能分機、擴充接線器替代了溫度分線器。檢測單元與智能分機的區(qū)別在于沒有用于將溫度信號數(shù)字化的A/D轉(zhuǎn)換電路,取而代之的是1-Wire總線與上層通信總線之間的通信轉(zhuǎn)換電路,如果系統(tǒng)選用了數(shù)字式濕度傳感器則檢測單元將完全由數(shù)字電路組成,而智能分機是由數(shù)字電路和模擬電路兩部分構(gòu)成的,這將使檢測單元的電路設(shè)計更為容易.采用DSl8B20溫度傳感器的倉庫檢測系統(tǒng)的測溫電纜與熱敏電阻測溫電纜大不相同,該測溫電纜最多只需3根導(dǎo)線即可連接多個DSl8B20溫度傳感器。最為簡潔的結(jié)構(gòu)是利用DS18B20可以通過數(shù)據(jù)線供電的特點,在測溫電纜中只放置兩根平行的細鋼絲繩即可連接多個DS18B20溫度傳感器,這樣不僅使測溫電纜的制造簡便、成本下降,而且提高了測溫電纜的抗拉強度、便于溫度傳感器的更換。正是這些特點使得采用DS18B20溫度傳感器的倉庫檢測系統(tǒng)更適用于高大糧倉(諸如淺圓倉、立筒倉)的應(yīng)用環(huán)境,可以解決高大倉庫在不需重新安裝測溫電纜的情況下更換測溫電纜內(nèi)部的溫度傳感器以及改變溫度傳感器相對位置。3.2.2DS18B20簡介集成式數(shù)字溫度傳感器DS1820的出現(xiàn)開辟了溫度傳感器技術(shù)的新領(lǐng)域,它利用單總線的特點可以方便的實現(xiàn)多點溫度的測量。圖3.5DS18B20的管腳排列圖DS18B20是美國DALLAS公司最新推出的一種可組網(wǎng)數(shù)字式溫度傳感器,與DS1820相同,DS18B20也能夠直接讀取被測物體的溫度值它在電壓、特性及封裝方面都更具有優(yōu)勢,給了用戶更多的選擇,讓用戶可以更方便的構(gòu)建適合自己的測溫系統(tǒng).DS18B20充分利用了單總線的獨特特點,可以輕松的組建傳感器網(wǎng)絡(luò),提供系統(tǒng)的抗干擾性,使系統(tǒng)設(shè)計更靈活、方便、而且適合于在惡劣的環(huán)境下進行現(xiàn)場溫度測量。與DS1820相比,DS18B20的功能更強大些。它體積小,電壓使用范圍寬(3V-5V),用戶還可以通過編程實現(xiàn)9-12位的溫度讀數(shù),即具有可調(diào)的溫度分辨率,因此它的實用性和可靠性比同類產(chǎn)品更高.另外,DS18B20有多種封裝可選,如TO—92、SOIC及CSP封裝。圖3.5即為DS18B20的管腳排列圖。圖3.5DS18B20的管腳排列圖由圖3.5可見,DS18B20只是一個數(shù)據(jù)輸入/輸出口,屬于單總線專用芯片之一.DS18B20工作時被測溫度值直接以“單總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾能力。其內(nèi)部采用在板溫度測量專用技術(shù),測量范圍為-55℃~+125℃,在—10℃~+85℃時,精度為℃。每個DS18B20在出廠時已具有唯一的64位序列號,因此一條總線上可以同時掛接多個DS18B20,而不會出現(xiàn)混亂現(xiàn)象。另外用戶還可自設(shè)定非易失性溫度報警上下限值TH和TL(掉電后依然保存)。DS18B20在完成溫度變換后,所測溫度值將自動與存儲在TH和TL內(nèi)的觸發(fā)值相比較,如果測溫結(jié)果高與TH或低于TL,DS18B20內(nèi)部的告警標(biāo)志就會被置位,表示溫值超出了測量范圍,同時還有報警搜索命令識別出溫度超限D(zhuǎn)S18B20。圖3.6為DS18B20的內(nèi)部存儲結(jié)構(gòu)圖,它包括一個暫存RAM和一個非易失性可擦除。圖3.6DS18B20內(nèi)部存儲結(jié)構(gòu)圖圖3.6DS18B20內(nèi)部存儲結(jié)構(gòu)圖其中暫存存儲器作用是在單線通信時確保數(shù)據(jù)的完整性,它包括8個字節(jié),頭兩個字節(jié)表示測得的溫度讀數(shù),數(shù)據(jù)格式如下:S=1時表示溫度為負,S=0時表示溫度為正,其余低于以二進制補碼形式表示,最低位為1時表示0.0625℃。溫度/數(shù)字對應(yīng)關(guān)系如上表所示。DS18B20內(nèi)部暫存存儲器的第5個字節(jié)是結(jié)構(gòu)寄存器,它主要用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。字節(jié)結(jié)構(gòu)如下:其中、用于設(shè)置分辨率.3.2。3DS18B20的硬件連接DS18B20與單片機的接口極其簡單,只需將DS18B20的信號線與單片機的一位雙向端口相連即可。如圖3.7(a)所示。此時應(yīng)注意將VDD、DQ、GND三線焊接牢固.另外也可用兩個端口,即接收口與發(fā)送口分開,這樣讀寫操作就分開了,不會出現(xiàn)信號競爭的問題。如圖3。7(b)所示。此圖是采用寄生電源方式,將DS18B20的VDD和GND接在一起。如若VDD脫開未接好,傳感器將只送+85.0℃的溫度值。一般測溫電纜線采用屏蔽4芯雙絞線,其中一對接地線與信號線,另一對接VDD和地線,屏蔽層在源端單點接地.圖3.7DS18B20與單片機的接口圖3.7DS18B20與單片機的接口4溫度監(jiān)控的系統(tǒng)設(shè)計4.1硬件設(shè)計基于單片機的倉庫溫度監(jiān)控系統(tǒng)主要有以下幾部分:溫度檢測數(shù)據(jù)采集部分,LED數(shù)碼管顯示電路、報警及控制輸出部分、單片機及按鍵電路設(shè)計等幾個部分,下面分別加以介紹4.1.1溫度檢測部分溫度傳感器有很多種,如熱敏電阻,熱電偶,PN結(jié),半導(dǎo)體溫度傳感器等。這里選用單總線數(shù)字輸出的集成半導(dǎo)體溫度傳感器DS18B20,其特點:獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊;測溫范圍-55℃~+125℃,固有測溫分辨率0。5℃;支持多點組網(wǎng)功能,多個DS1820可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫;工作電源:3~5V/DC。溫度檢測數(shù)據(jù)采集電路如圖4.1所示,由溫度傳感器DS18B20采集被控對象的實時溫度,提供給AT89C51的I/O口作為數(shù)據(jù)輸入.在本次設(shè)計中我們所控的對象為倉庫的溫度。圖4.1溫度傳感器電路4。1.2LED數(shù)碼管顯示電路顯示器分為數(shù)碼管和液晶顯示,我所采用是的數(shù)碼管顯示,其外形和引腳如下圖所示:圖4.2數(shù)碼管外形和引腳圖圖4.2數(shù)碼管外形和引腳圖LED數(shù)碼有共陽和共陰兩種,把這些LED發(fā)光二極管的正極接到一塊(一般是拼成一個8字加一個小數(shù)點)而作為一個引腳,就叫共陽機極數(shù)碼管;相反的,就叫共陰的(如下圖所示)那么應(yīng)用時這個腳就分別的接VCC和GND。再把多個這樣的8字裝在一起就成了多位的數(shù)碼管了。圖4.3共陰極和共陽極數(shù)碼管內(nèi)部電路圖4.3共陰極和共陽極數(shù)碼管內(nèi)部電路基于單片機的倉庫監(jiān)控系統(tǒng)采用7段LED數(shù)碼管顯示,這里采用6個數(shù)碼管顯示溫度,兩位顯示設(shè)定的最高溫度、兩位顯示設(shè)定的最低溫度、兩位顯示倉內(nèi)的當(dāng)前溫度.6位共陽極數(shù)碼管采用掃描形式工作,其8個數(shù)據(jù)為接在單片機灌電流驅(qū)動能力最大的PO口,AT89C51單片機的P0口的每一個I/O都能能吸收8個TTL邏輯器件的輸入漏電流,算下來能驅(qū)動約10mA。能驅(qū)動數(shù)碼管的8個數(shù)據(jù)陰極。6位共陽極數(shù)碼的6個陽極采用6個PNP三極管9012驅(qū)動。用單片機P2.0—P2。56個I/O口控制。LED數(shù)碼管顯示電路如圖4.4所示。圖4.4數(shù)碼管顯示電路4.1。3報警及控制輸出部分當(dāng)倉內(nèi)溫度超過最高溫度時,啟動通風(fēng)機并報警;當(dāng)倉內(nèi)溫度低于最低溫度時,發(fā)出報警。這就需要報警電路及輸出模塊.聲音報警電路通過驅(qū)動蜂鳴器發(fā)聲實現(xiàn),當(dāng)其接通5V的電壓會發(fā)出蜂鳴叫聲。原理圖如圖4.5,NPN型三極管8050驅(qū)動蜂鳴器,當(dāng)單片機I/O口輸出高電平時蜂鳴器發(fā)聲此外,控制加熱棒的控制信號同樣由單片機輸出,經(jīng)過三極管Q3驅(qū)動繼電器J1,J1具有兩對常開和常閉接點,利用其常開接點串到加熱棒的控制回路中,可以實現(xiàn)加熱棒的控制。電路中二極管D1為續(xù)流二極管,繼電器線圈在通過電流時,會在其兩端產(chǎn)生感應(yīng)電動勢。當(dāng)電流消失時,其感應(yīng)電動勢會對電路中的三極管Q3產(chǎn)生反向電壓.當(dāng)反向電壓高于Q3的反向擊穿電壓時,會把三極管成損壞.續(xù)流二極管并聯(lián)在線圈兩端,當(dāng)流過線圈中的電流消失時,線圈產(chǎn)生的感應(yīng)電動勢通過二極管和線圈構(gòu)成的回路做功而消耗掉.從而保護了電路中的三極管的安全。圖4.5聲音報警電路4.1.4單片機最小系統(tǒng)單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng).對51系列單片機來說,最小系統(tǒng)包括:單片機、晶振電路、復(fù)位電路.前面已經(jīng)提到單片機選用AT89C51.單片機及外圍電路如圖4.6所示。圖4.6單片機最小系統(tǒng)(1)時鐘電路AT89S51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端.時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖4.7(a)所示,在XTAL1和XTAL2引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路.晶體振蕩頻率可以在1.2~12MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對頻率起微調(diào)的作用。外部方式的時鐘電路如圖4.7(b)所示,XTAL1接地,XTAL2接外部振蕩器.對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號.圖4.7(a)內(nèi)部方式時鐘電路圖4.7(b)外部方式時鐘電路圖4.7(a)內(nèi)部方式時鐘電路圖4.7(b)外部方式時鐘電路片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘P1和P2,供單片機使用。(2)復(fù)位及復(fù)位電路①復(fù)位操作復(fù)位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。除PC之外,復(fù)位操作還對其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表4—1所示。表4-1一些寄存器的復(fù)位狀態(tài)②復(fù)位信號及其產(chǎn)生RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即二個機器周期)以上。若使用頗率為6MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。產(chǎn)生復(fù)位信號的電路邏輯如圖4.8所示。整個復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機器周期的S5P2時刻對施密特觸發(fā)器的輸出進行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。復(fù)位操作有上電自動復(fù)位相按鍵手動復(fù)位兩種方式。圖4.8復(fù)位信號的電路邏輯圖圖4.8復(fù)位信號的電路邏輯圖上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的,其電路如圖4.9(a)所示。這佯,只要電源VCC的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與VCC電源接通而實現(xiàn)的,其電路如圖4。9(b)所示;而按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的,其電路如圖4.9(c)所示.圖4.9(a)上電復(fù)位(b)按鍵電平復(fù)位(c)按鍵脈沖復(fù)位圖4.9(a)上電復(fù)位(b)按鍵電平復(fù)位(c)按鍵脈沖復(fù)位上述電路圖中的電阻、電容參數(shù)適用于6MHz晶振,能保證復(fù)位信號高電平持續(xù)時間大于2個機器周期。本系統(tǒng)的復(fù)位電路采用圖4。9(a)上電復(fù)位方式。4。1。5按鍵電路設(shè)計圖4。10為單片機及鍵盤電路的電路圖,單片機AT89S51的時鐘引腳外接12M晶振,作為單片機工作的時鐘,EA端接高電平,表示使用片內(nèi)程序存儲器。RST引腳接了上電復(fù)位電路,當(dāng)系統(tǒng)上電時,上電復(fù)位電路會產(chǎn)生一個高電平脈沖信號,使系統(tǒng)復(fù)位。圖4.10單片機及鍵盤電路電路圖鍵盤是標(biāo)準(zhǔn)的輸入設(shè)備,實現(xiàn)鍵盤有兩種方案:一是采用現(xiàn)有的一些芯片實現(xiàn)鍵盤掃描,如8279,CH451,LMC9768等,還有就是用軟件實現(xiàn)鍵盤掃描。使用現(xiàn)成的芯片可以節(jié)省CPU的開銷,但增加了成本,而用軟件實現(xiàn)具有較強的靈活性,也只需要很少的CPU開銷,可以節(jié)省開發(fā)成本。本文便使用軟件實現(xiàn)鍵盤的掃描。常見的鍵盤可分為獨立按鍵式鍵盤和行列掃描式鍵盤.獨立按鍵式鍵盤應(yīng)用在需要少量按鍵的情況,按鍵和單片機的I/O口線直接連接.而行列掃描式鍵盤用在按鍵需求較多的情形下??紤]到倉庫監(jiān)控系統(tǒng)只需要高限加、高限減、低限加、低限減四個按鍵,所以采用獨立按鍵式鍵盤。理論上當(dāng)按鍵按下或彈起時,可以相應(yīng)的產(chǎn)生低電平或高電平,但實際并非如此。鍵盤按鍵一般都采用觸點式按鍵開關(guān)。當(dāng)按鍵被按下或釋放時,按鍵觸點的彈性會產(chǎn)生抖動現(xiàn)象。即當(dāng)按鍵按下時,觸點不會迅速可靠地接通,當(dāng)按鍵釋放時,觸點也不會立即斷開,而是要經(jīng)過一段時間的抖動才能穩(wěn)定下來,按鍵材料不同,抖動時間也各不相同.圖4.11按鍵抖動示意圖一次完整的按鍵過程,包含以下幾個階段:如圖4。11所示。(1)等待階段:此時按鍵尚未按下,處于空閑階段;(2)閉合抖動階段:此時鍵剛剛按下,但信號處于抖動狀態(tài),系統(tǒng)在檢測時應(yīng)消抖延時,約5ms到20ms;(3)有效閉合階段:此時抖動己經(jīng)結(jié)束,一個有效按鍵動作己經(jīng)產(chǎn)生,系統(tǒng)應(yīng)該在此時執(zhí)行按鍵功能,或?qū)存I編碼記錄下來,待鍵彈起時再執(zhí)行其功能;(4)釋放抖動階段:許多時候編程人員并不在此時消抖延時,但最好也執(zhí)行一次消抖延時,以防止誤操作;(5)有效釋放階段:若設(shè)計要求在按鍵抬起時才執(zhí)行功能,則應(yīng)當(dāng)在此時進行按鍵功能的處理.軟件上對閉合階段的抖動一般采取延時再次確認按鍵是否按下的方式消除抖動。如上圖所示,完成系統(tǒng)的最高溫度和最低溫度的高低調(diào)整的四個按鍵分別加上拉電阻接到單片機的P1。1—P1。4口上,供單片機查詢,當(dāng)沒有按鍵按下時,單片機I/O口輸入高電平,當(dāng)有按鍵按下時,對應(yīng)的單片機端口變?yōu)榈碗娖?,單片機通過檢測這種電平的變化確定按鍵的狀態(tài).4.2軟件系統(tǒng)設(shè)計4.2.1系統(tǒng)程序流程圖系統(tǒng)程序流程圖如圖4。12所示。N是否高低限調(diào)整N是否高低限調(diào)整YY高低限增減高低限增減啟動DS18B20啟動DS18B20讀取溫度值讀取溫度值高于高限或低于底限高于高限或低于底限NYY控制通風(fēng),報警控制通風(fēng),報警顯示高低限和當(dāng)前值顯示高低限和當(dāng)前值圖4。12系統(tǒng)程序流程圖4.2.2單片機軟件開發(fā)語言對于8051單片機,現(xiàn)有四種語言支持,即匯編、FI/M、C和BASIC。C是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生緊湊代碼。C可以進行許多機器級函數(shù)控制而不用匯編語言。與匯編相比,有如下優(yōu)點:(1)對單片機的指令系統(tǒng)不要求了解,僅要求對8051的存貯器結(jié)構(gòu)有初步了解;(2)寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;(3)程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;(4)具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;(5)關(guān)鍵字及運算函數(shù)可用近似人的思維過程方式使用;(6)編程及程序調(diào)試時間顯著縮短,從而提高效率;(7)提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強的數(shù)據(jù)處理能力;(8)已編好程序可容易地植入新程序,因為它具有方便的模塊化編程技術(shù)。4.2。3DS18B20驅(qū)動程序根據(jù)DS18B20的通訊協(xié)議,主機(單片機)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作.復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625℃/LSB形式表達,其中S為符號位.表4-2DS18B20溫度值格式表這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0。0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度.DSl820工作過程包括;初始化、ROM操作命令、存儲器操作、命令處理數(shù)據(jù)。(1)初始化單總線上的所有處理均從初始化開始(2)ROM操作指令:總線主機檢測到DSl820的存在,便可以發(fā)出ROM操作命令之一,這些命令如:指令代碼ReadROM(讀ROM)[33H]Mat(yī)chROM(匹配ROM)[55H]SkipROM(跳過ROM)[CCH]SearchROM(搜索ROM)[F0H]Alarmsearch(告警搜索)[ECH](3)存儲器操作命令:指令代碼WriteScratchpad(寫暫存存儲器)[4EH]ReadScratchpad(讀暫存存儲器)[BEH]CopyScratchpad(復(fù)制暫存存儲器)[48H]ConvertTemperature(溫度變換)[44H]RecallEPROM(重新調(diào)出)[B8H]ReadPowersupply(讀電源)[B4H](4)時序主機使用時間隙(timeslots)來讀寫DSl820的數(shù)據(jù)位和寫命令字的位①初始化時序見圖4。13主機總線to時刻發(fā)送一復(fù)位脈沖(最短為480us的低電平信號)接著在tl時刻釋放總線并進入接收狀態(tài)DSl820在檢測到總線的上升沿之后等待15-60us,接著DS1820在t2時刻發(fā)出存在脈沖(低電平)如圖中虛線所示:圖4.13初始化時序②寫時間隙當(dāng)主機總線t0時刻從高拉至低電平時就產(chǎn)生寫時間隙,從to時刻開始15us之內(nèi)應(yīng)將所需寫的位送到總線上,DSl820在t0后15-60us間對總線采樣若低電平寫入的位是0,若高電平寫入的位是1,見圖4。14,連續(xù)寫2位間的間隙應(yīng)大于1us。圖4.14寫時序③讀時間隙見圖4.15,主機總線t0時刻從高拉至低電平時總線只須保持低電平l5us之后在t1時刻將總線拉高產(chǎn)生讀時間隙讀時間隙。在t1時刻后t2時刻前有效,t2距to為15us,也就是說t2時刻前主機必須完成讀位,并在t0后的60us一120us內(nèi)釋放總線。圖4。15讀時序結(jié)論本文從理論設(shè)計出發(fā),對倉庫溫度監(jiān)控系統(tǒng)展開分析與研究。采用新型的單線數(shù)字溫度傳感器DS18B20,徹底避免了模擬傳感器帶來的干擾問題,簡化了系統(tǒng)復(fù)雜程序,提高了系統(tǒng)測量的準(zhǔn)確程度和智能化程度,并在一定意義上降低了成本。該系統(tǒng)采用C語言,實現(xiàn)了數(shù)據(jù)采集,數(shù)據(jù)處理與顯示等功能。得到以下結(jié)論:(1)介紹了研究和設(shè)計的背景及意義,調(diào)查并綜述了當(dāng)前倉庫溫度監(jiān)控系統(tǒng)的現(xiàn)狀;(2)設(shè)計了通用的倉庫溫度監(jiān)控系統(tǒng)的硬件和軟件;(3)設(shè)計了系統(tǒng)中溫度傳感器的檢測電路;系統(tǒng)主要涉及的是倉庫溫度監(jiān)測,控制系統(tǒng)只有風(fēng)機,并不完善,這方面需要加以的提高。隨著倉庫信息化建設(shè)需求的不斷深入,信息化理念的進一步普及和深入理解,未來的倉庫測控系統(tǒng)需具備以下幾個特點:(1)具有完善的倉情數(shù)據(jù)分析決策數(shù)學(xué)模型;(2)系統(tǒng)的運行應(yīng)根據(jù)決策模型建立完善的自動化運行模型;(3)在倉庫信息的監(jiān)控方式上,應(yīng)包括局域網(wǎng)/因特網(wǎng)的實時狀態(tài)查一詢和設(shè)備。參考文獻[1]丙東,魏澤鼎.單片機應(yīng)用技術(shù)與實例[M].北京:電子工業(yè)出版社,2005[2]蔡秀琴.一種適合與軟膠囊生產(chǎn)線的多點溫度監(jiān)控系統(tǒng)[J].電工技術(shù),2005[3]黃樂天,謝意。實用高精度智能加熱器系統(tǒng)設(shè)計[J]。微計算機技術(shù),2005[4]胡漢才,等.單片機原理機接口技術(shù)[M].北京:北京清華大學(xué)出版社,2004?[5]葉鋼?;贒S18B20溫度控制系統(tǒng)的設(shè)計[J].電子測量與儀器學(xué)報,2007[6]李永.醫(yī)用體溫監(jiān)測系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2006[7]王琪琳,趙英濤。新型數(shù)字多路溫度巡檢儀的設(shè)計[J].西南民族大學(xué)學(xué)報,2003[8]倪志蓮,張怡典.單片機應(yīng)用技術(shù)[M].北京:北京理工大學(xué)出版社,2007[9]沈衛(wèi)紅.基于單片機的智能系統(tǒng)設(shè)計與實現(xiàn)[M]。北京:電子工業(yè)出版社,2005[10]秦龍.MSP430單片機應(yīng)用系統(tǒng)開發(fā)典型實例[J].北京:中國電力出版社,2005[11]雷少剛.基于AD590組成的溫度測量電路及應(yīng)用[J]。西南航空技術(shù)高等??茖W(xué)校學(xué)報[12]康華光編.電子技術(shù)基礎(chǔ)。高等教育出版社,2000[13]馮建華,單片機應(yīng)用系統(tǒng)設(shè)計與產(chǎn)品開發(fā),人民郵電出版社,2004[14]楊文龍編,單片機原理及應(yīng)用.西安電子科技大學(xué)出版社,2000[15]馬忠梅等,單片機的C語言應(yīng)用程序設(shè)計.北京航空航天大學(xué)出版社,1997[16]黃俊欽編,新型傳感器原理。航空工業(yè)出版社,1991[17]閹石,數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,2004[18]何立民,單片機高級教程-應(yīng)用與設(shè)計.北京:北京航空航天大學(xué)出版社,2000致謝通過本次畢業(yè)設(shè)計,我在指導(dǎo)老師陳鴻教授的精心指導(dǎo)和嚴格要求下,獲得了豐富的理論知識,極大地提高了實踐能力,并對當(dāng)前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,單片機領(lǐng)域這對我今后進一步學(xué)習(xí)計算機方面的知識有極大的幫助。另外,此次畢業(yè)設(shè)計還獲得了陳鴻老師和同學(xué)們的大力支持。在此,我忠心感謝陳鴻老師以及幫助我的同學(xué)的指導(dǎo)和幫助。在未來的工作和學(xué)習(xí)中,我將以更好的成績來回報老師。最后,深深感謝我的父母和親人,多年來他們一直鼓勵和默默地支持著我的學(xué)業(yè),是他們的愛心陪伴著我走過漫長的學(xué)習(xí)生涯。?附錄一:系統(tǒng)整體硬件電路圖?附錄二:系統(tǒng)程序仿真圖附錄三:程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuinttemp,temp_dat(yī)a[2];sbitDQ=P1^0;//DS18B20端口sbitHUP=P1^1; ??//最高溫度增鍵sbitHDOWN=P1^2; //最高溫度減鍵sbitLUP=P1^3; //最低溫度增建sbitLDOWN=P1^4;?? //最低溫度減鍵sbitBAOJING=P1^5;?? //報警輸出sbitOUT=P1^6; //控制通風(fēng)機sbitLED1=P2^5; //第一位數(shù)碼管位控制端sbitLED2=P2^4;? //第二位數(shù)碼管位控制端sbitLED3=P2^3; ??//第三位數(shù)碼管位控制端sbitLED4=P2^2;? //第四位數(shù)碼管位控制端sbitLED5=P2^1;?? //第五位數(shù)碼管位控制端sbitLED6=P2^0; ??//第六位數(shù)碼管位控制端unsignedcharcodetab_LED[10]={0x0C0,0x0F9,0x0A4,0x0B0,0x99,0x92,0x82,0xF8,0x80,0x90};//顯示的段碼,分別代表0—9typedefunsignedcharbyte;typedefunsignedintword;voiddelay2(uintt){for(;t〉0;t--);}voiddelaym(unsignedintt) //延時子程序,入口參數(shù)ms,延遲時間=t*1ms,t=0~65535{unsignedcharj; //j=0~255while(t——){for(j=0;j<50;j++);???//j進行的內(nèi)部循環(huán),1次延遲8us}}//************************18b20驅(qū)動程序***************************voiddelay(worduseconds)//延時子函數(shù){for(;useconds>0;useconds—-);}/****************DS18B20復(fù)位函數(shù)************************/ow_reset(void){charpresence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//從高拉倒低DQ=0;delay2(50);//550usDQ=1;delay2(6);//66uspresence=DQ;//presence=0復(fù)位成功,繼續(xù)下一步}delay2(45);//延時500uspresence=~DQ;}DQ=1;//拉高電平}/****************DS18B20寫命令函數(shù)************************///向1-WIRE總線上寫1個字節(jié)voidwrite_byte(ucharval){uchari;for(i=8;i>0;i——){DQ=1;_nop_();_nop_();//從高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_();//5usDQ=val&0x01;//最低位移出delay2(6);//66usval=val/2;//右移1位}DQ=1;delay2(1);}///****************DS18B20讀1字節(jié)函數(shù)************************///從總線上取1個字節(jié)ucharread_byte(void){uchari;ucharvalue=0;for(i=8;i〉0;i—-){DQ=1;_nop_();_nop_();value〉〉=1;DQ=0;_nop_();_nop_();_nop_();_nop_();//4usDQ=1;_nop_();_nop_();_nop_();_nop_();//4usif(DQ)value|=0x80;delay2(6);//66us}DQ=1;return(value);}///****************讀出溫度函數(shù)************************///uintread_temp(){ow_reset();//總線復(fù)位delay2(200);write_byte(0xcc);//發(fā)命令write_byte(0x44);//發(fā)轉(zhuǎn)換命令ow_reset();delay2(1);write_byte(0xcc);//發(fā)命令write_byte(0xbe);temp_data[0]=read_byte();//讀溫度值的第字節(jié)temp_data[1]=read_byte();//讀溫度值的高字節(jié)temp=temp_data[1];temp<<=8;temp=temp|temp_data[0];//兩字節(jié)合成一個整型變量。returntemp;//返回溫度值}//***************************主函數(shù)****************************main(){unsigned

溫馨提示

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

評論

0/150

提交評論