水質(zhì)監(jiān)測數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)計(jì)gai_第1頁
水質(zhì)監(jiān)測數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)計(jì)gai_第2頁
水質(zhì)監(jiān)測數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)計(jì)gai_第3頁
水質(zhì)監(jiān)測數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)計(jì)gai_第4頁
水質(zhì)監(jiān)測數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)計(jì)gai_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

-1-水質(zhì)監(jiān)測數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)計(jì)陳夢竹電子信息工程學(xué)院電子信息工程專業(yè)2016級指導(dǎo)教師:劉漢奎摘要:隨著電子技術(shù)的不斷進(jìn)步,新概念的不斷提出,人們對于生活的要求也在不斷的提高,智能化自動化的概念也逐漸的深入人心。伴隨著生命之源的不斷消耗,人們對于淡水資源的關(guān)注度也在提高。本課題就是以智能檢測為主題進(jìn)行設(shè)計(jì)的一款集檢測、監(jiān)測于一體的水質(zhì)在線監(jiān)測系統(tǒng)。本系統(tǒng)能夠?qū)崟r監(jiān)測溫濕度、水位、渾濁度值,并可以通過無線模塊傳輸此時的監(jiān)測值。用戶采用手機(jī)APP即可查看此時檢測的數(shù)據(jù),非常方便。系統(tǒng)的硬件設(shè)計(jì)包括STM32系統(tǒng)處理器電路、溫濕度傳感器模塊、水位監(jiān)測模塊、WIFI模塊、渾濁度監(jiān)測模塊設(shè)計(jì);軟件設(shè)計(jì)主要包括系統(tǒng)主程序、溫濕度采集程序、WIFI傳輸子子程序。最終通過實(shí)測表明系統(tǒng)設(shè)計(jì)達(dá)到設(shè)計(jì)要求,所有功能均實(shí)現(xiàn)。關(guān)鍵詞:STM32;WIFI;溫濕度;水位;渾濁度

WaterqualitymonitoringdatatransmissionnetworkdesignChenmengzhuschoolofElectronicInformationEngineering,Electronicinformationengineering,Class06Grade2016Instructor:PengTingAbstract:Withthecontinuousprogressofelectronictechnology,newconceptsareconstantlyputforward,people'srequirementsforlifearealsoconstantlyimproving,theconceptofintelligentautomationisalsograduallydeeplyrootedinpeople'sminds.Alongwiththecontinuousconsumptionofthesourceoflife,people'sattentiontofreshwaterresourcesisalsoincreasing.Thissubjectisanonlinewaterqualitymonitoringsystemwithintelligentdetectionasthetheme.Thesystemcanmonitortemperatureandhumidity,waterlevelandturbidityinrealtime,andcantransmitthemonitoringvaluethroughwirelessmodule.TheusercancheckthedetecteddatabyusingthemobileAPP,whichisveryconvenient.ThehardwaredesignofthesystemincludesSTM32systemprocessorcircuit,temperatureandhumiditysensormodule,waterlevelmonitoringmodule,WIFImoduleandturbiditymonitoringmodule.Thesoftwaredesignmainlyincludesthemainprogramofthesystem,temperatureandhumidityacquisitionprogram,WIFItransmissionsub-subroutine.Finally,thetestshowsthatthesystemdesignmeetsthedesignrequirementsandallthefunctionsarerealized.Keywords:STM32;WIFI;Temperatureandhumidity;Thewaterlevel;turbidity

目錄1緒論 -5-1.1設(shè)計(jì)背景 -5-1.2設(shè)計(jì)現(xiàn)況和意義 -6-1.3本文主要內(nèi)容 -6-2系統(tǒng)的方案設(shè)計(jì) -7-2.1系統(tǒng)主要模塊 -7-2.2系統(tǒng)結(jié)構(gòu) -7-3系統(tǒng)的硬件設(shè)計(jì) -9-3.1主處理器系統(tǒng)電路 -9-3.2溫濕度模塊 -9-3.3水位監(jiān)測模塊 -10-3.4渾濁度檢測模塊 -10-3.5Wifi模塊接口 -11-4系統(tǒng)的軟件設(shè)計(jì) -13-4.1主程序 -13-4.2溫濕度檢測子程序 -14-4.3Wifi傳輸子程序 -15-5系統(tǒng)測試 -18-5.1測試流程 -18-5.2測試結(jié)果 -19-結(jié)論 -21-參考文獻(xiàn) -22-附錄 -23-致謝 -52-

