基于超聲波測距的倒車雷達設計_第1頁
基于超聲波測距的倒車雷達設計_第2頁
基于超聲波測距的倒車雷達設計_第3頁
基于超聲波測距的倒車雷達設計_第4頁
基于超聲波測距的倒車雷達設計_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于超聲波測距的倒車雷達設計摘要超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求,因此在測距儀器的研制上也得到了廣泛的應用。NRF24L01是由Nordic公司出品的單芯片無線收發(fā)芯片,工作于2.4GHz2.5GHz的全球免申請(ISM)頻率。芯片包括一個完全集成的頻率合成器,功率放大器,晶體振蕩器和調制器。發(fā)射功率和工作頻率等工作參數(shù)可以很容易的通過3線SPI端口完成。極低的電流消耗,在-5dBm的輸出功率時僅為

2、10.5mA,在接收模式時僅為18mA。掉電模式可以很容易的實現(xiàn)低功耗需求。本文提出一種采用單片機STC89C52控制NRF2401實現(xiàn)的無線距離測量系統(tǒng)。通過簡單的無線通信協(xié)議,實現(xiàn)可靠性與功耗平衡,該系統(tǒng)能實現(xiàn)對距離的檢測。結構簡單,可靠,低功耗、實時性的無線距離檢測是該設計的最大特點。關鍵字:單片機 STC89C52 無線傳輸 NRF24L01 超聲波 AbstractUltrasonic point to strong, slow energy consumption, distance travel through a medium, and are often used for d

3、istance measurement by ultrasonic, such as rangefinder and level measuring instrument can be achieved by ultrasound.Using ultrasonic testing tends to be more quickly, easily, to calculate simple, easy to do real-time control, and in terms of accuracy to meet the practical requirements of industry, a

4、nd in distance measuring equipment research is also widely used.nrf24l01 is a nordic company production of single-chip wireless transceiver chip, to 2.4ghz2.5ghz the world of work from the application ( ISM ) frequency.The chip includes a fully integrated frequency synthesizer, power amplifiers, cry

5、stal oscillator, and modulator. The transmitter power and frequency parameters can be easily done via the 3 - wire SPI port.Extremely low current consumption, when -5dbm output power is 10.5ma, for 18ma in receive mode only. Power off mode can easily achieve low power consumption requirements.This a

6、rticle presents a wireless using controlled by Single Chip Microcomputer stc89c52 nrf2401 distance measurement system. Through a simple wireless communication protocol, implementing reliability and power balance, the system can achieve the detection of distance.Simple structure, reliable, low - powe

7、r wireless distance, real-time detection is the biggest feature of this design.Keywords : SCM,stc89c52, wireless transmission, nrf24l01, ultrasonic目錄摘要IAbstractII目錄III前言11 系統(tǒng)方案分析21.1 系統(tǒng)方案設計21.1.1 主控方案21.1.2 通信方案21.1.3 測距方案21.1.4 顯示方案21.2 系統(tǒng)最終方案32 系統(tǒng)原理分析42.1 超聲波的定義42.2 超聲波測距原理42.3 超聲波測距方法的選擇52.3.1 超聲

8、波發(fā)生器52.3.2 壓電式超聲波發(fā)生器原理62.3.3 單片機超聲波測距系統(tǒng)構成63 主要芯片介紹和系統(tǒng)模塊83.1 STC89C5283.1.1 主要功能特性93.1.2 STC89C52單片機引腳介紹103.1.3 單片機控制模塊113.2 單片2.4GHz NRF24L01無線模塊123.2.1 NRF24L01芯片概述123.2.2 引腳功能及描述133.2.3 工作模式133.2.4 工作原理143.2.5 配置字153.2.6 NRF24L01模塊原理圖163.3 US-100超聲波測距模塊163.3.1 US-100超聲波測距模塊概述173.3.2 接線方式173.3.3 模塊

9、工作原理183.3.4 工作模式193.4 LED數(shù)碼管213.4 .1 LED數(shù)碼管概述213.4 .1 LED數(shù)碼管顯示224 系統(tǒng)程序設計234.1 系統(tǒng)程序設計思想234.2 主程序流程設計234.3 超聲波發(fā)生與接收子程序244.4 NRF24L01發(fā)生與接收子程序254.5 顯示子程序255 硬件電路板設計275.1 系統(tǒng)硬件原理圖275.1.1 復位電路原理圖275.1.2 時鐘電路原理圖275.1.3 NRF24L01模塊電源原理圖285.2 硬件制作286 調試說明306.1 軟件調試306.2 硬件調試31總結32致謝33參考文獻34附件 部分C語言程序35前言隨著社會的進

