




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、專業課程設計報告 題 目: 基于單片機的射頻無線收發系統 姓 名 :晁州專 業 :通信工程班級學號:10042309同 組 人:朱麗潔指導教師:張小林 南昌航空大學信息工程學院20 13 年 0 7 月 05 日基于單片機的無線射頻收發系統摘要:隨著現代電子技術的飛速發展,通信技術也取得了長足的進步。在無線通信領域,越來越多的通信產品大量涌現出來。但設計無線數據傳輸產品往往需要相當的無線電專業知識和價格高昂的專業設備,因而影響了用戶的使用和新產品的開發。nRF24L01是一個為433MHzISM頻段設計的無線收發芯片,它為短距離無線數據傳輸應用提供了較好的解決辦法, 使用nRF24L01降低了
2、開發難度,縮短了開發周期,使產品能更快地推向市場。本文提出了一種應用于無線數據收發系統的設計思路及實現方案,給出了基于無線射頻芯片nRF24L01和STC89C52單片機的無線數據傳輸模塊的設計方法,詳細分析了各部分實現原理,并對系統的傳輸距離、傳輸數據的正確性進行了測試。試驗表明,該系統性能穩定,具有較強的抗干擾能力,有較強的實用價值。關鍵詞:無線通信 無線數據傳輸模塊 單片機 射頻 目 錄 前言 11系統設計11.1系統設計2 1.2實現過程22系統組成22.1 射頻收發控制模塊32.1.1 無線射頻收發芯片nRF24L01介紹32.1.2 穩壓部分52.2單片機控制部分62.2.1 ST
3、C89C52RC功能介紹62.2.2 內部結構62.2.3 串口通信82.3 顯示部分103軟件設計113.1 主程序流程圖113.2 數據收發子程序流程圖123.3 鍵盤子程序流程圖134測試結果及分析134.1 硬件電路測試144.2 系統測試144.2.1 測試方法144.2.2 功能測試及分析145結論166參考文獻17致謝18附錄1:無線發射系統電路圖19附錄 2:發送程序 20前言伴隨著短距離、低功率無線數據傳輸技術的成熟,無線數據傳輸被越來越多地應用到新的領域。與有線通信方式相比,無線通信以其不需鋪設明線,使用便捷等一系列優點,在現代通信領域占重要地位。但以往的無線產品存在范圍和
4、方向上的局限。例如,一些無線產品在使用時,無法將信息反饋給控制者;還有一些無線產品不能很好地顯示參數或狀態信息,如果能在系統中增加一塊小型液晶顯示電路,產品不僅能向用戶顯示其狀態或狀態的改變,而且可以大大降低成本。正如人們所發現的,只要建立雙向無線通信-雙工通信并且選無線數據傳輸模塊基于微功耗單片射頻收發器NRF24L01設計,采用89C52單片機完成數據的處理和控制擇成本低的收發芯片,就會出現許多新應用。本次設計主要是利用無線收發電路,加上單片機控制與液晶顯示制成一套完整的數據收發系統。考慮到目前市場上的一些需求,設計的主要要求是方案成本低,體積小,低功耗,集成度高,盡量無需調外部元件,傳輸
5、時間短,接口簡單。 第一章 系統設計1.1 系統設計無線數據傳輸系統有點對點,點對多點和多點對多點三種。本系統由于實際應用的需要,接收器和數據終端之間的數據傳輸通過NRF24L01進行,構成點對點無線數據傳輸系統。整個系統中,兩數據終端之間的無線通信采用433MHz的頻段作為載波頻率,收發通過串口通信。 無線數據收發系統可以分為無線收發控制電路、單片機控制電路、顯示電路和按鍵電路四部分組成,系統原理框如圖1-1所示:液晶顯示屏單片機系統無線收發器按鍵單片機系統無線收發器 圖1-1 無線數據收發系統原理圖1.2 實現過程當我們需要發送數據時,使用按鍵來輸入所需發送的信息。按鍵與單片機的STC89
6、C52RC的P3.2-P3.5口相接,單片機的 P1.0口控制信息的發送與接收,并且TXD端與收發器輸入端相連,通過TXD將數據傳入收發器,收發器接收到數據后,通過FSK調制,將信號發送出去;接收端的收發器通過解調,將載波信號轉換為數字信號,完成信息傳輸過程;收發器的輸出端通過RXD端將數字信號輸入到單片機;單片機將數據傳送到顯示器,這樣就完成了一次數據發送與接收并顯示的過程。本系統采用的是半雙工傳送方式。 所謂半雙工就是通信的雙方均具有發送和接收信息的能力,信道也具有雙向傳輸性能,但是,通信的任何一方都不能同時既發送信息又接收信息,即在指定的時刻,只能沿某一個方向傳送信息。所以上述實現過程只
7、介紹了由一方傳送到另一方的過程,而相反方向與其原理相同。第二章 系統組成2.1射頻收發控制模塊該模塊主要由NRF24L01構成,RF24L01是一款工作在2.42.5GHz 世界通用ISM 頻段的單片無線收發器芯片。無線收發器包括:頻率發生器、增強型SchockBurst模式控制器、功率放大器、晶體振蕩器調制器、解調器。輸出功率頻道選擇和協議的設置可以通過SPI接口進行設置。2.1.1 無線收發芯片nRF24L01介紹1. 主要引腳功能圖2-1NRF24L01引腳圖表2-1 NRF24L01主要引腳說明表接口電路管腳說明管腳名稱管腳功能說明1GND接地電源電源地2VCC接電源正電源正。范圍在1
8、.9-3.6V。3CE模塊輸入信號由單片機給出信號控制NRF24L01模塊內部射頻電路工作與否4CSN模塊輸入信號模塊的片選信號,單片機發出信號來控制允許向模塊讀或寫數據5SCK模塊輸入信號串行時鐘信號。由單片機發出,來控制模塊的讀或寫的運作節拍6MOSI模塊輸入信號是單片機向NRF24L01發送數據的接口7MISO模塊輸出信號是NRF24L01模塊向單片機送數據的接口8IRQ模塊輸出信號是NRF24L01產生中斷信號發送給單片機的接口2. 內部結構圖2-2NRF24L01無線收發芯片內部結構圖3. NRF24L01無線模塊特點:(1)GFSK 調制:(2)硬件集成 OSI 鏈路層;(3)具有
9、自動應答和自動再發射功能;(4)片內自動生成報頭和 CRC 校驗碼;(5)數據傳輸率為 l Mb/s 或2Mb/s;(6)SPI 速率為0 Mb/s10 Mb/s;(7)125 個頻道:(8)與其他 nRF24 系列射頻器件相兼容;4.GFSK調制本系統中的NRF24L01是具備GFSK調制的無線收發芯片。GFSK 高斯頻移鍵控調制是把輸入數據經高斯低通濾波器預調制濾波后,再進行FSK調制的數字調制方式。它在保持恒定幅度的同時,能夠通過改變高斯低通濾波器的3dB帶寬對已調信號的頻譜進行控制,具有恒幅包絡、功率譜集中、頻譜較窄等無線通信系統所希望的特性。因此,GFSK調制解調技術被廣泛地應用在移
10、動通信、航空與航海通信等諸多領域中。2.1.2 穩壓部分由于NRF24L01的VCC腳接電壓范圍為3.3V3.6V之間,不能在這個區間之外,超過3.6V將會燒毀模塊,因此選用3.3V電壓。該穩壓部分電路如下圖所示: 圖2-3 穩壓電路該穩壓部分主要由LM317和外圍電路構成。LM317作為輸出電壓可變的集成三端穩壓塊,是一種使用方便、應用廣泛的集成穩壓塊。穩壓電源的輸出電壓可用下式計算:Vo1.25(1R2/R1) (2-1)因此選擇R1為200歐姆,為了便于調試R2使用滑動變阻器。在應用中,為了電路的穩定工作,需要接二極管作為保護電路,防止電路中的電容放電時的高壓把LM317燒壞。2.2單片
11、機控制部分控制電路主要組成部分為單片機STC89C52RC,通過STC89C52RC與nRF905進行串行通信,并用其控制NRF24L01的工作模式和SPI輸入輸出,從而調整收發狀態。STC89C52RC還控制液晶屏的顯示和按鍵等系統工作。2.2.1 STC89C52RC功能介紹STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash存儲器。STC89C52使用經典的MCS-51內核,但做了很多的改進使得芯片具有傳統51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超
12、有效的解決方案。 具有以下標準功能: 8k字節Flash,512字節RAM, 32 位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。另外 STC89C52 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。2.2.2 內部結構ST
13、C89C52RC單片機包含中央處理器、程序存儲器(ROM)、數據存儲器(RAM)、定時器/計數器、并行I/O口、串行I/O口和中斷系統等幾大單元以及數據總線、地址總線和控制總線三大總線構成。圖2-4 STC89C52RC芯片引腳圖(1) 電源和晶振VCC:供電電壓。GND:接地。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。(2) I/O口 P0口P0口的字節地址為80H,位地址為80H87H。P0口既可以作為通用I/O口使用,也可以作為單片機系統的地址/數據線使用。當作為輸出口使用時,由于輸出電路是漏極開路,必須外接上拉電阻才能有高電平輸出。 P
14、1口P1口的字節地址為90H,位地址為90H97H。P1口只能作為通用I/O口使用。當作為輸出口使用時,已能對外提供推拉電流負載,外電路無需再接上拉電阻;當作為輸入口使用時,應先向其鎖存器寫入“1”,使輸出驅動電路的FET截止。 P2口P2口的字節地址為0A0H,位地址為0A0H0A7H。P2口用于為系統提供高位地址,但只作為地址線使用而不作為數據線使用。此外,P2口也可作為通用I/O口使用。 P3口P3口的字節地址為0B0H,位地址為0B0H0B7H。P3口可以作為通用I/O口使用,但在實際應用中它的第二功能信號更為重要。P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2
15、/INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)(3) 4根控制線 RST:復位信號。保持RST腳兩個機器周期以上的高電平,就可以完成CPU系統復位操作,使系統的一些單元內容回到規定值。 /PSEN:外部程序存儲器讀選通信號。在讀外部ROM時,/PSEN有效(低電平),以實現外部ROM單元的讀操作。 /EA/VPP:訪問程序存儲器控制信號。當/EA信號為低電平時,對ROM的讀操作限定在外部程序存儲器;而當/EA為高電平時,則對ROM的讀操
16、作是從內部程序存儲器開始,并可延續至外部程序存儲器。 ALE/PROG:地址鎖存控制信號。在系統擴展時,ALE用于控制P0口輸出的低8位地址送入鎖存器鎖存起來,以實現低位地址和數據的分時傳送。此外由于ALE是以六分之一晶振頻率的固定頻率輸出的正脈沖,因此也可作為外部時鐘或外部定時脈沖使用。2.2.3 串口通信通信主要有兩種方式:并行通信和串行通信。并行通信是在傳送數據過程中每個字節的各位同時進行傳送的通信方式,而串行通信14是指每個字節的各位分別進行傳送的通信方式。1 串口通信方式STC89C52串行口可設置四種工作方式,可有8位、10位和11位幀格式。本系統中,STC89C52RC采用串行口
17、工作于方式1,即每幀10位的異步通信格式:1位起始位,8位數據位(低位在前),1位停止位。當SM0=0,SM1=1時,串行口選擇方式1。其幀格式為: 停止起始D6D7D0D1D2D3D4D5 圖2-5 幀格式圖2 串行通信控制寄存器(1) 串行控制寄存器(SCON)SCON的地址為98H,用于選擇串行口的工作方式和指示串行口的工作狀態。各位含義如下: SM0、SM1:串行口工作方式選擇位。 SM2:多機通信選擇位。 REN:串行口允許接收位。1時允許接收,0時禁止接收。 TI: 串行口發送中斷標志位。在方式1中,于發送停止位之前,由硬件置位。因此TI=1,表示幀發送結束。 RI: 串行口接收中
18、斷標志位。在方式1中,當接收到停止位時,該位由硬件置位。RI=1,表示幀接收結束。(2) 串行數據緩沖器(SBUF)串行數據緩沖器SBUF的地址為99 H,用來存放需發送和接收的數據,它由兩個獨立的寄存器組成,一個是發送緩沖器,另一個是接收緩沖器,它們占用同一地址(99H)。當執行寫SBUF指令時,數據寫入到串行口發送緩沖器中,讀SBUF就是讀串行口接收緩沖器。(3) 電源控制寄存器(PCON)PCON的地址為87H,該寄存器的最高位(SMOD)是串行口波特率的倍增位,當SMOD=1時,串行口波特率加倍。系統復位時,SMOD=0。(4) 中斷允許寄存器(IE)在IE中,ES位為串行中斷允許控制
19、位。ES=0時禁止串行中斷,ES=1時允許串行中斷。3 數據發送與接收(1) 數據發送在不發送數據時,TXD端保持高電平。當執行寫SBUF的指令時,便啟動一次發送過程;發送數據時,先發送一個起始位,該位通知接收端開始接收,也使發送和接收過程同步。接下來發送8位數據,先發送低位,最后發送的是高電平的停止位。(2) 數據接收 REN=1,CPU允許串行口接收數據,接收數據開始于檢測到RXD(P3.0)端發生一個“1”到“0”的跳變。先接收起始位,然后依次將采樣RXD端并將數據移入移位寄存器中。若滿足條件RI=0且SM2=0或接收到停止位,則將前8位數據送入SBUF并置位RI;如果上述條件不滿足,則
20、數據丟失。(3) 波特率的設定串口方式1的波特率是可變的,由定時器T1的溢出率決定:(2.2) 其中,SMOD為PCON寄存器最高位的值。溢出率為溢出周期的倒數,假定計數初值為X,則計數溢出周期為(2.3) 其中,fosc為晶振頻率。則波特率計算公式為:(2.4) 由波特率算出計數初值,以便進行定時器的初始化。初值X確定如下: (2.5) 2.3顯示部分該部分由鎖存器74HC573與數碼管構成,單片機通過兩片74HC573分別對共陰極數碼進行位選和段選。第三章 軟件設計無線數據傳輸主要由無線數據收發器NRF24L01、STC89C52RC單片機、顯示器和按鍵組成,收發器與STC89C52RC間
21、用串行口通信。整個系統的各個部分都是服務于無線數據傳輸這個目的。所以,在整個系統的軟件設計中,無線數據的傳輸是最為重要的。這里使用C語言編寫單片機控制程序。3.1 主程序流程圖當單片機上電開始執行之后,對液晶和單片機寄存器進行初始化,同時設置串口控制字及波特率,接著進入鍵盤掃描程序和接收程序。若有某個按鍵按下,則執行相應的鍵盤子程序;若單片機判斷接收到數據,則開始進行CRC校驗,如果數據正確就通過液晶顯示傳送的信息。主程序流程圖見圖3-1。開始 初始化設置串口工作方式NYNN判斷是否有按鍵按下執行相應的程序判斷是否接收到數據CRC校驗是否正確數據處理送入顯示掃描鍵盤,同時判斷是否有數據接收YY
22、 圖3-1 主程序流程圖3.2 數據收發子程序流程圖單片機STC89C52控制nRF2401的收發狀態、完成編解碼等工作。nRF2401芯片 “PWR-UP” 端接高電平,“FREQ” 端接低電平,分別表示系統在上電后始終處于 “正常工作模式”和“工作頻道為通道1”。單片機STC89C52控制nRF2401,使其一直為接收狀態。當按鍵4按下時,STC89C52接收到輸入的低電平信號,從腳送出高電平至P1.0腳,使nRF24L01進入發射狀態。數據收發子程序流程圖見圖3-2。入口置nRF24L01為接收狀態判斷按鍵4是否按下置Nrf24L01為發射狀態數據發射YN鍵盤掃描圖3-2 數據收發子程序
23、流程圖3.3 鍵盤子程序流程圖下圖為鍵盤子程序流程圖,此流程圖的含義是:當有按鍵按下時,程序開始進行判斷是哪個按鍵按下,判斷完畢后則轉向相應的鍵處理子程序,進行字符的輸入或命令的處理,并通過按鍵4把要發送的數據進行CRC校驗編碼,再把編碼后的數據發送出去。有按鍵按下判斷是哪個按鍵按下按鍵1按鍵4按鍵3按鍵2CRC校驗發送數據清零選擇要發送的數據將要顯示的數據移位圖3-4 鍵盤子程序流程圖第四章 測試結果及分析4.1 硬件電路測試本設計中將控制模塊和無線射頻模式分開設計,控制模塊通過一只單排7腳的接口控制射頻模塊,測試的步驟如下:(1) 將控制模塊和無線射頻模塊焊好,檢查確認無虛焊、粘焊;(2)
24、 先對控制模塊上電進行測試,主要是測試控制模塊的串口能否收發數據,測試方法是將控制模塊的串口與PC機的串口通過RS232標準相連接,并將串口的程序寫到STC89C52上,然后用串口測試軟件測試,如果串口能收發數據,便可開始對無線射頻模塊進行測試;(3) 將無線收發模塊與控制模塊連接起來,上電進行測試,按照程序,上電時處于接收狀態,看是否與程序吻合;(4) 確認射頻模塊上電處于接收狀態后,可測試nRF2401的第4管腳是否為1.1V左右,如果是,則說明VCO電感設計合理,否則要重新設計PCB板,此外,nRF401在沒有數據接收時,仍會自動從DOUT發送隨機數據,使用萬用表進行測試時,該引腳電壓應
25、為2.5V左右。4.2 系統測試4.2.1 測試方法(1) 首先讓電路正常工作,把接收器放在一定的位置,將發射器從遠處逐漸靠近接收器,可測到傳送的最遠距離。(2) 在距離接收器一定的距離時,間隔一段時間就發送數據信息,可測出接收器的接收靈敏度。(3) 比較發射器和接收器的數據顯示是否相同,以測試傳輸數據的正確性。4.2.2 功能測試及分析由于無線通信環境的不確定性,各種環境下的傳輸效果是不盡相同的,路徑損耗、建筑物影響、人體影響、外界干擾、多徑現象和周圍環境的吸收等都會對傳輸的距離產生一定的影響,只能在一個給定的條件下進行測試和評估。因此,分別選擇了不同的試驗場地來進行實驗。(1) 當建筑物很
26、多的時候,數傳模塊兩端均離地面1.5m(2.0m)高時,能夠達到的最佳通信距離為510m;接收靈敏度為23秒;當發送端發送MESSAGE時,接收端能準確顯示MESSAGE這段英文字符。(2) 在空曠場地,數傳模塊兩端均離地面1.5m高時,最遠的通信距離能夠達到50m;接收靈敏度為35秒;當發送端發送字母A時,接收端能準確顯示。但測試中的通信距離與數據手冊上的說明相差較大,原因可能源于調諧天線。在實驗中發現,當有人員走動或其它信號出現的時候,通信的距離會變得不穩定,這是由于天線是一個輻射器件,任何環境的改變都會影響天線的性能。測試中還發現,在現場即使沒有任何發送器,在nRF401的DOUT引腳上
27、也會觀察到微小的連續數字“噪聲”。后來通過研究發現,當接收器打開時,環境中的任何信號(數據或噪聲)都會被天線捕捉到并被解調。這就是所看到的系統中沒有工作的發送器卻存在“噪聲”的原因。通過對系統數據傳輸能力的測試,該系統發送和接收數據正確、可靠,各元件工作正常。在硬件連接正確的基礎上,利用nRF2401進行串行數據接收及發送,收到了較好效果。結論此次設計將應用于無線通信領域,并且針對當前市場上無線產品的不足進行了改進。本文根據nRF2401的特點,提出了一種將其應用無線數據收發系統的實現方案。此方案采用了較完善的軟硬件設計和抗干擾措施,保證了系統工作的安全性和可靠性,是一種較好的設計思路,具有通
28、用性,便于投入實際應用。并且只要稍作改動就可以應用到小區傳呼、工業數據采集、自動讀表、警報和安全系統、無線鍵盤、無線操縱桿、家庭自動化、遙測和玩具等其他一些短距離無線通信領域,實現無線數據的雙向傳輸,具有較好的市場應用價值。參考文獻1 黃智偉.無線數字收發電路設計,第2版,電子工業出版社,2004年,253-269.2 WU Xunwei,HANG Guoqiang. Low power DC circuits employing AC power supply, SCIENCE IN CHINA (INFORMATION SCIENCES),2002,Vol.45 No.3,232.3 苗長
29、云,沈保鎖,竇晉江等.現代通信原理,第1版,電子工業出版社,2005年,174-177.4 Behrouz Forouzan. Introduction to Data Communications and Networking,First Edition,mechanic industry book concern,1999,121-125.5 Kaveh Pahlavan .Nordic nRF401 Product Specification,Nordic corporation,2000,36.6 Nigel Brooke.串行數據標準的選擇與使用,電子產品世界,2000年,10月,3
30、1-32.7 Richard G.lyons. Understanding Digital Signal Processing,Bradford University,2001,36-37.8 Tugal. D. A, Tugal. 0. Data Transmission-analysis Design Applications,Florence,Italy,2004,32.9 趙景波,劉金輝,榮盤祥等.Protel DXP 基礎與實例培訓教程,第1版,中國電力出版社,2005年,119-144.10 臧鐵鋼,唐才峰,陳學鋒等. Protel DXP 電路設計與應用,第1版,中國鐵道出版社,
31、2004年,172-179.11 劉立楓,趙民建.信號接收機,中國無線電電子學文摘,2005年,31期,45-47.12 周仕鳳.用MCS-51做LCD接口實驗,電子世界,2002年,第8期,37.13 李廣第,朱月秀,王秀山等.單片機基礎,第2版,北京航空航天大學出版社,2001年,40-70.14 楊振江,杜鐵軍,李群等. 流行單片機實用子程序及應用實例,第1版,西安電子科技大學出版社,2002年,102-115.15 張俊謨. MCS-51和80C51系列單片機,電子世界,2001年,第8期,30.16 蔡瑩.液晶技術與電子紙,電子產品世界,2003年,11上半月,38-40.17 康華
32、光,鄒壽彬.電子技術基礎,第1版,高等教育出版社,2002年,191-197.18 黃智偉,王彥,陳文光等.全國大學生電子設計競賽訓練教程,第1版,電子工業出版社,2004年,73-80.致 謝為期三周的課程設計已經接近尾聲,這次課程設計不僅使我將所學的知識都融合在一起,還給了我一次鍛煉動手能力的機會,并且在指導教師的幫助下,使我的專業水平有了很大的提高。在課程設計即將結束之際,我要感謝我的指導教師張小林老師以及陳光老師。他們不辭辛苦,經常利用自己的休息時間幫助我。當我有不明白的問題時,老師們會耐心地給我講解,并在學習和科研方面給了我大量的指導,為我提供了良好的科研環境,不僅讓我學到了知識,掌
33、握了科研的方法,也獲得了實踐鍛煉的機會。老師們言傳身教、循循善誘,使我學到了作為一名大學生應該具備的那種踏實勤懇、一絲不茍、求真務實的優良品質和嚴謹的教學態度。在本論文的撰寫過程中,老師從選題直至成稿一直給予我重要的指導和幫助,為我解開了無數的困惑,提供了很多關鍵性的建議。在課題的設計中,我對各種編程方法都有了更進一步的了解,拓寬了知識面,開闊了眼界,提高了對知識的綜合應用能力,增強了學習知識的興趣。在內容的研究中,他們在技術上給予了我極大的幫助,并且在論文的最后評閱過程中,也給我提出了非常有價值的意見,使我受益匪淺。在此祝愿老師們身體健康,全家幸福。最后,我要再一次感謝所有在此期間幫助過我的
34、人,我衷心的祝福你們!附錄1 無線發射系統電路圖附錄2 發送程序#include <reg52.h>#include <intrins.h>typedef unsigned char uchar;typedef unsigned char uint;/*NRF24L01端口定義*sbit MISO=P13;sbit MOSI=P14;sbitSCK =P12;sbitCE =P11;sbitCSN=P32;sbitIRQ=P33;/*按鍵*sbitKEY1=P34;sbitKEY2=P35;sbitKEY3=P36;sbitKEY4=P37;sbit dula=P26;
35、sbit wela=P27;/*數碼管位選*/sbitled3=P00;/sbitled2=P01;/sbitled1=P02;/sbitled0=P03;/*蜂明器*sbit BELL=P23;/*數碼管0-9編碼*uchar seg10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /09段碼/*NRF24L01*#define TX_ADR_WIDTH 5 / 5 uints TX address width#define RX_ADR_WIDTH 5 / 5 uints RX address width#define TX_PLO
36、AD_WIDTH 20 / 20 uints TX payload#define RX_PLOAD_WIDTH 20 / 20 uints TX payloaduint const TX_ADDRESSTX_ADR_WIDTH= 0x34,0x43,0x10,0x10,0x01;/本地地址uint const RX_ADDRESSRX_ADR_WIDTH= 0x34,0x43,0x10,0x10,0x01;/接收地址/*NRF24L01寄存器指令*#define READ_REG 0x00 / 讀寄存器指令#define WRITE_REG 0x20 / 寫寄存器指令#define RD_RX
37、_PLOAD 0x61 / 讀取接收數據指令#define WR_TX_PLOAD 0xA0 / 寫待發數據指令#define FLUSH_TX 0xE1 / 沖洗發送 FIFO指令#define FLUSH_RX 0xE2 / 沖洗接收 FIFO指令#define REUSE_TX_PL 0xE3 / 定義重復裝載數據指令#define NOP 0xFF / 保留/*SPI(nRF24L01)寄存器地址*#define CONFIG 0x00 / 配置收發狀態,CRC校驗模式以及收發狀態響應方式#define EN_AA 0x01 / 自動應答功能設置#define EN_RXADDR 0x
38、02 / 可用信道設置#define SETUP_AW 0x03 / 收發地址寬度設置#define SETUP_RETR 0x04 / 自動重發功能設置#define RF_CH 0x05 / 工作頻率設置#define RF_SETUP 0x06 / 發射速率、功耗功能設置#define STATUS 0x07 / 狀態寄存器#define OBSERVE_TX 0x08 / 發送監測功能#define CD 0x09 / 地址檢測 #define RX_ADDR_P0 0x0A / 頻道0接收數據地址#define RX_ADDR_P1 0x0B / 頻道1接收數據地址#define R
39、X_ADDR_P2 0x0C / 頻道2接收數據地址#define RX_ADDR_P3 0x0D / 頻道3接收數據地址#define RX_ADDR_P4 0x0E / 頻道4接收數據地址#define RX_ADDR_P5 0x0F / 頻道5接收數據地址#define TX_ADDR 0x10 / 發送地址寄存器#define RX_PW_P0 0x11 / 接收頻道0接收數據長度#define RX_PW_P1 0x12 / 接收頻道0接收數據長度#define RX_PW_P2 0x13 / 接收頻道0接收數據長度#define RX_PW_P3 0x14 / 接收頻道0接收數據長
40、度#define RX_PW_P4 0x15 / 接收頻道0接收數據長度#define RX_PW_P5 0x16 / 接收頻道0接收數據長度#define FIFO_STATUS 0x17 / FIFO棧入棧出狀態寄存器設置/*void Delay(unsigned int s);void inerDelay_us(unsigned char n);void init_NRF24L01(void);uint SPI_RW(uint uchar);uchar SPI_Read(uchar reg);void SetRX_Mode(void);uint SPI_RW_Reg(uchar reg,
41、 uchar value);uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars);uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars);unsigned char nRF24L01_RxPacket(unsigned char* rx_buf);void nRF24L01_TxPacket(unsigned char * tx_buf);void display(uchar dip)P0=segdip;dula=1;dula=0;P0=0xc0;wela=1;wela=0;/*
42、長延時*void Delay(unsigned int s)unsigned int i;for(i=0; i<s; i+);for(i=0; i<s; i+);/*uint bdata sta; /狀態標志sbitRX_DR=sta6;sbitTX_DS=sta5;sbitMAX_RT=sta4;/*/*延時函數/*/void inerDelay_us(unsigned char n)for(;n>0;n-)_nop_();/*/*NRF24L01初始化/*/void init_NRF24L01(void) inerDelay_us(100); CE=0; / chip enable CSN=1; / Spi disable SCK=0; / Spi clock line init highSPI_Write_Buf(WRITE_REG + TX_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創新型辦公室與區塊鏈技術的融合
- 2024年機械工程師資格證書考試傳動機構試題及答案
- 2025年中國底電壓反光杯燈數據監測研究報告
- 商務禮儀師考試參考書目試題及答案
- 2024年質量工程師考試指導原則試題及答案
- 商務禮儀師職責與職責劃分試題及答案
- 2025年中國小車拉緊器鐵鉤市場調查研究報告
- 常見失誤質量工程師試題及答案
- 17記金華的雙龍洞(教學設計)-2023-2024學年語文四年級下冊統編版
- 2025年中國室內花盆數據監測報告
- 環境監測儀器安裝施工方案(更新版)
- 無人機故障應急預案
- 工程設備安裝及調試、運行方案
- 農行運營主管競聘報告
- (招標投標)地形圖測繪技術標書OK
- 人保查勘服務流程
- 機械加工工藝過程培訓課件
- 少數民族怒族民俗文化科普介紹教學課件
- 浙江省鋼結構DBJ33/T12752022
- 人工智能引論智慧樹知到課后章節答案2023年下浙江大學
- 50205-2020-鋼結構工程施工質量驗收標準
評論
0/150
提交評論