1緒論1.1設(shè)計(jì)背景水是生命之源,人類在生產(chǎn)生活中都離不開水。在地球水圈中,水資源的總量為1.37×,其中海水約占總量的97.3%,淡水僅占其2.7%。淡水所占比例不但少,而且大部分分布在地球南北極冰雪覆蓋下的冰川、冰蓋中,而可利用的淡水資源就只有河流、淡水湖和地下水的一部分,還不到總量的1%[1]?,F(xiàn)如今隨著社會經(jīng)濟(jì)的發(fā)展、科學(xué)的進(jìn)步和人民生活水平的提高,環(huán)境污染越來越嚴(yán)重,其中,水環(huán)境污染最為嚴(yán)重。在水資源日益短缺的今天,水質(zhì)問題受到了更多地關(guān)注,因此對水質(zhì)進(jìn)行測試能使我們更好地保護(hù)水資源,保證合格的水質(zhì),這對正常生產(chǎn)、保證產(chǎn)品質(zhì)量和人們健康具有非常重要的意義。隨著中國社會經(jīng)濟(jì)的快速發(fā)展,城市化和工業(yè)化的加速,城市和工業(yè)廢水大量流入江河湖泊水庫,地表水和地下水污染嚴(yán)重,問題日益嚴(yán)重。根據(jù)中國環(huán)境狀況公報,2001年全國13個主要水文系統(tǒng)(揚(yáng)子江、黃河、珠江等)控制的400個省級水質(zhì)監(jiān)測特征中,56%與第一類水質(zhì)有關(guān)。這個增加率為26.1%,第五類的水質(zhì)介紹增加了16.1%。顯示了我國的水質(zhì)污染有每年減少的傾向。第五類水質(zhì)為43.0%。第二類湖泊只占7%。據(jù)2006年統(tǒng)計(jì),由于水污染,中國每年遭受700億元的經(jīng)濟(jì)損失。保護(hù)水環(huán)境和治理水污染是我國經(jīng)濟(jì)發(fā)展的急迫問題。地球上的土地面積很少,大部分的部分都是水,所以說地球還可以成為一顆水星,但是盡管水占地球的大部分區(qū)域,而其中的淡水資源卻很少,整體的淡水資源只占地球的百分之一。就在這僅有的百分之一的淡水資源隨著工業(yè)化的破壞和人們的不節(jié)約,在很多淡水都是冰山的時候,人們可用的淡水也越來越急缺。隨著電子技術(shù)、傳感器技術(shù)、計(jì)算機(jī)技術(shù)、現(xiàn)代通信技術(shù)等高新技術(shù)的發(fā)展,使安全技術(shù)逐漸發(fā)展起來。人們也開始逐漸關(guān)注節(jié)約水資源和針對污染水質(zhì)進(jìn)行治理。對于水質(zhì)的檢測國家和社會也是逐漸增加了關(guān)注度和支持力度,技術(shù)人員也不斷地更新檢測技術(shù),對于檢測方案也是越來越多。1.2設(shè)計(jì)現(xiàn)況和意義進(jìn)入二十一世紀(jì)以來,電子技術(shù)的概念不斷進(jìn)步和發(fā)展,人們對于計(jì)算機(jī),物聯(lián)網(wǎng)都有了一定的認(rèn)識和基礎(chǔ),慢慢接受并享受電子技術(shù)帶來的方便和快捷,人們的生活水平也在不斷的提高,隨著溫飽問題的解決,生活的質(zhì)量要求也隨之升高,人們更多地注重于安全,這個安全包括:生活安全和食品安全,尤其是水質(zhì)安全問題。這時,電子技術(shù)和人們需求相結(jié)合就誕生了水質(zhì)在線檢測的這個新概念,以一個大型的物聯(lián)網(wǎng)城市,進(jìn)行分別連接各家各戶的智能點(diǎn),進(jìn)而形成一個智慧城市的大框架,在這個大框架下,智能水質(zhì)監(jiān)測是最基礎(chǔ)也是最重要的點(diǎn),國家也在積極支持和發(fā)展這方面的技術(shù)和方法,智能檢測成為時代的主題。水質(zhì)監(jiān)測的重點(diǎn)是特定的含水層(例如河流、湖泊、水庫、海洋)。對水質(zhì)的幾個參數(shù)進(jìn)行測定和分析,對污染物質(zhì)的種類和污染物質(zhì)濃度的狀況進(jìn)行測定和評價??茖W(xué)家不僅要管理污染源,還要緊急處理水污染事故。另外,政府制定開發(fā)計(jì)劃,支持環(huán)保部數(shù)據(jù),加強(qiáng)水生環(huán)境保護(hù),水質(zhì)監(jiān)測對加強(qiáng)水環(huán)境保護(hù)和管理非常重要。解決我國的水污染危機(jī)?,F(xiàn)在,世界上對水質(zhì)監(jiān)測的重視程度很高,各國都制定了符合實(shí)情的水質(zhì)標(biāo)準(zhǔn)和水質(zhì)監(jiān)測標(biāo)準(zhǔn)。水質(zhì)標(biāo)準(zhǔn)和水質(zhì)監(jiān)測技術(shù)標(biāo)準(zhǔn)也在制定中。例如,國家地表水質(zhì)標(biāo)準(zhǔn)(GB3838.ANE2002)、國家地下水質(zhì)量標(biāo)準(zhǔn)(GB/T1448.93)和水質(zhì)監(jiān)測標(biāo)準(zhǔn)(SDL27.84)。目前市場上的主要的水質(zhì)監(jiān)測探測器是人工進(jìn)行化學(xué)監(jiān)測,消耗人工和資源,而且要得到水質(zhì)的結(jié)果不及時。針對這種情況,實(shí)時水質(zhì)監(jiān)測系統(tǒng)就顯得尤為重要。經(jīng)過特定的水質(zhì)檢測器進(jìn)行定點(diǎn)水質(zhì)檢測,經(jīng)過微系統(tǒng)處理器獲得該點(diǎn)的水質(zhì)信息,并實(shí)時傳輸?shù)揭壕э@示模塊上。該系統(tǒng)將實(shí)時顯示水質(zhì)情況,可以做到在線觀看。水質(zhì)在線監(jiān)測系統(tǒng)是針對水質(zhì)的安全風(fēng)險而設(shè)計(jì)的,如水的一些參數(shù):溫度,渾濁度,濕度,水位等。1.3本文主要內(nèi)容本文所設(shè)計(jì)的水質(zhì)數(shù)據(jù)監(jiān)測系統(tǒng)以STM32單片機(jī)為控制核心,電路按照實(shí)際電路功能劃分,通過具體的硬件電路設(shè)計(jì)結(jié)合軟件編程,實(shí)現(xiàn)了所需要的基本功能。每一章的具體內(nèi)容如下:第一章緒論主要講述了課題研究的背景、研究意義以及國內(nèi)外研究現(xiàn)狀,通過對比表明了當(dāng)前研究的必要性;第二章主要講述了系統(tǒng)總體設(shè)計(jì)過程,首先闡明了系統(tǒng)設(shè)計(jì)要求,隨后介紹了系統(tǒng)設(shè)計(jì)的各個模塊,最后介紹了系統(tǒng)整體結(jié)構(gòu);第三章主要是講述了系統(tǒng)的硬件設(shè)計(jì)過程,包括STM32系統(tǒng)處理器電路、溫濕度傳感器模塊、水位監(jiān)測模塊、WIFI模塊、渾濁度監(jiān)測模塊設(shè)計(jì);第四章主要講述了軟件設(shè)計(jì),主要包括系統(tǒng)主程序、溫濕度采集程序、WIFI傳輸子子程序;第五章講述了系統(tǒng)的測試過程以及測試結(jié)果,并給出相應(yīng)詳細(xì)的分析過程。

2系統(tǒng)的方案設(shè)計(jì)2.1系統(tǒng)主要模塊1.處理器采用STM32單片機(jī)作為系統(tǒng)控制器,STM32F103RCT6是由意法半導(dǎo)體公司出品的STM32F103系列的微處理器。STM32最高頻率可達(dá)72MHz,它有零等待的存儲器訪問、基于哈佛結(jié)構(gòu)并帶有3級流水線特性和其高效的處理效率保證能夠?qū)崟r高效的處理水表取數(shù)和上傳數(shù)據(jù)。STM32自帶64k字節(jié)Flash,它具有多種低功耗模式:等待、活躍停機(jī)、停機(jī)模式,外設(shè)的時鐘可單獨(dú)關(guān)閉。在停機(jī)模式下,STM32的功耗僅僅4.5uA左右,完全能夠滿足智能控制的供電要求,這實(shí)現(xiàn)并保證了整個系統(tǒng)的低功耗特性[9]。2.無線通信模塊Esp8266ex是一個完整且集成的WLAN網(wǎng)絡(luò)解決方案,可以獨(dú)立運(yùn)行,也可以作為另一個主機(jī)MCU上的從屬運(yùn)行,如果Esp8266ex配備了應(yīng)用處理器作為設(shè)備中唯一的應(yīng)用處理器,則可以直接從外部閃存啟動。內(nèi)存有助于提高系統(tǒng)性能并減少內(nèi)存需求。如果esp8266ex負(fù)責(zé)WLAN適配器的任務(wù),則可以將其添加到任何基于微控制器的設(shè)計(jì)中。只需通過SPI/SDIO或I2C/UART即可輕松實(shí)現(xiàn)連接。esp8266ex除了具有WLAN功能外,還集成了32位處理器和Tensilial106鉆孔系列的SRAM,具有強(qiáng)大的處理和存儲選項(xiàng)。樂信提供的軟件開發(fā)套件(SDK)包含各種示例代碼。Esp8266ex§122200Grad§2;內(nèi)部集成包括天線開關(guān),RF巴倫,功率放大器,低噪聲接收器放大器,濾波器和電源管理模塊,因此整個解決方案只需很少的外部電路,并且占用的電路板空間最小。ESP8266模塊非常小(19mm*29mm),模塊通過6個2.54mm間距的排針與外部連接,方便大家安裝到自己的設(shè)備里面;相比TC35i,ATK-ESP8266體積更小,速率更高,功耗更低,支持的頻段也更為豐富,因此系統(tǒng)采用該模塊進(jìn)行設(shè)計(jì)。3.溫濕度監(jiān)測模塊在傳統(tǒng)的信號測量標(biāo)準(zhǔn)系統(tǒng)中,必須以驚人的方式解決諸如不正確信息排序之類的技術(shù)問題,例如變量中的誤差轉(zhuǎn)換和電路中的電路偏差。另外,正常觀察點(diǎn)是產(chǎn)生強(qiáng)信號干擾的弱電磁環(huán)境,并且模擬的溫度信號易于失真,失真和指定。結(jié)果,用于測量溫度的解決方案對于系統(tǒng)中的新數(shù)字溫度的干擾是有效的;這些問題的解決方案是一種有效的解決方案,非常適合新的數(shù)字熱傳感器和更小,更精確和更高的電壓,以及更廣泛的電纜應(yīng)用和網(wǎng)絡(luò)。2.2系統(tǒng)結(jié)構(gòu)該系統(tǒng)由監(jiān)測終端和手機(jī)APP組成,監(jiān)測終端負(fù)責(zé)監(jiān)測水質(zhì)數(shù)據(jù),當(dāng)開啟時,WIFI通信自動連接,將采集的數(shù)據(jù)通過無線傳輸?shù)姆绞絺鬟f到手機(jī)APP端,用戶可以隨時查看此時測量的實(shí)時數(shù)據(jù)。同時,監(jiān)測系統(tǒng)可安裝干電池和蓄電池兩種電源,兩種電源可自動切換,也可以只安裝一種電源,供電方式多樣。系統(tǒng)原理框圖如下圖所示。溫濕度模塊水位模塊主控芯片WIFI模塊手機(jī)APP溫濕度模塊水位模塊主控芯片WIFI模塊手機(jī)APP渾濁度模塊渾濁度模塊圖2.2系統(tǒng)結(jié)構(gòu)系統(tǒng)的監(jiān)測終端由主控芯片、溫濕度模塊、水位模塊、渾濁度模塊以及WIFI模塊構(gòu)成,WIFI模塊和手機(jī)APP進(jìn)行通信。

