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

正文內(nèi)容

基于單片機(jī)的智能小車控制_畢業(yè)論文-資料下載頁

2024-11-17 21:30本頁面

【導(dǎo)讀】人為的管理,可應(yīng)用于科學(xué)勘探、環(huán)境監(jiān)測、智能家居等方面。能小車控制就是其中的一個體現(xiàn)。本設(shè)計(jì)實(shí)現(xiàn)了一種基于51單片機(jī)的自動避障。控制轉(zhuǎn)向電機(jī)轉(zhuǎn)向,改變行駛路徑,繞過障礙物,從而實(shí)現(xiàn)車穩(wěn)定避障。

  

【正文】 ********** define READ_REG 0x00 // 讀寄存器指令 define WRITE_REG 0x20 // 寫寄存器指令 define RD_RX_PLOAD 0x61 // 讀取接收數(shù)據(jù)指令 define WR_TX_PLOAD 0xA0 // 寫待發(fā)數(shù)據(jù)指令 define FLUSH_TX 0xE1 // 沖洗發(fā)送 FIFO指令 define FLUSH_RX 0xE2 // 沖洗接收 FIFO指令 define REUSE_TX_PL 0xE3 // 定義重復(fù)裝載數(shù)據(jù)指令 define NOP 0xFF // 保留 //*************************************SPI(nRF24L01)寄存器地址**************************************************** define CONFIG 0x00 // 配置收發(fā)狀態(tài), CRC校驗(yàn)?zāi)J揭约笆瞻l(fā)狀態(tài)響應(yīng)方式 define EN_AA 0x01 // 自動應(yīng)答功能設(shè)置 define EN_RXADDR 0x02 // 可用信道設(shè)置 define SETUP_AW 0x03 // 收發(fā)地址寬度設(shè)置 define SETUP_RETR 0x04 // 自動重發(fā)功能設(shè)置 define RF_CH 0x05 // 工作頻率設(shè)置 江蘇理工學(xué)院畢業(yè)論文 (說明書 ) 第 30 頁 共 56 頁 define RF_SETUP 0x06 // 發(fā)射速率、功耗功能設(shè)置 define STATUS 0x07 // 狀態(tài)寄存器 define OBSERVE_TX 0x08 // 發(fā)送監(jiān)測功能 define CD 0x09 // 地址檢測 define RX_ADDR_P0 0x0A // 頻道 0接收數(shù)據(jù)地址 define RX_ADDR_P1 0x0B // 頻道 1接收數(shù)據(jù)地址 define RX_ADDR_P2 0x0C // 頻道 2接收數(shù)據(jù)地址 define RX_ADDR_P3 0x0D // 頻道 3接收數(shù)據(jù)地址 define RX_ADDR_P4 0x0E // 頻道 4接收數(shù)據(jù)地址 define RX_ADDR_P5 0x0F // 頻道 5接收數(shù)據(jù)地址 define TX_ADDR 0x10 // 發(fā)送地址寄存器 define RX_PW_P0 0x11 // 接收頻道 0接收數(shù)據(jù)長度 define RX_PW_P1 0x12 // 接收頻道 0接收數(shù)據(jù)長度 define RX_PW_P2 0x13 // 接收頻道 0接收數(shù)據(jù)長度 define RX_PW_P3 0x14 // 接收頻道 0接收數(shù)據(jù)長度 define RX_PW_P4 0x15 // 接收頻道 0接收數(shù)據(jù)長度 define RX_PW_P5 0x16 // 接收頻道 0接收數(shù)據(jù)長度 define FIFO_STATUS 0x17 // FIFO棧入棧出狀態(tài)寄存器設(shè)置 //************************************************************************************** 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, 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)。 //*****************************************長延時(shí)***************************************** void Delay(unsigned int s) { unsigned int i。 for(i=0。 is。 i++)。 for(i=0。 is。 i++)。 } //****************************************************************************************** uint bdata sta。 //狀態(tài)標(biāo)志 sbit RX_DR =sta^6。 sbit TX_DS =sta^5。 sbit MAX_RT =sta^4。 /****************************************************************************************** /*延時(shí)函數(shù) /******************************************************************************************/ void inerDelay_us(unsigned char n) 江蘇理工學(xué)院畢業(yè)論文 (說明書 ) 第 31 頁 共 56 頁 { for(。n0。n) _nop_()。 } //**************************************************************************************** /*NRF24L01初始化 //***************************************************************************************/ void init_NRF24L01(void) { inerDelay_us(100)。 CE=0。 // chip enable CSN=1。 // Spi disable SCK=0。 // Spi clock line init high SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH)。 // 寫本地地址 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH)。 // 寫接收端地址 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 // 頻道 0自動 ACK應(yīng)答允許 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01)。 // 允許接收地址只有頻道 0,如果需要多頻道可以參考 Page21 SPI_RW_Reg(WRITE_REG + RF_CH, 0)。 // 設(shè)置信道工作為 ,收發(fā)必須一致 SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH)。 //設(shè)置接收數(shù)據(jù)長度,本次設(shè)置為 32字節(jié) SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 //設(shè)置發(fā)射速率為 1MHZ,發(fā)射功率為最大值 0dB } /**************************************************************************************************** /*函數(shù): uint SPI_RW(uint uchar) /*功能: NRF24L01的 SPI寫時(shí)序 /****************************************************************************************************/ uint SPI_RW(uint uchar) { uint bit_ctr。 for(bit_ctr=0。bit_ctr8。bit_ctr++) // output 8bit { MOSI = (uchar amp。 0x80)。 // output 39。uchar39。, MSB to MOSI uchar = (uchar 1)。 // shift next bit into MSB.. SCK = 1。 // Set SCK high.. uchar |= MISO。 // capture current MISO bit SCK = 0。 // ..then set SCK low again } return(uchar)。 // return read uchar } /**************************************************************************************************** /*函數(shù): uchar SPI_Read(uchar reg) 江蘇理工學(xué)院畢業(yè)論文 (說明書 ) 第 32 頁 共 56 頁 /*功能: NRF24L01的 SPI時(shí)序 /****************************************************************************************************/ uchar SPI_Read(uchar reg) { uchar reg_val。 CSN = 0。 // CSN low, initialize SPI munication... SPI_RW(reg)。 // Select register to read from.. reg_val = SPI_RW(0)。 // ..then read registervalue CSN = 1。 // CSN high, terminate SPI munication return(reg_val)。 // return register value } /****************************************************************************************************/ /*功能: NRF24L01讀寫寄存器函數(shù) /****************************************************************************************************/ uint SPI_RW_Reg(uchar reg, uchar value) { uint status。 CSN = 0。 // CSN low, init SPI transaction status = SPI_RW(reg)。 // select register SPI_RW(value)。 // ..and write value to it.. CSN = 1。 // CSN
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1