版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、百度文庫-讓每個人平等地提升自我沈陽工學(xué)院畢業(yè)設(shè)計題 目:基于單片機(jī)和 LabVIEW的濕度探測系統(tǒng)設(shè)計與實現(xiàn)院 系:信息與限制學(xué)院專 業(yè):測控技術(shù)與儀器班級學(xué)號: 10305219學(xué)生姓名:王宏指導(dǎo)教師:耿欣成 績:百度文庫-讓每個人平等地提升自我1 方案設(shè)計11.1 設(shè)計任務(wù)的要求 11.2 系統(tǒng)方案設(shè)計 11.3 編程語言與調(diào)試環(huán)境選擇 22 系統(tǒng)的硬件設(shè)計42.1 單片機(jī)最小系統(tǒng)電路設(shè)計 42.2 濕度采集電路的設(shè)計 52.2.1 濕度傳感器的選擇 52.2.2 DHT11電路的設(shè)計 62.3 串口通信局部電路設(shè)計 72.3.1 串口芯片的選擇 72.3.2 MAX3232 電路的設(shè)計
2、 72.4 電源局部電路的設(shè)計 93 系統(tǒng)的軟件設(shè)計103.1 軟件系統(tǒng)總體工作流程 103.2 濕度采集程序的設(shè)計 103.3 串口通信局部程序 133.4 LabVIEW 程序設(shè)計143.4.1 實時濕度曲線模塊 143.4.2 參數(shù)設(shè)置模塊153.4.3 LabVIEW程序框圖設(shè)計 15參考文獻(xiàn)17附錄A硬件原理圖18附錄B程序代碼19附錄C實物圖25百度文庫-讓每個人平等地提升自我1方案設(shè)計1.1 設(shè)計任務(wù)的要求本設(shè)計主要設(shè)計一個以濕度傳感器,單片機(jī)和虛擬儀器為核心設(shè)計的一個小 型濕度檢測系統(tǒng),該系統(tǒng)的功能如下:現(xiàn)場濕度實時檢測并傳輸,上位機(jī)濕度顯示,包括實時濕度曲線,具體設(shè)計包括,硬
3、件和軟件兩個局部,硬件設(shè)計包括測 量電路的設(shè)計,單片機(jī)與上位機(jī)虛擬儀器接口電路的設(shè)計;軟件設(shè)計包括下位機(jī)C語言程序設(shè)計和上位機(jī)LabVIEW程序設(shè)計,下位機(jī)完成數(shù)據(jù)測試,上位機(jī)完 成數(shù)據(jù)的顯示和分析.1.2 系統(tǒng)方案設(shè)計本設(shè)計的上位機(jī)實現(xiàn)局部采用了 LabVIEW , LabVIEW是一種開放性的通用 程序開發(fā)系統(tǒng),具有強(qiáng)大的數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)分析和儀器限制功能.本 設(shè)計要實現(xiàn)的功能是構(gòu)建一個小型的濕度檢測系統(tǒng),既然是濕度檢測那自然就有數(shù)據(jù)采集局部,而在LabVIEW 中數(shù)據(jù)采集的硬件局部的核心是Data Acquis幣on-DAQ卡,它和LabVIEW 有很好的接口程序,用 LabVI
4、EW 實現(xiàn)數(shù)據(jù) 采集,就是在LabVIEW中限制各種DAQ卡或設(shè)備完成特定的功能,不過本設(shè) 計中采用的濕度傳感器本身就是數(shù)字信號而且傳輸?shù)臄?shù)據(jù)也較為簡單,所以本設(shè)計中下位機(jī)和上位機(jī)的數(shù)據(jù)傳輸是利用單片機(jī)對數(shù)字信號進(jìn)行換算處理以后再 通過串口傳送至PC端的LabVIEW進(jìn)行實時顯示的.所以確定初步的設(shè)計思路:濕度傳感器采集到特定的濕度數(shù)字信號,再利用單片機(jī)將這些數(shù)字信號根據(jù)一定的運算轉(zhuǎn)換成Ascii碼形式的濕度值然后通過用口傳送至PC端,在PC端的LabVIEW監(jiān)控界面可以完成對用口參數(shù)的設(shè)置、 平 均濕度,最高濕度,最低濕度參數(shù)和實時溫度曲線的顯示以及數(shù)據(jù)存儲等功能. 本設(shè)計的重點是串口通訊局
5、部,是整個設(shè)計的核心局部,串口通信局部是上位機(jī) 與下位機(jī)之間的聯(lián)系紐帶,將二者緊密聯(lián)系起來,形成一個完整的設(shè)計.本次設(shè)計中串口通訊主要通過LabVIEW自帶的一些串行通信模塊就行構(gòu)建很完成的. 本設(shè)計實現(xiàn)的濕度檢測系統(tǒng)簡單實用,靈活性強(qiáng),實用性高,并且操作簡單,易 于掌握.百度文庫-讓每個人平等地提升自我1.3 編程語言與調(diào)試環(huán)境選擇本設(shè)計過程編譯語言采用 C語言,編譯調(diào)試環(huán)境采用 Keil uVision4.C語言一共有32個和9種,程序書寫非常形式自由,而且大小寫要區(qū)分. 把低級語言的實用性與高級語言的根本結(jié)構(gòu)和語句結(jié)合起來.C語言可以像匯編語言一樣對、和進(jìn)行操作,而這三者恰恰就是計算機(jī)最
6、根本的工作單元.同時 C語言的包含的范圍也非常廣泛,一共有 34種運算符.C語言把、等都作為了 運算符處理.這就使 C語言的運算類型非常的豐富,的類型也多樣化了.如果 能靈活得使用各種運算符,就可以實現(xiàn)在其它中難以實現(xiàn)的運算.C語言的數(shù)據(jù) 類型有:實型、字符型、指針類型、共用體類型、數(shù)組類型、共用體類型等. 這些都能用來實現(xiàn)各種復(fù)雜的的運算.而且C語言引入了指針概念,這就使程序的效率更高了. C語言提供多種運算符和表達(dá)式值的方法,對問題的表達(dá)可通過多種途徑獲得,其程序設(shè)計更主動、靈活.它語法限制不太嚴(yán)格,程序設(shè)計自 由度大,如對整型量與字符型數(shù)據(jù)及邏輯型數(shù)據(jù)可以通用等1.C語言描述問題比迅速,
7、工作量小、好,易于調(diào)試、修改和移植,而代碼質(zhì) 量與相當(dāng).C語言一般只比匯編程序生成的目標(biāo)代碼效率低10%20%.C語言有豐富的數(shù)據(jù)結(jié)構(gòu)和.包含了各種數(shù)據(jù)結(jié)構(gòu),如、數(shù)組類型、指針類型和聯(lián)合類 型等,用來實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的運算.C語言能直接訪問硬件的物理地址,能進(jìn) 行位操作.兼有高級語言和低級語言的許多優(yōu)點.它既可用來編寫系統(tǒng)軟件,又可用來開發(fā)應(yīng)用軟件,已成為一種通用程序設(shè)計語言.2021年2月發(fā)布Keil uVision4 , Keil uVision4引入了靈活的窗口治理系統(tǒng), 為使用者提供一個整潔,高效的環(huán)境來開發(fā)應(yīng)用程序,開發(fā)人員使用KeiluVision4能夠同時使用多臺監(jiān)視器,并且提供
8、了視覺上的變化,新的用戶界面可 以讓使用者更好地利用屏幕空間,從而更有效地組織多個窗口.2021年3月ARM公司發(fā)布最新集成開發(fā)環(huán)境 RealView MDK開發(fā)工具中集 成了最新版本的Keil uVision4 ,其編譯器、調(diào)試工具實現(xiàn)與 ARM器件的最完美 匹配.目前使用 Keil uVision4 的產(chǎn)品有 Keil MDK-ARM , Keil C51 , Keil C166 和 Keil C251.最新的Keil uVision4 IDE ,旨在提升開發(fā)人員的生產(chǎn)力,實現(xiàn)更快,更有效 的程序開發(fā).uVision4引入了窗口治理系統(tǒng),使用方法更為靈活,能夠拖放到視圖內(nèi)的任百度文庫-讓每
9、個人平等地提升自我何地萬,包括支持多顯示器窗口.uVision4在v Vision3 IDE的根底上,增加了更多群眾化的功能21多顯示器和靈活的窗口治理系統(tǒng);2系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)存放器信息;3調(diào)試復(fù)原視圖創(chuàng)立并保存多個調(diào)試窗口布局;4多工程工作區(qū)簡化與眾多的工程.Keil uVision4開發(fā)界面如圖1.1所示."Tut MCtt "PL c r巾1七2U?=P1'WTunrl'3i»rt dFwr -XUnj lJrtiu=jJF1 i曾idlot n* 啊ITLi526 對 工日 m; 3D 31 32 33 3Int 3iwia M
10、l事ygfumwiiw int m "依科敬H時JLnt Lnmr m hfor<j=ur jc2?-: ft>Jvela pminitfk,/門信號也始比CM0D-C 口工二OOMS口CCAfflI-Ci?:4 2lE*CA P«HD- ;fCA_笄也LTX卜<XWDI>0JOCAPLEi-I'J "一半動車L-DCIH rjil- HHrw rwfc 圖1.1 Keil uVision4開發(fā)界面圖百度文庫-讓每個人平等地提升自我2系統(tǒng)的硬件設(shè)計系統(tǒng)的硬件局部包括測量電路的設(shè)計,單片機(jī)與上位機(jī)虛擬儀器接口電路的 設(shè)計,本設(shè)計中濕度
11、采集電路的主控芯片采用STC89C52、濕度傳感器采用DHT11、單片機(jī)與上位機(jī)虛擬儀器接口電路局部采用串口通信芯片 MAX3232 , 電源局部電路采用USB直接從PC處取電.下面將對各局部的電路分別介紹.2.1 單片機(jī)最小系統(tǒng)電路設(shè)計本設(shè)計限制系統(tǒng)由于較為簡單,沒有其他特殊的要求,只需要限制 DHT11 進(jìn)行濕度的實時采集后通過串口將數(shù)據(jù)實時傳送至上位機(jī)LabVIEW處理即可,本設(shè)計選擇STC89C52單片機(jī),STC89C52的各個參數(shù)大家都很熟悉了,再次就 不贅述了 ,本小節(jié)講一下 STC89C52最小系統(tǒng)的連接.VCC :接+5V電源,供電即可.GND :接地即可.XTAL1 :單片機(jī)
12、上的時鐘管腳,是獨立的輸入和輸出反相放大器,它們可以 被配置為使用石英晶振的片內(nèi),或者是器件直接由外部時鐘驅(qū)動.XTAL2 :單片機(jī)上的時鐘管腳,是獨立的輸入和輸出反相放大器,它們可以 被配置為使用石英晶振的片內(nèi),或者是器件直接由外部時鐘驅(qū)動.RST: STC89C52的復(fù)位信號輸入弓I腳,當(dāng)復(fù)位 RST 第9管腳出現(xiàn)2個 機(jī)器周期以上的高電平的時候,單片機(jī)就執(zhí)行復(fù)位操作.如果 RST持續(xù)為高電 平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài).復(fù)位操作使得內(nèi)部特殊功能存放器的內(nèi)容均被 設(shè)成狀態(tài).EA:應(yīng)接高電平,訪問內(nèi)部 ROM.STC89C52實物圖如圖2.1所示.圖2.1 STC89C52實物圖百度文庫-讓
13、每個人平等地提升自我STC89C52最小系統(tǒng)的原理圖如圖2.2所示口"gP3,4(T1)JfTALlXTAL-(A0JP2.1 Al泌; yuigj AL2iP2 陽 (A14DL4vccgZDjPkO (TKgiPkl ALE TOOC PSZNRiTP廠叵由 5 VX=圖2.2 STC89C52最小系統(tǒng)原理圖2.2 濕度采集電路的設(shè)計2.2.1 濕度傳感器的選擇本系統(tǒng)是為建立小型的濕度采集平臺,所以濕度傳感器的挑選至關(guān)重要,經(jīng) 過多方資料的查閱和咨詢大致確立了以下幾種方案:方案一:采用CHR-01濕敏電阻.CHR-01濕敏電阻適用于阻抗型高分子濕 度傳感器,它的工作電壓為交流1V
14、左右,其頻率為50Hz2kHz,測量濕度范圍 為20%90%RH,測量精度± 5%,工作溫度范圍為0+85C,最高使用溫度120C, 阻抗在60%RH (25C)時為30 (21-40.5) KQ.采用555時基或RC振蕩電路, 將濕度傳感器等效為阻抗值,測量振蕩頻率輸出,振蕩頻率在 1k Hz左右.方案二:采用 HF3223/HTF3223.HF3223/HTF3223采用模塊式結(jié)構(gòu),屬于 頻率輸出式集成濕度傳感器,相對濕度在 0%99%RH范圍內(nèi),精度為土 5%,測 量的指標(biāo)和測量的精度比擬高,不需要校準(zhǔn)就可以到達(dá)完全互換性, 可靠性和穩(wěn) 定性都比擬高,而且響應(yīng)速度相當(dāng)快,可以應(yīng)
15、用于線性電壓的輸出和線性頻率的 輸出的電路中,HTF3223在HF3223的根底上多了一個溫度傳感器. HF3223濕度傳感模塊將濕度信息轉(zhuǎn)化為頻率信號,傳輸給單片機(jī)進(jìn)行分析、處理和限制顯 示3.方案三:采用DHT11數(shù)字溫濕度傳感器,DHT11是一款采集數(shù)據(jù)精確且無 需校準(zhǔn)的數(shù)字信號輸出的溫濕度傳感器, 它應(yīng)用了專業(yè)的數(shù)據(jù)量模塊采集技術(shù)和 溫度和濕度的傳感技術(shù),可靠性相當(dāng)高,而且數(shù)據(jù)采集穩(wěn)定,且使用壽命長.可百度文庫-讓每個人平等地提升自我與一個高性能8位單片機(jī)相連接,實現(xiàn)對溫濕度數(shù)據(jù)的實時檢測,該產(chǎn)品相當(dāng)?shù)?契合我們本設(shè)計中的設(shè)計需要.綜合比擬三種方案,由于本設(shè)計是將采集到的數(shù)據(jù)通過串口傳
16、輸?shù)缴衔粰C(jī)部 分,所以采用集成式的數(shù)字型傳感器DHT11 ,會提升整個系統(tǒng)的運行速度,而且電路設(shè)計也較為簡單,所以在滿足設(shè)計要求的情況下,我們選擇方案三即 DHT11來作為本設(shè)計的濕度傳感器.2.2.2 DHT11電路的設(shè)計本設(shè)計中采用的DHT11濕度傳感器有四個引腳,包括VCC, GND, DATA, NC,就是除了接+5V電源和地以外只有一個數(shù)據(jù)口,是單總線數(shù)據(jù)限制模式的 器件,所以其連接的是時候 DATA 口需要加510K的上拉電阻,其它并無特別 的地方.DHT11的主要技術(shù)參數(shù):供電電壓:3.35.5V DC輸出:單總線數(shù)字信號測量范圍: 濕度20-90%RH,溫度050c測量精度:
17、濕度+-5%RH ,溫度+-2 C分辨率:濕度1%RH,溫度1C互換性:可完全互換.長期穩(wěn)定性: ±1%RH/年關(guān)于對DHT11的時序限制等會在軟件局部詳細(xì)說明, DHT11的實物圖如圖 2.3所示.百度文庫-讓每個人平等地提升自我圖2.3 DHT11的實物圖DHT11的原理圖如圖2.4所示.圖2.4 DHT11原理圖DHT11的DATA接上拉電阻后連接到 STC89C52RC的P1.0 口進(jìn)行限制, NC 口懸空即可,VCC接+5V電源,GND接地.2.3 串口通信局部電路設(shè)計2.3.1 用口芯片的選擇本設(shè)計中需要將采集到的濕度數(shù)據(jù)傳送至PC端的LabVIEW中進(jìn)行處理,由于電腦的
18、用口是RS232電平的,不能和單片機(jī)的TTL電平直接通信,所以需 要使用串口通信芯片將單片機(jī)的 TTL電平轉(zhuǎn)換為RS232電平,此處可選的芯片 有MAX232和MAX3232 , MAX3232是MAX232的升級版而且價格相差又不多, 所以此處我們選擇 MAX3232作為用通信的芯片,下面對 MAX3232的參數(shù)做 簡要說明.MAX3232具有二路的驅(qū)動器和二路的接收器,配置了 1uA關(guān)斷模式,實現(xiàn) 了低功耗和延長的產(chǎn)品的使用壽命.關(guān)斷模式中, MAX3232的接收器保持運行 狀態(tài),在低功耗的情況下,實現(xiàn)了對的實時監(jiān)測. MAX3232的、和MAX242還 有MAX232都是互相兼容的,理論
19、上是可以無差異互換的.MAX3232即使工作 在高速數(shù)據(jù)的傳輸下,仍然能夠保證 RS232標(biāo)準(zhǔn)要求的正負(fù)5.0V最小發(fā)送器的 輸出電壓4 0MAX3232采用專有低壓差發(fā)送器輸出級,利用雙電荷泵在 3.0V至5.5V電 源供電時就能夠?qū)崿F(xiàn)良好的通信, MAX3232僅需四個0.1uF的外部小尺寸瓷片 電容,就可以保證在120kbps高速數(shù)據(jù)傳輸下,還能有效的保持 RS232.2.3.2 MAX3232電路的設(shè)計本設(shè)計中的串口通信芯片是 MAX3232芯片,其利用雙泵在3.0V至5.5V電百度文庫-讓每個人平等地提升自我源供電時能夠?qū)崿F(xiàn)穩(wěn)定的 RS232的數(shù)據(jù)通信,電路中的電容伯:在MAX323
20、2芯片 手冊上都為0.1ufo MAX3232相當(dāng)于串口和單片機(jī)直接的橋梁, MAX3232有兩 路接收器和兩路驅(qū)動器,本設(shè)計中只需要利用到其中的一路即可.下面介紹一下 DB9串口的各個引腳.DB9頭各管腳定義:1載波檢測DCD ;2 接收數(shù)據(jù)RXD ;3發(fā)送數(shù)據(jù)TXD ;4 數(shù)據(jù)終端準(zhǔn)備好DTR;5信號地SG;6數(shù)據(jù)準(zhǔn)備好DSR;7請求發(fā)送RTS;8去除發(fā)送CTS;9振鈴提示RI.MAX3232引腳圖如圖2.5所示.CUCVC2+C2-V-T20UTR21N1 |I二57JMAX3232ldiKliKlIIUIN UCIDO 爪 口 c- 1V G T R RIN,1T2U720UR圖2.5
21、 MAX3232引腳圖MAX3232電路連接原理圖如圖2.6所示百度文庫-讓每個人平等地提升自我GND 'IC7_4CL*V+ ClC2-VCUD0UT1RIN2<3NDDOUT1RJK1ROUTTUEKIDEK2ROUT2vcc Cf汩用I17RX"iJtx$.,沁二:GXD圖2.6 MAX3232原理圖通過原理圖可知MAX3232的連接方式,其1腳和3腳直接連接104的瓷片 電容,4腳和5腳直接也連接104的瓷片電容,2腳和6腳分別接104瓷片電容 后接地,本設(shè)計中我們用到的是 1路接收器和1路驅(qū)動器,其DOUT1連接到 DB9的2腳即接收數(shù)據(jù)口,RIN1連接到DB
22、9的3腳發(fā)送數(shù)據(jù)口,具和單片機(jī)連 接口是ROUT1和DIN1分別連接到單片機(jī)的串口 P3.0和P3.1.2.4電源局部電路的設(shè)計本設(shè)計中所有的元器件都是用+5V供電即可,而且需要設(shè)計需要和PC端進(jìn) 行實時的數(shù)據(jù)傳輸,所以電源局部的設(shè)計是直接利用 USB母座通過USB線從筆 記本的USB 口取電即可,在電源和地端并上10uf的電解電容和104的磁片電容, 其得到的電壓剛好是+5V而且非常穩(wěn)定足以滿足本設(shè)計的需求,電源局部原理圖 如圖2.7所示.USB1VE6DAshell AdiUSE圖2.7電源局部原理圖百度文庫-讓每個人平等地提升自我3系統(tǒng)的軟件設(shè)計3.1 軟件系統(tǒng)總體工作流程本系統(tǒng)的整體流
23、程是:利用DHT11進(jìn)行實時濕度的實時采集并通過串口傳輸給上位機(jī)通過LabVIEW進(jìn)行處理,本設(shè)計中軟件下位機(jī)工作流程如圖3.1所示.圖3.1軟件下位機(jī)流程圖由系統(tǒng)的整體流程可知,本設(shè)計的軟件局部設(shè)計可分為上位機(jī)局部的軟件設(shè) 計和下位機(jī)的軟件局部設(shè)計,下面先介紹下位機(jī)局部的軟件設(shè)計.3.2 濕度采集程序的設(shè)計本設(shè)計中采用的DHT11是典型的單總線數(shù)據(jù)通信的元器件,即只使用DATA 引腳就可以完成所有的限制和數(shù)據(jù)傳輸,采用單總線數(shù)據(jù)格式,一次通訊時間長度在4ms左右,溫度和濕度的數(shù)據(jù)分小數(shù)局部和整數(shù)局部還有校驗碼,DHT11的數(shù)據(jù)精度是1%,所以他讀取到的小數(shù)局部是不存在的一直為零,所以我們只
24、需要對整數(shù)局部的數(shù)據(jù)進(jìn)行處理即可,操作流程如下:一次完整的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)長度為 40bit,高位在前低位在后.數(shù)據(jù)為,8bit 濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校 驗數(shù)據(jù),總共為40bit,如果前面32bit的計算總和等于后面的校驗位那么證實本次 的數(shù)據(jù)讀取是正確的,假設(shè)不等于,證實數(shù)據(jù)讀取錯誤,必須重新讀數(shù)據(jù).DHT11的限制流程大致是:主控芯片發(fā)送一次啟動信號以后, DHT11從低 功耗模式轉(zhuǎn)換為高速模式,等待到主控芯片的啟動信號結(jié)束以后,DHT11發(fā)送響應(yīng)信號,由主機(jī)接收判斷以后,DHT11開始送出40bit的數(shù)據(jù),并觸發(fā)信號采10百
25、度文庫-讓每個人平等地提升自我集,我們估計需要使用到的數(shù)據(jù)段對數(shù)據(jù)進(jìn)行采集,但一般都是全部采集,這樣 才可以使用DHT11自帶的數(shù)據(jù)校驗功能.DHT11每接收到一次啟動信號那么觸發(fā) 一次溫濕度的數(shù)據(jù)采集,如果沒有收到啟動信號,那么一直處于低功耗模式,不采集數(shù)據(jù).DHT11的DATA總線在低功耗模式時為高電平,主控芯片把DATA拉低等待DHT11響應(yīng),而且主控芯片把 DATA拉低必須大于18ms,保證DHT11能穩(wěn) 定的檢測到啟動信號.DHT11接收到主控芯片的啟動信號以后,等待主控芯片 的啟動信號結(jié)束后,然后DHT11會發(fā)出80us低電平響應(yīng)信號.主機(jī)發(fā)送啟動信 號結(jié)束后,延時等待40us左右
26、后,即可讀取DHT11的響應(yīng)信號,判斷其為響應(yīng) 信號以后即可開始讀取40bit的數(shù)據(jù)位.DATA總線為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號以 后,會再把DATA總線拉高80us,準(zhǔn)備發(fā)送40bit數(shù)據(jù),每一 bit數(shù)據(jù)都以50us 低電平作為間隙,高電平的長短判斷了數(shù)據(jù)位是高還是低.當(dāng)最后一 bit數(shù)據(jù)傳 送完畢以后,DHT11會拉低DATA總線50us,以示數(shù)據(jù)傳輸結(jié)束,隨后總線由 上拉電阻拉高并且進(jìn)入空閑狀態(tài),對 DHT11進(jìn)行數(shù)據(jù)采集需要特別注意的是, 兩次的采集間隔必須在1s以上,否那么采集命令無效.本設(shè)計中DATA 口連接在單片機(jī)的P1.0 口,根據(jù)DHT11的
27、通信協(xié)議,首先 由單片機(jī)的P1.0 口主動產(chǎn)生要求的激發(fā)信號,然后將數(shù)據(jù)線的限制權(quán)交給傳感 器,接著單片機(jī)通過while語句不間斷的檢查P1.0 口的上下電平,從而到達(dá)對時 序的正確把握,解析出準(zhǔn)確的傳輸數(shù)據(jù),在通過對其數(shù)據(jù)的分析處理,即可得到當(dāng)前的濕度值,DHT11的采集程序流程圖如圖3.2所示.11百度文庫-讓每個人平等地提升自我圖3.2 DHT11程序流程圖12百度文庫-讓每個人平等地提升自我3.3 串口通信局部程序STC89C52上有一個通用異步接收/發(fā)送器 UART,通過引腳RXDP3.0和 TXDP3.1可外部電路進(jìn)行全雙工的串行異步通信,發(fā)送數(shù)據(jù)時由TXD端送出,接收時數(shù)據(jù)由RX
28、D端輸入串行端口有4種根本工作方式,通過編程設(shè)置,可以 使其工作在任一方式,本設(shè)計中實用的是工作方式1.51單片機(jī)的串行端口主要由SCON、PCON這兩個存放器來限制的,用于設(shè) 置傳輸?shù)乃俾?是否觸發(fā)中斷,數(shù)據(jù)位,標(biāo)志位,校驗位,和接收或者發(fā)送模式 的選擇.串口通信主要還用到了一個數(shù)據(jù)存放器SBUF, SBUF為發(fā)送和接收所共用的存放器.當(dāng)在發(fā)送模式時,只寫不讀;接收模式時,只讀不寫.設(shè)置完成 發(fā)送條件以后,向SBuF寫入數(shù)據(jù)就啟動了串口的發(fā)送;讀 SBuF就可以讀取到 用口接收到的數(shù)據(jù).在不同工作方式中,由時鐘振蕩的值或由定時器T1的定時溢出時間來確定串口的波特率,串口通信程序流程圖如圖3.
29、3所示.圖3.3串口通信程序流程圖13百度文庫-讓每個人平等地提升自我3.4 LabVIEW程序設(shè)計該設(shè)計的設(shè)計思想是:由濕度傳感器檢測信號,通過單片機(jī)限制串口傳送 至PC,進(jìn)入計算機(jī)虛擬儀器程序,對采集到的濕度進(jìn)行上位機(jī)濕度顯示,包括 實時濕度曲線,平均濕度,最高濕度,最低濕度參數(shù)的測量與顯示.本系統(tǒng)的組 成和其他基于虛擬儀器的系統(tǒng)組成一樣, 都由系統(tǒng)前面板及與之相對應(yīng)的程序框 圖兩大局部構(gòu)成.下面從前面板開始介紹整個LabVIEW的整體構(gòu)架,整個上位機(jī)的檢測界面 的前面板如圖3.4所示.圖3.4檢測系統(tǒng)前面板圖由圖3.4可以看到,前面板主要由串口配置,接受數(shù)據(jù)緩沖區(qū)和實時濕度曲 線,平均濕
30、度,最高濕度,最低濕度參數(shù)等和一些參數(shù)輸入控件組成.3.4.1 實時濕度曲線模塊實時濕度曲線模塊由波形圖表控件組成,它用來根據(jù)所測的濕度值來繪制濕 度變化的曲線,從而對濕度的走勢一目了然,可以根據(jù)需要設(shè)置曲線的樣式等參 數(shù),實時濕度曲線模塊圖如圖 3.5所示.14百度文庫-讓每個人平等地提升自我數(shù)據(jù)波加示濕度采集系統(tǒng)施.0 !Time圖3.5實時濕度曲線模塊圖3.4.2 參數(shù)設(shè)置模塊參數(shù)設(shè)置模塊中可對端口選擇、波特率、數(shù)據(jù)位、奇偶校驗、停止位.波特率是傳輸速率,默認(rèn)值為 9600.數(shù)據(jù)位是輸入數(shù)據(jù)的位數(shù),數(shù)據(jù)比特值介于5和8之間,默認(rèn)值為8.奇偶校驗制定要傳輸或接受的每一幀所使用的校驗方法:0
31、為無校驗?zāi)J(rèn);1為奇校驗;2為偶校驗;3為校驗位始終為1; 4為校驗位 始終為0.停止位指定用于表示幀結(jié)束的停止位數(shù)量5.參數(shù)設(shè)置模塊如圖3.6所示.圖3.6參數(shù)設(shè)置模塊圖3.4.3 LabVIEW程序框圖設(shè)計本設(shè)計主要是利用到LabVIEW的串口通信功能,所以程序框圖主要由一個 while循環(huán)、一個條件結(jié)構(gòu)、VISA配置串口、VISA寫入、VISA讀取和VISA關(guān) 閉等控件組成.其中有些控件我們在前面板中已經(jīng)介紹,在此我們主要介紹串口通訊用到的的幾個子 V I6.系統(tǒng)總程序框圖如圖3.7所小.15百度文庫-讓每個人平等地提升自我3一叫圖3.7總程序框圖程序開始首先利用VISA配置串口模塊對用
32、行口進(jìn)行初始化,然后判斷開始 運行按鈕是否按下,假設(shè)按下開始使能用口采集.本設(shè)計中我們主要使用 VISA實現(xiàn)串口通信,所以下面詳細(xì)講解一下VISA的使用,在labview功能面板的Instrument I/O Serial目錄下,包含串行通信所 需要的集成模塊.利用這些模塊,可以非常方便的設(shè)計出基于申行通信的限制系 統(tǒng).需要注意的是,在使用這些模塊前,需安裝在光盤上的VISA驅(qū)動程序,也可從NI的網(wǎng)站免費下載最新 VISA驅(qū)動程序,下面介紹一下最常用的串行通信 模塊7.1、VISA配置串口用于初始化所選擇的串行口.其中VISA資源名稱用于選擇所用到的用行口,PC機(jī)中常用到的用口號分別用 COM
33、1和COM2表示,流限制用于設(shè)置握手 方式.波特率、數(shù)據(jù)位、停止位、奇偶校驗分別用于設(shè)置串行通信的波特率,數(shù) 據(jù)位長度,停止位和校驗方式8o2、VISA Write用于將 Write Buffer中的字符寫到VISA資源名稱指定的串行接口中.3、VISA Read用于從VISA資源名稱指定的串行口中讀取規(guī)定字節(jié)數(shù)的數(shù)據(jù),并把這些數(shù)據(jù)傳遞給Read Buffer.其中,Byte count用于設(shè)置要讀取的字節(jié)數(shù).4、VISA Close用于關(guān)閉VISA資源名稱指定的串行口,讓出用行口的使用權(quán)16百度文庫-讓每個人平等地提升自我參考文獻(xiàn)1李廣弟.單片機(jī)根底M .北京:北京航空航天出版社,2001.
34、2唐俊翟.單片機(jī)原理與應(yīng)用M.北京:冶金工業(yè)出版社,2003.3周航慈.單片機(jī)應(yīng)用程序設(shè)計技術(shù)M.北京:北京航天航空大學(xué)出版社, 2002.4勒達(dá).單片機(jī)應(yīng)用系統(tǒng)開發(fā)實例導(dǎo)航M.北京:人民郵電出版社,2003.5陳樹學(xué),劉萱.LabVIEW寶典M.北京:電子工業(yè)出版社,2021.6劉君華.基于LabVIEW的虛擬儀器的設(shè)計M.北京:北京電子工業(yè)出版社, 2003.7趙茂泰.智能儀器原理及應(yīng)用M.北京:電子工業(yè)出版社,2004.8蔡建安,陳潔華.基于LabVIEW的工程軟件應(yīng)用M.重慶:重慶大學(xué)出版 社,2006.17百度文庫-讓每個人平等地提升自我附錄A硬件原理圖,ccD±7in g
35、n.i 口3 7TQ|£X%tff ?M33TT皿m豆FZ i :., .mm :324 C«J»WIWM(AWLSjL,ma 51】肌,jiUgiWG1X19 FM KZE:電l的1E圖A硬件原理圖18#include <reg52.h>#include <intrins.h>/typedef unsigned char U8;無符號8位整型變量*/typedef signed char S8;有符號8位整型變量*/typedef unsigned int U16;無符號16位整型變量*/typedef signed int S16;力符
36、號16位整型變量*/typedef unsigned long U32;無符號32位整型變量*/typedef signed long S32;有符號32位整型變量*/typedef floatF32;單精度浮點數(shù)(32位長度)*/百度文庫-讓每個人平等地提升自我附錄B 程序代碼/* defined for unsigned 8-bits integer variable/* defined for signed 8-bits integer variable/* defined for unsigned 16-bits integer variable/* defined for signe
37、d 16-bits integer variable/* defined for unsigned 32-bits integer variable/* defined for signed 32-bits integer variable/* single precision floating point variable (32bits)typedef doubleF64;/* double precision floating point variable(64bits)雙精度浮點數(shù)(64位長度)*/#define uchar unsigned char#define uint unsi
38、gned int#define Data_0_time 4/IO口定義區(qū)/sbit P2_0 = P2A0 ;/定義區(qū)/U8 U8FLAG,k;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8 checkdata_temp;U8 U8comdata;U8 outdata5; 定義發(fā)送的字節(jié)數(shù)19百度文庫-讓每個人平等地提升自我U8 indata5;
39、U8 str5=""U8 count, count_r=0;U16 U16temp1,U16temp2;SendData(U8 *a) outdata0 = a0;outdata1 = a1;outdata2 = a2;outdata3 = a3;outdata4 = a4;count = 1;SBUF=outdata0;void Delay(U16 j) U8 i;for(;j>0;j-) for(i=0;i<27;i+);void Delay_10us(void)U8 i;void COM(void) U8 i;for(i=0;i<8;i+) U8FL
40、AG=2;/20百度文庫-讓每個人平等地提升自我/while(!P2_0)&&U8FLAG+);Delay_10us();Delay_10us();/ Delay_10us();U8temp=0;if(P2_0)U8temp=1;U8FLAG=2;while(P2_0)&&U8FLAG+);/超時那么跳出for循環(huán)if(U8FLAG=0)break;/判斷數(shù)據(jù)位是0還是1/如果高電平高過預(yù)定0高電平值那么數(shù)據(jù)位為1U8comdata<<=1;U8comdata|=U8temp; /0/rof/-/-濕度讀取子程序/-/以下變量均為全局變量/-溫度高 8 位=U8T_data_H/-溫度低 8 位=U8T_data_L/-濕度高 8 位=U8RH_data_H-/-濕度低 8 位=U8RH_data_L-/-校驗 8 位=U8checkdata/-調(diào)用相關(guān)子程序如下/- Delay();, Delay_10us();,COM();/-void RH(void)/主機(jī)拉低18ms21百度文庫-讓每個人平等地
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 愛心流水燈課程設(shè)計
- 網(wǎng)球初學(xué)者教學(xué)課程設(shè)計
- 預(yù)見2025:中國行業(yè)趨勢報告-羅蘭貝格-202501
- 汽車行業(yè)品牌推廣咨詢
- 紡織服裝行業(yè)業(yè)務(wù)代表工作報告
- 教育行業(yè)人才選拔經(jīng)驗交流
- 2024年秋季小學(xué)開學(xué)典禮方案
- 2024年美發(fā)店管理制度
- 分布式電力供應(yīng)合同(2篇)
- 2024年臘八節(jié)的賀詞
- 水閘閘門運行方案
- 消費型股東招募計劃書
- 2022-2023學(xué)年江蘇省連云港市九年級(上)期末數(shù)學(xué)試卷(含詳細(xì)答案解析)
- 會計事務(wù)所述職報告
- 2022年江蘇普通高中學(xué)業(yè)水平選擇性考試政治真題及答案
- 玻璃工業(yè)的節(jié)能減排與綠色制造
- 防止交叉感染的護(hù)理措施和策略
- 蘇教譯林版四年級英語上冊單詞默寫表
- 金屬冶煉中的領(lǐng)導(dǎo)潛能與領(lǐng)導(dǎo)力發(fā)展策略
- 上海市浦東新區(qū)部分學(xué)校聯(lián)考2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題
- 南京理工大學(xué)物理化學(xué)課程考試8套卷(含答案)
評論
0/150
提交評論