3系統(tǒng)的硬件設(shè)計(jì)3.1主處理器系統(tǒng)電路該系統(tǒng)的主芯片使用STM32系列和STM323c8t6模型作為主芯片,獲取傳感器數(shù)據(jù),同時通過算法處理數(shù)據(jù)。STM32系統(tǒng)所需的元件還包括起動模式選擇電路、振動復(fù)位電路等,以便在電路設(shè)計(jì)時將兩個ADC接口連接到傳感器。在設(shè)計(jì)上追加了燈和按鈕。設(shè)計(jì)要求系統(tǒng)與外部電路,設(shè)計(jì)原理圖3.1。圖3.1處理器系統(tǒng)電路STM32F103RCT6有3種復(fù)位方式:外部RST引腳復(fù)位,軟件復(fù)位,看門狗復(fù)位。如圖3.1,外部RST引腳從外部復(fù)位到NRST引腳復(fù)位脈沖一定寬度,從實(shí)現(xiàn)的微控制器的復(fù)位[10]。NRST引腳出廠配置為RST復(fù)位引腳應(yīng)被配置為I/O端口,在ISP編程設(shè)定。如果NRST不在STC-ISP編程設(shè)置的I/O端口輸入引腳NRST是芯片復(fù)位。RST復(fù)位引腳為高電平并保持至少24個時鐘加為10μs,單片機(jī)將進(jìn)入復(fù)位狀態(tài)時,RST復(fù)位引腳回到低電平時,單片機(jī)結(jié)束復(fù)位狀態(tài),并從0000H部門的用戶程序區(qū)啟動正常工作。STM32F103RCT6單片機(jī)有兩個時鐘源:內(nèi)部的R/C振蕩器時鐘和外部晶振時鐘。工廠標(biāo)準(zhǔn)配置是使用芯片的R/C振蕩器,其頻率為8MHz,則內(nèi)部的R/C振蕩頻率將會存在一個數(shù)字溫度漂移[12],再加上制造錯誤的,因此內(nèi)部的R/C振蕩器只適合的時鐘的頻率不要求高精度的場合。單片機(jī)可以調(diào)整時鐘頻率。這是因?yàn)榕c多個動作速度相對應(yīng),這個單片機(jī)的動作電壓高,很難得到定電源電壓輸出。特別是電池,因?yàn)榉烹姇r間可以產(chǎn)生減少的電壓。這個宏處理器可以提供32個自由I/O,但是這個設(shè)計(jì)需要矩陣鍵盤,所以這個設(shè)計(jì)解決了一個非常重要的問題。3.2溫濕度模塊溫濕度測量模塊的引腳圖和STM32的接口電路如圖所示,其中SHT20工作在外部電源模式,STM32使用PA0和SHT20進(jìn)行通信,如圖3.5所示。當(dāng)測溫程序運(yùn)行時,僅在一個1中的溫度讀數(shù)值,然后調(diào)用讀取的程序的溫度測量值。通過在讀取數(shù)據(jù)時讀取單片機(jī)單線接口、低電平和高電平。溫濕度檢測模塊的外形及管腳排列如下3.2所示。圖3.2溫濕度檢測模塊3.3水位監(jiān)測模塊水位監(jiān)視模塊主要使用3個二極管的電流放大原理,當(dāng)在液位高度將3個二極管的基板引導(dǎo)到正電極D時,在3個二極管的基板和發(fā)射器電極之間產(chǎn)生一定大小的電流。電源用于取得讀取轉(zhuǎn)換器。當(dāng)液位高度將三個二極管基板引導(dǎo)至正電極時,模塊主要使用三個二極管的電流放大原理。在三個二極管的底部和發(fā)射器電極之間產(chǎn)生一個大小的電流,在集電極和三個二極管的發(fā)射器電極之間產(chǎn)生幾個電流。電阻產(chǎn)生的電流可以用來購買Ad轉(zhuǎn)換器。圖3.3水位監(jiān)測模塊3.4渾濁度檢測模塊濁度傳感器TS-300B型測量洗滌水中的濁度(懸浮物的計(jì)數(shù)器),基于光學(xué)原理,傳感器用于測量污水的不透明度或其他物質(zhì)的濃度,并以特定波長接收發(fā)光二極管和光電二極管。KIE濁度傳感器的工作原理:當(dāng)光線穿過一定量的水時,光線的穿透量取決于該水中的臟物的量。當(dāng)臟物的量增加時,穿透水樣的光線隨之減少,濁度傳感器測量透過的光線量來計(jì)算洗滌水的濁度傳感器將這些濁度測量值提供給洗衣機(jī)或洗碗機(jī)控制器,由洗衣機(jī)和洗碗機(jī)控制器決定各個洗滌周期的時間。這些判斷基于凈水的測量值(在洗滌周期開始時測量得)和洗滌結(jié)束時測量的洗滌水的測量值之間的比較。通過測量洗滌水的濁度,在洗滌不是很臟的衣物時,洗衣機(jī)可以只洗需要的時間,從而節(jié)省了能源,這樣最終用戶節(jié)省了能源圖3.4渾濁度監(jiān)測模塊3.5Wifi模塊接口WIFI模塊與STM32之間的通信是采用232通信串行接口,RS-232使用差分信號的負(fù)邏輯+2v+6v+0,6v-2v表示1.RS232a2個兒子和4個兒子。在RS232通信網(wǎng)絡(luò)中,通常使用主機(jī)通信模式,即與多個接收機(jī)的主機(jī)計(jì)算機(jī)。當(dāng)連接到RS-232的通信鏈路時,每個接口的“A”和“B”兩端很容易連接到一對火炬對。然而,收發(fā)器具有7+12v的公共模式電壓范圍(RS-232),網(wǎng)絡(luò)常忘記僅在滿足上述條件時才正常工作。通信的穩(wěn)定性和可靠性,并促發(fā)進(jìn)一步被破壞的界面e.2:emi問題:發(fā)送驅(qū)動部的輸出信號的共同模式,部分是低抵抗反饋通道(“ben信號場”),不需要源端部反饋電路的必要。作為輻射形狀和大天線的總線起到外部輻射電磁波的作用。。WiFi模塊原理圖如圖3.5所示,ESP8266芯片通過串行通信方式與主控模塊進(jìn)行數(shù)據(jù)通信,MCU通過指令配置WiFi模塊接入局域網(wǎng)。如果要實(shí)現(xiàn)主控模塊與云平臺建立連接,實(shí)現(xiàn)數(shù)據(jù)交互,還需要讓W(xué)iFi模塊燒錄機(jī)智云提供的與ESP8266模組配套的固件GAgent。向WiFi模塊燒錄固件時需要將GPl00接地,完成后將GPl00引腳懸空,模塊才能正常工作圖3.5Wifi模塊

