




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
nRF24L01無線模塊在PIC16F877單片機(jī)上的應(yīng)用解析先簡單的介紹下nRF24L01無線模塊(1)2.4Ghz全球開放ISM頻段免許可證使用(2)最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強(qiáng),特別適合工業(yè)控制場合(3)126頻道,滿足多點(diǎn)通信和跳頻通信需要(4)內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對多點(diǎn)通信地址控制(5)低功耗1.9-3.6V工作,待機(jī)模式下狀態(tài)為22uA;掉電模式下為900nA(6)內(nèi)置2.4Ghz天線,體積小巧15mmX29mm(7)模塊可軟件設(shè)地址,只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)(提供中斷指示),可直接接各種單片機(jī)使用,軟件編程非常方便通過SPI方式完成數(shù)據(jù)的交換,包括數(shù)據(jù)的發(fā)送,數(shù)據(jù)的接收。說明一下,單片機(jī)中如果沒有SPI的硬件電路,我們可以使用單片機(jī)的普通IO口進(jìn)行SPI的時(shí)序模擬,只要符合無線模塊的時(shí)序邏輯,一樣能控制無線模塊的通信。FPGA是可編程邏輯,最大的特點(diǎn)就是靈活,用戶可根據(jù)需求加入所需要的邏輯器件,當(dāng)然它所包含的邏輯單元也是相當(dāng)?shù)呢S富,有SPI硬件模塊。這樣用戶就省去了SPI方式的時(shí)序邏輯,可以更好的專注于功能的開發(fā)。單片機(jī):這里我們使用的單片機(jī)型號為PIC16F877。圖1.3NRF24L01接入PIC的原理圖說明:從圖1.3中可以看出,主要是圖1.1中的6個(gè)信號(還有2個(gè)是地與電源)接入單片機(jī)中。而那些引腳是普通的IO口,需要用戶模仿SPI時(shí)序進(jìn)行控制。無線模塊進(jìn)行數(shù)據(jù)的交換就是數(shù)據(jù)的發(fā)送與數(shù)據(jù)的接收,下面將從這2個(gè)方面進(jìn)行介紹。不管是數(shù)據(jù)的發(fā)送還是數(shù)據(jù)的接收,要想控制好NRF24L01無線模塊,先要通過SPI方式對無線模塊進(jìn)行配置,只需要往它對應(yīng)的寄存器里寫入數(shù)值便可。先定義一下PIC上的宏,下面我們就可以很方便的對PIC的引腳進(jìn)行操作。1#defineMISORC22#defineMOSIRC33#defineSCKRD04#defineCERD25#defineCSNRD16#defineIRQRC17#defineLEDRD38#defineKEY0RB09#defineKEY1RB110#defineKEY2RB211#defineKEY3RB312#defineKEY4RB413#defineKEY5RB514#defineKEY6RB615#defineKEY7RB7NRF24L01無線模塊的寄存器1//*******************NRF24L01寄存器指令2#defineREAD_REG0x00//讀寄存器指令3#defineWRITE_REG0x20//寫寄存器指令4#defineRD_RX_PLOAD0x61//讀取接收數(shù)據(jù)指令5#defineWR_TX_PLOAD0xA0//寫待發(fā)數(shù)據(jù)指令6//*******************SPI(nRF24L01)寄存器地址7#defineCONFIG0x00//配置收發(fā)狀態(tài),8#defineEN_AA0x01//自動(dòng)應(yīng)答功能設(shè)置9#defineEN_RXADDR0x02//可用信道設(shè)置10#defineSETUP_AW0x03//收發(fā)地址寬度設(shè)置11#defineSETUP_RETR0x04//自動(dòng)重發(fā)功能設(shè)置12#defineRF_CH0x05//工作頻率設(shè)置13#defineRF_SETUP0x06//發(fā)射速率、功耗功能設(shè)置14#defineSTATUS0x07//狀態(tài)寄存器15#defineRX_ADDR_P00x0A//頻道0接收數(shù)據(jù)地址16#defineTX_ADDR0x10//發(fā)送地址寄存器17#defineRX_PW_P00x11//接收頻道0接收數(shù)據(jù)長度18#defineFIFO_STATUS0x17//FIFO棧入棧出狀態(tài)寄存器設(shè)置有2類寄存器是用戶可以根據(jù)自己的需求所確定的,那就是地址的長度以及內(nèi)容、發(fā)送與接收數(shù)據(jù)的長度,但無線模塊一次最多可以發(fā)送32個(gè)字節(jié),這兩類寄存器一般設(shè)置為3~4個(gè)字節(jié)。1#defineTX_PLOAD_WIDTH42#defineRX_PLOAD_WIDTH43unsignedcharTX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10};//本地地址4unsignedcharRX_ADDRESS[RX_ADR_WIDTH]={0x34,0x43,0x10};//接收地址A模擬SPI方式1/****************************************************************************************************2/*函數(shù):uintSPI_RW(uintuchar)3/*功能:NRF24L01的SPI時(shí)序4/****************************************************************************************************/5unsignedcharSPI_RW(unsignedchara)6{7unsignedchari;8for(i=0;i《8;i++)9{10if((a&0x80)==0x80)11MOSI=1;12elseMOSI=0;//output‘uchar’,MSBtoMOSI13a=(a《《1);//shiftnextbitintoMSB.。14SCK=1;//SetSCKhigh.。15if(MISO==1)16a|=0x01;17elsea&=0xfe;//capturecurrentMISObit18SCK=0;//。.thensetSCKlowagain19}20return(a);//returnreaduchar21}B以SPI方式對寄存器的操作1/****************************************************************************************************2/*函數(shù):ucharSPI_Read(ucharreg)3/*功能:NRF24L01的SPI讀操作4/****************************************************************************************************/5unsignedcharSPI_Read(unsignedcharreg)6{7unsignedcharreg_val;8CSN=0;//CSNlow,initializeSPIcommunication.。.9SPI_RW(reg);//Selectregistertoreadfrom.。10reg_val=SPI_RW(0);//。.thenreadregistervalue11CSN=1;//CSNhigh,terminateSPIcommunication12return(reg_val);//returnregistervalue13}14/****************************************************************************************************/15/*功能:NRF24L01讀寫寄存器函數(shù)16/****************************************************************************************************/17unsignedcharSPI_RW_Reg(unsignedcharreg,unsignedcharvalue)18{19unsignedcharstatus;20CSN=0;//CSNlow,initSPItransaction21status=SPI_RW(reg);//selectregister22SPI_RW(value);//。.andwritevaluetoit.。23CSN=1;//CSNhighagain24return(status);//returnnRF24L01statusuchar25}26/****************************************************************************************************/27/*函數(shù):uintSPI_Read_Buf(ucharreg,uchar*pBuf,ucharuchars)28/*功能:用于讀數(shù)據(jù),reg:為寄存器地址,pBuf:為待讀出數(shù)據(jù)地址,uchars:讀出數(shù)據(jù)的個(gè)數(shù)29/****************************************************************************************************/30unsignedcharSPI_Read_Buf(unsignedcharreg,unsignedchar*pBuf,unsignedcharuchars)31{32unsignedcharstatus,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年六年級下學(xué)期數(shù)學(xué)三 《反比例》教案
- 2025年婚前協(xié)議書正確模板
- 人教版八年級上冊 歷史與社會(huì) 教學(xué)設(shè)計(jì) 1.2中華早期國家與社會(huì)變革
- (高清版)DB45∕T 566-2020 汽車旅游營地星級劃分
- 2025年衡水健康科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫審定版
- 2025年河南工業(yè)貿(mào)易職業(yè)學(xué)院單招職業(yè)技能測試題庫1套
- 期中綜合練習(xí)-三年級數(shù)學(xué)下冊(含答案)北師大版
- 2024年多媒體電腦超聲診斷儀項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年黑龍江省伊春市單招職業(yè)傾向性測試題庫1套
- 語文-四川省金太陽2025屆高三2月開學(xué)考試試題和答案
- 妊娠和精神疾病課件
- 全新人教精通版六年級英語下冊教案(全冊 )
- (新版教材)粵教粵科版六年級下冊科學(xué)全冊教案(教學(xué)設(shè)計(jì))
- 精品污水處理廠工程重難點(diǎn)分析及應(yīng)對措施
- (完整版)泄洪渠施工方案
- 幼兒園廚房人員培訓(xùn)計(jì)劃
- 博士、博士后簡歷模板
- 《房屋面積測算技術(shù)規(guī)程》DGJ32TJ131-2022
- 鞍鋼鲅魚圈鋼鐵項(xiàng)目38m生產(chǎn)線工程設(shè)計(jì)思想
- 《藥劑學(xué)》-阿昔洛韋軟膏的制備
- 畢業(yè)設(shè)計(jì)-膽囊結(jié)石患者的護(hù)理計(jì)劃
評論
0/150
提交評論