10、步和生產的需要,利用無線通信進行溫度數(shù)據(jù)采集的方式應用已經滲透到生活各個方面。在工業(yè)現(xiàn)場,由于生產環(huán)境惡劣,工作人員不能長時間停留在現(xiàn)場觀察設備是否運行正常,就需要采集數(shù)據(jù)并傳輸數(shù)據(jù)到一個環(huán)境相對好的操控室內,這樣就會產生數(shù)據(jù)傳輸問題。由于廠房大、需要傳輸數(shù)據(jù)多,使用傳統(tǒng)的有線數(shù)據(jù)傳輸方式就需要鋪設很多很長的通訊線,浪費資源,占用空間,可操作性差,出現(xiàn)錯誤換線困難。而且,當數(shù)據(jù)采集點處于運動狀態(tài)、所處的環(huán)境不允許或無法鋪設電纜時,數(shù)據(jù)甚至無法傳輸,此時便需要利用無線傳輸?shù)姆绞竭M行數(shù)據(jù)采集。無線數(shù)據(jù)采集系統(tǒng)已經被成功應用于工農業(yè)、環(huán)境監(jiān)測、軍事國防、機器人控制等許多重要領域。凡是布線繁雜或不允許

11、布線的場合都希望能通過無線方案來解決。為此,需要設計相應的接口系統(tǒng),控制這些射頻芯片工作,完成可靠穩(wěn)定的無線數(shù)據(jù)通信,這樣的研究也變得更加有意義了。本系統(tǒng)的設計采用了Nordic公司新推出的工作于2.4GHz頻段NRF24L01射頻芯片,由STC89C52單片機控制實現(xiàn)短距離無線數(shù)據(jù)通信。該接口設計具有成本低、傳輸速率高、軟件設計簡單以及通信穩(wěn)定可靠等特點。整個系統(tǒng)有發(fā)送和接收二部分,通過NRF24L01無線數(shù)據(jù)通信收發(fā)模塊來實現(xiàn)無線數(shù)據(jù)傳輸。1 系統(tǒng)方案分析1.1 系統(tǒng)方案設計 主控方案方案一:采用傳統(tǒng)的AT89S52單片機作為主控芯片。此芯片價格便宜、操作簡便,低功耗。方案二:采用TI公司

12、生產的MSP430F149系列單片機作為主控芯片。此單片機是一款高性能的低功耗的16位單片機,具有非常強大的功能,且內置高速12位ADC。但其是TPFQ貼片封裝,不利于焊接,需要PCB制板,大大增加了成本和開發(fā)周期。方案三:采用宏晶科技有限公司的STC89C52RC單片機作為主控芯片。 通信方案方案一:采用GSM模塊進行通信,GSM模塊需要借助移動衛(wèi)星或者手機卡,雖說能夠遠距離傳輸,但是其成本較大、且需要內置SIM卡,通信過程中需要收費,后期成本較高。方案二:采用TI公司CC2430無線通信模塊,此模塊采用Zigbee總線模式,傳輸速率可達250kbps,且內部集成高性能8051內核。但是此模

13、塊價格較貴,且Zigbee協(xié)議相對較為復雜。方案二:采用NRF24L01無線射頻模塊進行通信,NRF24L01是一款高速低功耗的無線通信模塊。他能傳輸上千米的距離(加PA),采用SPI總線通信模式電路簡單,操作方便。 測距方案方案一:采用US-100超聲波測距模塊,模塊本身已經帶溫度補償。具有電平觸發(fā)和串口觸發(fā)兩種工作方式,且工作穩(wěn)定可靠。方案二:采用HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能。 顯示方案方案一:采用主控為ST7920的帶字庫的LCD12864來顯示信息。12864是一款通用的液晶顯示屏,能夠顯示多數(shù)常用的漢字及ASCII碼,而且能夠繪制圖片,描

14、點畫線,設計成比較理想的結果。方案二:采用字符液晶LCD1602顯示信息,1602是一款比較通用的字符液晶模塊,能顯示字符和數(shù)字等信息,且價格便宜,容易控制。方案三:采用LED 7段數(shù)碼顯示管顯示,其成本低,容易顯示控制,但不能顯示字符。1.2 系統(tǒng)最終方案發(fā)送端:發(fā)送端由超聲波傳感器,STC89C52單片機,NRF24L01無線射頻模塊,組成。超聲波模塊SU-100單片機STC89C52NRF2401圖1.1 發(fā)送端接收端:接收端由STC89C52單片機,NRF24L01無線射頻模塊,數(shù)碼管顯示模塊組成。單片機STC89C52LED數(shù)碼管NRF2401圖1.2 接收端2系統(tǒng)原理分析2.1 超

