庫房溫濕度測控系統(tǒng)設(shè)計(包含電路原理圖、PCB封裝、軟件程序)_第1頁
庫房溫濕度測控系統(tǒng)設(shè)計(包含電路原理圖、PCB封裝、軟件程序)_第2頁
庫房溫濕度測控系統(tǒng)設(shè)計(包含電路原理圖、PCB封裝、軟件程序)_第3頁
庫房溫濕度測控系統(tǒng)設(shè)計(包含電路原理圖、PCB封裝、軟件程序)_第4頁
庫房溫濕度測控系統(tǒng)設(shè)計(包含電路原理圖、PCB封裝、軟件程序)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計設(shè)計題目設(shè)計題目庫房溫濕度測控系統(tǒng)的設(shè)計學(xué)生姓名學(xué)號專業(yè)班級指導(dǎo)教師院系名稱儀器科學(xué)與光電工程學(xué)院2012年5月目錄中文摘要:1英文摘要:21引言31.1課題意義31.2國內(nèi)外開展現(xiàn)狀及趨勢42系統(tǒng)設(shè)計的任務(wù)分析和方案選擇62.1系統(tǒng)的主要性能指標(biāo)62.2系統(tǒng)設(shè)計的方案選擇6溫濕度傳感器62.2.2控制芯片AT89S51單片機92.2.3顯示模塊112.3系統(tǒng)設(shè)計方案的工作原理123系統(tǒng)硬件電路設(shè)計133.1單片機控制電路設(shè)計133.2液晶顯示電路設(shè)計143.3溫濕度測控系統(tǒng)電路設(shè)計153.4鍵盤電路設(shè)計173.5報警電路設(shè)計183.6看門狗電路設(shè)計183.6.1MAX813L芯片介紹193.6.2看門狗電路設(shè)計203.7電源電路設(shè)計214系統(tǒng)軟件設(shè)計234.1主程序設(shè)計234.2液晶顯示設(shè)計244.3SHT11初始化設(shè)計27結(jié)論29致謝30參考文獻31附錄1:系統(tǒng)的電路原理圖32附錄2:系統(tǒng)的PCB圖33附錄3:系統(tǒng)的軟件程序源代碼34庫房溫濕度測控系統(tǒng)的設(shè)計中文摘要:溫度和濕度是兩種最根本的環(huán)境參數(shù),與人們的生活環(huán)境息息相關(guān),在工業(yè)生產(chǎn)和日常生活中,溫度和濕度是需要測量和控制的重要參數(shù)。物體的許多物理現(xiàn)象和化學(xué)性質(zhì)都與溫度、濕度有關(guān),許多生產(chǎn)過程都是在一定的溫濕度范圍內(nèi)進行的,因此需要測量和控制溫濕度。該課題是對庫房和花房內(nèi)溫濕度的監(jiān)測及電路設(shè)計的研究。利用單片機實現(xiàn)的高精度實用性溫濕度控制系統(tǒng)可廣泛應(yīng)用于庫房的倉儲管理,花房等需要溫濕度控制的場所。針對現(xiàn)有的設(shè)備大多數(shù)只監(jiān)測溫度而無視濕度的問題進行思考并提出解決方案,最終設(shè)計出實用性高、價格低廉的監(jiān)測系統(tǒng)。本次設(shè)計的溫濕度控制系統(tǒng)以AT89C2051單片機為控制核心,采用溫濕度傳感器SHT11作為檢測元件,結(jié)合MAX813L看門狗構(gòu)建了溫濕度監(jiān)控系統(tǒng)。實現(xiàn)單片機發(fā)出控制命令,傳感器進行數(shù)據(jù)采集,將采集到的模擬信號轉(zhuǎn)換為計算機能夠識別的數(shù)字信號,通過mgls12864液晶顯示屏顯示實時溫度和濕度,超出或者低于用戶的設(shè)定值時由蜂鳴器報警,并由溫濕度調(diào)節(jié)系統(tǒng)對環(huán)境溫度、濕度進行調(diào)節(jié),從而完成的系統(tǒng)可以方便地實現(xiàn)溫度、濕度的有效實時顯示和控制的要求,降低經(jīng)濟損失和勞動強度,提高產(chǎn)品的性價比。關(guān)鍵詞:單片機SHT11溫濕度傳感器測控系統(tǒng)液晶顯示Abstract:Temperatureandhumidityaretwoofthemostbasicenvironmentalparameters,andpeople'slivingenvironmentiscloselyrelated.intheindustrialproductionanddailylife,temperatureandhumidityaretheneedtobemeasuredandcontrolled.Thesubjectisonmonitoringanddesigningcircuittemperatureandhumidityofthestoreroomsandflowerrooms.TemperatureandhumiditycontrolsysteminusingSingle-chipwhichishigh-precisionandpracticalitycanbewidelyappliedtothestoreroomsmanagement,theflowerroomsinneedofcontrollingtemperatureandhumidityandsoon.Formostoftheexistingequipmentswhichonlymonitortemperatureandignorehumiditythinkaboutandputforwardasolution,designahighavailabilityandlowcostmonitoringsystemfinally.ThedesignedtemperatureandhumiditycontrolsystemtakesAT89C2051microcontrollerasthecontrolcentre,usestemperatureandhumiditysensorSHT11asthedetectionelement,andbuildstemperatureandhumiditymonitoringsystemcombinationoftheMAX813LWatchdogTimer.Whencansentcommandsbythesingle-chipprocessor,thesensorbeginstocollectdataandconvertAnalogtoDigitalthatcanberecognizedbycomputer.TheINTERICBUSsendthedatatothestoreunittothesingle-chipprocessor,anddisplaybymgls12864LCDdisplayingreal-timetemperatureandhumidity.Whentemperatureandhumidityarebeyondorbelowtheusers'settings,thebuzzeralarms.Beadjustedbythetemperatureandhumidityregulationsystemtoambienttemperature,humidity,thuscompletingthesystemcaneasilyachievetherequirementsofeffectivereal-timecontroloftemperatureandhumidity,reduceeconomiclossesandlaborintensity,improvethecost-effective.Keywords:Single-chipSHT11sensorsTemperatureandhumiditymeasurementliquidcrystaldisplay1引言1.1課題意義目前,國內(nèi)大中型庫房在倉儲管理和花房等需要溫濕度控制的場所的現(xiàn)狀,多數(shù)僅限于對溫度進行監(jiān)測和控制,而沒有對濕度采取相應(yīng)的措施。當(dāng)溫度不正常時〔過低或者過高〕便進行強制通風(fēng)或者加溫,但是這樣會因為處理不及時〔設(shè)備、人力、條件有限〕仍然造成大量損失。濕度和溫度是眾多領(lǐng)域中需要檢測的重要環(huán)境參數(shù)。不僅在工業(yè)、現(xiàn)代農(nóng)業(yè),還是在氣象衛(wèi)星、倉庫保管等領(lǐng)域,對溫度和濕度的測量都是隨處可見的。對溫度和濕度的測量與監(jiān)控也是十分有意義的。對濕度和溫度進行合理有效的調(diào)控不僅可以節(jié)約能源還更有利各行業(yè)平安健康的開展。查閱資料得知人體適宜的健康溫度為18℃—25℃,健康濕度為40%—70%RH,在此環(huán)境下人體感覺最舒適。而在溫度介于24℃—30℃,濕度小于60%RH時,人體的感覺是熱而不悶;在溫度高于30℃,濕度大于70%RH時,人體就會感覺到悶熱;在溫度高于36℃,濕度大于80%RH時,人體的感覺那么是嚴(yán)重悶熱,而且發(fā)汗機制受阻,容易因體內(nèi)蓄積大量的余熱而中暑;工作出錯率比平時高十倍,意外工傷事故比率上升。許多疾病都與溫濕度有密切的關(guān)系,尤其與過低的濕度有關(guān)?,F(xiàn)代醫(yī)學(xué)發(fā)現(xiàn):在45%—55%RH的相對濕度下,病菌平均壽命最短,過高或過低的濕度都會導(dǎo)致病菌壽命延長。當(dāng)空氣濕度為35%RH時,鼻部和肺部呼吸道粘膜上的纖毛運動減緩,灰塵、細菌等容易附著在粘膜上,刺激喉部引發(fā)咳嗽和其它呼吸道疾病??諝鉂穸鹊偷臅r候,流感病毒和能引發(fā)感染的革蘭氏陽性菌的繁殖速度會加快,而且容易擴散,引發(fā)疾病。此外,過敏性皮炎、哮喘、皮膚瘙癢等過敏性疾病也都和空氣枯燥有關(guān)。因此檢測人們工作空間內(nèi)的溫濕度值,并進行合理的調(diào)控對人們的身體健康是十分有意義的。倉庫儲藏領(lǐng)域必須對濕度和溫度進行檢測與控制。國家的儲藏糧倉庫對溫度濕度控制更是非常嚴(yán)格的。如果儲藏糧油等副食品地方的濕度過大、溫度過高,就容易導(dǎo)致儲藏的糧食發(fā)霉變質(zhì)。這些地方的溫濕度一但出現(xiàn)問題,不僅僅是糧食資源的浪費,更關(guān)乎到市場供給、社會秩序的平安與穩(wěn)定。故而,需要定期的對倉庫內(nèi)的溫濕度值進行監(jiān)測?;ǚ績?nèi)的溫度和濕度也需要定期監(jiān)測,對濕度和溫度的控制要求也很高。這是因為溫濕度值的上下直接影響到植物的正常生長發(fā)育。適宜的溫度和濕度,不僅可以節(jié)約植物生長必須的養(yǎng)分和化肥,而且植物開出花朵會更美更大。??茖W(xué)實驗的實驗室對溫濕度的要求那么更高,實驗室內(nèi)溫濕度值控制的適宜與否,直接影響科學(xué)家能否得出正確的實驗結(jié)果。而庫房儲藏物和花房的溫度變化主要是由于濕度引起的,庫房儲藏物和花房植物本身水分過高或連續(xù)的潮濕天氣將導(dǎo)致儲藏物和植物新陳代謝加快而放出熱量,從而引起的溫度變化又使新陳代謝進一步加劇以至發(fā)霉變質(zhì)和植物枯萎。這種惡性循環(huán)一旦形成很難進行有效控制。因此,庫房和花房在進行溫度監(jiān)測的同時,必須重視對空氣濕度的檢測。為了更好地測量、控制溫度和濕度等影響物品和植物儲存的因素,本文設(shè)計了以AT89C51單片機為控制器的智能測控系統(tǒng),通過該系統(tǒng)可以對環(huán)境溫度、濕度等觀測值進行自動控制和適時監(jiān)測,并利蜂鳴器進行報警及相應(yīng)的處理。該課題涵蓋了單片機、傳感技術(shù)、電工電子、計算機等多個學(xué)科的知識內(nèi)容,對進一步深化高等教育改革,培養(yǎng)本科生獲取知識、應(yīng)用知識的能力及創(chuàng)新意識具有重要意義。1.2國內(nèi)外開展現(xiàn)狀及趨勢最近幾年,國內(nèi)外庫房溫濕度測控系統(tǒng)正從結(jié)構(gòu)復(fù)雜、功能單一、本錢高昂向著集成化、智能化、多參數(shù)檢測、本錢低廉的方向迅速開展,隨著科研人員的不斷努力,該類型的系統(tǒng)取得了巨大的成就。這也為開發(fā)新一代溫濕度測控系統(tǒng)奠定了根底,同時將溫度、濕度的測量、控制技術(shù)提高到新的水平?,F(xiàn)代溫濕度測控系統(tǒng)技術(shù)主要以數(shù)據(jù)采集為依據(jù),主要類型包括:虛擬儀器、智能儀器、數(shù)字式儀器等等。伴隨著科學(xué)技術(shù)及計算機的進一步開展,數(shù)據(jù)采集系統(tǒng)也發(fā)生了日新月異的變化,其整體的性能、實用性方面都有所改良。因此,依托于數(shù)據(jù)采集結(jié)構(gòu)而開展的溫濕度傳感器測量系統(tǒng)在實際應(yīng)用中也發(fā)揮這越來越重要的作用。目前,國內(nèi)溫濕度測控系統(tǒng)采用的方法主要有:“溫—阻〞法和“濕—阻〞法,即采用電阻型的溫濕度傳感器,利用其阻值隨溫濕度的變化測定空氣的溫度和相對濕度。然而受傳感器靈敏度的影響,這類溫濕度測控系統(tǒng)的精度不可能很高,難以滿足實驗室設(shè)備等對精度要求頗高的場合。近些年來,國內(nèi)許多機構(gòu)也在傳感器測試裝置的研發(fā)上不斷探索、實踐。例如通過采用傳統(tǒng)電子儀器進行設(shè)計研發(fā)而成的多種動態(tài)測試系統(tǒng)、自動裝置的氣體傳感器智能測試系統(tǒng)等等,這些成績都表達了我國在傳感器領(lǐng)域取得的成就。與此同時,國外許多大型企業(yè)都很重視傳感器的開展和完善,較之國內(nèi)更勝一籌。在九十年代,先后出現(xiàn)了集成溫度濕度測量套件和應(yīng)用于濕度傳感器的測試系統(tǒng),這些新技術(shù)的產(chǎn)生都大大刺激了傳感器的進一步開展。當(dāng)然,隨著科技的進步,傳統(tǒng)的溫濕度測試技術(shù)在靈敏度、精度等方面都已經(jīng)無法滿足市場的需求,因此,研究出新一代符合人們工作需求傳感器顯得尤為重要。2系統(tǒng)設(shè)計的任務(wù)分析和方案選擇2.1系統(tǒng)的主要性能指標(biāo)根據(jù)系統(tǒng)設(shè)計任務(wù)書及生活實際的需要,確定本產(chǎn)品的主要性能指標(biāo)為:溫度測量范圍:-20—+45℃;濕度測量范圍:0—100%Rh;溫度測量精度:±0.01oC;濕度測量誤差:≤5%Rh;電源電壓的工作范圍:DC4.5~5.5V;由用戶自主設(shè)定溫度、濕度值,當(dāng)溫度、濕度不正?!渤龌蛘叩陀陬A(yù)設(shè)值〕時,由蜂鳴器發(fā)出報警信號。2.2系統(tǒng)設(shè)計的方案選擇本設(shè)計系統(tǒng)要實現(xiàn)的功能:實時顯示當(dāng)前環(huán)境的溫度和濕度,并且允許用戶自主設(shè)定溫濕度閾值,當(dāng)環(huán)境溫濕度超過或者低于閾值時,由蜂鳴器發(fā)出報警信號進行報警提示。在對各類濕度,溫度傳感器原理了解的根底上,根據(jù)系統(tǒng)設(shè)計任務(wù)書的要求,完成溫度、濕度傳感器芯片的選型,系統(tǒng)芯片的選擇。利用單片機實現(xiàn)的高精度實用性溫濕度控制系統(tǒng),由AT89S51單片機進行控制,采用溫濕度傳感器SHT11作為檢測元件,結(jié)合MAX813L看門狗構(gòu)建了溫濕度監(jiān)控系統(tǒng),通過控制驅(qū)動器MAX7219驅(qū)動mgls12864液晶顯示屏,從而完成系統(tǒng)可以方便地實現(xiàn)溫度、濕度的有效實時顯示和控制的要求。最后還要考慮設(shè)計系統(tǒng)所選擇的元器件的本錢。而作為庫房倉儲管理、花房等需要環(huán)境溫濕度監(jiān)測場合的儀器,系統(tǒng)本身的可靠性,實用性,靈敏性指標(biāo)也是在設(shè)計系統(tǒng)時應(yīng)考慮的因素。溫濕度傳感器溫濕度傳感器是指能將溫度量和濕度量轉(zhuǎn)換成容易被測量處理的電信號的設(shè)備或裝置。市場上的溫濕度傳感器一般是測量溫度量和相對濕度量。溫度:度量物體冷熱的物理量,是國際單位制中7個根本物理量之一。在生產(chǎn)和科學(xué)研究中,許多物理現(xiàn)象和化學(xué)過程都是在一定的溫度下進行的,人們的生活也和他密切相關(guān)。濕度:用數(shù)量來進行表示較為困難。對濕度的表示方法有絕對濕度、相對濕度、露點、濕氣與干氣的比值〔重量或體積〕等等。日常生活中最常用的表示濕度的物理量是空氣的相對濕度。用%RH表示。在物理量的導(dǎo)出上相對濕度與溫度有著密切的關(guān)系。一定體積的密閉氣體,其溫度越高相對濕度越低,溫度越低,其相對濕度越高。其中涉及到復(fù)雜的熱力工程學(xué)知識。相對濕度:在計量法中規(guī)定,濕度定義為“物象狀態(tài)的量〞。日常生活中所指的濕度為相對濕度,用RH%表示??傊?,即氣體中〔通常為空氣中〕所含水蒸氣量〔水蒸氣壓〕與其空氣相同情況下飽和水蒸氣量〔飽和水蒸汽壓〕的百分比。絕對濕度:指單位容積的空氣里實際所含的水汽量,一般以克為單位。溫度對絕對濕度有著直接影響,一般情況下,溫度越高,水蒸氣發(fā)得越多,絕對濕度就越大;相反,絕對濕度就小。溫濕度傳感器的選擇是本設(shè)計的核心問題。傳統(tǒng)的模擬式的溫濕度傳感器一般都要設(shè)計信號調(diào)理電路并需要經(jīng)過負復(fù)雜的校準(zhǔn)和標(biāo)定過程,因此測量精度難以保證,且在線性度、重復(fù)性、互換性、一致性等方面往往不盡如人意。目前國際上新型傳感器正從模擬式向數(shù)字式、集成化向智能化和網(wǎng)絡(luò)化的方向開展。鑒于上述原因,本系統(tǒng)采用SHT11芯片測量溫濕度值。SHT11是瑞士Scnsirion公司推出的基于CMOSensTM技術(shù)的新型溫濕度傳感器。SHT11的外形尺寸僅為7.6〔mm〕×5〔mm〕×2.5〔mm〕,體積與火柴頭相近。出廠前,每只傳感器都在溫室中做過精密標(biāo)準(zhǔn)測試。標(biāo)準(zhǔn)系數(shù)被編成相應(yīng)的程序存入校準(zhǔn)存儲器中,在測量工程中可以對相對濕度進行自動校準(zhǔn)。它不僅能準(zhǔn)確測量相對濕度,還能測量濕度和露點。該芯片在溫濕度監(jiān)測、自動控制等領(lǐng)域均已得到廣泛應(yīng)用。該傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它應(yīng)用溫濕度傳感和數(shù)字模塊采集技術(shù),具有很高的穩(wěn)定性和可靠性,SHT11傳感器內(nèi)含一個NTC測溫和一個電阻式感濕元件,并與一個8位的高性能單片機相連接。作為一個數(shù)字溫濕度傳感器,SHT11具有響應(yīng)快速、抗干擾強、性價比高等優(yōu)點。它的性能指標(biāo)如圖2.1所示:圖2.1SHT11傳感器性能說明溫度測量范圍為0~50℃,溫度測量精度為±2.00℃;濕度測量范圍為0~100%RH,濕度測量精度為±5%RH;工作電壓3.0~5.5V,響應(yīng)時間<5S。SHT1l采用4針單排引腳封裝,傳感器通電后,需要等待1s,這是因為要越過不穩(wěn)定的狀態(tài),在此期間不需發(fā)送指令,電源引腳〔VDD,GND〕之間可增加一個100nF的電容,用以去耦濾波。典型的應(yīng)用電路如圖2.2所示:圖2.2SHT典型的應(yīng)用電路圖2.3相對濕度、溫度的精度曲線控制芯片AT89S51單片機AT89S51是美國ATMEL公司生產(chǎn)的低功耗、高性能CMOS的8位單片機,片內(nèi)含4K的可編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳,既可在線編程(ISP),也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片機芯片中,ATMEL公司的功能強大、價格低廉的AT89S51單片機可為我們提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制的領(lǐng)域。其引腳圖如圖2.4所示:圖2.4AT89S51引腳圖AT89S51的功能標(biāo)準(zhǔn):4K字節(jié)閃爍存儲器,128字節(jié)隨機存取數(shù)據(jù)存儲器,2個16位定時/計數(shù)器,32個I/O口,1個串行通信口,1個5向量兩級中斷結(jié)構(gòu);另外,AT89S51還可以進行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式,閑散方式停止中央處理器的工作,可允許隨機存取數(shù)據(jù)存儲器、定時/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存隨機存取數(shù)據(jù)存儲器中的內(nèi)容,但震蕩器停止工作并禁止其它所有部件的工作直到下一個復(fù)位,在AT89C51上新增加的功能使AT89S51性能有了較大提升,它的價格甚至更低,它的工作頻率可達33MHz,比AT89C51的工作頻率更高,ISP在線編程功能的優(yōu)越性在于它不必要將芯片從工作狀態(tài)下別離,特別是在改寫存儲器內(nèi)的程序,這是一個相當(dāng)方便簡單的功能,它不需要像AT89C51那樣外接看門狗計時器單元電路,由于它內(nèi)部具有雙工UART串行通道內(nèi)部集成看門狗計時器,它具有全新的加密算法,大大加強的程序的保密性,有效的保護知識產(chǎn)權(quán)不被侵犯,它向下完全兼容51全部字系列產(chǎn)品。2.2.3顯示模塊液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄等許多其它顯示器無法比較的優(yōu)點,近幾年來被廣泛用于單片機控制的智能儀器、儀表和低功耗電子產(chǎn)品中。LCD可分為段位式LCD、字符式LCD和點陣式LCD。其中,段位式LCD和字符式LCD只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動,動畫功能,分區(qū)開窗口,反轉(zhuǎn),閃爍等功能,用途十分廣泛。顯示模塊選用香港精電公司生產(chǎn)的mgls12864液晶顯示屏,mgls12864是128*64點陣液晶模塊的點陣數(shù)簡稱,業(yè)界約定俗成的簡稱。該點陣的屏顯本錢相對較低,適用于各類儀器,小型設(shè)備的顯示領(lǐng)域。其引腳圖如圖2.5所示。圖2.512864引腳圖2.3系統(tǒng)設(shè)計方案的工作原理根據(jù)系統(tǒng)設(shè)計的總體要求及上述的分析,本次選擇如下的方案:整個系統(tǒng)由控制芯片AT89S51、溫濕度傳感器、液晶顯示模塊、蜂鳴器、看門狗以及溫濕度調(diào)節(jié)系統(tǒng)等6局部組成。用戶預(yù)先設(shè)定并輸入溫度、濕度報警值到程序中,該值作為系統(tǒng)閾值;溫濕度傳感器將監(jiān)測值傳輸給單片機,當(dāng)單片機監(jiān)測到的數(shù)值超出所設(shè)定閾值時,驅(qū)動蜂鳴器報警,并為溫濕度調(diào)節(jié)系統(tǒng)提供控制信號,由此實現(xiàn)自動控制。庫房溫濕度測控系統(tǒng)的原理框圖如圖2.6所示:圖2.6庫房溫濕度測控系統(tǒng)的設(shè)計流程圖該溫濕度測控系統(tǒng)以溫濕度監(jiān)控為重點,溫濕度參數(shù)和設(shè)備運行狀態(tài)由用戶根據(jù)庫房存儲或者花房植物的環(huán)境要求自行設(shè)定,并在液晶顯示屏上顯示當(dāng)前的溫濕度信息。此控制平臺主要實現(xiàn)現(xiàn)場溫濕度數(shù)據(jù)的采集并實時調(diào)整環(huán)境的溫濕度,AT89C2051是控制平臺的核心,溫濕度數(shù)據(jù)的采集通過溫濕度傳感器SHT11獲得,當(dāng)溫濕度高于或者低于用戶設(shè)定值時,由單片機將信號傳給蜂鳴器,此時蜂鳴器報警,從而溫濕度調(diào)節(jié)系統(tǒng)進入工作狀態(tài),控制環(huán)境溫濕度并使其恢復(fù)到正常值。3系統(tǒng)硬件電路設(shè)計根據(jù)第二局部的設(shè)計要求和目的,整個溫濕度測控系統(tǒng)的硬件設(shè)計包括單片機控制電路設(shè)計,液晶顯示電路設(shè)計,溫濕度測控系統(tǒng)電路設(shè)計,鍵盤電路設(shè)計,報警電路設(shè)計,看門狗電路設(shè)計以及電源電路設(shè)計。3.1單片機控制電路設(shè)計在測控領(lǐng)域中,使用最多還是Atmel公司的MCS-51系列單片機。MCS-51系列單片機是8位增強型,其主要的技術(shù)特征是為單片機配置了完善的外部并行總線和具有多級識別功能的串行通訊接口〔UART〕,標(biāo)準(zhǔn)了功能單元的SFR控制模式及適應(yīng)控制器特點的布爾處理和指令系統(tǒng)。此系列單片機易于開發(fā)、使用靈活、而且體積小、抗干擾能力強,可以兼容種類眾多的支持芯片、較為豐富的軟件資源,可以工作于各種惡劣的條件下,工作穩(wěn)定等特點。本設(shè)計選用MCS-51系列的AT89S51單片機作為本系統(tǒng)的CPU。所設(shè)計的單片機控制電路如圖3.1所示:圖3.1單片機AT89S51控制電路設(shè)計3.2液晶顯示電路設(shè)計在日常生活中,我們對液晶顯示器并不陌生,它已經(jīng)普遍作為很多電子產(chǎn)品的顯示器件,例如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。顯示電路采用香港精電公司生產(chǎn)的12864液晶顯示屏,其中溫度和濕度值可以同時顯示,用戶能直觀地看到溫度、濕度值。該系統(tǒng)的顯示電路設(shè)計如圖3.2所示。圖3.2液晶顯示電路圖3.3溫濕度測控系統(tǒng)電路設(shè)計SHT11是數(shù)字型溫濕度傳感器,可直接以數(shù)字方式傳輸所采集的當(dāng)前環(huán)境溫濕度,SHT11采用的是單總線通信,因此只需將單片機的一個I/O端口與SHT11的通信接口連接就可以實現(xiàn)數(shù)據(jù)的采集和傳送。在電源引腳〔VDD,GND〕之間須加一個0.1μF的電容,用以去耦濾波。SHT11的串行接口,在傳感器信號的讀取及電源損耗方面,都做了優(yōu)化處理。DATA引腳為三態(tài)結(jié)構(gòu),用于讀取傳感器數(shù)據(jù)。SCK用于單片機與SHT11之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。當(dāng)向傳感器發(fā)送命令時,DATA在SCK上升沿有效且在SCK高電平時必須保持穩(wěn)定。DATA在SCK下降沿之后改變。為確保通訊平安,DATA的有效時間在SCK上升沿之前和下降沿之后應(yīng)該分別延長至TSUandTHO當(dāng)從傳感器讀取數(shù)據(jù)時,DATATV在SCK變低以后有效,且維持到下一個SCK的下降沿。為防止信號沖突,微處理器應(yīng)驅(qū)動DATA在低電平。需要一個外部的上拉電阻〔例如:10kΩ〕將信號提拉至高電平。上拉電阻通常已包含在微處理器的I/O電路中。=1\*GB3①溫度值輸出由于SHT11溫度傳感器的線性度非常好,故可以用以下公式將溫度數(shù)字輸出轉(zhuǎn)換成實際溫度值:T=d1+d2SOT。當(dāng)電源電壓為5V,且溫度傳感器的分辨率為14位時,d1=-4,d2=0.01,當(dāng)溫度傳感器的分辨率為12位時,d1=-40,d2=0.04。=2\*GB3②濕度值輸出SHT11相對濕度數(shù)字輸出特性曲線如圖3.3所示。由圖可以看出,SHT11的輸出特性呈一定的非線性,為了補償濕度傳感器的非線性,可以按如下公式修正濕度值:RHIinera=C1+C2SORH+C3SORH2(3.1)式中,SORH為傳感器相對濕度測量值,系數(shù)取值如下:12位:SORH:C1=-4,C2=0.0405,C3=-2.8×0-68位:SORH:C1=-4,C2=0.648,C3=-7.2×10-4圖3.3SHT11傳感器相對濕度數(shù)字輸出特性曲線本次設(shè)計中使用SHT11數(shù)字傳感器作為溫濕度檢測的元件,電路設(shè)計如上圖3.4所示。圖3.4溫濕度測控系統(tǒng)電路設(shè)計3.4鍵盤電路設(shè)計系統(tǒng)的鍵盤電路的設(shè)計采用獨立式查詢接口方式,電路簡單,查詢程序簡單,具有很好的穩(wěn)定性。本設(shè)計可以直接設(shè)定溫濕度參數(shù)的上下限值,同時在液晶屏上顯示,從而到達對溫濕度控制報警的功能。這樣可以使所設(shè)計的系統(tǒng)適應(yīng)更多的場合。其中WD為溫度設(shè)置按鈕,SD為濕度設(shè)置按鈕,U、D分別為數(shù)值上下調(diào)節(jié)按鈕。開關(guān)S1、S2、S3、S4分別與單片機的P1.0、P1.1、P1.2、P1.3口相連。在程序查詢方式下,通過I/O端口讀入鍵狀態(tài),當(dāng)有鍵被按下時,相應(yīng)的I/O端口變?yōu)榈碗娖?,而未有鍵被按下時,由于上拉電阻的作用,對應(yīng)的I/O口線保持高電平,這樣通過讀I/O口狀態(tài)可判斷是否有鍵按下。當(dāng)WD鍵被按下時,P1.1口由高電平變?yōu)榈碗娖剑到y(tǒng)調(diào)入溫度的預(yù)設(shè)值,同時在mgls12864液晶屏上顯示,通過U、D鍵即可上下調(diào)節(jié)溫度的預(yù)設(shè)值。同理,當(dāng)SD被按下時,對應(yīng)的P1.0口變?yōu)榈碗娖?,系統(tǒng)調(diào)入濕度的預(yù)設(shè)值,同時在mgls12864液晶屏上顯示,通過U、D也可上下調(diào)節(jié)濕度的預(yù)設(shè)值。鍵盤電路設(shè)計如圖3.5所示。圖3.5鍵盤電路設(shè)計圖3.5報警電路設(shè)計本設(shè)計采用的是聲光報警,設(shè)定報警的上下限值實現(xiàn)報警功能,使用單片機的中斷系統(tǒng)。根據(jù)單片機接收到的數(shù)據(jù)經(jīng)過處理后與該參數(shù)設(shè)定的上下限進行比較,高于上限值〔或低于下限值〕那么進行報警,同時能進行正常的顯示。在報警電路中,由蜂鳴器和PNP型三極管構(gòu)成,在輸入溫濕度的上下限后,系統(tǒng)會進行實時采樣,并判斷測試溫濕度與輸入溫濕度之間的差異,當(dāng)檢測出的溫濕度在設(shè)定的溫濕度上下限外就會報警,即蜂鳴器鳴叫并發(fā)出信號。報警電路如圖3.6所示。圖3.6報警電路設(shè)計3.6看門狗電路設(shè)計MAX813L芯片介紹3.6.1.1MAX813L芯片的引腳功能(1)MR〔1腳〕:手動復(fù)位輸入端。當(dāng)該端輸入低電平保持140ms以上,MAX813L就輸出復(fù)位信號。該輸入端的最小輸入脈寬要求可以有效地消除開關(guān)的抖動。/MR與TTL/CMOS兼容。(2)VCC〔2腳〕:工作電源端。接+5V電源。(3)GND〔3腳〕:電源接地端。接0V參考電平。(4)PFI〔4腳〕:電源故障輸入端。當(dāng)該端輸入電壓低于1.25V時,5號引腳輸出端的信號由高電平變?yōu)榈碗娖健?5)PEO〔5腳〕:電源故障輸出端。電源正常時,保持高電平;電源電壓變低或掉電時,該端輸出信號由高電平變?yōu)榈碗娖健?6)WDI(6腳):看門狗信號輸入端〔喂狗信號〕。程序正常運行時,必須在小于1.6s的時間間隔內(nèi)向該輸入端發(fā)送一個脈沖信號,以去除芯片內(nèi)部的看門狗定時器。假設(shè)超過1.6s該輸入端收不到脈沖信號,那么內(nèi)部定時器溢出,8號引腳由高電平變?yōu)榈碗娖健?7)REST〔7腳〕:復(fù)位信號輸出端。上電時,自動產(chǎn)生200ms的復(fù)位脈沖;手動復(fù)位端輸入低電平時,該端也產(chǎn)生復(fù)位信號輸出。(8)/WDO〔8腳〕:看門狗信號輸出端。正常工作時輸出保持高電平,看門狗輸出時,該端輸出信號由高電平變?yōu)榈碗娖?。圖3.7MAX引腳圖MAX813L是MAXIM公司推出的低本錢微處理器監(jiān)控芯片,其引腳圖如上圖3.7所示。3.6.1.2MAX813L芯片特點(1)加電、掉電以及供電電壓下降情況下的復(fù)位輸出,復(fù)位脈沖寬度典型值為200ms。(2)獨立的看門狗輸出,如果看門狗輸入在1.6s內(nèi)未被觸發(fā),其輸出將變?yōu)楦唠娖健?3)1.25V門限值檢測器,用于電源故障報警、電池低電壓檢測或+5V以外的電源。(4)門限電壓為4.65V(5)低電平有效的手動復(fù)位輸入,當(dāng)手動復(fù)位端輸入低電平時,產(chǎn)生復(fù)位信號輸出。(6)8引腳DIP封裝。3.6.2看門狗電路設(shè)計工業(yè)環(huán)境中的干擾大多是以窄脈沖的形式出現(xiàn),而最終造成微機系統(tǒng)故障的多數(shù)現(xiàn)象為“死機〞。究其原因是CPU在執(zhí)行某條指令時,受干擾的沖擊,使它的操作碼或地址碼發(fā)生改變,致使該條指令出錯。這時,CPU執(zhí)行隨機拼寫的指令,甚至將操作數(shù)作為操作碼執(zhí)行,導(dǎo)致程序“跑飛〞或進入“死循環(huán)〞。為使這種“跑飛〞或進入“死循環(huán)〞的程序自動恢復(fù),重新正常工作,一種有效的方法是采用硬件“看門狗〞技術(shù)。假設(shè)程序發(fā)生“死機〞,那么看門狗產(chǎn)生復(fù)位信號,引導(dǎo)單片機程序重新進入正常運行。工業(yè)現(xiàn)場環(huán)境復(fù)雜,往往造成系統(tǒng)的電源電壓不穩(wěn),當(dāng)電源電壓降低或掉電時,會造成重要的數(shù)據(jù)喪失,系統(tǒng)不能正常運行。假設(shè)設(shè)法在電源電壓降至一定的限值之前,單片機快速地保存重要數(shù)據(jù),將會最大限度地減少損失。鑒于以上情況時有發(fā)生,本次設(shè)計使用電源監(jiān)視電路MAX813L的看門狗。開關(guān)二極管D1使手動引腳產(chǎn)生對應(yīng)的低電平,從而使復(fù)位輸出有效的高電平,使系統(tǒng)復(fù)位,系統(tǒng)自行從死機中恢復(fù)。對于本系統(tǒng),將看門狗喂狗安排在主程序中,其目的是為了有效防止主程序跑飛導(dǎo)致的失效,從而保證系統(tǒng)的順利運行。其電路設(shè)計如圖3.8所示。圖3.8看門狗電路圖3.7電源電路設(shè)計本系統(tǒng)所有芯片都需要+5V的工作電壓,而干電池只能提供的電壓為1.5V的倍數(shù)的電壓,并且隨著使用時間的延長,其電壓會逐漸下。本電路是一個輸出+5V直流電壓的穩(wěn)壓電源電路。IC采用集成穩(wěn)壓器LM7805,電容分別為輸入端和輸出端濾波電容,電壓范圍6-15V直流。當(dāng)輸出電較大時,7805應(yīng)配上散熱板。電源電路如圖3.9所示。圖3.9電源電路圖4系統(tǒng)軟件設(shè)計整個系統(tǒng)的功能是由硬件電路配合軟件編程設(shè)計來實現(xiàn)的,軟件設(shè)計是本次設(shè)計中不可缺少的環(huán)節(jié),貫穿了整個畢業(yè)設(shè)計。當(dāng)硬件電路設(shè)計完成后軟件編程也就開始了。按照軟件的功能,編程可以分為兩的類:一是主程序,它是整個軟件的核心,專門用來協(xié)調(diào)各個執(zhí)行模塊和操作者的聯(lián)系。二是子程序,它是用來完成各種實質(zhì)性的工作的,如測量、顯示、計數(shù)等。每一個執(zhí)行軟件就是一個小的執(zhí)行模塊,下面將每一個模塊分別列出來,并為每個執(zhí)行模塊進行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好以后,就可以規(guī)劃監(jiān)控軟件了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最適宜的主程序結(jié)構(gòu),然后根據(jù)實時性的條件,合理安排監(jiān)控軟件和執(zhí)行軟件之間的調(diào)度關(guān)系。本次系統(tǒng)的軟件設(shè)計基于KEILC6.2開發(fā)平臺,采用C51語言編寫。4.1主程序設(shè)計圖4.1主程序設(shè)計流程圖主程序的功能主要是完成硬件初始化,子程序調(diào)用,并完成溫濕度的檢測及數(shù)據(jù)顯示,同時判斷溫度、濕度是否正常,如果不正?!渤龌蛘叩陀谟脩粼O(shè)定值〕,那么由蜂鳴器報警。AT89C51單片機上電復(fù)位后,即進入主程序。主程序首先要做初始化,包括mgls12864液晶顯示初始化、SHT11測量開始命令的初始化,去除“看門狗〞輸入等。軟件流程設(shè)計如圖4.1所示。其中按鍵檢測過程如圖4.2所示。圖4.2按鍵檢測流程圖程序源代碼見附錄。4.2液晶顯示設(shè)計單片機可以通過數(shù)據(jù)總線與控制信號直接采用存儲器訪問形式、I/O設(shè)備訪問形式控制該液晶顯示模塊。12864上電時,必須按照一定的時序?qū)?2864進行初始化操作,主要任務(wù)是設(shè)置12864的工作方式,顯示狀態(tài),清屏,輸入方式,光標(biāo)位置等。12864初始化設(shè)計如圖4.3所示。圖4.312864液晶顯示初始化流程圖初始化程序如下〔詳細的程序源代碼見附錄3〕:voidinitinal(void)/*初始化*/{delay(40);PSB=1;/*并口工作模式*/delay(1);RES=0;/*復(fù)位*/delay(1);RES=1;/*復(fù)位置高電平*/delay(10);TransferData(0x30,0);delay(100);TransferData(0x30,0);delay(37);TransferData(0x08,0);delay(100);TransferData(0x10,0);delay(100);TransferData(0x0C,0);delay(100);TransferData(0x01,0);delay(10);TransferData(0x06,0);delay(100);}延時子程序如下:voiddelayms(unsignedintn)/*延時子程序*/{unsignedinti,j;for(i=0;i<n;i++)for(j=0;j<2000;j++);}voiddelay(unsignedintm){unsignedinti,j;for(i=0;i<m;i++)for(j=0;j<10;j++);}4.3SHT11初始化設(shè)計此環(huán)節(jié)主要對溫濕度傳感器的初始化進行設(shè)計,流程圖如圖4.4所示。圖4.4SHT11初始化流程圖SHT11傳感器共有5個用戶命令。這5個命令是測量濕度、測量濕度、讀存放器狀態(tài)、寫存放器狀態(tài)、軟啟動。具體命令表格見表4-1所列。表4-1SHT11傳感器命令表命令編碼說明測量溫度00011溫度測量測量濕度00101濕度測量讀存放器狀態(tài)00111“讀〞狀態(tài)存放器寫存放器狀態(tài)00110“寫〞狀態(tài)存放器軟啟動11110重啟芯片,去除狀態(tài)存放器錯誤記錄11毫秒后進入下一個狀態(tài)SHT11溫濕度測量程序如下〔詳細的程序源代碼見附錄3〕:#defineDATAP1_4#defineSCKP1_5#definenoACK0#defineACK1#defineSTATUS_REG_W0x06//“讀〞狀態(tài)#defineSTATUS_REG_R0x07//“寫〞狀態(tài)#defineMEASURE_TEMP0x03//測量溫度命令#defineMEASURE_HUMI0x05//測量濕度命令1#defineRESET0x1e//軟啟動結(jié)論該課題是對庫房和花房內(nèi)溫濕度的監(jiān)測及電路設(shè)計的研究。利用單片機實現(xiàn)的高精度實用性溫濕度控制系統(tǒng)可廣泛應(yīng)用于庫房的倉儲管理,花房等需要溫濕度控制的場所。本次設(shè)計的溫濕度控制系統(tǒng)以AT89C2051單片機為控制核心,采用溫濕度傳感器SHT11作為檢測元件,結(jié)合MAX813L看門狗構(gòu)建了溫濕度監(jiān)控系統(tǒng)。實現(xiàn)單片機發(fā)出控制命令,傳感器進行數(shù)據(jù)采集,將采集到的模擬信號轉(zhuǎn)換為計算機能夠識別的數(shù)字信號,通過mgls12864液晶顯示屏顯示實時溫度和濕度,超出或者低于用戶的設(shè)定值時由蜂鳴器報警,并由溫濕度調(diào)節(jié)系統(tǒng)對環(huán)境溫度、濕度進行調(diào)節(jié),從而完成系統(tǒng)可以方便地實現(xiàn)溫度、濕度的有效實時顯示和控制的要求,降低經(jīng)濟損失和勞動強度,提高產(chǎn)品的性價比。本次設(shè)計是基于單片機的溫濕度設(shè)計,包括硬件電路設(shè)計和軟件編程兩局部。設(shè)計時先從硬件電路開始,而后著手系統(tǒng)軟件程序設(shè)計。主要是以AT89S51單片機為核心控制芯片,對溫度和濕度的監(jiān)測進行了簡單的設(shè)計與闡述。對MCS-51單片機系統(tǒng)的溫濕度檢測控制原理與結(jié)構(gòu)進行了論述。給出了檢測系統(tǒng)與控制系統(tǒng)的各局部電路以及相對應(yīng)的程序。采用模塊化、層次化設(shè)計。用新型的智能集成溫溫度傳感器SHT11主要實現(xiàn)對溫度、濕度的檢測,將溫度濕度信號通過傳感器進行信號的采集并轉(zhuǎn)換成數(shù)字信號,再運用單片機AT89S51進行數(shù)據(jù)的分析和處理,為顯示和報警電路提供信號,實現(xiàn)對溫濕度的控制報警。報警系統(tǒng)根據(jù)設(shè)定報警的上下限值實現(xiàn)報警功能,顯示局部采用12864液晶顯示所測溫濕度值。該設(shè)計系統(tǒng)實現(xiàn)了對環(huán)境溫濕度精確控制,到達了相應(yīng)的效果,系統(tǒng)電路簡單、集成度高、工作穩(wěn)定、調(diào)試方便、檢測精度高,具有一定的實用價值。致謝回首自己走過的大學(xué)生活,心中倍感復(fù)雜,但是當(dāng)我寫完這篇畢業(yè)論文時,便如釋負重,卻又有些失落。首先我要感謝合肥工業(yè)大學(xué)儀器科學(xué)與光電工程學(xué)院能夠給我一個繼續(xù)深造的時機。誠摯的感謝我的論文指導(dǎo)老師陳麗娟老師,感謝她在忙碌的教學(xué)生涯中審查、修改我的畢業(yè)設(shè)計。同時我也要感謝在這四年曾經(jīng)教育過我的老師,在你們一絲不茍,細致嚴(yán)謹(jǐn)?shù)淖黠L(fēng)中,我也漸漸受到你們的熏陶,你們精心的指導(dǎo)和嚴(yán)謹(jǐn)?shù)乃悸方o了我許多啟發(fā)。至此,我的設(shè)計在指導(dǎo)老師陳麗娟的悉心指導(dǎo)下完成的。因為本人專業(yè)技術(shù)水平有限,有缺乏之處還請閱讀者包涵指點。參考文獻[1]萬福君,潘松峰等.單片微機原理系統(tǒng)設(shè)計與應(yīng)用.中國科學(xué)技術(shù)大學(xué)出版社,2001.[2]何立民.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù).北京:航空航天大學(xué)出版社,1990.[3]胡漢才.單片機原理及其接口技術(shù)〔第二版〕.清華大學(xué)出版社,2004.[4]沈紅衛(wèi).基于單片機的智能系統(tǒng)設(shè)計與實現(xiàn).電子工業(yè)出版社,2005.[5]張娟,萬隆,曾實現(xiàn).Protel電路設(shè)計教程.清華大學(xué)出版社,2023.[6]徐愛均彭秀華.KeilCx51V7.0單片機高級語言編程與μVision2應(yīng)用實踐.電子工業(yè)出版社,2023.[7]李利,劉魯濤.Protel電路設(shè)計與制板案例教程.清華大學(xué)出版社,2023.[8]王慶,鄭初華等.Protel99SE&DXP電路設(shè)計教程〔修訂版〕.電子工業(yè)出版社2023.[9]黎小桃劉祖明.實例解析Protel99SE電路原理圖與PCB設(shè)計.機械工業(yè)出版社,2023.[10]鄧奕,馬雙寶.Protel99SE原理圖與PCB設(shè)計.人民郵電出版社,2023.[11]徐愛鈞.智能化測量控制儀表原理與設(shè)計.北京航空航天大學(xué)出版社.[12]吳曄,張陽.基于HCS12的嵌入式系統(tǒng)設(shè)計.電子工業(yè)出版社,2023.[13]黃惟一,胡生清.控制技術(shù)與系統(tǒng).機械工業(yè)出版社,2005.[14]費業(yè)泰.誤差理論與數(shù)據(jù)處理.機械工業(yè)出版社,2023.[15]明日科技.C語言函數(shù)參考手冊.清華大學(xué)出版社,2023.[16]王新,孫雷.C語言課程設(shè)計.清華大學(xué)出版社,2023.[17]施文康,余曉芬.檢測技術(shù).機械工業(yè)出版社,2023.[18]付少波.傳感器及其應(yīng)用電路.化學(xué)工業(yè)出版社,2023.附錄1:系統(tǒng)的電路原理圖附錄2:系統(tǒng)的PCB圖附錄3:系統(tǒng)的軟件程序源代碼#include<reg51.h>#include<intrins.h>#include<math.h>#include<stdio.h>#defineunsignedcharuchar#defineunsignedintuinttypedefunion{uinti;floatf;}value;enum{TEMP,HUMI};ucharDisBuffer[6]{0,0,0,0,0,0}#definenoACK0#defineACK1#defineSTATUS_REG_W0x06//定義寫狀態(tài)存放器#defineSTATUS_REG_R0x07//定義謝狀態(tài)存放器#defineMEASURE_TEMP0x03//定義溫度測量#defineMEASURE_HUMI0x05//定義濕度測量#defineRESET0x1e//定義軟啟動#defineREG_NO_OP0x00//定義空操作#defineLED_0x01//定義液晶顯示屏存放器#defineREG_DECODE0x09//定義解碼控制存放器#defineREG_INTENSITY0x0a//定義顯示亮度存放器#defineREG_SCAN_LIMIT0x0b//定義掃描限制存放器#defineREG_SHUTDOWN0x0c//定義"shutdown"模式存放器#defineREG_DISPLAY_TEST0x0f//定義"displaytest"模式存放器#defineINTENSITY_MIN0x00//定義最低顯示亮度#defineINTENSITY_MAX0x0f//定義最高顯示亮度#defineset_temperature26 //設(shè)置溫度預(yù)設(shè)值#defineset_humidity45℃ //sbitShidu=P1^0;sbitWendu=P1^1;sbitUp=P1^2;sbitDown=P1^3;sbitDATA=P1^4;sbitSCK=P1^5;sbitWDI=P1^7;//看門狗喂狗信號引腳,喂狗信號為:負脈沖*/sbitLS1=P2^7;sbitLS2=P2^6;sbitDIN=P3^5;//定義P3_5連接MAX7219DATA引腳sbitCLK=P3^4;//定義P3_4連接MAX7219CLK引腳sbitLOAD=P3^3;//定義P3_3連接MAX7219LOAD引腳staticconststruct{charascii;charsegs;}Font[]={{'',0x00},{'0',0x7e},{'1',0x30},{'2',0x6d},{'3',0x79},{'4',0x33},{'5',0x5b},{'6',0x5f},{'7',0x70},{'8',0x7f},{'9',0x7b},{'A',0x77},{'B',0x1f},{'C',0x4e},{'D',0x3d},{'E',0x3d},{'F',0x47},{'H',0x37},{'L',0x0e},{'O',0x7e},{'\0',0x00}};staticvoidWrite(ucharreg_number,uchardataout);staticvoidSendByte(uchardataout);staticucharLookupCode(charcharacter);voidInit(void);voidShutdownStart(void);voidShutdownStop(void);voidDisplayTestStart(void);voidDisplayTestStop(void);voidSetBrightness(charbrightness);voidClear(void);voidDisplayChar(chardigit,charcharacter);voiddelay(uintN);//延時子程序,實現(xiàn)〔16*N+24〕微秒的延時{inti;for(i=0;i<N;i++) ;}chars_write_byte(ucharvalue){uchari,error=0;for(i=0x80;i>0;i/=2)//掩碼變位{if(i&value)DATA=1;//掩碼為i,寫入傳輸總線elseDATA=0;SCK=1;//傳輸總線的時鐘_nop_();_nop_();_nop_();SCK=0;}DATA=1;//釋放數(shù)據(jù)線SCK=1;//時鐘觸發(fā)9次error=DATA;//檢查確認〔數(shù)據(jù)將被傳輸?shù)絊HT11〕SCK=0;returnerror;//無應(yīng)答那么error=1}//chars_read_byte(ucharack)////讀取來自傳輸總線的字節(jié),當(dāng)ack=1時,給予一個應(yīng)答{uchari,val=0;DATA=1;//釋放數(shù)據(jù)線for(i=0x80;i>0;i/=2)//掩碼變位{SCK=1;//傳輸總線的時鐘if(DATA)val=(val|i);//讀字節(jié)SCK=0;}DATA=!ack;//"ack==1"時,下拉數(shù)據(jù)線SCK=1;//時鐘觸發(fā)9次_nop_();_nop_();_nop_();SCK=0;DATA=1;//釋放數(shù)據(jù)線returnval;}//voids_transstart(void)////產(chǎn)生一個傳輸開始//_____________//DATA:|_______|//______//SCK:___||___||______{DATA=1;SCK=0;//初始狀態(tài)_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_();_nop_();SCK=1;_nop_();DATA=1;_nop_();SCK=0;}//voids_connectionreset(void)////通信重置:數(shù)據(jù)線為1時,SCK至少觸發(fā)9次//_____________________________________________________________//DATA:|_______|//_______________//SCK:__||__||__||__||__||__||__||__||__||______||___||______{uchari;DATA=1;SCK=0;//初始狀態(tài)for(i=0;i<9;i++)//9SCK觸發(fā){SCK=1;SCK=0;}s_transstart();//傳輸開始}//chars_softreset(void){ucharerror=0;s_connectionreset();//重置通信error+=s_write_byte(RESET);//發(fā)送復(fù)位命令給傳感器returnerror;//傳感器無反響,那么error=1}chars_read_statusreg(uchar*p_value,uchar*p_checksum)//讀取8位狀態(tài)存放器與校驗//{ucharerror=0;s_transstart();//傳輸開始error=s_write_byte(STATUS_REG_R);*p_value=s_read_byte(ACK);//讀8位狀態(tài)存放器*p_checksum=s_read_byte(noACK);//讀8為檢驗存放器returnerror;//傳感器無反響,那么error=1}//chars_write_statusreg(uchar*p_value)//寫入8位狀態(tài)存放器與校驗//{ucharerror=0;s_transstart();//傳輸開始error+=s_write_byte(STATUS_REG_W);error+=s_write_byte(*p_value);//發(fā)送狀態(tài)存放器值returnerror;//傳感器無反響,那么error=1}//chars_measure(uchar*p_value,uchar*p_checksum,ucharmode)//讀取8位狀態(tài)存放器與校驗//{unsignederror=0;uinti;s_transstart();//傳輸開始switch(mode){caseTEMP:error+=s_write_byte(MEASURE_TEMP);break;caseHUMI:error+=s_write_byte(MEASURE_HUMI);break;default:break;}for(i=0;i<65535;i++)if(DATA==0)break;//等待傳感器完成了測量if(DATA)error+=1;*(p_value)=s_read_byte(ACK);//讀取第一個字節(jié)(MSB)*(p_value+1)=s_read_byte(ACK);//讀取第二個字節(jié)e(LSB)*p_checksum=s_read_byte(noACK);//讀取檢驗returnerror;}//voidinit_uart(){SCON=0x52;TMOD=0x20;TCON=0x69;TH1=0xfd;}//voidcalc_sth11(float*p_humidity,float*p_temperature)////計算溫度[℃]和濕度[%相對濕度]//輸入:humi(12位)//temp(14位)//輸出:humi[%RH]//temp[℃]{constfloatC1=-4.0;//12位constfloatC2=+0.0405;//12位constfloatC3=-0.0000028;//12位constfloatT1=+0.01;//5伏,14位constfloatT2=+0.00008;//5伏,14位floatrh=*p_humidity;//rh:濕度12位floatt=*p_temperature;//t:溫度14位floatrh_lin;//rh_lin:濕度線性floatrh_true;//rh_true:溫度補償濕度floatt_C;//t_C:溫度[℃]t_C=t*0.01-40;//計算溫度rh_lin=C3*rh*rh+C2*rh+C1;//計算濕度rh_true=(t_C-25)*(T1+T2*rh)+rh_lin;//計算溫度補償濕度[%相對濕度]if(rh_true>100)rh_true=100;if(rh_true<0.1)rh_true=0.1;*p_temperature=t_C;//返回溫度[℃*p_humidity=rh_true;//返回濕度[%相對濕度]}voidInit(void){DIN=1;LOAD=1;CLK=1;Write(REG_SCAN_LIMIT,5);/*掃描6位數(shù)字*/Write(REG_DECODE,0x00);/*設(shè)置不譯碼方式*/ShutdownStop();/*結(jié)束停機方式,正常工作*/DisplayTestStop();/*結(jié)束顯示測試,正常工作*/Clear();/*清零全部顯示器*/SetBrightness(INTENSITY_MAX);/*設(shè)置最大亮度*/}{Write(REG_SHUTDOWN,0);}voidShutdownStop(void){Write(REG_SHUTDOWN,1); } {Write(REG_DISPLAY_TEST,1); }{Write(REG_DISPLAY_TEST,0); } { brightness&=0x0f;/*屏蔽參數(shù)中的多余數(shù)*/ Write(REG_INTENSITY,brightness);/*設(shè)置亮度*/ }/*****函數(shù)原型:voidClear〔〕;*功能:關(guān)閉全部顯示器*****/voidClear(void) {chari; for(i=1;i<=6;i++)/*關(guān)閉全部顯示器*/Write(i,0x00); }voidDisplayChar(chardigit,charcharacter) {Write(digit,LookupCode(character));}staticucharLookupCode(charcharacter) {chari; for(i=0;Font[i].ascii;i++)/*查表搜尋顯示字符的ASCII碼*/if

溫馨提示

  • 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

提交評論