4系統(tǒng)的軟件設(shè)計(jì)程序是復(fù)雜的任務(wù),需要用適當(dāng)?shù)拇胧┖头椒▉碚韽?fù)雜的任務(wù)。這個步驟可以總結(jié)為三個點(diǎn)。第一,分析系統(tǒng)控制要求,通過具體分析復(fù)雜問題來確定算法。通過確定合理的計(jì)算方法和適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)來確定開發(fā)過程的階段,這是制作質(zhì)量程序的關(guān)鍵。這個項(xiàng)目的目的是根據(jù)算法繪制進(jìn)程圖。程序的框架,為了減少發(fā)生錯誤的可能性,根據(jù)算法和分辨率步驟來制作程序的目的。程序形成有機(jī)的整體。程序:程序數(shù)據(jù)的理想方法是結(jié)構(gòu)編程方法,結(jié)構(gòu)編程被設(shè)計(jì)為適當(dāng)?shù)叵拗瓶捎玫目刂平Y(jié)構(gòu)類型的程序的使用。特別是使用轉(zhuǎn)換指令(“或指令”)來控制程序的復(fù)雜性,確保前一階段和下一階段的順序與執(zhí)行過程兼容,使程序易于理解。(d)首先是主軟件,根據(jù)主程序的要求單獨(dú)設(shè)計(jì)并測試功能二次方案。然后,模塊連接到主程序,主程序被測試,軟件構(gòu)成整個系統(tǒng)。4.1主程序系統(tǒng)軟件采用stm32單片機(jī)作為主芯片進(jìn)行設(shè)計(jì),采用C語言進(jìn)行編程,實(shí)現(xiàn)了儲能監(jiān)測的過程。通圖4.1為正常狀態(tài)下軟件運(yùn)行的程序流程圖,系統(tǒng)上電之后首先進(jìn)行初始化工作,隨后采集溫濕度、水位以及水的渾濁度,采集完這些信息之后,將這些信息進(jìn)行打包,打包之后通過WIFI進(jìn)行傳輸,用戶通過手機(jī)APP即可查看測量的實(shí)時數(shù)據(jù)。圖4.1主程序軟件流程圖4.2溫濕度檢測子程序溫濕度測量程序主要功能是讀出傳感器的溫度值。要正確地讀出溫度值必須嚴(yán)格遵守單總線器件的命令序列,否則單總線器件不會響應(yīng)主機(jī)。溫濕度傳感器模塊程序流程圖如圖4.2所示。開始開始發(fā)寫入指令初始化發(fā)讀取指令結(jié)束圖4.2溫濕度檢測子程序流程圖4.3Wifi傳輸子程序STM32通過串口和WIFI芯片進(jìn)行通信,控制WIFI模塊首先應(yīng)確定串口的硬件連接,然后啟動串口,將串口初始化。將存儲區(qū)數(shù)據(jù)取出并由串口發(fā)送出去,所有數(shù)據(jù)發(fā)送完畢,等待PC機(jī)發(fā)送命令數(shù)據(jù),最終獲取數(shù)據(jù)并返回。圖4.3數(shù)據(jù)傳輸子程序流程圖宏處理器根據(jù)AT指令控制無線模塊,接著是AT指令。文檔中的所有命令都從“或”到“或”,返回文字的末尾。在風(fēng)格的返回順序之后緊接著返回<>。所有的T以<>格式或>>>>x>形式顯示時,命令為“x”,命令支持一個以上的參數(shù)。例如,吃飯的順序是關(guān)閉或激活波動函數(shù),DCE返回接收字符。在DTE中,根據(jù)值n.m.可以選擇參數(shù),沒有分配值的情況是默認(rèn)值。參數(shù)控制:ATS<n>ⅱ[m]ding]形式的命令,進(jìn)行記錄指標(biāo)n>和參數(shù)<m>評價。在命令A(yù)T中,參數(shù)是可選的。沒有指定的值的情況下,是默認(rèn)值。擴(kuò)展指令:一般來說,擴(kuò)展類別和應(yīng)用程序根據(jù)操作控制格式進(jìn)行分類。在命令語法中,可以在括號內(nèi)找到默認(rèn)值。訂單參數(shù)需要可選擇的參數(shù)。這些參數(shù)必須用天馬來區(qū)分。沒有雙引號,可按慣例忽略選定字符串的特征或結(jié)果空間中的TA返回空間的特征。選擇部分之一是,你不能看所有的命令,不分大寫字母和大寫字母。使用命令時,因?yàn)锳T命令的數(shù)量被放入相同的命令行的項(xiàng)目中,所以可以刪除命令開始時或開始時的單詞,只在命令行中使用。作為分隔符(“Point”)(“Point”和“Points”),例如Ate1&腺苷酸;w+f+icf+cfun;W命令可以操作到355個字符。輸入命令不會發(fā)生錯誤。連續(xù)執(zhí)行多個命令時,需要對AT命令(例如返回OK、CME錯誤、CMS錯誤等)做出最后的響應(yīng),然后繼續(xù)執(zhí)行命令。在程序設(shè)計(jì)中,數(shù)據(jù)信息主要通過模塊傳輸。使用的AT指令請參照下圖。所發(fā)送的IP地址由AT+CMGS=“133”限定,當(dāng)模塊返回到文本模式模塊時,所發(fā)送的信息從1a發(fā)送到符號末尾。圖4.4無線模塊AT指令數(shù)據(jù)點(diǎn)的設(shè)計(jì)是開發(fā)中最重要的一個環(huán)節(jié),因此,數(shù)據(jù)點(diǎn)信息和裝置的信號定義活動,APP的手機(jī)的數(shù)據(jù)格式,并調(diào)整控制,確保安全與可靠傳輸。數(shù)據(jù)點(diǎn)主要由四個部分構(gòu)成。識別名,讀取,寫入類型。數(shù)據(jù)類型和數(shù)據(jù)長度:標(biāo)識符名稱跟蹤程序語言變量的名稱,以便定義設(shè)備和手機(jī)APP程序中的數(shù)據(jù)點(diǎn)變量。鬧鈴和故障:鬧鈴,鬧鈴,故障的種類只接收家庭警報控制器的數(shù)據(jù),不能下載。寫入類型支持警報控制器的數(shù)據(jù)通信和手機(jī)數(shù)據(jù)傳輸。相關(guān)信息的處理和統(tǒng)計(jì),為了容易被設(shè)計(jì)了報警和故障類型:閱讀文章的類型是ブールタイプ名單類型,類型包括數(shù)字類型和擴(kuò)張,擴(kuò)張類型是數(shù)據(jù)長可以定義和數(shù)據(jù)內(nèi)容。。圖4.5單片機(jī)控制wifi模塊流程圖