15、聲波的定義波是由某一點開始的擾動所引起的,并按預定的方式傳播或傳輸?shù)狡渌c上。聲波是一種彈性機械波。人們所感覺到的聲音是機械波傳到人耳引起耳膜振動的反應,能引起人們聽覺的機械波頻率在20Hz20kHz,超聲波是頻率大于20kHz的機械波。在超聲波測距系統(tǒng)中,用脈沖激勵超聲波探頭的壓電晶片,使其產生機械振動,這種振動在與其接觸的介質中傳播,便形成了超聲波。2.2 超聲波測距原理最常用的超聲測距的方法是回聲探測法,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時計數(shù)器開始計時,超聲波在空氣中傳播,途中碰到障礙物面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計時。超聲波在空氣中的傳

16、播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物面的距離s,即:s=340t/2。由于超聲波也是一種聲波,其聲速V與溫度有關。在使用時,如果傳播介質溫度變化不大,則可近似認為超聲波速度在傳播的過程中是基本不變的。如果對測距精度要求很高,則應通過溫度補償?shù)姆椒▽y量結果加以數(shù)值校正。聲速確定后,只要測得超聲波往返的時間,即可求得距離。這就是超聲波測距儀的基本原理。如圖所示。圖2.1 超聲波原理H=S*cos() (2-1)=arctan(L/H) (2-2)式中:L-兩探頭之間中心距離的一半。又知道超聲波傳播的距離為:2S=VT ( 2-3)式中:V超聲波在介質中的傳播速

17、度。 T-超聲波從發(fā)射到接收所需要的時間。將(22)、(23)代入(2-1)中得:H=0.5*VT*cosarctan(L/H) ( 2-4)其中,超聲波的傳播速度V在一定的溫度下是一個常數(shù)(例如在溫度T=30度時,V=349m/s):當需要測量的距離H遠遠大于L時,則(2-4)變?yōu)椋篐=0.5*VT ( 2-5)所以,只要需要測量出超聲波傳播的時間t,就可以得出測量的距離H。如果測距精度要求很高,則應該通過溫度補償?shù)姆椒右孕U1?.1 超聲波波速與溫度的關系表溫度()-30-20-10010203040聲速(m/s)3133193253233383443493862.3 超聲波測距方法的

18、選擇超聲波測距的原理一般采用渡越時間法。首先測出超聲波從發(fā)射到遇到障礙物返回所經歷的時間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離。測量距離的方法有很多種,短距離的可以用尺,遠距離的有激光測距等,超聲波測距適用于高精度的中長距離測量。因為超聲波在標準空氣中的傳播速度為331.45m/s,由單片機負責計時,單片機使用12.0MHz晶振,所以此系統(tǒng)的測量精度理論上可以達到毫米級。 超聲波發(fā)生器為了研究和利用超聲波,人們已經設計和制成了許多超聲波發(fā)生器??傮w上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產生超聲波,一類是用機械方式產生超聲波電氣方式包括壓電型、磁致伸縮型和電動型等;機

19、械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。 壓電式超聲波發(fā)生器原理壓電型超聲波傳感器的工作原理:它是利用壓電效應的原理,壓電效應有逆效應和順效應,超聲波傳感器是可逆元件,超聲波發(fā)送器就是利用壓電逆效應的原理。所謂壓電逆效應如圖2.2所示,是在壓電元件上施加電壓,元件就變形,即稱應變。若在圖a所示的已極化的壓電陶瓷上施加如圖b所示極性的電壓,外部正電荷與壓電陶瓷的極化正電荷相斥,同時,外部負電荷與極化負電荷相斥。由于相斥的作用,壓電陶瓷在厚度方向上縮短,在長度方向上伸長。若外部施加的極性變反,如圖

20、c所示那樣,壓電陶瓷在厚度方向上伸長,在長度方向上縮短。圖2.2 壓電逆效應圖 單片機超聲波測距系統(tǒng)構成單片機AT89S52發(fā)出短暫的12kHz信號,經放大后通過超聲波換能器輸出;反射后的超聲波經超聲波換能器作為系統(tǒng)的輸入,鎖相環(huán)對此信號鎖定,產生鎖定信號啟動單片機中斷程序,讀出時間t,再由系統(tǒng)軟件對其進行計算、判別后,相應的計算結果被送至LCD顯示模塊進行顯示。限制超聲波系統(tǒng)的最大可測距離存在四個因素:超聲波的幅度、反射物的質地、溫度的高低以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小可測距離。開始測量超聲波信號開定時器關定時器數(shù)據(jù)運算顯示器接收檢測電聲換能器電聲換能器

