




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、沈陽理工大學(xué)應(yīng)用技術(shù)學(xué)院畢業(yè)設(shè)計(jì)驗(yàn)收?qǐng)?bào)告題 目:基于單片機(jī)的堤壩防洪控制系統(tǒng)的 設(shè)計(jì)與實(shí)現(xiàn) 院 系: 信息與控制學(xué)院 專 業(yè): 通信工程 班級(jí)學(xué)號(hào): 11304111 學(xué)生姓名: 王伊賽 指導(dǎo)教師: 張可菊 成 績(jī): 2015 年 6 月 8 日1 硬件部分設(shè)計(jì)1.11.1 總體設(shè)計(jì)本系統(tǒng)由無線數(shù)據(jù)傳輸?shù)陌l(fā)射處理模塊、無線數(shù)據(jù)傳輸接收處理模塊組成。無線數(shù)據(jù)傳輸?shù)陌l(fā)射處理模塊主要功能是測(cè)量水面高度并通過液晶顯示,然后將測(cè)量的高度信息發(fā)送給無線數(shù)據(jù)傳輸?shù)慕邮仗幚砟K。無線數(shù)據(jù)傳輸接收處理模塊主要是接收和液晶顯示數(shù)據(jù),并且能設(shè)置高度閾值,當(dāng)數(shù)值超過閾值時(shí),蜂鳴器發(fā)出警報(bào)。其中,無線數(shù)據(jù)傳輸?shù)陌l(fā)射處理
2、模塊由可編程的主控芯片STC89C52、超聲波測(cè)量模塊、LCD1602液晶顯示模塊及NRF24l01無線數(shù)據(jù)傳輸模塊構(gòu)成。無線數(shù)據(jù)傳輸?shù)慕邮仗幚砟K由可編程的主控芯片STC89C52、報(bào)警和閾值設(shè)置模塊、LCD1602液晶顯示模塊及NRF24l01無線數(shù)據(jù)傳輸模塊構(gòu)成。系統(tǒng)總體設(shè)計(jì)框圖如圖1.1所示。圖1.1 系統(tǒng)總體設(shè)計(jì)框圖1.2 距離測(cè)量模塊1.2.1 距離測(cè)量模塊方案選擇超聲波測(cè)距的特點(diǎn)是比較抗灰塵,即使傳感器上有細(xì)小的塵土,只要沒有完全遮擋就可以測(cè)量,可以在比較差的環(huán)境中使用。超聲波是人耳無法聽到的,一般超過20千赫頻率的聲音。波的傳播速度是用頻率乘以波長(zhǎng)來表示。聲波在空氣中的傳播速度
3、較慢,約為344m/s(20ºC)。在這種較低的傳播速度下,波長(zhǎng)很短,就意味著可以獲得較高的距離和方向分辯率。因?yàn)檫@樣的高分辨率功能,使得我們有可能在測(cè)量過程中的精確度得到相當(dāng)大的提高。超聲波設(shè)備的外表面尺寸易于獲得精確的輻射。綜合使用方便、測(cè)量距離及測(cè)量精度等方面分析,本系統(tǒng)距離測(cè)量模塊采用HY-SRF05 超聲波測(cè)距模塊測(cè)距精度可高達(dá)到3mm,測(cè)量距離為2cm-450cm。1.2.2 硬件連接說明(1)超聲波測(cè)距模塊使用TRIG引腳觸發(fā)測(cè)距,所以將模塊的TX連接到STC89C52的P3.5管腳并置高至少10us;使TRIG管腳產(chǎn)生至少10us的高電平信號(hào)以觸發(fā)模塊測(cè)距。
4、(2)超聲波測(cè)距模塊自動(dòng)發(fā)送8個(gè)方波,頻率為40khz 。當(dāng)超聲波遇到障礙物反射回來時(shí),模塊自動(dòng)檢測(cè)是否有返回信號(hào)。(3)超聲波測(cè)距模塊檢測(cè)到返回的聲波,則STC89C52會(huì)輪訓(xùn)檢測(cè)模塊引腳ECHO輸出的一個(gè)高電平。故RX連接STC89C52的P3.6管腳,使用單片機(jī)的內(nèi)部定時(shí)器測(cè)量接收的高電平持續(xù)時(shí)間。而超聲波模塊從發(fā)射脈沖到檢測(cè)到返回信號(hào)的時(shí)間就是高電平持續(xù)時(shí)間。測(cè)試距離d=t*v/2。其中t為高電平時(shí)間、v為聲速。距離測(cè)量模塊硬件連接圖如圖1.2所示。圖1.2 距離測(cè)量模塊硬件連接圖1.3 無線通信模塊1.3.1 無線通信模塊方案選擇Wi-Fi主要目的是提供無線局域網(wǎng)接入點(diǎn),作
5、為目前WLAN的主要技術(shù)標(biāo)準(zhǔn),可實(shí)現(xiàn)幾Mbps至幾十Mbps的接入速率。對(duì)于用戶終端的無線接入問題,WLAN將各種終端都使用無線進(jìn)行互聯(lián),滿足了家庭無線用戶終端的無線LAN接入通信的需求,為用戶屏蔽了各種終端之間的差異。盡管WLAN具有很好的便攜性,但是本系統(tǒng)不需要建立局域網(wǎng)絡(luò),且該方案成本太高。藍(lán)牙工作在24GHz的頻段,收發(fā)器的連接距離可達(dá)10m。由于藍(lán)牙傳輸距離近頻率高的特性,因此被廣泛應(yīng)用于音頻的無線傳輸,醫(yī)療設(shè)備數(shù)據(jù)傳輸和實(shí)時(shí)定位系統(tǒng)等領(lǐng)域以及游戲控制器,無線通信裝置,手機(jī)物品防丟失等通信產(chǎn)品。藍(lán)牙技術(shù)通信協(xié)議復(fù)雜,不適合在單片機(jī)上運(yùn)行。而且只能實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)傳輸,不能與路由器連接組網(wǎng)。
6、而本系統(tǒng)需要傳輸距離遠(yuǎn)且系統(tǒng)簡(jiǎn)單,該方案明顯不符。nRF24L01工作于2.42.5GHz 頻段,是一款新型射頻收發(fā)芯片。其收發(fā)模式、數(shù)據(jù)通道、通信地址和數(shù)據(jù)速率都可通過SPI接口設(shè)定;nRF24L01集成硬件處理數(shù)據(jù)幀的增 強(qiáng)型ShockBurst技術(shù),減小CPU處理負(fù)擔(dān),增加系統(tǒng)的穩(wěn)定性和可靠性。nRF24L01的芯片的功 耗相對(duì)較低,降低系統(tǒng)電能損耗,更能適應(yīng)惡劣的環(huán)境。掉電模式和空閑模式等多種低功耗工作模式使系統(tǒng)設(shè)計(jì)更節(jié)能。本系統(tǒng)采用51單片機(jī)作為主控芯片,整個(gè)系統(tǒng)簡(jiǎn)單。而信息需要從堤壩發(fā)送到監(jiān)控室,對(duì)傳輸距離和穿透能力有一定的需求。綜合需求與成本考慮,最后決定選用nRF24L01作為
7、通信模塊。1.3.2 無線通信模塊模塊特性2.4GHz各國(guó)共同的無需授權(quán)許可頻段,只需要以不低于1W的發(fā)射功率并且不對(duì)其它頻段造成干擾即可使用;采用GFSK調(diào)制,抗干擾能力強(qiáng),特別適用于無線報(bào)警安全系統(tǒng);而數(shù)據(jù)速率最高可達(dá)2Mbps,適合線數(shù)據(jù)傳輸系統(tǒng)和家庭和樓宇自動(dòng)化等領(lǐng)域;具有126 頻道,滿足多點(diǎn)通信和跳頻通信需要;內(nèi)置單點(diǎn)對(duì)多點(diǎn)通信地址控制和硬件 CRC 自動(dòng)檢錯(cuò);低功耗模式可在 1.9 - 3.6V 工作,待機(jī)模式下狀態(tài)為 22uA;掉電模式下為 900nA ;內(nèi)置 2.4Ghz 天線,體積種類多樣;接收模式下nRF24L01硬件檢測(cè)收到信息的地址與本機(jī)地址是否相同、CRC校驗(yàn)是否出
8、錯(cuò),若正確,nRF24L01會(huì)儲(chǔ)存接收到的數(shù)據(jù)并發(fā)出中斷指示;而模塊地址可編程設(shè)置,方便多點(diǎn)通信配置,采用SPI接口通信,可直接和各種單片機(jī)連接,芯片間通信速率高;工作于增強(qiáng)型ShockBurst模式,具有自動(dòng)包處理, 自動(dòng)包發(fā)送處理功能, 具有可選的內(nèi)置包應(yīng)答功能,很大程度上降低丟包率。1.3.3 工作模式NRF2401工作在增強(qiáng)型ShockBurstTM這種模式下,硬件添加和去除幀頭、源地址、目的地址和CRC校驗(yàn)位等數(shù)據(jù)包幀部分,直接提取出數(shù)據(jù)以供STC89C52讀取。這種自動(dòng)包處理操作簡(jiǎn)化了NRF2401模塊的編程,減少了單片機(jī)的處理負(fù)擔(dān),從而提高系統(tǒng)穩(wěn)定性。并且增強(qiáng)型ShockBurs
9、tTM 的配置寄存器使NRF24L01 能夠處理射頻協(xié)議。通過SPI接口配置完各個(gè)寄存器后,只需改變相應(yīng)寄存器的低字節(jié),就可以在 NRF24L01 工作期間更改接收模式和發(fā)送模式。因此,本系統(tǒng)將采用增強(qiáng)型ShockBurstTM模式作為收發(fā)模式。而且采用自動(dòng)回復(fù)功能,使通信完成后接收信息模塊自動(dòng)發(fā)送一個(gè)回復(fù)信息給發(fā)送模塊,從而增加信息傳輸?shù)目煽啃圆⑶沂÷曰貜?fù)過程,簡(jiǎn)化編程降低單片機(jī)資源消耗。由于系統(tǒng)主控芯片為8位的STC89C52單片機(jī)且對(duì)數(shù)據(jù)傳輸速率要求不高,故數(shù)據(jù)位數(shù)設(shè)置為8位1Mbps的傳輸速率。即滿足系統(tǒng)需求,有提供系統(tǒng)的可靠性。1.3.4 硬件連接說明nRF24L01無線收發(fā)信機(jī)工作
10、頻段在世界無線公用頻段,其功能包括: 功率放大功能、晶體振蕩功能、調(diào)制功能、解調(diào)功能、頻率發(fā)生功能、增強(qiáng)型SchockBurstTM模式控制器功能。數(shù)據(jù)幀的設(shè)置、功率放大倍數(shù)和工作信道等無線數(shù)據(jù)傳輸?shù)膮?shù)可以通過SPI接口進(jìn)行設(shè)置,SPI接口數(shù)據(jù)速率08Mbps,全雙工同步傳輸,傳輸速率高。nRF24L01模塊引腳說明見下表1.1所示。表1.1 nRF24L01模塊引腳說明引腳號(hào)名稱連接引腳功能描述1CEP1.2數(shù)字輸入SPI片選信號(hào)2CSNP1.5數(shù)字輸入RX或TX模式選擇3SCKP1.1數(shù)字輸入SPI時(shí)鐘4MOSIP1.6數(shù)字輸入數(shù)據(jù)的輸入端5MISOP1.0數(shù)字輸出數(shù)據(jù)輸出端6IRQP1
11、.7數(shù)字輸出中斷引腳7VCCVCC電源電源(+5V)8GNDGND電源接地(0V)由于STC89C52沒有硬件SPI等外設(shè),故使用其P1接口模擬SPI接口的時(shí)序;其中,中斷引腳采用輪訓(xùn)法檢測(cè)電平變化。1.4 LCD1602液晶顯示模塊1.4.1 LCD1602液晶顯示方案選擇LCD1602液晶顯示器因?yàn)樗娘@示內(nèi)容豐富,數(shù)字式接口和功耗低等優(yōu)點(diǎn),它在萬用表、工業(yè)設(shè)備和低功耗系統(tǒng)等諸多領(lǐng)域作為顯示器件。這些模塊類比之下,LCD1602具有位數(shù)多,可以顯示32位,32個(gè)數(shù)碼管體積相當(dāng)龐大有的優(yōu)點(diǎn)。顯示內(nèi)容豐富,可顯示所有數(shù)字和大、小寫字母。程序簡(jiǎn)單。LCD1602液晶模塊內(nèi)部自帶DDRAM 和CG
12、ROM能夠存儲(chǔ)了不同的命令和點(diǎn)陣字符圖形,不需要STC89C52不斷掃描液晶,減小CPU占用;其數(shù)字、字母等各種字符也與ASCII碼表映射,按計(jì)算機(jī)字符串輸入便能顯示所需字符。 數(shù)碼管分為共陰和共陽兩種,共陰數(shù)碼管就是將八個(gè)發(fā)光二極管的陰極被封裝在一起接地并組成數(shù)字模塊,然后給相應(yīng)發(fā)光二極管的陽極高電平,便能控制點(diǎn)亮不同的發(fā)光二極管來顯示不同的字形。而共陽極就是將八個(gè)LED的陽極連在一起接高電平。數(shù)碼管顯示亮度高,顯示大。驅(qū)動(dòng)部份的軟件簡(jiǎn)單,但數(shù)碼管動(dòng)態(tài)顯示會(huì)占用很多時(shí)間來刷新顯示。由于LCD1602微功耗、簡(jiǎn)單易用,而且體積小,在堤壩布點(diǎn)方便。顯示英文數(shù)字和多種符合,顯示界面簡(jiǎn)單易用。故本系
13、統(tǒng)采用LCD1602作為主顯示模塊。1.4.2 硬件連接說明LCD1602液晶分為液晶體和控制兩個(gè)部分,控制部分由 KS0066、 KS0065 及幾個(gè)電阻電容組成,KS0065 是擴(kuò)展顯示字符用的。本系統(tǒng)采用LCD1602模塊,集成KS0066等元器件。接口方面,有 8 條數(shù)據(jù),三條控線??膳c微處理器或微控制相連,通過送入數(shù)據(jù)和指令,就可使模塊正常工作. 其中,RS、R/W、EN為L(zhǎng)CD1602的三個(gè)控制接口,分別接STC89C52的P2.7、P2.6、P2.5口;D0-D7為8為L(zhǎng)CD1602的數(shù)據(jù)接口,接STC89C52的P0口;LCD1602的V0接口接一個(gè)10k的電位器,用于調(diào)節(jié)背光
14、亮度。LCD1602液晶電路設(shè)計(jì)如圖1.3所示。圖1.3 LCD1602液晶電路設(shè)計(jì)1.5 報(bào)警模塊1.5.1 報(bào)警模塊方案選擇無源蜂鳴器和有源蜂鳴器的主要區(qū)別是產(chǎn)品的輸入信號(hào)不一樣。有源蜂鳴器一般貼有標(biāo)簽,內(nèi)部集成振蕩電路:當(dāng)輸入直流電時(shí),電路將直流電轉(zhuǎn)化成一定頻率的方波交流電,而變化的交流電引起磁場(chǎng)變化從而吸引蜂鳴器鉬片振動(dòng)。有源蜂鳴器由直流電平驅(qū)動(dòng)工作。無源蜂鳴器行業(yè)標(biāo)準(zhǔn)稱為訊響器,國(guó)家標(biāo)準(zhǔn)稱為聲響器,內(nèi)部沒有集成振蕩電路。當(dāng)輸入一定頻率的脈沖波時(shí),交流脈沖導(dǎo)致無源蜂鳴器磁場(chǎng)變化,從而帶動(dòng)蜂鳴器鉬片振動(dòng)。當(dāng)輸入入恒定不變的直流電時(shí),由于磁路恒定,鉬片不能來回振動(dòng),所以直流信號(hào)無法驅(qū)動(dòng)無源
15、蜂鳴器。當(dāng)水面高度超過一定閾值時(shí),本系統(tǒng)需要蜂鳴器產(chǎn)生一個(gè)報(bào)警信號(hào)提醒監(jiān)控室的相關(guān)人員,所以采用有源蜂鳴器,設(shè)計(jì)簡(jiǎn)單三極管驅(qū)動(dòng)電路后引腳給相應(yīng)電平就能正常工作。雖然頻率固定了,就只一個(gè)單音,但是使用方便。然后采用兩個(gè)按鍵調(diào)節(jié)報(bào)警閾值。1.5.2 硬件連接說明報(bào)警模塊由按鍵部分和蜂鳴器部分組成。按鍵一端接地,當(dāng)按鍵按下時(shí)按鍵兩端電路導(dǎo)通,STC89C52相應(yīng)引腳連接到,STC89C52檢測(cè)引腳為低電平時(shí),則表示有按鍵按下。蜂鳴器驅(qū)動(dòng)電路由電阻和pnp型三極管組成,由于STC89C52單片機(jī)引腳的電流驅(qū)動(dòng)能力較差,引腳輸出高電平時(shí)能輸出電流最大值很小,有時(shí)不足以使三極管飽和,所以使用低電平驅(qū)動(dòng),利
16、用電源的灌電流來驅(qū)動(dòng)蜂鳴器電路。當(dāng)STC89C52將相應(yīng)引腳拉低時(shí),三極管發(fā)射極正偏,集電極反偏,使得發(fā)射極、集電極電路導(dǎo)通,蜂鳴器發(fā)出聲響。蜂鳴器驅(qū)動(dòng)電路如圖1.4所示。圖1.4 蜂鳴器驅(qū)動(dòng)電路本設(shè)計(jì)采取了模塊化的思想進(jìn)行設(shè)計(jì),并且根據(jù)各個(gè)部分所要實(shí)現(xiàn)功能不同把硬件部分劃分為四個(gè)部分:第一個(gè)部分是單片最小系統(tǒng),負(fù)責(zé)為系統(tǒng)提供處理和控制功能;第二部分是無線收發(fā)部分,負(fù)責(zé)收發(fā)超聲波模塊采集的距離數(shù)據(jù);第三部分是顯示部分,負(fù)責(zé)顯示經(jīng)過單片機(jī)處理過的距離數(shù)據(jù);第四部分是報(bào)警部分,負(fù)責(zé)水面高度超過閾值時(shí)發(fā)出蜂鳴聲報(bào)警。2 軟件部分設(shè)計(jì)2.1 主程序設(shè)計(jì)整個(gè)系統(tǒng)主要任務(wù)是初始化各個(gè)模塊,然后啟動(dòng)超聲波模
17、塊采集距離數(shù)據(jù),并調(diào)用LCD1602模塊顯示采集到的數(shù)據(jù)并通過NRF24L01模塊發(fā)送。主程序流程圖如圖2.1所示。圖2.1 主程序流程圖2.2 數(shù)據(jù)接收模塊數(shù)據(jù)接收模塊主要任務(wù)是初始化各個(gè)模塊。采用輪訓(xùn)法檢測(cè)按鍵程序,以調(diào)節(jié)報(bào)警模塊閾值。然后調(diào)用NRF24L01模塊接收發(fā)送模塊發(fā)送的距離數(shù)據(jù)并調(diào)用LCD1602顯示接收到的數(shù)據(jù)。將接收的數(shù)據(jù)與所設(shè)閾值進(jìn)行對(duì)比,若超過閾值,則蜂鳴器發(fā)聲。數(shù)據(jù)接收系統(tǒng)流程如圖2.2所示。圖2.2 數(shù)據(jù)接收系統(tǒng)流程圖2.3 距離測(cè)量模塊STC89C52相應(yīng)引腳觸發(fā)測(cè)距,給至少10us的高電平信號(hào),啟動(dòng)模塊; 8個(gè)脈沖,頻率為40khz的超聲波由超聲波測(cè)距模塊發(fā)送,
18、當(dāng)超聲波遇到障礙物反射回來時(shí),模塊自身檢測(cè)返回脈沖 ;數(shù)據(jù)發(fā)送系統(tǒng)輪訓(xùn)相應(yīng)引腳,檢測(cè)是否有高電平產(chǎn)生;若檢測(cè)到高電平,則啟動(dòng)定時(shí)器計(jì)算高電平持續(xù)時(shí)間,并轉(zhuǎn)化成距離。距離測(cè)量模塊流程圖如圖2.3所示。圖2.3 距離測(cè)量模塊流程圖2.4 無線通信模塊2.4.1 數(shù)據(jù)發(fā)送模塊把要發(fā)送的數(shù)據(jù)和接收模塊的地址按SPI時(shí)序傳輸?shù)絥RF24L01相應(yīng)寄存器;配置CONFIG寄存器,使之進(jìn)入發(fā)送模式。nRF24L01的CE被STC89C52相應(yīng)引腳置高,使能nRF24L01以增強(qiáng)型ShockBurstTM模式進(jìn)行發(fā)射。數(shù)據(jù)發(fā)送模塊流程圖如圖2.4所示。圖2.4 數(shù)據(jù)發(fā)送模塊流程圖2.4.2 數(shù)據(jù)接收
19、模塊按SPI時(shí)序把命令和數(shù)據(jù)傳輸?shù)絅RF24L01模塊相應(yīng)寄存器,以配置本機(jī)地址和要接收的數(shù)據(jù)包大??;配置CONFIG寄存器,使之進(jìn)入接收模式,STC89C52相應(yīng)引腳把CE置高。NRF24L01模塊經(jīng)過130us后自動(dòng)進(jìn)入監(jiān)視狀態(tài),STC89C52延時(shí)一段時(shí)間之后輪訓(xùn)相應(yīng)引腳,等待數(shù)據(jù)包的到來;NRF24L01接收到數(shù)據(jù)包后,芯片內(nèi)部硬件校驗(yàn)幀頭中的數(shù)據(jù)地址和CRC校驗(yàn)等內(nèi)容。如果不正確,芯片選擇丟棄該數(shù)據(jù)包。反之,芯片通過硬件去除數(shù)據(jù)幀頭等信息,提取出發(fā)送內(nèi)容;當(dāng)數(shù)據(jù)接收提前成功之后,STATUS寄存器的相應(yīng)位被芯片硬件置高并且相應(yīng)引腳產(chǎn)生中斷通知STC89C52單片機(jī);STC89C52把
20、數(shù)據(jù)從NewMsg_RF2401寄存器讀出;數(shù)據(jù)讀取完畢后,STC89C52讀取STATUS寄存器數(shù)據(jù)以清除狀態(tài)標(biāo)志位。數(shù)據(jù)接收模塊流程圖如圖2.5所示。圖2.5 數(shù)據(jù)接收模塊流程圖2.5 LCD1602液晶顯示模塊顯示部分主要包含了初始化函數(shù)、寫命令函數(shù)、寫數(shù)據(jù)函數(shù)和寫字符串?dāng)?shù)據(jù)。其中寫字符串函數(shù)主要是實(shí)現(xiàn)一次寫入多個(gè)字符,通過設(shè)定位置參數(shù),可以直接設(shè)置顯示數(shù)據(jù)的位置,并一次寫入所以要顯示的字符串。顯示程序模塊流程圖如圖2.4所示。圖2.4 顯示程序模塊流程圖根據(jù)各個(gè)部分所要實(shí)現(xiàn)功能要求把軟件部分劃分為四個(gè)部分:第一個(gè)部分是距離測(cè)量模塊,負(fù)責(zé)收發(fā)超聲波模塊采集的距離數(shù)據(jù);第二部分是數(shù)據(jù)通信模
21、塊,負(fù)責(zé)傳輸和接收數(shù)據(jù);第三部分是LCD1602液晶顯示模塊,負(fù)責(zé)顯示經(jīng)過單片機(jī)處理過的距離數(shù)據(jù); 主程序部分將各個(gè)模塊組合起來,實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。3 系統(tǒng)調(diào)試3.1 硬件調(diào)試在系統(tǒng)設(shè)計(jì)階段時(shí),模塊化設(shè)計(jì)思想從始至終指導(dǎo)著系統(tǒng)的各個(gè)部分的設(shè)計(jì)與仿真。所以硬件調(diào)試主要分成四個(gè)部分進(jìn)行檢測(cè),分別是STC89C52、LCD1602模塊、通信模塊(包括發(fā)射和接收電路)以及報(bào)警模塊的硬件電路。而為了保護(hù)電路和各模塊的安全性,以免上電時(shí)電流過大燒毀芯片,硬件調(diào)試過程被分成兩部分:斷電調(diào)試和上電調(diào)試。在焊接過程中焊接不到位等引起的斷路容易導(dǎo)致芯片無法正常工作,而焊接錯(cuò)誤導(dǎo)致的短路、正負(fù)極反接等問題不僅造成
22、電路無法正常工作,還可能導(dǎo)致電路或者芯片燒毀。為了防止電路中存在斷路短路、正負(fù)極反接等問題,我們必須在上電前檢測(cè)電路的斷路或短路情況,防止電路燒毀。其主要方法試用萬用表來檢測(cè)電路中各支路是否存在斷路或者短路,各模塊正負(fù)極是否反接等情況。斷電調(diào)試完成之后,修改電路在確保硬件電路正常即可上電調(diào)試。上電調(diào)試主要是為了檢測(cè)電源是否接對(duì),各個(gè)引腳是否存在錯(cuò)誤連接。本系統(tǒng)上電調(diào)試可分成單片機(jī)部分、LCD1602模塊、nRF24L01無線通信模塊和報(bào)警模塊的的硬件上電調(diào)試。(1) 單片機(jī)部分硬件調(diào)試首先檢測(cè)時(shí)鐘電路、復(fù)位電路是否存在錯(cuò)誤,然后檢測(cè)是否存在引腳損壞等問題。(2) LCD1602模塊不亮或者無法
23、顯示:上電之后LCD1602正常發(fā)光則模塊的電源部分沒有相應(yīng)錯(cuò)誤,不會(huì)導(dǎo)致器件燒毀。 然后看LCD1602的上面一行的方框是否有缺損。若無,則模塊顯示部分沒有相應(yīng)錯(cuò)誤。最后轉(zhuǎn)動(dòng)電位器,以調(diào)節(jié)LCD1602的背光和液晶顯示的對(duì)比度。(3) 通信模塊無法正常通信:這一部分電路硬件調(diào)試主要目的是檢查電源部分電源是否正常,各引腳是否連接錯(cuò)誤,有無錯(cuò)接漏接現(xiàn)象。(4) 報(bào)警模塊無法發(fā)出聲音:給相應(yīng)引腳低電平若產(chǎn)生蜂鳴聲,則電路無誤。由于模塊化設(shè)計(jì)理念,使得軟件的檢測(cè)也可以分模塊化進(jìn)行。測(cè)試報(bào)警模塊可使單片機(jī)相應(yīng)引腳置低,若產(chǎn)生蜂鳴聲則該部分不存在問題。測(cè)試通信模塊可使該模塊傳送一段信息,若收到
24、信息則使蜂鳴器響。若蜂鳴器沒有響,則電路或者軟件中存在未知問題。硬件部分可用萬用表檢測(cè)電路連接問題,軟件部分可分成進(jìn)行檢測(cè)。LCD1602部分可以顯示一段字符。在測(cè)試過程中,字符出現(xiàn)亂碼。在調(diào)試時(shí)適當(dāng)改變軟件延時(shí)的時(shí)間使得顯示回復(fù)正常。3.2 系統(tǒng)使用方法堤壩防洪控制系統(tǒng)系統(tǒng)B板先上電時(shí),系統(tǒng)顯示接收數(shù)據(jù)和初始閾值。系統(tǒng)配有三個(gè)按鍵:第一個(gè)按鍵是模式選擇,默認(rèn)是接收數(shù)據(jù);按一下選擇調(diào)節(jié)閾值個(gè)位;按兩下選擇調(diào)節(jié)閾值十分位;按三下表示調(diào)劑閾值百分位;按四下表示恢復(fù)默認(rèn)。第二個(gè)按鍵是閾值加鍵。第三個(gè)按鍵是閾值減鍵。閾值設(shè)置完成后,再按下第一個(gè)鍵恢復(fù)接收。接收完畢后,若超過閾值,則蜂鳴器報(bào)警。3.3
25、系統(tǒng)檢測(cè)B板上電,等待設(shè)置狀態(tài)如圖3.1所示圖3.1 等待設(shè)置狀態(tài)A板上電,測(cè)量并發(fā)送數(shù)據(jù)如圖3.2所示圖3.2 測(cè)量并發(fā)送數(shù)據(jù)B板接收數(shù)據(jù)如圖3.3所示圖3.3 B板接收數(shù)據(jù)3.4 系統(tǒng)誤差分析硬件軟件部分全部調(diào)試完后,需對(duì)整體系統(tǒng)進(jìn)行測(cè)試。首先測(cè)試測(cè)量精度,將尺放在底下,用障礙物擋在超聲波模塊前并改變距離測(cè)量記錄發(fā)送和接收系統(tǒng)的相應(yīng)值。測(cè)量結(jié)果誤差1cm。由于發(fā)送板先測(cè)量、顯示再發(fā)送,接收板先接收再顯示。故產(chǎn)生一個(gè)數(shù)據(jù)長(zhǎng)度延時(shí)。顯示有一個(gè)數(shù)據(jù)時(shí)間長(zhǎng)度的延時(shí)。傳輸距離測(cè)試時(shí),雖然達(dá)不到理論值的100米以上,但是也在80米左右符合實(shí)際需求。但是障礙物對(duì)傳輸距離的影響比較大。附錄A電路圖發(fā)送系統(tǒng)
26、接收系統(tǒng)附錄B實(shí)物圖:發(fā)送系統(tǒng)接收系統(tǒng)附錄C無線發(fā)射測(cè)量系統(tǒng)部分源程序:#include<reg52.h>#define unchar unsigned char#define unint unsigned int/*宏定義*/#define TX_ADDR_WITDH 5#define TX_DATA_WITDH 6#define RX_DATA_WITDH 6#define R_REGISTER 0x00#define W_REGISTER 0x20#define R_RX_PAYLOAD 0x61#define FLUSH_RX 0xe2#define CONFIG 0x00
27、#define EN_AA 0x01#define EN_RXADDR 0x02#define RF_CH 0x05#define RF_SETUP 0x06#define STATUS 0x07#define RX_ADDR_P0 0x0a#define RX_PW_P0 0x11/*引腳定義及聲明*/sbit LCD_RW=P26; sbit LCD_RS=P27;sbit LCD_E =P25;#defineLCD_Data P0;sbit MISO = P1 0;sbit MOSI = P1 6;sbit SCK= P1 1;sbit CE = P1 2;sbit CSN = P1 5
28、;sbit IRQ = P1 7;unchar code TxAddr=0x34,0x43,0x10,0x10,0x01;uncharbufferdata7;uncharbdatasta;sbit RX_DR=sta6;sbit TX_DS=sta5;sbit MAX_RT=sta4;sbit RX =P36;sbit TX =P35;/*延時(shí)函數(shù)*/void Delay(unint t)unintx,y;for(x=t;x>0;x-)for(y=110;y>0;y-);/* LCD1602寫命令函數(shù)*/voidWriteCommandLCD(unsigned char WCLCD
29、,BuysC) /BuysCΪ0ʱºöÂÔæ¼ì²âif (BuysC) ReadStatusLCD(); /查忙LCD_Data = WCLCD;LCD_RS = 0;LCD_RW = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;/* LCD1602寫數(shù)據(jù)函數(shù)*/voidWriteDataLCD(unsigned char WDLCD) ReadStatusLCD(); /查忙LCD_Data = WDLCD;LCD_RS =
30、1;LCD_RW = 0;LCD_E = 0; LCD_E = 0; LCD_E = 1;/* LCM1602顯示字符串函數(shù)*/voidDisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)unsigned char ListLength;ListLength = 0;Y &= 0x1;X &= 0xF; /ÏÞÖÆX²»ÄÜ´óÓÚ15£¬Y
31、²»ÄÜ´óÓÚ1while (DDataListLength>0x19) /Èôµ½´ï×Ö´®Î²ÔòÍ˳öif (X <= 0xF) /X×ø±êӦСÓÚ0xFDisplayOneChar(X, Y, DDataLi
32、stLength); /ÏÔʾµ¥¸ö×Ö·ûListLength+;X+;/* LCD1602初始化函數(shù)*/voidLCDInit(void) /LCD³õʼ»¯LCD_Data = 0;WriteCommandLCD(0x38,0); Delay5Ms(); WriteCommandLCD(0x38,0);Delay5Ms(); WriteCommandLCD(0x38,0);Delay5Ms(); Writ
33、eCommandLCD(0x38,1);WriteCommandLCD(0x08,1);WriteCommandLCD(0x01,1); WriteCommandLCD(0x06,1); WriteCommandLCD(0x0c,1); /* nRF24L01的SPI時(shí)序函數(shù)*/uchar SPI_RW(uchar byte)/дÈëÒ»¸ö×Ö½Úucharbit_ctr;for(bit_ctr = 0; bit_ctr< 8; bit_ctr+) MOSI = (
34、byte & 0x80);byte = (byte << 1); SCK = 1;byte |= MISO; /led=MISO;Delay(150); SCK = 0; return(byte);/*nRF24L01的SPI讀寄存器一字節(jié)函數(shù)*/ucharSPI_Read (ucharreg )ucharreg_val; CSN = 0; SPI_RW(reg);reg_val = SPI_RW(0); CSN = 1;return(reg_val);/*nRF24L01的SPI寫寄存器一字節(jié)函數(shù)*/ucharSPI_RW_Reg (ucharreg, uchar val
35、ue) uchar status; CSN = 0;status = SPI_RW(reg); SPI_RW(value); CSN = 1;return(status);/*nRF24L01的SPI讀取RXFIFO寄存器的值*/ucharSPI_Read_Buf(ucharreg, uchar *pBuf, ucharuchars)uchar status, uchar_ctr; CSN = 0; / Set CSN low, init SPI tranactionstatus = SPI_RW(reg); / Select register to write to and read sta
36、tus ucharfor(uchar_ctr = 0; uchar_ctr<uchars; uchar_ctr+)pBufuchar_ctr = SPI_RW(0); / CSN = 1;return(status); / return nRF24L01 status uchar/*nRF24L01的SPI寫入TXFIFO寄存器的值*/ucharSPI_Write_Buf(ucharreg, uchar *pBuf, uchar bytes)uchar status, byte_ctr; CSN = 0; / Set CSN low, init SPI tranactionstatus
37、= SPI_RW(reg); / Select register to write to and read status bytefor(byte_ctr = 0; byte_ctr< bytes; byte_ctr+) SPI_RW(*pBuf+); CSN = 1; / Set CSN high againreturn(status); / return nRF24L01 status byte/* nRF24L01設(shè)置為接收模式并接收數(shù)據(jù)*/voidRX_Mode(void) CE = 0;SPI_RW_Reg(FLUSH_RX, 0x00);SPI_Write_Buf(WRITE_REG + TX_ADDR,TX_ADDRESS, TX_ADR_WIDTH);SPI_Write_Buf(WRITE_REG + RX_ADDR_P0,TX_ADDRESS, TX_ADR_WIDTH);SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); / Enable Auto.Ack:Pipe0SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童音樂劇創(chuàng)意教學(xué)實(shí)踐探索
- 養(yǎng)發(fā)合同范例
- 供電項(xiàng)目施工合同范例
- 2009造價(jià)咨詢合同范例
- 企業(yè)廢舊物資銷售合同范例
- 一級(jí)水電站合同范例
- 噴泉池假山施工方案
- 保定卡位采購合同范例
- 劇場(chǎng)托管合同范例
- 歸芪通痹方干預(yù)下腰椎間盤突出重吸收的影響因素研究
- “大商務(wù)”管理實(shí)施方案
- 會(huì)計(jì)師售后服務(wù)方案范文
- 焊材抽檢記錄表
- 其他主治系列-腫瘤放射治療學(xué)【代碼:343】-相關(guān)專業(yè)知識(shí)-腫瘤學(xué)基礎(chǔ)
- 讀書分享 交流會(huì) 《紅樓夢(mèng)》課件
- 心房顫動(dòng)診斷和治療中國(guó)指南2023版解讀
- 污水處理廠委托運(yùn)營(yíng)協(xié)議
- 動(dòng)靜脈人工內(nèi)瘺成形術(shù)后護(hù)理查房
- 水工-建筑物課件
- 上海城市介紹動(dòng)態(tài)PPT模板(最新版)
- 初中語文八年級(jí)下冊(cè)《社戲》讀寫結(jié)合課件
評(píng)論
0/150
提交評(píng)論