5系統(tǒng)測試5.1測試流程根據(jù)所協(xié)商的調(diào)整程序,根據(jù)電力檢測之前的電力檢測程序,根據(jù)硬件和軟件,從測試開始:圖5.1系統(tǒng)調(diào)試示意圖整個設(shè)備按照流程圖的順序分別接受單機(jī)檢測、高電檢測、子模塊功能的實(shí)現(xiàn)和總線的調(diào)節(jié)。硬件調(diào)整是為了保證硬件系統(tǒng)的正確性。根據(jù)原理焊接的材料一定能包裝。因此,在調(diào)整軟件單元和硬件之前,需要進(jìn)行認(rèn)證。這是最基本的要素,整個系統(tǒng)的正常運(yùn)作也很重要。事前測試的目的是連接電路,電路短路,開放,確保了沒有焊接,使用數(shù)字表的硬件,元件是否被正確地那邊,特別是容量極端密封并沒有確認(rèn)。因?yàn)楹秆b人的安全受到危險的狀況,例如安裝電氣之后有發(fā)生爆炸的可能性。電力測試后的測試還沒有被確認(rèn)。必須測定各D點(diǎn)的電壓值的一致性?!翱荚?特別是包裝系統(tǒng)的電源電路的正常動作,電源和瓣膜電路。該系統(tǒng)在電源電路的輸入和輸出系統(tǒng)的整合性和模塊的測量結(jié)果只,主要測定分和電源電路的正常輸出電壓的測量,簡單介紹了。數(shù)百萬個,各模塊化電路,輸入和輸出的檢測精度,并擁有數(shù)百萬的表計(jì)算機(jī)。比如,用于紅外傳感器,還應(yīng)把傳感器安排在差別的環(huán)境中,觀察網(wǎng)絡(luò)到的數(shù)據(jù)是否與相應(yīng)的趨勢劃一;對于本系統(tǒng),在不同的應(yīng)用背景和環(huán)境下,判斷其是否正常工作,滿足功能需求。該單元的調(diào)節(jié)通常包括測試電路的每個點(diǎn)的電位,包括額外的信號,尤其是靜態(tài)和動態(tài)的調(diào)節(jié),而不是活動裝置的靜態(tài)操作點(diǎn)。確定在前面的輸出或信號測試單元中使用的各種指示符是否符合信號的幅度、波形、相位關(guān)系、放大、頻率等設(shè)計(jì)標(biāo)準(zhǔn)。將靜態(tài)及動態(tài)測試結(jié)果與設(shè)計(jì)指標(biāo)進(jìn)行比較,詳細(xì)分析后對電路及參數(shù)進(jìn)行合理修正。當(dāng)單元電路被調(diào)整時,不能確定組件電路的整體性能是否良好,因此必須調(diào)整整個電路。設(shè)計(jì)指標(biāo)測量結(jié)果將確定問題和解決方案,并對電路及其參數(shù)進(jìn)行修正,直至電路整體性能完全符合設(shè)計(jì)要求。5.2測試結(jié)果下面對系統(tǒng)進(jìn)行實(shí)際測試。首先對系統(tǒng)進(jìn)行上電,系統(tǒng)正常運(yùn)轉(zhuǎn),如下圖所示。圖5.2系統(tǒng)上電通過手機(jī)APP,我們可以看出此時的測量信息,如圖5.3所示。圖5.3系統(tǒng)測試信息隨后,我們將水位傳感器和渾濁度傳感器放入測試杯子中,如圖5.4所示。圖5.4測試杯子隨后我們可以看出測試的數(shù)據(jù)相應(yīng)發(fā)生了改變,如圖5.5所示。圖5.5測試數(shù)據(jù)

結(jié)論本文所設(shè)計(jì)水質(zhì)檢測傳輸網(wǎng)絡(luò)系統(tǒng)以STM32單片機(jī)為控制核心,電路按照實(shí)際電路功能可劃分為STM32系統(tǒng)處理器電路、溫濕度傳感器模塊、水位監(jiān)測模塊、WIFI模塊、渾濁度監(jiān)測模塊,并進(jìn)行了單元電路的具體設(shè)計(jì),通過具體的硬件電路設(shè)計(jì),實(shí)現(xiàn)了系統(tǒng)所需要的基本功能。雖然主要任務(wù)已經(jīng)完成,但設(shè)計(jì)A基本滿足要求和目標(biāo)。為了改善很多功能,需要進(jìn)一步的研究和開發(fā)。未來的鋰電池能量比更高,體型更便捷化,相應(yīng)的儲能監(jiān)測系統(tǒng)更完善。在版面設(shè)計(jì)的過程中,制作過程中出現(xiàn)了很多問題。例如,在開始選擇標(biāo)題文件時,是STM32<STM32f1×.C>的標(biāo)題文件。然后,因?yàn)樾枰褂煤晏幚砥鞯膬?nèi)部資源,所以下載時,由于子文檔和原子文檔不同,可以從IP燃燒器下載標(biāo)頭文件。在制作索引的過程中有可能會發(fā)生問題。在文件夾中添加文件,使其能夠使用。不那樣的話,就會發(fā)生大問題。對于程序?qū)懭?,使用中斷協(xié)同作用的需要也遇到許多問題,例如,如果計(jì)時器被中斷的執(zhí)行時間相對較短,則噴槍被中斷的時間將被中斷。這是數(shù)據(jù)傳輸鏈的問題。在這期間,完成了這個主題的設(shè)計(jì),為了評價這幾個月的工作,特別在以下領(lǐng)域努力了。在設(shè)計(jì)模擬的時候,為了避免不必要的設(shè)計(jì)和節(jié)省時間,我明白了選擇和理解設(shè)備的重要性。從理論的角度看,我們面臨的許多問題在理論上是明確的,但并不像我們在實(shí)踐中想的那么簡單。我們需要幾次考試。接近理論。在編程方面,有很多開發(fā)語言,為了開發(fā)選擇了C語言。因?yàn)榉浅1銛y,能比較簡單的模塊化。開發(fā)軟件,在主控芯片上下載程序。

參考文獻(xiàn)[1]周建陽;陳家樂.《基于STM32四軸飛行器的設(shè)計(jì)》.欽州學(xué)院學(xué)報,2015.2[2]劉寶琦;黃雪峰;關(guān)祿君.《煤礦氣體監(jiān)測通訊系統(tǒng)研究》.通信世界.2016.5[3]黃京.《現(xiàn)代電子技術(shù)在煤礦智能管理系統(tǒng)中的應(yīng)用研究》.煤炭技術(shù),2014.2[4]丁玲玲.《基于單片機(jī)的瓦斯檢測報警儀的研究和設(shè)計(jì)》.數(shù)字技術(shù)與應(yīng)用,2016.[5]趙大成,賈海燕.手機(jī)短信收發(fā)的AT指令控制[J],信息工程大報.2004.02.[6]賴壽宏微型計(jì)算機(jī)控制技術(shù).機(jī)械工業(yè)出版社,2000.5.[7]李國勇.何小剛.閻高偉.過程控制系統(tǒng).電子工業(yè)出版社,2013.1[8]姜志海.單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,2005.7.[9]夏露易,石宗義.電路原理圖與電路板設(shè)計(jì)教程.北京希望電子出版,2002.6.[10]化成英,童詩白.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,2001.1.[11]閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,2008.5.[12]李鴻.用單片機(jī)控制手機(jī)發(fā)短信息.電子技術(shù)應(yīng)用,2002(1).[13]李朝青.PC機(jī)與單片機(jī)數(shù)據(jù)通訊技術(shù)[M].北京航空航天大學(xué)出版社,2000.[14]李娜;牛曉飛.《基于STM32的智能家居無線激光報警系統(tǒng)》.激光雜志,2013.10[15]王艷林;李東.單片機(jī)原理及應(yīng)用教學(xué)實(shí)踐系統(tǒng)設(shè)計(jì).教育教學(xué)論壇,2014.6[16]RealTimeBiometricsbasedVehicleSecuritySystemwithGPSandGSMTechnology.N.Kiruthiga,L.latha,S.Thangasamy.[17]GSMRysioSistemuTaikymoErdvinemsKoordinatemsNustatytiAnaliC8JonasSkeivalas;DaliusRadis;VidmantasLiutkauskas.