21、驅動電路圖2.3 測距原理3主要芯片介紹和系統(tǒng)模塊3.1 STC89C52單片機是一種集成的電路芯塊采用了超大規(guī)模技術把具有運算能力(如算術運算、邏輯運算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機存取數(shù)據(jù)存儲器(RAM),只讀程序存儲器(ROM),輸入輸出電路(I/O口),可能還包括定時計數(shù)器,串行通信口(SCI),顯示驅動電路(LCD或LED驅動電路),脈寬調制電路(PWM),模擬多路轉換及A/D轉換器等電路集成到一塊單片機上,構成一個最小然而很完善的計算機系統(tǒng)。這些電路能在軟件的控制下準確快速的完成程序設計者事先規(guī)定的任務??偟亩詥纹瑱C的特點可以歸納為以下幾個方面:集成度高、存儲容

22、量大、外部擴展能力強、控制功能強、低電壓、低功耗、性能價格比高、可靠性高這幾個方面。單片機有著微處理器所不具備的功能,它可以獨立地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能這就是單片機的最大特點。然而單片機又不同于單板機,芯片在沒有開發(fā)前,它只是具備功能極強的超大規(guī)模集成電路,如果賦予它特定的程序,它便是一個最小的、完整的微機控制系統(tǒng)。它與單板機或個人電腦有著本質的區(qū)別,單片機屬于芯片級應用,需要用戶了解單片機芯片的結構和指令系統(tǒng)以及其它集成電路應用技術和系統(tǒng)設計所需要的理論和技術,用這樣特定的芯片設計應用程序,從而使芯片具備特定的智能STC89C52RC單片機是宏晶科技推出的新一代高速/低功耗/

23、超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。圖3.1 單片機管腳圖 主要功能特性增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.工作電壓:5.5V3.3V(5V單片機)/3.8V2.0V(3V單片機)工作頻率范圍:040MHz,相當于普通8051的080MHz,實際工作頻率可達48MHz用戶應用程序空間為8K字節(jié)片上集成512字節(jié)RAM通用I/O口(32個),復位后為:P1/P2/P3/P4是準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用

24、時,需加上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片具有EEPROM功能具有看門狗功能共3個16位定時器/計數(shù)器。即定時器T0、T1、T2外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級) STC89C52單片機引腳介紹VCC:STC89C52 電源正端輸入,接+5V。VSS:電源地端。XTAL1:單芯片系

25、統(tǒng)時鐘的反向放大器輸入端。XTAL2:系統(tǒng)時鐘的反向放大器輸出端,一般在設計上只要在XTAL1和XTAL2上接上一只石英振蕩晶體系統(tǒng)皆可以工作了,此外可以在兩個引腳與地之間加入一20PF的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機。RESET:STC89C52的重置引腳,高電平工作,當要對晶片重置時,只要對此引腳點評提升至高電平并保持兩個機器周期以上的時間,STC89C52便能完成系統(tǒng)重置的各項動作,使得內部特殊功能寄存器內容均被設成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。PORT0( P0.0P0.7 ):端口0是一個8位寬的開路電極(Open Drain)雙向輸出入端

26、口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內部有一提升電路,P0在當做I/O用時可以推動8個LS的TTL負載。如果當EA引腳為低電平時(即取用外部程序代碼或數(shù)據(jù)存儲器),P0就以多工方式提供地址總線(A0A7)及數(shù)據(jù)總線(D0D7)。設計者必須外加一個鎖存器將端口0送出的地址鎖住成為A0A7,再配合端口2所送出的A8A15合成一個完整的16位地址總線,而定位地址到64K的外部存儲器空間。PORT1(P1.0P1.7):端口1也是具有內部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個LS TTL負載,若將端口1

27、的輸出設為高電平,使是由此端口來輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當作定時器2的外部緩沖輸入腳,而P。1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)引腳。PORT2(P2.0P2.7):端口2是具有內部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負載,同樣地,若將端口2的輸出設為高電平時,此端口便能當成輸入端口來使用。P2除了當做一般I/O端口使用外,若是在AT89S51擴充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8A15,這個時候P2便不能當做I/O來使用了。PORT3(P3.0P3.7):端口3也具有內部提升電路的雙向I/O端口,其輸出緩

28、沖器可以推動4個TTL負載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內容的讀取或寫入控制等功能。其引腳分配如下:P3.0:RXD,串行通信輸入。P3.1:TXD,串行通信輸出。P3.2:INT0,外部中斷0輸入。P3.3:INT1,外部中斷1輸入。P3.4:T0,計時計數(shù)器0輸入。P3.5:T1,計時計數(shù)器1輸入。P3.6:WR,外部數(shù)據(jù)存儲器的寫入信號。P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。 單片機控制模塊單片機控制模塊由STC89C52最小系統(tǒng)組成,其中包括單片機,晶振電路和復位電路。(1)、晶振電路晶振電路由兩個30pF電容和一個12

