




已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
此文檔收集于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除 本課設(shè)采用8051系列單片機(jī)以及DHT11溫濕度傳感器相結(jié)合的方式來(lái)測(cè)量周圍環(huán)境溫度,其特點(diǎn)具有采集溫度、濕度的時(shí)間快,所采集到的溫濕度數(shù)值精度相對(duì)傳統(tǒng)溫濕度計(jì)要高,且易于讀數(shù),抗干擾能力強(qiáng)等特點(diǎn)。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。8051單片機(jī)是常用于控制的芯片,使用8051單片機(jī)能夠?qū)崿F(xiàn)溫濕度全程的自動(dòng)控制,而且8051單片機(jī)易于學(xué)習(xí)掌握。 使用8051型單片機(jī)設(shè)計(jì)溫濕度控制系統(tǒng),可以即時(shí)快速精確的反應(yīng)溫室內(nèi)的溫度的變化。完成諸如升溫到特定的溫度時(shí)進(jìn)行報(bào)警,引起注意。關(guān)鍵詞: 8051 DHT11目 錄前言第一章 系統(tǒng)總體設(shè)計(jì).1.1系統(tǒng)實(shí)現(xiàn)的主要功能.1.2系統(tǒng)工作原理.1.3總體構(gòu)成.1.3.1總體設(shè)計(jì)框圖.第二章 系統(tǒng)的硬件設(shè)計(jì).2.1主控模塊設(shè)計(jì).2.1.1 主控模塊原理圖. 2.2 DHT11傳感器模塊設(shè)計(jì).2.2.1DHT11傳感器簡(jiǎn)介.2.3LCD1602顯示模塊設(shè)計(jì).2.3.1LCD1602簡(jiǎn)介.2.3.2數(shù)碼管模塊.第三章 系統(tǒng)的軟件設(shè)計(jì).3.1總體程序框架流程圖.3.2Altium 第四章 系統(tǒng)總電路原理圖. 第五章調(diào)試過(guò)程和注意問(wèn)題. 4.1程序下載軟件說(shuō)明.4.2設(shè)計(jì)中遇到的問(wèn)題及解決.結(jié) 論.謝 辭.參考文獻(xiàn).附錄 前 言本次課程設(shè)計(jì)主要針對(duì)軟件的開(kāi)發(fā)以及軟件與硬件相結(jié)合的形式來(lái)提高自我的動(dòng)手操作能力以及對(duì)程序理解與操作能力。主要為了讓自己在大學(xué)的課程學(xué)習(xí)中學(xué)會(huì)學(xué)以致用,不能光有一嘴理論而不賦予實(shí)踐驗(yàn)證當(dāng)中去,這樣學(xué)到的知識(shí)也只不過(guò)是空洞無(wú)力的。只有通過(guò)將所學(xué)的知識(shí)應(yīng)用于實(shí)際的操作中,讓知識(shí)與實(shí)踐相結(jié)合的形式,才能讓我們將學(xué)到的東西舉一反三,真正體現(xiàn)知識(shí)的重要性。也為今后畢業(yè)后在工作中能夠具有較強(qiáng)的動(dòng)手操作能力奠定基礎(chǔ)。另外,在現(xiàn)代生活中,溫度與濕度與人們的生活息息相關(guān)。溫度與濕度在各個(gè)領(lǐng)域部門經(jīng)常需要對(duì)其進(jìn)行測(cè)量及控制。準(zhǔn)確測(cè)量溫濕度在一些領(lǐng)域中至關(guān)重要的,而傳統(tǒng)的溫度計(jì)是用水銀的熱脹冷縮性來(lái)度量溫度的值,所以精確度不高,濕度計(jì)則采用干濕球顯示法,不僅復(fù)雜而且測(cè)量精度不高。故在此我們使用單片機(jī)對(duì)溫濕度進(jìn)行測(cè)量,這樣不僅控制方便,簡(jiǎn)單靈活,而且可以大幅度提高溫度控制的技術(shù)指標(biāo),在測(cè)量中我們直接使用數(shù)碼管進(jìn)行對(duì)溫濕度的數(shù)值進(jìn)行顯示,從而更容易讀數(shù)。在本次設(shè)計(jì)中,我們采用DHT11數(shù)字溫濕度傳感器與單片機(jī)開(kāi)發(fā)板相結(jié)合,從而設(shè)計(jì)出一個(gè)能夠直接在LCD1602上直接顯示出小范圍環(huán)境中溫度與濕度的數(shù)值,從而完成本次設(shè)計(jì)的要求。第一章 系統(tǒng)總體設(shè)計(jì)1.1 系統(tǒng)實(shí)現(xiàn)的主要功能 本系統(tǒng)所要實(shí)現(xiàn)的功能是:溫濕度的實(shí)時(shí)檢測(cè)和顯示。通過(guò)LCD1602實(shí)時(shí)地顯示傳感器DHT11檢測(cè)到的溫濕度的值。1.2 系統(tǒng)的工作原理本次設(shè)計(jì)主要涉及了溫濕度的測(cè)量、顯示。所以再硬件方面涉及了單片機(jī)主控模塊、傳感器模塊、LCD1602顯示模塊,共三大模塊。 傳感器模塊使用DHT11數(shù)字溫濕度傳感器。通過(guò)DHT11檢測(cè)當(dāng)前環(huán)境下的溫濕度,講所測(cè)得的數(shù)據(jù)提交給單片機(jī)進(jìn)行處理和分析。 LCD1602實(shí)現(xiàn)濕度與濕度的檢測(cè)數(shù)值顯示。1.3.總體構(gòu)成1.3.1 總體設(shè)計(jì)框圖 系統(tǒng)總體設(shè)計(jì)框圖如圖1.1所示。DHT11傳感器模塊P12AT89C51單片機(jī)P17LCD1602顯示模塊圖1.1: 系統(tǒng)總體設(shè)計(jì)框圖第二章 系統(tǒng)的硬件設(shè)計(jì)2.1 主控模塊設(shè)計(jì) 本次課程設(shè)計(jì)使用的主模塊為AT89C51為核心的芯片。使用時(shí)將P20口作為與DHT11數(shù)據(jù)端的傳輸口。 2.1.1主控模塊引腳圖 主控模塊引腳圖如圖所示。2.2 DHT11傳感器模塊接口設(shè)計(jì)2.2.1 DHT11傳感器簡(jiǎn)介DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為 3 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。DHT11實(shí)物圖如圖2.2所示。圖2.2:DHT11 實(shí)物圖(1)引腳介紹: Pin1:(VDD),電源引腳,供電電壓為35.5V。 Pin2:(DATA),串行數(shù)據(jù),單總線。 Pin3:(NC),空腳,懸浮。 Pin4:(VDD),接地端,電源負(fù)極。(2)接口說(shuō)明:建議連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。DHT11接口如圖2.3所示。圖2.3:?jiǎn)纹瑱C(jī)與傳感器接口(3)數(shù)據(jù)幀的描述:DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,具體格式在下面說(shuō)明.操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù) +8bi溫度整數(shù)數(shù)據(jù)” (4)電氣特性:VDD=5V,T = 25,除非特殊標(biāo)注。DHT11的電氣特性參數(shù)條件Mintypmax單位供電DC355.5V供電電流測(cè)量0.52.5mA平均0.21mA待機(jī)100150uA采樣周期秒1次注:采樣周期間隔不得低于1秒鐘。 (5)時(shí)序描述:用戶MCU發(fā)送一次開(kāi)始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開(kāi)始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取部分?jǐn)?shù)據(jù).從模式下,DHT11接收到開(kāi)始信號(hào)觸發(fā)一次溫濕度采集,如果沒(méi)有接收到主機(jī)發(fā)送開(kāi)始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。通訊過(guò)程如圖2.4所示:圖2.4:通訊過(guò)程圖總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測(cè)到起始信號(hào)。DHT11接收到主機(jī)的開(kāi)始信號(hào)后,等待主機(jī)開(kāi)始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào).主機(jī)發(fā)送開(kāi)始信號(hào)結(jié)束后,延時(shí)等待20-40us后, 讀取DHT11的響應(yīng)信號(hào),主機(jī)發(fā)送開(kāi)始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。通訊初始化如圖2.5所示。圖2.5通訊初始化要求圖 總線為低電平,說(shuō)明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開(kāi)始,高電平的長(zhǎng)短定了數(shù)據(jù)位是0還是1.格式見(jiàn)下面圖示。如果讀取響應(yīng)信號(hào)為高電平,則DHT11沒(méi)有響應(yīng),請(qǐng)檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。數(shù)字0信號(hào)表示方法如圖2.6所示:圖2.6:數(shù)字0信號(hào)電平變化圖數(shù)字1信號(hào)表示方法如圖2.7所示 圖2.7:數(shù)字1數(shù)據(jù)線電平變化圖LCD16021)LCD1602簡(jiǎn)介:工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行)注:為了表示的方便 ,后文皆以1表示高電平,0表示低電平。1602液晶也叫1602字符型液晶,它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。2)管腳功能1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:GND為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,以51為例的簡(jiǎn)單原理圖低電平(0)時(shí)進(jìn)行寫(xiě)操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。特性3.3V或5V工作電壓,對(duì)比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM特征應(yīng)用微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。操作控制注:關(guān)于E=H脈沖開(kāi)始時(shí)初始化E為0,然后置E為1。字符集1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。在單片機(jī)編程中還可以用字符型常量或變量賦值,如A。因?yàn)镃GROM儲(chǔ)存的字符代碼與我們PC中的字符代碼是基本一致的,因此我們?cè)谙駾DRAM寫(xiě)C51字符代碼程序時(shí)甚至可以直接用P1=A這樣的方法。PC在編譯時(shí)就把A先轉(zhuǎn)換為41H代碼了。CGROM中字符碼與字符字模關(guān)系對(duì)照表字符代碼0x000x0F為用戶自定義的字符圖形RAM(對(duì)于5X8點(diǎn)陣的字符,可以存放8組,5X10點(diǎn)陣的字符,存放4組),就是CGRAM了。0x200x7F為標(biāo)準(zhǔn)的ASCII碼,0xA00xFF為日文字符和希臘文字符,其余字符碼(0x100x1F及0x800x9F)沒(méi)有定義。以下是1602的16進(jìn)制ASCII碼表地址:讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)。第三章 系統(tǒng)的軟件設(shè)計(jì)3.1 總體程序框圖流程圖軟件設(shè)計(jì)流程框圖如圖3.1所示 開(kāi)始初始化 延時(shí)溫濕度檢測(cè)并傳送數(shù)據(jù)回單片機(jī)數(shù)碼管顯示定時(shí)檢測(cè)YN圖3.1:軟件設(shè)計(jì)流程框圖3.2 Altium Designer電路設(shè)計(jì)軟件簡(jiǎn)介Protel是目前EDA行業(yè)中使用最方便,操作最快捷,人性化界而最好的輔助工具。在中國(guó)用得最多的EDA工具,電子專業(yè)的大學(xué)生在大學(xué)基木上都學(xué)過(guò)Protel 99Se,所以學(xué)習(xí)資源也最廣,公司在招聘新人的時(shí)候用Protel新人會(huì)很快上手。Altium聲稱中國(guó)有73%的工程師和80%的電子工程相關(guān)專業(yè)在校學(xué)生正在使用其所提供的解決方案,而目前正版率只有3%左右。產(chǎn)品歷史:1985年誕生doc版Protel。1991年P(guān)rotel for Widows。1997年P(guān)rotel 98這個(gè)32位產(chǎn)品是第一個(gè)包含5個(gè)核心模塊的EDA工具。1999年P(guān)rotel 99構(gòu)成從電路設(shè)計(jì)到真實(shí)版分析的完整體系。2000年P(guān)rotel 99se性能進(jìn)一步提高,可以對(duì)設(shè)計(jì)過(guò)程有更大控制力。2002年P(guān)rotel DXP集成了更多工具,使用方便,功能更強(qiáng)大。2003年P(guān)rotel 2004對(duì)Protel DXP進(jìn)一步完善。2006年Altium Designer 6.0成功推出,集成了更多工具,使用方便,功能更強(qiáng)大,特別在PCB設(shè)計(jì)這一塊性能大大提高。2008年Altium Designer Summer 8.0將ECAD和MCAD兩種文件格式結(jié)合在一起,Altium在其最新版的一體化設(shè)計(jì)解決方案中為電子工程師帶來(lái)了全面驗(yàn)證機(jī)械設(shè)計(jì)(如外殼與電子組件)與電氣特性關(guān)系的能力。還加入了對(duì)OrCAD和PowerPCD的支持能力。2008年Altium Designer Winter 09推出,此冬季9月發(fā)布的Altium Designer引入新的設(shè)計(jì)技術(shù)和理念,以幫助電子產(chǎn)品設(shè)計(jì)創(chuàng)新,利用技術(shù)進(jìn)步,并提出一個(gè)產(chǎn)品的任務(wù)設(shè)計(jì)更快地獲得走向市場(chǎng)的方便。增強(qiáng)功能的電路板設(shè)計(jì)空間,讓您可以更快地設(shè)計(jì),全三維PCB設(shè)計(jì)環(huán)境,避免出現(xiàn)錯(cuò)誤和不準(zhǔn)確的模型設(shè)計(jì)。在本系統(tǒng)的電路原理圖設(shè)計(jì)中使用Altium Designer 6.9進(jìn)行設(shè)計(jì),Altium Designer宣布發(fā)布Altium Designer 6.9,它是完全一體化電子產(chǎn)品開(kāi)發(fā)系統(tǒng)的下一個(gè)版本。Altium Designer是業(yè)界首例將設(shè)計(jì)流程、集成化PCB設(shè)計(jì)、可編程器件(如FPGA)設(shè)計(jì)和基于處理器設(shè)計(jì)的嵌入式軟件開(kāi)發(fā)功能整合在一起的產(chǎn)品。Altium Designer 6.9極大地增強(qiáng)了對(duì)高密板設(shè)計(jì)的支持,可用于高速數(shù)字信號(hào)設(shè)計(jì),提供大量新功能和改進(jìn),改善了對(duì)復(fù)雜多層板卡的管理和異航,可將器件放置在PCB板的正反兩面,處理高密度封裝技術(shù),如高密度引腳數(shù)量的球型網(wǎng)格陣列(BGAS)。以前這些高級(jí)的PCB設(shè)計(jì)技術(shù)被限定在“高級(jí)”的PCB設(shè)計(jì)產(chǎn)品,這些產(chǎn)品對(duì)大多數(shù)工程師來(lái)說(shuō)價(jià)格昂貴。然而,Altium的理念是讓電子設(shè)計(jì)變得更容易,Altium Designer 6.9讓每一位工程師都能使用最新的設(shè)計(jì)功能。Altium Designer 6.9對(duì)差分信號(hào)提供系統(tǒng)范圍內(nèi)的支持,可對(duì)高速內(nèi)連的差分信號(hào)對(duì)進(jìn)行充分定義、管理和交互式布線。支持包括對(duì)在FPGA項(xiàng)目?jī)?nèi)部定義的LVDS信號(hào)的物理設(shè)計(jì)進(jìn)行自動(dòng)映射。LVDS是差分信號(hào)最通用的標(biāo)準(zhǔn),廣泛應(yīng)用于可編程器件。Altium Designer可允分利用當(dāng)今FPGA器件上的擴(kuò)展I/O管腳。Altium Designer 6.9中的Board Insight系統(tǒng)把設(shè)計(jì)師的鼠標(biāo)變成了交互式的數(shù)據(jù)挖掘工具。Board Insight集成了“警示”顯示功能,可毫不費(fèi)力地瀏覽和編輯設(shè)計(jì)中疊放的對(duì)象。工程師可以專注于其目前的編輯任務(wù),也可以完全進(jìn)入目標(biāo)區(qū)域內(nèi)的任何其他對(duì)象,這增加了在密集、多層設(shè)計(jì)環(huán)境中的編輯速度。Altium Designer 6.9引入了強(qiáng)大的“逃逸布線”引擎,嘗試將每個(gè)定義的焊盤通過(guò)布線剛好引到BGA邊界,這令對(duì)密集BGA類型封裝的布線變的非常簡(jiǎn)單。顯著的節(jié)省了設(shè)計(jì)時(shí)間,設(shè)計(jì)師無(wú)需手動(dòng)就可以完成在一大堆焊盤間將線連接這些器件的內(nèi)部管腳。Altium Designer 6.9極大減少了帶有大量管腳的器件封裝在高密度板卡上設(shè)計(jì)的時(shí)問(wèn),簡(jiǎn)化了復(fù)雜板卡的設(shè)計(jì)導(dǎo)航功能,設(shè)計(jì)師可以有效處理高速差分信號(hào),尤其對(duì)大規(guī)??删幊唐骷系拇罅縇VDS資源。Altium Designer 6.9充分利用可得到的板卡空間和現(xiàn)代封裝技術(shù),以更有效的設(shè)計(jì)流程和更低的制造成本縮短上市時(shí)間。3.3 單片機(jī)控制電路在整個(gè)系統(tǒng)中,單片機(jī)控制電路是整個(gè)系統(tǒng)的核心,負(fù)責(zé)對(duì)采集到的信號(hào)進(jìn)行處理和加工,并按照之前設(shè)定好的指令進(jìn)行執(zhí)行、運(yùn)算,并將結(jié)果傳送給相應(yīng)的執(zhí)行電路。3.4 執(zhí)行電路執(zhí)行電路在系統(tǒng)中充當(dāng)執(zhí)行任務(wù),對(duì)單片機(jī)發(fā)出的指令進(jìn)行響應(yīng),完成相應(yīng)的操作。單片機(jī)通過(guò)傳送的信號(hào)進(jìn)行運(yùn)算、處理之后將輸出信號(hào)送給執(zhí)行電路,繼電器執(zhí)行電路將對(duì)外部設(shè)備進(jìn)行控制。3.5 串口通信電路串口通信電路采用經(jīng)典的MAX232串口通信,由于電腦串口RS232電平是-10V+10V,而一般的單片機(jī)應(yīng)用系統(tǒng)的信號(hào)電壓是TTL電平0V+5V,MAX232就是用來(lái)進(jìn)行電平轉(zhuǎn)換的,進(jìn)行對(duì)單片機(jī)與電腦的通信,系統(tǒng)中采用MAX232串口通信電路。3.5.1 串口通信電路原理圖系統(tǒng)采用的經(jīng)典串口通信電路如下圖所示:圖4.1 串行口通信電路3.5.2 串口通信電路在系統(tǒng)中的優(yōu)勢(shì)系統(tǒng)中采用串口通信電路可與電腦進(jìn)行通信,可以對(duì)單片機(jī)內(nèi)的程序進(jìn)行修改,并對(duì)相關(guān)的指令和相關(guān)的數(shù)據(jù)進(jìn)行調(diào)整。并且可以針對(duì)性地將單片機(jī)與電腦進(jìn)行通信,編寫(xiě)上位機(jī)軟件程序,在上位機(jī)(電腦)上對(duì)系統(tǒng)狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),并可以讓功能更強(qiáng)大的PC機(jī)進(jìn)行龐大的指令處理。在本系統(tǒng)中,加入串口通信電路模塊,可以使電路的完整性大大增強(qiáng),并對(duì)系統(tǒng)的升級(jí)有極大的優(yōu)勢(shì),可以是系統(tǒng)在雙機(jī)通信、與上位機(jī)通信等方面擁有相對(duì)優(yōu)勢(shì),使得設(shè)計(jì)更加完善。整體程序/*標(biāo)題:LCD1602效果:本程序在液晶LCD1602上顯示兩行字符*/#include reg51.h/*IO引腳定義*/sbit LCD_RS=P10;/定義引腳sbit LCD_RW=P11;sbit LCD_E=P12;sbit io =P20;/dht11data端接單片機(jī)的P20口/ /*宏定義*/#define LCD_Data P0#define Busy 0x80 /用于檢測(cè)LCD狀態(tài)字中的Busy標(biāo)識(shí)typedef unsigned char BYTE;typedef unsigned int WORD;#define uint unsigned int #define uchar unsigned char typedef bit BOOL;/此聲明一個(gè)布爾型變量即真或假/ /*DHT11*/uchar data_byte; uchar RH,RL,TH,TL;/*數(shù)據(jù)定義*/unsigned char uctech = RH: :00 % ; unsigned char net = TE: :00 ;/*函數(shù)聲明*/void WriteDataLCD(unsigned char WDLCD); /寫(xiě)數(shù)據(jù)void WriteCommandLCD(unsigned char WCLCD,BuysC);/寫(xiě)命令unsigned char ReadDataLCD(void); /讀數(shù)據(jù)unsigned char ReadStatusLCD(void);/讀狀態(tài)void LCDInit(void);/初始化void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);/相應(yīng)坐標(biāo)顯示字節(jié)內(nèi)容void DisplayListChar(unsigned char X, unsigned char Y, unsigned char *DData);/相應(yīng)坐標(biāo)開(kāi)始顯示一串內(nèi)容void Delay5Ms(void);/延時(shí)void Delay400Ms(void);/延時(shí)void delay(uchar ms); /延時(shí)模塊void receive();/接收數(shù)據(jù)/ /*主函數(shù)開(kāi)始*/void main(void)Delay400Ms(); /啟動(dòng)等待,等LCD講入工作狀態(tài)LCDInit(); /初始化Delay5Ms(); /延時(shí)片刻(可不要)DisplayListChar(0, 0, uctech);DisplayListChar(0, 5, net);while(1) receive();/接收數(shù)據(jù)/ uctech3=RH/10+0X30;uctech4=RH%10+0X30;net3 =(TH/10+0X30)-1;net4 =TH%10+0X30;net10 =0xdf;net11 =0x43; DisplayListChar(0, 0, uctech);DisplayListChar(0, 5, net);Delay5Ms(); /*短延時(shí)*/void Delay5Ms(void) unsigned int TempCyc = 5552; while(TempCyc-);/*長(zhǎng)延時(shí)*/void Delay400Ms(void) unsigned char TempCycA = 5; unsigned int TempCycB; while(TempCycA-) TempCycB=7269; while(TempCycB-); /*延時(shí)函數(shù)* void delay(uchar ms) /延時(shí)模塊/ uchar i; while(ms-) for(i=0;i100;i+); void delay1(void)/一個(gè)for循環(huán)大概需要8個(gè)多機(jī)器周期一個(gè)機(jī)器周期為1us晶振為12MHz也就是說(shuō)本函數(shù)延時(shí)8us多此延時(shí)函數(shù)必須德稍微精確一點(diǎn) uchar i; for(i=0;i1;i+); /* /*dht11*/*dht11測(cè)試某塊*/void start()/開(kāi)始信號(hào) io=1; delay1(); io=0; delay(25);/ 主機(jī)把總線拉低必須大于18ms保證DHT11能檢測(cè)到起始信號(hào) io=1; /發(fā)送開(kāi)始信號(hào)結(jié)束后拉高電平延時(shí)20-40us delay1();/以下三個(gè)延時(shí)函數(shù)差不多為24us符合要求 delay1(); delay1(); uchar receive_byte()/接收一個(gè)字節(jié)/ uchar i,temp; for(i=0;i8;i+)/接收8bit的數(shù)據(jù) while(!io);/等待50us的低電平開(kāi)始信號(hào)結(jié)束 delay1();/開(kāi)始信號(hào)結(jié)束之后延時(shí)26us-28us以下三個(gè)延時(shí)函數(shù) delay1(); delay1(); temp=0;/時(shí)間為26us-28us表示接收的為數(shù)據(jù)0 if(io=1) temp=1; /如果26us-28us之后還為高電平則表示接收的數(shù)據(jù)為1 while(io);/等待數(shù)據(jù)信號(hào)高電平0為26us-28us1為70us data_byte=1;/接收的數(shù)據(jù)為高位在前右移 data_byte|=temp; return data_byte; void receive()/接收數(shù)據(jù)/ uchar T_H,T_L,R_H,R_L,check,num_check,i; start();/開(kāi)始信號(hào)/ io=1; /主機(jī)設(shè)為輸入判斷從機(jī)DHT11響應(yīng)信號(hào) if(!io)/判斷從機(jī)是否有低電平響應(yīng)信號(hào)/ while(!io);/判斷從機(jī)發(fā)出 80us 的低電平響應(yīng)信號(hào)是否結(jié)束/ while(io);/判斷從機(jī)發(fā)出 80us 的高電平是否結(jié)束如結(jié)束則主機(jī)進(jìn)入數(shù)據(jù)接收狀態(tài) R_H=receive_byte();/濕度高位 R_L=receive_byte();/濕度低位 T_H=receive_byte();/溫度高位 T_L=receive_byte();/溫度低位 check=receive_byte();/校驗(yàn)位 io=0; /當(dāng)最后一bit數(shù)據(jù)接完畢后從機(jī)拉低電平50us/ for(i=0;i=0x20) /若到達(dá)字串尾則退出 if (X = 0xF) /X坐標(biāo)應(yīng)小于0xF DisplayOneChar(X, Y, DDataListLength); /顯示單個(gè)字符 ListLength+; X+; 此文檔僅供學(xué)習(xí)與交流第四章 系統(tǒng)總電路原理圖 通過(guò)專心的研究和學(xué)習(xí),對(duì)單片機(jī)控制電路的實(shí)現(xiàn)有一定的構(gòu)想,通過(guò)Altium Designer 電路軟件的設(shè)計(jì),對(duì)電路硬件設(shè)計(jì)有很大的幫助,在理論上硬件設(shè)計(jì)達(dá) 到當(dāng)初的設(shè)計(jì)要求,基本上實(shí)現(xiàn)了系統(tǒng)的設(shè)計(jì)要求。在整個(gè)系統(tǒng)中,單片機(jī)控制電路是整個(gè)系統(tǒng)的核心,負(fù)責(zé)對(duì)電路采集到的信號(hào)進(jìn)行處理和加工,并按照之前設(shè)定好的指令進(jìn)行執(zhí)行、運(yùn)算,并將結(jié)果傳送給執(zhí)行電路。執(zhí)行電路在系統(tǒng)中充當(dāng)執(zhí)行任務(wù),對(duì)單片機(jī)發(fā)出的指令進(jìn)行響應(yīng),完成相應(yīng)的操作。單片機(jī)通過(guò)將光電檢測(cè)電路傳送的信號(hào)進(jìn)行運(yùn)算、處理之后將輸出信號(hào)送給執(zhí)行電路,執(zhí)行電路將對(duì)外部設(shè)備進(jìn)行控制。51 單片機(jī)系統(tǒng)總原理圖第五章 調(diào)試過(guò)程和注意問(wèn)題5.1 程序下載軟件說(shuō)明 本課程設(shè)計(jì)是基于Keil uVision4 環(huán)境下開(kāi)發(fā),該軟件支持C語(yǔ)言的編程及調(diào)試,運(yùn)用方便。當(dāng)在該軟件下把程序準(zhǔn)確無(wú)誤編寫(xiě)好之后,通過(guò)軟件中的編譯功能獲得后綴名為.hex文件后,再使用程序燒寫(xiě)軟件STC_ISP_V483 將數(shù)據(jù)燒寫(xiě)到系統(tǒng)中。再燒寫(xiě)先應(yīng)需先將開(kāi)發(fā)板與電腦用連接線連接好,并檢查好開(kāi)發(fā)板所對(duì)應(yīng)的COM口,以免燒寫(xiě)失敗。Keil uVision4 軟件程序編寫(xiě)窗口:軟件程序編寫(xiě)窗口圖入圖4.1所示圖4.1:軟件程序編寫(xiě)窗口圖STC_ISP_V483 軟件程序燒
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園德育課程建設(shè)與實(shí)施
- 教師心理素質(zhì)與情緒管理
- 2025年中國(guó)自動(dòng)食品切片機(jī)行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 2025年中國(guó)毛絨鱷魚(yú)行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 中國(guó)汽車發(fā)動(dòng)機(jī)冷卻器蓋板項(xiàng)目投資可行性研究報(bào)告
- 廣告行業(yè)的技術(shù)創(chuàng)新與變革
- 2025-2030年中國(guó)實(shí)業(yè)五金項(xiàng)目投資可行性研究分析報(bào)告
- 2025年中國(guó)數(shù)碼照相機(jī)行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 中國(guó)AI領(lǐng)域融資行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 2025年中國(guó)顯示記錄儀表行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- GB/T 42001-2022高壓輸變電工程外絕緣放電電壓海拔校正方法
- GB/T 41837-2022溫泉服務(wù)溫泉水質(zhì)要求
- YY/T 1467-2016醫(yī)用包扎敷料救護(hù)繃帶
- GB/T 6495.3-1996光伏器件第3部分:地面用光伏器件的測(cè)量原理及標(biāo)準(zhǔn)光譜輻照度數(shù)據(jù)
- GB/T 17193-1997電氣安裝用超重荷型剛性鋼導(dǎo)管
- 2023年九年級(jí)中考數(shù)學(xué)高頻考點(diǎn)突破-圓的切線的證明【含答案】
- 2023年內(nèi)江市市中區(qū)財(cái)政局系統(tǒng)事業(yè)單位招聘筆試題庫(kù)及答案解析
- 國(guó)際貿(mào)易實(shí)務(wù)全部資料課件
- 帶狀皰疹醫(yī)學(xué)課件
- 全國(guó)卷高考標(biāo)準(zhǔn)語(yǔ)文答題卡作文紙3欄800字版
- 事業(yè)單位招聘考試《工程建設(shè)管理專業(yè)知識(shí)》真題匯總及答案【含解析】
評(píng)論
0/150
提交評(píng)論