附錄程序#include"bsp_uart.h"#include"gizwits_product.h"#include"common.h"#include"pwm.h"unsignedintgui10msCount=0;unsignedintgui2sCount=0;externunsignedchargucUartRcvData;externunsignedchargucdest_temprature;externunsignedchargucdest_humidity;externunsignedchargucyellow_light;externunsignedchargucgreen_light;externunsignedchargucred_light;unsignedcharack=0;svoidStart_I2c(){GPIO_SetBits(GPIOA,GPIO_Pin_4);/*發(fā)送起始條件的數(shù)據(jù)信號*/delay_us(30);GPIO_SetBits(GPIOA,GPIO_Pin_5);delay_us(150);GPIO_ResetBits(GPIOA,GPIO_Pin_4);/*發(fā)送起始信號*/delay_us(150);/*起始條件鎖定時間大于4μs*/GPIO_ResetBits(GPIOA,GPIO_Pin_5);/*鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù)*/delay_us(60);}voidStop_I2c(){GPIO_ResetBits(GPIOA,GPIO_Pin_4);delay_us(30);/*發(fā)送結(jié)束條件的時鐘信號*/GPIO_SetBits(GPIOA,GPIO_Pin_5);/*結(jié)束條件建立時間大于4μs*/delay_us(150);GPIO_SetBits(GPIOA,GPIO_Pin_4);}斷發(fā)送位*/elseGPIO_ResetBits(GPIOA,GPIO_Pin_4);delay_us(30);delay_us(150);/*保證時鐘高電平周期大于4μs*/GPIO_ResetBits(GPIOA,GPIO_Pin_5);}delay_us(60);AD8591_DataPin_Configure_Input();/*8位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/delay_us(60);GPIO_SetBits(GPIOA,GPIO_Pin_5);delay_us(60);GPIO_ResetBits(GPIOA,GPIO_Pin_5);delay_us(60); AD8591_DataPin_Configure_Output();}AD8591_DataPin_Configure_Input();for(BitCnt=0;BitCnt<8;BitCnt++){delay_us(30);GPIO_ResetBits(GPIOA,GPIO_Pin_5);GPIO_SetBits(GPIOA,GPIO_Pin_5);/*置時delay_us(60);}GPIO_ResetBits(GPIOA,GPIO_Pin_5);AD8591_DataPin_Configure_Output();delay_us(60);return(retc);}elseGPIO_SetBits(GPIOA,GPIO_Pin_4);delay_us(90);GPIO_SetBits(GPIOA,GPIO_Pin_5);delay_us(150);/*時鐘低電平周期大于4μs*/GPIO_ResetBits(GPIOA,GPIO_Pin_5);/*清時鐘線,鉗住I2C總線以便繼續(xù)接收*/delay_us(60);}#definePCF85910x90//PCF8591地址unsignedchargucShuiwei=0;unsignedchargucHunzhuo=0;voidAdPro(void){ ISendByte(PCF8591,0x40);IRcvByte(PCF8591);//ADC0模數(shù)轉(zhuǎn)換4 可調(diào)0-5vbatteryPowergucShuiwei=IRcvByte(PCF8591);//ADC0模數(shù)轉(zhuǎn)換4 可調(diào)0-5vbatteryPower ISendByte(PCF8591,0x41); IRcvByte(PCF8591);gucHunzhuo=IRcvByte(PCF8591);//ADC1模數(shù)轉(zhuǎn)換4 可調(diào)0-5vbatteryPower}voidShowCheLiangStatus(void){//OLED_ShowCheSu(0,0,0); //OLED_ShowCheSu(18,0,1); //OLED_ShowCheSu(36,0,2); OLED_ShowNum(54,0,gucUartRcvData,3,16); }voidLampDetailInfoShow(unsignedintuiLampNum){}externunsignedintguiDistance1;//到另一個設(shè)備的距離externunsignedintguiDistance2;//到本設(shè)備的距離unsignedintguiDistanceReal2=0;unsignedintguiDistanceReal1=0;#defineBITBAND(addr,bitnum)((addr&0xF0000000)+0x2000000+((addr&0xFFFFF)<<5)+(bitnum<<2))#defineRDATA PBin(9) //紅外數(shù)據(jù)輸入腳//紅外遙控識別碼(ID),每款遙控器的該值基本都不一樣,但也有一樣的.//我們選用的遙控器識別碼為0#defineREMOTE_ID0 externu8RmtCnt; //按鍵按下的次數(shù)externvoidHourAdd(void);externvoidMinuteAdd(void);externvoidDayAdd(void);externvoidMonthAdd(void);externvoidYearAdd(void);externunsignedintguiYear;externunsignedchargucUartRcvData1[50];//判斷從機(jī)是否有低電平響應(yīng)信號如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行????if(!DHT11_get_databit())//T!{//判斷從機(jī)是否發(fā)出80us的低電平響應(yīng)信號是否結(jié)束???while((!DHT11_get_databit()));//printf("DHT11answers.\r\n");//判斷從機(jī)是否發(fā)出80us的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài)while((DHT11_get_databit()));return1;}return0;}voidDHT11_get_data(void){u8temp;if(DHT11_start_sampling()){//printf("DHT11isreadytotransmitdata\r\n");//數(shù)據(jù)接收狀態(tài)??????U8RH_data_H_temp=DHT11_read_byte();U8RH_data_L_temp=DHT11_read_byte();U8T_data_H_temp=DHT11_read_byte();U8T_data_L_temp=DHT11_read_byte();U8checkdata_temp=DHT11_read_byte();/*Datatransmissionfinishes,pullthebushigh*/DHT11_DataPin_Configure_Output();DHT11_set_databit(TRUE);//數(shù)據(jù)校驗(yàn)temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);if(temp==U8checkdata_temp){U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;//printf("DHT11tempature%d.%d?humidity%d.%d\r\n",U8T_data_H,U8T_data_L,U8RH_data_H,U8T_data_L);}else{}}else{}}typedefunsignedcharBYTE;unsignedcharCY;BYTEBUF[8];//接收數(shù)據(jù)緩存區(qū)unsignedintdis_data=65535;//變量unsignedintguiGuangzhaodu=0;#defineBH_1750_SCL_Clr()GPIO_ResetBits(GPIOB,GPIO_Pin_11)#defineBH_1750_SCL_Set()GPIO_SetBits(GPIOB,GPIO_Pin_11)#defineBH_1750_SCL_Get()GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)#defineBH_1750_SDA_Clr()GPIO_ResetBits(GPIOB,GPIO_Pin_10)#defineBH_1750_SDA_Set()GPIO_SetBits(GPIOB,GPIO_Pin_10)#defineBH_1750_SDA_Get()GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10)GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOB,&GPIO_InitStructure);}voidBH_1750_SDA_IN(void){GPIO_Init(GPIOB,&GPIO_InitStructure);}voidBH_1750_IO_Init(void){ GPIO_InitTypeDefGPIO_InitStructure;/*第一步:打開外設(shè)的時鐘*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOB,&GPIO_InitStructure);}voidDelay5us(){delay_us(5);}/**************************************起始信號**************************************/voidBH1750_Start(){ BH_1750_SDA_OUT();BH_1750_SDA_Set();//拉高數(shù)據(jù)線BH_1750_SCL_Set();//拉高時鐘線delay_us(5);//延時BH_1750_SDA_Clr();//產(chǎn)生下降沿delay_us(5);//延時BH_1750_SCL_Clr();//拉低時鐘線}/**************************************停止信號**************************************/voidBH1750_Stop(){ BH_1750_SDA_OUT();BH_1750_SDA_Clr();//拉低數(shù)據(jù)線BH_1750_SCL_Set();//拉高時鐘線Delay5us();//延時BH_1750_SDA_Set();//產(chǎn)生上升沿Delay5us();//延時}/**************************************發(fā)送應(yīng)答信號入口參數(shù):ack(0:ACK1:NAK)**************************************/voidBH1750_SendACK(unsignedcharack){ BH_1750_SDA_OUT();//寫應(yīng)答信號if(ack) { BH_1750_SDA_Set(); } else { BH_1750_SDA_Clr(); }BH_1750_SCL_Set();//拉高時鐘線Delay5us();//延時BH_1750_SCL_Clr();//拉低時鐘線Delay5us();//延時}/**************************************接收應(yīng)答信號**************************************/unsignedcharBH1750_RecvACK(){BH_1750_SDA_IN(); BH_1750_SCL_Set();//拉高時鐘線Delay5us();//延時CY=BH_1750_SDA_Get();//讀應(yīng)答信號BH_1750_SCL_Clr();//拉低時鐘線Delay5us();//延時returnCY;}/**************************************向IIC總線發(fā)送一個字節(jié)數(shù)據(jù)**************************************/voidBH1750_SendByte(BYTEdat){BYTEi; BH_1750_SDA_OUT();for(i=0;i<8;i++)//8位計(jì)數(shù)器{ if(dat&0x80) { BH_1750_SDA_Set();//送數(shù)據(jù)口 } else { BH_1750_SDA_Clr(); }dat<<=1;//移出數(shù)據(jù)的最高位BH_1750_SCL_Set();//拉高時鐘線Delay5us();//延時BH_1750_SCL_Clr();//拉低時鐘線Delay5us();//延時}BH1750_RecvACK();}/**************************************從IIC總線接收一個字節(jié)數(shù)據(jù)**************************************/BYTEBH1750_RecvByte(){BYTEi;BYTEdat=0;BH_1750_SDA_IN();for(i=0;i<8;i++)//8位計(jì)數(shù)器{dat<<=1;BH_1750_SCL_Set();//拉高時鐘線Delay5us();//延時dat|=BH_1750_SDA_Get();//讀數(shù)據(jù)BH_1750_SCL_Clr();//拉低時鐘線Delay5us();//延時}returndat;}//*********************************#define SlaveAddress0x46//定義器件在IIC總線中的從地址,根據(jù)ALTADDRESS地址引腳不同修改voidSingle_Write_BH1750(unsignedcharREG_Address){BH1750_Start();//起始信號-Oui.Rotationd'uneaiguilledansletempsVoid-motorshangsheng(void){C:}UnsignedcharI;Unsignedchar-J;For(j=0;j<160;j+){C:}For(i=0;i<8;i+){C:}Setmotorval(phase[i]);DelayuMS(1);réglagedevitesse-Oui.-Oui.-Oui.Void-motorxiajiang(void){C:}UnsignedcharI;Unsignedchar-J;For(j=0;j<160;j+){C:}For(i=0;i<8;i+){C:}Setmotorval(phase[i]);DelayuMS(1);réglagedevitesse-Oui.-Oui.-Oui.//arrêterlarotationVoid-motorstop(void){C:}Setmotorval(0x00);-Oui.Unsigned=char=gucbaojing=0;Unsigned=char=gucbaojingcount=0;Voidleddprocess(){C:}If((Guiguangzhaodu<500)\\124\\124(Guiguangzhaodu>45000)){C:}GPIO^usetbits(gpiob,GPIO^upin^8);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\8);-Oui.F((u8t`UData\\h<15)\\124\(u8t\\uData\\H>45)){C:}GPIO^usetbits(gpiob,GPIO^upin^9);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\9);-Oui.F((u8rh\\uData\\h<35)\\124\(u8rh\\uData\\H>90)){C:}GPIO^usetbits(gpiob,GPIO^upin^6);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\6);-Oui.-Oui.-356f0Voidlightprocess(){C:}Tim\\usetcompare2(tim4,(gucgreen\\uLight-1)*30);/arrêtdesfeuxrougesTim\\usetcompare1(tim4,(gucred\\uLight-1)*30);/lampejauneTim\\usetcompare3(tim4,(gucyellow\\uLight-1)*30);/GreenLightSpray-Oui.ExternU8`u8t`UData'uH,u8t`UData'ul,u8rh`UData'uH,u8rh`UDataul,u8checkdata;Voidjiarejiashipro(){C:}F(gucdest\\uTemperature>u8t\\uData\\h){C:}GPIO\\usetbits(gpiob,GPIO\\u12);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\u12);-Oui.F(gucdest\\uHumanity>u8rh\\uData\\h){C:}GPIO\\usetbits(gpiob,GPIO\\U13);-Oui.Rotationd'uneaiguilledansletempsVoid-motorshangsheng(void){C:}UnsignedcharI;Unsignedchar-J;For(j=0;j<160;j+){C:}For(i=0;i<8;i+){C:}Setmotorval(phase[i]);DelayuMS(1);réglagedevitesse-Oui.-Oui.-Oui.Void-motorxiajiang(void){C:}UnsignedcharI;Unsignedchar-J;For(j=0;j<160;j+){C:}For(i=0;i<8;i+){C:}Setmotorval(phase[i]);DelayuMS(1);réglagedevitesse-Oui.-Oui.-Oui.//arrêterlarotationVoid-motorstop(void){C:}Setmotorval(0x00);-Oui.Unsigned=char=gucbaojing=0;Unsigned=char=gucbaojingcount=0;Voidleddprocess(){C:}If((Guiguangzhaodu<500)\\124\\124(Guiguangzhaodu>45000)){C:}GPIO^usetbits(gpiob,GPIO^upin^8);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\8);-Oui.F((u8t`UData\\h<15)\\124\(u8t\\uData\\H>45)){C:}GPIO^usetbits(gpiob,GPIO^upin^9);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\9);-Oui.F((u8rh\\uData\\h<35)\\124\(u8rh\\uData\\H>90)){C:}GPIO^usetbits(gpiob,GPIO^upin^6);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\6);-Oui.-Oui.-356f0Voidlightprocess(){C:}Tim\\usetcompare2(tim4,(gucgreen\\uLight-1)*30);/arrêtdesfeuxrougesTim\\usetcompare1(tim4,(gucred\\uLight-1)*30);/lampejauneTim\\usetcompare3(tim4,(gucyellow\\uLight-1)*30);/GreenLightSpray-Oui.ExternU8`u8t`UData'uH,u8t`UData'ul,u8rh`UData'uH,u8rh`UDataul,u8checkdata;Voidjiarejiashipro(){C:}F(gucdest\\uTemperature>u8t\\uData\\h){C:}GPIO\\usetbits(gpiob,GPIO\\u12);-Oui.Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\u12);-Oui.F(gucdest\\uHumanity>u8rh\\uData\\h){C:}GPIO\\usetbits(gpiob,GPIO\\U13); }Else{C:}GPIO\\uresetbits(gpiob,GPIO\\pin\\U13);-Oui.-Oui.\35endifVoidjiarejiashinit(void){C:}GPIO'uinitiativetype-GPIO'uinfrastructure;Premièreétape:Ouverturedel'horlogeexterne*/RCC\\apb2periphclockcmd(RCC\\uapb2periph\\gpiob,enable);GPIO\\uinfrastructure.gpio\\upin\\GPIO\\u12\\GPIO\\upin\\U13;GPIO\\uinfrastructure.gpio\\uSpeed=GPIO\\u10mhz;GPIO\\uinfrastructure.gpio\\umode=GPIOumode\\OUT\\PP;GPIO\\uinit(gpiob,&GPIO\\uinfrastructure);Return-Oui.Intmain(void){C:}U8keypre;U8=mode=0;Unsigned=char=ucreadflag=0;Delayuinit();OLED.Uinit();OLED\\uCLEAR();Debug\\UART\\uconfig();/WIFI\\9600Keyuinit();Jiarejiashinit();//OLED\\uCLEAR();//calcfebdays();//Remote\\uinit();/initialisationdelaréceptioninfrarouge/datatimeshow();//alert.u.ff;/tim3auCapuinit(9,7199);et/ou1mssynchronisationTim4\\PWM\(7999,9);/ondescarréesUserint();Gizwitsinit();/gizwitssetmode(wifi\\uAirlink\\umode);//init\\bh1750();/initialisationbh1750While(1){C:}Delay`UMS(10);Giztimerms();Giztimerms();Giztimerms();Giztimerms();Giztimerms();Giztimerms();Giztimerms();Giztimerms();Giztimerms();Giztimerms();Gui10mscount+;Userhandle();Gizwitshandle((datapoint\\UT*)&Currentdatapointpoint);//yuyinkongzhi();//hongwaitance();Key\\uProcess();F(0=gui10mscount%10){C:}//oledshow();-Oui.F(0==gui10mscount%100)//500msMission{C:}//runledshow();Dht11ugetuData();Adpro();-Oui.F(0==gui10mscount%100)//1SMission{C:}//datatimeupdate();-Oui.F(0=gui10mscount%2000).{C:}//Warninganddisconectproc();-Oui.-Oui.-Oui.