29、MHz晶體振蕩器構成,接入單片機的X1、X2引腳。(2)、復位電路單片復位端低電平有效。圖3.2 單片機最小系統(tǒng)3.2 單片2.4GHz NRF24L01無線模塊 NRF24L01芯片概述NRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz2.5 GHz ISM頻段。內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,并融合了增強型ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置。NRF24L01功耗低,在以-6 dBm的功率發(fā)射時,工作電流也只有9 mA;接收時,工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設計更方便。 NRF

30、24L01主要特性如下: 1.GFSK調制; 2.硬件集成OSI鏈路層; 3.具有自動應答和自動再發(fā)射功能; 4.片內自動生成報頭和CRC校驗碼;5.數(shù)據(jù)傳輸率為l Mb/s或2Mb/s;6.SPI速率為0 Mb/s10 Mb/s;7.125個頻道; 8.與其他nRF24系列射頻器件相兼容; 9.QFN20引腳4 mm×4 mm封裝;10.供電電壓為1.9 V3.6 V。 引腳功能及描述NRF24L01的封裝及引腳排列如圖所示。各引腳功能如下: 圖3.2 NRF24L01封裝圖CE:使能發(fā)射或接收; CSN,SCK,MOSI,MISO:SPI引腳端,微處理器可通過此引腳配置NRF24

31、L01: IRQ:中斷標志位;VDD:電源輸入端; VSS:電源地;XC2,XC1:晶體振蕩器引腳; VDD_PA:為功率放大器供電,輸出為1.8 V; ANT1,ANT2:天線接口;IREF:參考電流輸入。 工作模式通過配置寄存器可將nRF241L01配置為發(fā)射、接收、空閑及掉電四種工作模式,如表所示。 待機模式1主要用于降低電流損耗,在該模式下晶體振蕩器仍然是工作的;待機模式2則是在當FIFO寄存器為空且CE=1時進入此模式;待機模式下,所有配置字仍然保留。 在掉電模式下電流損耗最小,同時NRF24L01也不工作,但其所有配置寄存器的值仍然保留。表3.1 NRF24L01四種工作模式模式P

32、WR_UPPRIM_RXCEFIFO寄存器狀態(tài)接收模式111-發(fā)射模式101數(shù)據(jù)在TX FIFO 寄存器中發(fā)射模式1010停留在發(fā)送模式,直至數(shù)據(jù)發(fā)送完待機模式2101TX FIFO 為空待機模式11-0無數(shù)據(jù)傳輸?shù)綦?- 工作原理發(fā)射數(shù)據(jù)時,首先將NRF24L01配置為發(fā)射模式:接著把接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時序由SPI口寫入NRF24L01緩存區(qū),TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可,然后CE置為高電平并保持至少10s,延遲130s后發(fā)射數(shù)據(jù);若自動應答開啟,那么NRF24L01在發(fā)

33、射數(shù)據(jù)后立即進入接收模式,接收應答信號(自動應答接收地址應該與接收節(jié)點地址TX_ADDR一致)。如果收到應答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達到上限,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便在次重發(fā);MAX_RT或TX_DS置高時,使IRQ變低,產生中斷,通知MCU。最后發(fā)射成功時,若CE為低則NRF24L01進入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入空閑模式2。 接收數(shù)據(jù)時,首先將NRF24

34、L01配置為接收模式,接著延遲130s進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效的地址和CRC時,就將數(shù)據(jù)包存儲在RX FIFO中,同時中斷標志位RX_DR置高,IRQ變低,產生中斷,通知MCU去取數(shù)據(jù)。若此時自動應答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應答信號。最后接收成功時,若CE變低,則NRF24L01進入空閑模式1。 在寫寄存器之前一定要進入待機模式或掉電模式。如下圖,給出SPI操作及時序圖:圖3.3 SPI讀操作圖3.4 SPI 寫操作 配置字SPI口為同步串行通信接口,最大傳輸速率為10 Mb/s,傳輸時先傳送低位字節(jié),再傳送高位字節(jié)。但針對單個字節(jié)而言,要先送高位再送

