freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于nrf24l01的無(wú)線通信模塊設(shè)計(jì)報(bào)告正稿畢業(yè)論文-wenkub.com

2025-06-24 18:38 本頁(yè)面
   

【正文】 //接收到數(shù)據(jù)后RX_DR,TX_DS,MAX_PT都置高為1,通過(guò)寫1來(lái)清楚中斷標(biāo)志 return revale。 // 讀取狀態(tài)寄存其來(lái)判斷數(shù)據(jù)接收狀況 if(RX_DR) // 判斷是否接收到數(shù)據(jù) { CE = 0。 //設(shè)置發(fā)射速率為1MHZ,發(fā)射功率為最大值0dB SPI_RW_Reg(WRITE_REG + CONFIG, 0x0F)。 // 頻道0自動(dòng) ACK應(yīng)答允許 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01)。 inerDelay_us(130)。 // ,收發(fā)必須一致 SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH)。 // 寫本地地址 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH)。 CSN = 1。 //SPI使能 status = SPI_RW(reg)。 // CSN = 1。 // Set CSN low, init SPI tranaction status = SPI_RW(reg)。 // ..and write value to it.. CSN = 1。 // return register value}/*****************************************************************************//*功能:nRF24L01讀寫寄存器函數(shù)/*****************************************************************************/unsigned int SPI_RW_Reg(unsigned char reg, unsigned char value){ unsigned int status。 // CSN low, initialize SPI munication... SPI_RW(reg)。 // capture current MISO bit SCK = 0。uchar39。bit_ctr8。 // chip enable CSN=1。 Delay(5)。}//***************************************************************************/*lcd1602寫數(shù)據(jù)//***************************************************************************/void write_date(unsigned char date){ lcdrs=0。 write_(0x38)。 lcden=1。n) _nop_()。sbit TX_DS =sta^5。 is。 for(i=0。unsigned int SPI_Read_Buf(unsigned char reg, unsigned char *pBuf, unsigned char uchars)。unsigned char SPI_Read(unsigned char reg)。void Delay(unsigned int s)。 //待接受數(shù)據(jù)賦0,以便接受數(shù)據(jù)//*********************************************nRF24L01************************define TX_ADR_WIDTH 5 // 5 uints TX address width //發(fā)送地址寬度define RX_ADR_WIDTH 5 // 5 uints RX address width //接收地址寬度define TX_PLOAD_WIDTH 3 // 20 uints TX payload //發(fā)送數(shù)據(jù)寬度define RX_PLOAD_WIDTH 2 // 20 uints TX payload //接受數(shù)據(jù)寬度unsigned char const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}。//接收數(shù)據(jù)鍵sbit key3 =P2^6。sbit lcdrs =P2^0。sbit SCK=P1^3。 } } if( key3==0 ) { void init()。 for(num2=0。 init_nRF24L01()。num1TX_PLOAD_WIDTH。 SetTX_Mode()。 //置高CE,激發(fā)數(shù)據(jù)發(fā)送 }//************************************主函數(shù)void main(void){ void init()。}/******************************************************************************/*函數(shù):void nRF24L01_TxPacket(unsigned char * tx_buf)/*功能:發(fā)送 tx_buf中數(shù)據(jù)/*****************************************************************************/void nRF24L01_TxPacket(unsigned char * tx_buf){ CE=0。 //SPI使能 SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH)。 CE=1。 // 允許接收地址只有頻道0,如果需要多頻道可以參考Page21 SPI_RW_Reg(WRITE_REG + RF_CH, 40)。}/*******************************************************************************//*函數(shù):void SetRX_Mode(void)/*功能:數(shù)據(jù)接收設(shè)置************************************************************/ void SetRX_Mode(void){ CE=0。 //設(shè)置接收數(shù)據(jù)長(zhǎng)度,本次設(shè)置為8字節(jié) SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 // 寫接收端地址 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 //關(guān)閉SPI return(status)。 for(uchar_ctr=0。 return(status)。 // Select register to write to and read status uchar for(uchar_ctr=0。 // CSN high again return(status)。 CSN = 0。 // Select register to read from.. reg_val = SPI_RW(0)。 // ..then set SCK low again } return(uuchar)。, MSB to MOSI uuchar = (uuchar 1)。bit_ctr++) // output 8bit { MOSI = (uuchar amp。 // Spi disable SCK=0。 lcden=0。 P0=date。 write_(0x0c)。 Delay(5)。}//***************************************************************************/*lcd1602寫命令//***************************************************************************/void write_(unsigned char ){ lcdrs=0。sbit MAX_RT =sta^4。 i++)。 is。unsigned char nRF24L01_RxPacket(unsigned char*rx_buf)。void SetRX_Mode(void)。void inerDelay_us(unsigned char n)。 //本地地址unsigned char const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}。//清空鍵unsigned char num1,num2。sbit lcden =P2^1。sbit CE=P1^1。在以后的學(xué)習(xí)工作做,我們要不斷的提高自己的動(dòng)手能力,就要不斷親身去設(shè)計(jì)、自作實(shí)際的東西,這樣才不會(huì)被時(shí)代所淘汰成為對(duì)社會(huì)有用的人。我們從選取題目,畫原理圖到購(gòu)買元器件再到焊接電路還有后面的調(diào)試測(cè)試工作我們都一一的親身經(jīng)歷并學(xué)到了不少課本上學(xué)不到的東西。自動(dòng)重發(fā)功能,自動(dòng)檢測(cè)和重發(fā)丟失的數(shù)據(jù)包,重發(fā)時(shí)間及自動(dòng)存儲(chǔ)未收到應(yīng)答信號(hào)的數(shù)據(jù)包自動(dòng)應(yīng)答功能,在收到有效數(shù)據(jù)后,模塊自動(dòng)發(fā)送應(yīng)答信號(hào),無(wú)須另行編程載波檢測(cè)—固定頻率檢測(cè)內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制數(shù)據(jù)包傳輸錯(cuò)誤計(jì)數(shù)器及載波檢測(cè)功能可用于跳頻設(shè)置可同時(shí)設(shè)置六路接收通道地址,便于嵌入式應(yīng)用。雖然我們?cè)谀K的設(shè)計(jì)、制作、調(diào)試過(guò)程中也遇到了不少困難,但在老師和同學(xué)的細(xì)心指導(dǎo)幫助之下和我們自己的努力,最終還是達(dá)到了預(yù)期的效果,完成了本次的智能化測(cè)控應(yīng)用系統(tǒng)設(shè)計(jì)。一旦數(shù)據(jù)丟失則通過(guò)重新發(fā)送功能將丟失的數(shù)據(jù)恢復(fù)。我們?cè)噲D測(cè)試模塊的抗電磁干擾能力的測(cè)試是,我們發(fā)現(xiàn)很找到一個(gè)精確的量來(lái)描述,我們大致得出在較弱和頻率與我們用的nRF24L01的頻率相差較大時(shí)的干擾不明顯,但當(dāng)電磁干擾較強(qiáng)很干擾波頻率接近nRF24L01的頻率時(shí)的干擾較為強(qiáng)烈。AltiumDesigner是用來(lái)查看電路原理圖,并有繪制原理圖的功能,在實(shí)際調(diào)試過(guò)程中,應(yīng)當(dāng)將軟件與硬件相結(jié)合,所以電路圖的研究不可缺少。 此次調(diào)試過(guò)程中,我們主要用到了Keil uVision AltiumDesigner。首先我們?cè)O(shè)計(jì)好程序并確認(rèn)無(wú)誤后再將程序下載到單片機(jī)里進(jìn)行硬件調(diào)試,結(jié)果我們發(fā)現(xiàn)LCD1602無(wú)顯示,經(jīng)過(guò)仔細(xì)的檢查思考后,我們發(fā)現(xiàn)我們所寫的程序與單片機(jī)和液晶屏的引腳并不是一一對(duì)應(yīng)的,經(jīng)過(guò)對(duì)程序和硬件電路的修改后液晶屏終于有了顯示。一開(kāi)始我們發(fā)現(xiàn)并沒(méi)有達(dá)到預(yù)期的效果,發(fā)現(xiàn)鍵盤輸入與發(fā)送的字符數(shù)字不匹配,接搜端也無(wú)法搜到相應(yīng)的信號(hào)。本次無(wú)線通信模塊設(shè)計(jì)我們選擇了用C語(yǔ)言實(shí)現(xiàn)其功能,我們?cè)赑C機(jī)Keil uVision 4下編寫調(diào)試了C程序并將C程序下載到STC89C52單片機(jī)里進(jìn)行了運(yùn)行調(diào)試。 各單元模塊的聯(lián)系 鍵盤輸入是人機(jī)交換的接口其主要功能是設(shè)置nRF24L01的工作模式和實(shí)現(xiàn)鍵盤輸入字符、數(shù)字等。STC89C52的引腳圖 STC89C52的引腳圖 LCD1602的簡(jiǎn)單介紹 LCD1602是工業(yè)字符型液晶,能夠同時(shí)顯示1602即32個(gè)字符。 (2)除電源VCC和接地端,其余腳都可以直接和普通的5V單片機(jī)IO口直接相連,無(wú)需電平轉(zhuǎn)換。無(wú)線通信過(guò)程中 MCU主要是通過(guò) IRQ與 nRF24L01 進(jìn)行通信。自動(dòng)重發(fā)功能,自動(dòng)檢測(cè)和重發(fā)丟失的數(shù)據(jù)包,重發(fā)時(shí)間及自動(dòng)存儲(chǔ)未收到應(yīng)答信號(hào)的數(shù)據(jù)包自動(dòng)應(yīng)答功能,在收到有效數(shù)據(jù)后,模塊自動(dòng)發(fā)送應(yīng)答信號(hào),無(wú)須另行編程載波檢測(cè)—固定頻率檢測(cè)內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制數(shù)據(jù)包傳輸錯(cuò)誤計(jì)數(shù)器及載波檢測(cè)功能可用于跳頻設(shè)置可同時(shí)設(shè)置六路接收通道地址,便于嵌入式應(yīng)用。嵌入式工程師或是單片機(jī)愛(ài)好者只需要為單片機(jī)系統(tǒng)預(yù)留 5 個(gè) GPIO,1 個(gè)中斷輸入引腳,就可以很容易實(shí)現(xiàn)無(wú)線通信的功能
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1