致謝本次畢業(yè)設(shè)計(jì),不僅是對大學(xué)本科四年知識的一個系統(tǒng)復(fù)習(xí)應(yīng)用,同時也是加強(qiáng)了動手制作能力與分析問題的能力。大學(xué)不僅僅是學(xué)習(xí)理論知識,更注重理論知識與實(shí)際應(yīng)用的培養(yǎng),更多更好的應(yīng)用到生活中,給人們的生活帶來更多的方便。在選題、設(shè)計(jì)、查閱參考文獻(xiàn)、理解原理、動手制作、畫仿真圖、原理圖等一系列工作中,綜合考察了本專業(yè)解決復(fù)雜工程問題的能力。在本次系統(tǒng)設(shè)計(jì)中,同時考慮到成本,環(huán)境等因素的影響。盡管此設(shè)計(jì)中有許多任務(wù)和細(xì)節(jié),但它們會使我將來變得更加認(rèn)真,在整個設(shè)計(jì)理論成功之后,硬件操作仍存在一些缺陷。將來我們會努力學(xué)習(xí)并不斷改進(jìn)。首先,在設(shè)計(jì)該項(xiàng)目時,通過在正常時間的課程學(xué)習(xí)中獲得的經(jīng)驗(yàn),我對這個項(xiàng)目的困難有一個大致的了解,我的生產(chǎn)能力可以充分發(fā)揮這一作用其次,在該項(xiàng)目的設(shè)計(jì)過程中,我們?nèi)媪私饬讼嚓P(guān)信息,加強(qiáng)了大學(xué)的深入專業(yè)教學(xué);第三,在實(shí)現(xiàn)該項(xiàng)目的過程中,我們基本完成了用于C-的應(yīng)用的軟件和硬件的設(shè)計(jì)。語言更適合編寫調(diào)試程序,還學(xué)習(xí)了如何設(shè)置參數(shù)和使用某些組件的方法;第四,通過完成本設(shè)計(jì),我的動手能力和問題分析能力得到了提高。尋找問題時,我會更全面,并且我有一些將來會努力工作的經(jīng)驗(yàn)!感謝母校為我們提供了一個良好的學(xué)習(xí)環(huán)境,讓我們努力學(xué)習(xí),在這里陶冶情操。在此向我的論文指導(dǎo)老師送上最誠摯的感謝!老師不僅僅在學(xué)業(yè)上言傳身教。而且本文更是多虧了他的忠告,從選題到方案的論證,從硬件設(shè)計(jì)到程序的編寫,他都給了我莫大的幫助。滴水之恩,當(dāng)涌泉相報。我只有在未來的研究中,堅(jiān)持不懈的努力,爭取多做出一些成就,來報答老師的恩情。另外,我要向所有幫助過我的同學(xué)致以真誠的謝意!在設(shè)計(jì)的過程中,遇到自己不能解決的問題時,是他們都給了我無私的幫助,讓我度過難關(guān)。這個畢業(yè)設(shè)計(jì)也有你們的一份功勞,謝謝你們!