35、低位。與SPI相關的指令共有8個,使用時這些控制指令由NRF24L01的MOSI輸入。相應的狀態(tài)和數(shù)據(jù)信息是從MISO輸出給MCU。 nRF24L0l所有的配置字都由配置寄存器定義,這些配置寄存器可通過SPI口訪問。NRF24L01 的配置寄存器共有25個,常用的配置寄存器如表所示。 表3.2 常用配置寄存器地址(H)寄存器名稱功能00CONFIG設置24L01工作模式01EN_AA設置接收通道及自動應答02EN_RXADDR使能接收通道地址03SETUP_AW設置地址寬度04SETUP_RETR設置自動重發(fā)數(shù)據(jù)時間和次數(shù)07STATUS狀態(tài)寄存器,用來判定工作狀態(tài)0A0FRX_ADDR_P0

36、P5設置接收通道地址10TX_ADDR設置接收接點地址1116RX_PW_P0P5設置接收通道的有效數(shù)據(jù)寬度 NRF24L01模塊原理圖NRF24L01單端匹配網絡:晶振,偏置電阻,去耦電容。圖3.5 NRF24L01原理圖3.3 US-100超聲波測距模塊 US-100超聲波測距模塊概述US-100超聲波測距模塊可實現(xiàn)2cm4.5m的非接觸測距功能,擁有2.45.5V的寬電壓輸入范圍,靜態(tài)功耗低于2mA,自帶溫度傳感器對測距結果進行校正,同時具有GPIO,串口等多種通信方式,內帶看門狗,工作穩(wěn)定可靠。主要技術參數(shù)工作電壓: DC 2.4V - 5.5V靜態(tài)電流:小于2mA工作溫度:-20 -

37、 +70度輸出方式:電平或UART(跳線帽選擇)感應角度:不大于15度探測距離:2cm-450cm探測精度:0.3cm+1%h.UART模式下串口配置:波特率9600,起始位1位,停止位1位,數(shù)據(jù)位8位,無奇偶校驗,無流控制。圖3.6 超聲波模塊 接線方式圖3.7 超聲波模塊接線端Pin接口 從左到右依次編號 VCC、trig(控制端)、echo(接收端)、 GND從左到右依次編號1,2,3,4,5。它們的定義如下:1號Pin:接VCC電源(供電范圍2.4V5.5V)。2號Pin:當為UART模式時,接外部電路UART的TX端;當為電平觸發(fā)模式時,接外部電路的Trig端。3號Pin:當為UAR

38、T模式時,接外部電路UART的RX端;當為電平觸發(fā)模式時,接外部電路的Echo端。4號Pin:接外部電路的地。5號Pin:接外部電路的地。 模塊工作原理(1)采用IO觸發(fā)測距,給至少10us的高電平信號; (2)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回;(3)有信號返回,通過IO輸出一高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間測試距離=(高電平時間*聲速(340M/S)/2; 工作模式工作模式選擇跳線接口如圖所示。模式選擇跳線的間距為2.54mm,當插上跳線帽時為UART(串口)模式,拔掉時為電平觸發(fā)模式。圖3.8 工作模式選擇跳線接口(1)電平觸發(fā)測距工作模式在模塊

39、上電前,首先去掉模式選擇跳線上的跳線帽,使模塊處于電平觸發(fā)模式。圖3.9 電平觸發(fā)測距的時序如圖只需要在Trig/TX管腳輸入一個10US以上的高電平,系統(tǒng)便可發(fā)出8個40KHZ的超聲波脈沖,然后檢測回波信號。當檢測到回波信號后,模塊還要進行溫度值的測量,然后根據(jù)當前溫度對測距結果進行校正,將校正后的結果通過Echo/RX管腳輸出。在此模式下,模塊將距離值轉化為340m/s時的時間值的2倍,通過Echo端輸出一高電平,可根據(jù)此高電平的持續(xù)時間來計算距離值。即距離值為:(高電平時間*340m/s)/2。注:因為距離值已經經過溫度校正,此時無需再根據(jù)環(huán)境溫度對超聲波聲速進行校正,即不管溫度多少,聲

40、速選擇340m/s即可。(2)串口觸發(fā)測距工作模式在模塊上電前,首先插上模式選擇跳線上的跳線帽,使模塊處于串口觸發(fā)模式。圖3.10 串口觸發(fā)測距時序圖在此模式下只需要在Trig/TX管腳輸入0X55(波特率9600),系統(tǒng)便可發(fā)出8個40KHZ的超聲波脈沖,然后檢測回波信號。當檢測到回波信號后,模塊還要進行溫度值的測量,然后根據(jù)當前溫度對測距結果進行校正,將校正后的結果通過Echo/RX管腳輸出。輸出的距離值共兩個字節(jié),第一個字節(jié)是距離的高8位(HDate),第二個字節(jié)為距離的低8位(LData),單位為毫米。即距離值為 (HData*256 +LData)mm。3.4 LED數(shù)碼管3.4 .

41、1 LED數(shù)碼管概述Led數(shù)碼管晶、集LED數(shù)碼管、數(shù)碼管實際上是由七個發(fā)光管組成8字形構成的,加上小數(shù)點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。當數(shù)碼管特定的段加上電壓后,這些特定的段就會發(fā)亮,以形成我們眼睛看到的字樣了。如:顯示一個“2”字,那么應當是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數(shù)碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數(shù)碼管的顯示筆畫常用一個發(fā)光二極管組成,而大尺寸的數(shù)碼管由二個或多個發(fā)光二極管組成,一般情況下,單個發(fā)光二極管的管壓降為1.8V左右,電流不超過30mA。發(fā)光二極管的陽極連接到一起連接到電源正極的稱為

42、共陽數(shù)碼管,發(fā)光二極管的陰極連接到一起連接到電源負極的稱為共陰數(shù)碼管。常用LED數(shù)碼管顯示的數(shù)字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。數(shù)碼管又分為共陰極和共陽極兩種類型,其實共陰極就是將八個LED的陰極連在一起,讓其接地,這樣給任何一個LED的另一端高電平,它便能點亮。而共陽極就是將八個LED的陽極連在一起。其原理圖如下。圖3.11 數(shù)碼管原理其中引腳圖的兩個COM端連在一起,是公共端,共陰數(shù)碼管要將其接地,共陽數(shù)碼管將其接正5伏電源。一個八段數(shù)碼管稱為一位,多個數(shù)碼管并列在一起可構成多位數(shù)碼管,它們的段選線(即a,b,c,d,e,f,g,dp)連在一起,而各

43、自的公共端稱為位選線。顯示時,都從段選線送入字符編碼,而選中哪個位選線,那個數(shù)碼管便會被點亮。3.4.2 LED數(shù)碼管顯示LED數(shù)碼管要正常顯示,就要用驅動電路來驅動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。(1) 靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O埠進行驅動,或者使用如BCD碼二-十進位器進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O埠多,如驅動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O口來驅動,要知道一個89C51單片機可用的I/O口才3

44、2個呢。故實際應用時必須增加驅動器進行驅動,增加了硬體電路的復雜性。(2) 動態(tài)顯示驅動:數(shù)碼管動態(tài)顯示介面是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會亮。透過分時輪流控制各個LED數(shù)碼管

45、的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅動。在輪流顯示過程中,每位元數(shù)碼管的點亮時間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。4 系統(tǒng)程序設計4.1 系統(tǒng)程序設計思想一個系統(tǒng)的生命在于其內部程序的控制,在小型嵌入式系統(tǒng)的程序編寫中應用較多的是匯編語言和C語言。匯編語言雖然在對硬件的控制能力上占著一定的優(yōu)勢,但是C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,并且易學易用。因此本系統(tǒng)程序

46、選用C語言編寫,采用美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)平臺Keil C51作為開發(fā)環(huán)境。本系統(tǒng)根據(jù)超聲波測距原理用stc89c52單片機開發(fā),整個軟件采用模塊化設計,主要由主程序、超聲波發(fā)射/接收子程序、顯示子程序、數(shù)據(jù)發(fā)送/接收子程序等功能模塊子程序組成。MCU初始化預制程序超聲波檢測子程序數(shù)據(jù)發(fā)送子程序圖4.1 發(fā)送端顯示子程序MCU初始化預制程序數(shù)據(jù)接收子程序圖4.2 接收端4.2 主程序流程設計主程序的流程圖如下圖所示,主要完成系統(tǒng)的初始化,控制I/O端口連續(xù)產生40KHz的脈沖信號,控制定時器的啟動和停止,檢測超聲波回波信號并計算,對顯示、報警子

47、程序進行調用。初始化初始化開始開始測距發(fā)送數(shù)據(jù)顯示接收數(shù)據(jù)發(fā)送端接收端圖4.3 程序流程4.3 超聲波發(fā)生與接收子程序void Ccout(void)TR0=1;Csout=1while(-100);Csout=0;void TimeOut(void) interrupt 1TR0=0;ET0=0;ReceiveOK=0;Tout=1;void Receive(void) interrupt 0TR=0;EX0=0;ReceiveOK=1;Tout=0;4.4 NRF24L01發(fā)生與接收子程序unsigned char NRF24L01_RxPacket(unsigned char* rx_b

48、uf) unsigned char revale=0;sta=SPI_Read(STATUS);if(RX_DR)CE = 0; SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);revale =1;SPI_RW_Reg(WRITE_REG+STATUS,sta); return revale;4.5 顯示子程序void DataPrecess(void)ulong time=0;TIME=TH0;TIME=(TIME<<8)|TL0;TIME*=v/2;TIME=TIME/1000;disnum0=(uchar)TIME%10;dis