HYPERLINK如何給電腦重做系統(tǒng)給電腦重做系統(tǒng),自己學(xué)學(xué),可少花錢,哈哈[圖]

一、準(zhǔn)備工作:

如何重裝電腦系統(tǒng)

首先,在啟動電腦的時候按住DELETE鍵進(jìn)入BIOS,選擇AdvancedBIOSFeatures選項(xiàng),按Enter鍵進(jìn)入設(shè)置程序。選擇FirstBootDevice選項(xiàng),然后按鍵盤上的PageUp或PageDown鍵將該項(xiàng)設(shè)置為CD-ROM,這樣就可以把系統(tǒng)改為光盤啟動。

其次,退回到主菜單,保存BIOS設(shè)置。(保存方法是按下F10,然后再按Y鍵即可)

1.準(zhǔn)備好WindowsXPProfessional簡體中文版安裝光盤,并檢查光驅(qū)是否支持自啟動。

2.可能的情況下,在運(yùn)行安裝程序前用磁盤掃描程序掃描所有硬盤檢查硬盤錯誤并進(jìn)行修復(fù),否則安裝程序運(yùn)行時如檢查到有硬盤錯誤即會很麻煩。

3.用紙張記錄安裝文件的產(chǎn)品密匙(安裝序列號)。

4.可能的情況下,用驅(qū)動程序備份工具(如:驅(qū)動精靈2004V1.9Beta.exe)將原WindowsXP下的所有驅(qū)動程序備份到硬盤上(如∶F:Drive)。最好能記下主板、網(wǎng)卡、顯卡等主要硬件的型號及生產(chǎn)廠家,預(yù)先下載驅(qū)動程序備用。

5.如果你想在安裝過程中格式化C盤或D盤(建議安裝過程中格式化C盤),請備份C盤或D盤有用的數(shù)據(jù)。

二、用光盤啟動系統(tǒng):

(如果你已經(jīng)知道方法請轉(zhuǎn)到下一步),重新啟動系統(tǒng)并把光驅(qū)設(shè)為第一啟動盤,保存設(shè)置并重啟。將XP安裝光盤放入光驅(qū),重新啟動電腦。剛啟動時,當(dāng)出現(xiàn)如下圖所示時快速按下回車鍵,否則不能啟

溫馨提示

  • 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

提交評論