49、num4=TIME/10;disnum1=(uchar)disnum4%10; disnum4=TIME/10;disnum2=(uchar)disnum4%10;disnum4=TIME/10;disnum3=(uchar)disnum4%10; void lcd Display(void)lcd_home();lcd_writ(discoddisnum3,discoddisnum2,discoddisnum1,discoddisnum0);void ErrorDisplay(void)lcd_home();lcd_writ(error);void ReadyDispaly(void)lcd

50、_home();lcd_writ(run);5 硬件電路板設計5.1 系統(tǒng)硬件原理圖 復位電路原理圖在系統(tǒng)上電的瞬間,RST與電源電壓同電位,隨著電容的電壓逐漸上升,RST電位下降,于是在RST形成一個正脈沖。只要該脈沖足夠寬就可以實現(xiàn)復位,當人按下按鈕S1時,使電容C1通過R1迅速放電,待S1彈起后,C再次充電,實現(xiàn)手動復位。R1一般取1k。圖5.1 復位電路原理 時鐘電路原理圖當使用單片機的內部時鐘電路時,單片機的XATL1和XATL2用來接石英晶體和微調電容,如圖所示,晶體一般可以選擇3M24M,電容選擇30pF左右。我們選擇晶振為12MHz,電容30pF。圖5.2 時鐘電路原理 NRF

51、24L01模塊電源原理圖本系統(tǒng)無線模塊需要3.3V電源,采用電源電路如圖所示。該電路把先前轉換得到的5V電源經過低壓差電壓調節(jié)器lm1117轉換為3.3V電源。圖5.3 模塊電源原理5.2 硬件制作硬件的制作有印制電路板,打孔和焊接原件組成。印制電路板用熱傳印紙打印電路圖,經過熱傳印機把紙上的電路圖轉印到電路銅板上,之后進行腐蝕銅板處理,把不需要的銅去掉,得到所要電路。在沒通電之前,先用萬用表檢查線路的正確性,并核對元器件的型號、規(guī)格是否符合要求。特別注意電源的正負極以及電源之間是否有短路,并重點檢查地址總線、數(shù)據(jù)總線、控制總線是否存在相互間的短路或其他信號線的短路。晶體振蕩器和電容應盡可能靠

52、近單片機芯片安裝,以減少寄生電容,更好是保證振蕩器穩(wěn)定和可靠地工作。在本系統(tǒng)中我們都進行了仔細的檢杏,所以此步驟不會發(fā)生故障,這一步如果檢查不細通電后可能會造成不可想象的后果,所以這一步也至關重要。通電后檢查各器件引腳的電位,仔細測量各點電位是否正常,尤其應注意單片機的插座上的各點電位,若有高壓,將有可能損壞單片機仿真器。同樣,如果電壓過低就沒有能力驅動其負載。在斷電的情況下,除單片機以外,用仿真插頭將所連接電路與單片機仿真器的仿真接口相連,為軟件調試做好準備。其中遇到的問題很多,如印制電路線不合格,中間有些許斷路,造成調試的失敗。還有USB電源供電電壓不足的問題,電源電壓經過供電給負載,電壓

53、下降0.5V,致使單片機不工作的問題。6 調試說明6.1 軟件調試系統(tǒng)軟件設計、調試的過程如圖所示其過程分為以下幾個步驟:YNYN源程序編輯編譯動態(tài)在線調試成功有語法錯誤?有邏輯錯誤?圖6.1 調試流程圖第一步,建立源程序。通過計算機開發(fā)系統(tǒng)的編輯軟件,按照所要求的格式、語法規(guī)定、源程序輸入到開發(fā)系統(tǒng)中,并存在磁盤上。第二步,在計算機上,利用KILE軟件對第一步輸入的源程序進行編譯,變?yōu)榭蓤?zhí)行的目標代碼。如果源程序有語法錯誤,則其錯誤將顯示出來,然后返回到第一步進行修改,再進行編譯,直到語法錯誤全部糾正為止。第三步,動態(tài)在線調試。對于與系統(tǒng)、硬件無聯(lián)系的程序,可以借助動態(tài)在線調試手段,如單步運行、設置斷點等,發(fā)現(xiàn)邏輯錯誤,然后返回到第一步修改,直到邏輯錯誤糾正為止。對于與系統(tǒng)硬件緊密相關的程序,則需軟件,硬件同時進行調

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論