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

正文內(nèi)容

無線監(jiān)控小車課程設計報告-資料下載頁

2025-05-12 00:54本頁面

【導讀】的演示了新型的無線傳輸?shù)男阅芗捌錆撛诘囊饬x。NRF24L01是先進的單片射頻收發(fā)芯片,工作于~GHzISM頻段。工作電壓為~V,有多達125個頻道可供選擇。自動再發(fā)射功能。NRF24L01數(shù)據(jù)傳輸率快,數(shù)據(jù)寫入速度高,內(nèi)嵌的功能更完備。主機,即發(fā)射端,用軟件編程,通過51單片機,把控。NRF24L01以16位CRC校驗后把。接收端的NRF24L01接收信號之后通過一定。L298N進行電機的控制。AT89S51是一個低功耗,高性能CMOS8位單片機,片內(nèi)含4kBytesISP(In-system. programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高。層中斷嵌套中斷;5、6個中斷源;6、2個16位可編程定時器/計數(shù)器;

  

【正文】 //模式 sbit CSN=P1^6。 //SPI en 41 sbit IRQ=P3 ^2。 // SPI(nRF24L01) mands define READ_REG 0x00 // Define read mand to register define WRITE_REG 0x20 // Define write mand to register define RD_RX_PLOAD 0x61 // Define RX payload register address define WR_TX_PLOAD 0xA0 // Define TX payload register address define FLUSH_TX 0xE1 // Define flush TX register mand define FLUSH_RX 0xE2 // Define flush RX register mand define REUSE_TX_PL 0xE3 // Define reuse TX payload register mand define NOP 0xFF // Define No Operation, might be used to read status register // SPI(nRF24L01) registers(addresses) define CONFIG 0x00 // 39。Config39。 register address define EN_AA 0x01 // 39。Enable Auto Acknowledgment39。 register address define EN_RXADDR 0x02 // 39。Enabled RX addresses39。 register address define SETUP_AW 0x03 // 39。Setup address width39。 register address 42 define SETUP_RETR 0x04 // 39。Setup Auto. Retrans39。 register address define RF_CH 0x05 // 39。RF channel39。 register address define RF_SETUP 0x06 // 39。RF setup39。 register address define STATUS 0x07 // 39。Status39。 register address define OBSERVE_TX 0x08 // 39。Observe TX39。 register address define CD 0x09 // 39。Carrier Detect39。 register address define RX_ADDR_P0 0x0A // 頻道 0 接收數(shù)據(jù)地址 define RX_ADDR_P1 0x0B // 39。RX address pipe139。 register address define RX_ADDR_P2 0x0C // 39。RX address pipe239。 register address define RX_ADDR_P3 0x0D // 39。RX address pipe339。 register address define RX_ADDR_P4 0x0E // 39。RX address pipe439。 register address define RX_ADDR_P5 0x0F // 39。RX address pipe539。 register address define TX_ADDR 0x10 // 39。TX address39。 register address define RX_PW_P0 0x11 // 接收頻道 0 接收數(shù)據(jù)長度 define RX_PW_P1 0x12 // 39。RX payload width, pipe139。 register address define RX_PW_P2 0x13 // 39。RX payload width, pipe239。 register address define RX_PW_P3 0x14 // 39。RX payload width, pipe339。 register address define RX_PW_P4 0x15 // 39。RX payload width, pipe439。 register address 43 define RX_PW_P5 0x16 // 39。RX payload width, pipe539。 register address define FIFO_STATUS 0x17 // 39。FIFO Status Register39。 register address extern void init_io(void)。 extern void delay_ms(uchar x)。 extern uchar SPI_RW(uchar byte)。 extern uchar SPI_RW_Reg(uchar reg, uchar value)。 extern uchar SPI_Read(uchar reg)。 extern uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes)。 extern uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes)。 extern void RX_Mode(void)。 extern void TX_Mode(uchar * BUF)。 extern uchar Check_ACK(bit clear)。 extern void CheckButtons()。 extern void Init_24L01()。 endif /* _API_DEF_ */ include 44 uchar code TX_ADDRESS[TX_ADR_WIDTH] = {0xb1,0xb2,0xb3,0xb4,0x01}。//0x34,0x43,0x10,0x10,0x01}。 // 路由節(jié)點地址 uchar code RX_ADDRESS1[TX_ADR_WIDTH] = {0xb0,0xb2,0xb3,0xb4,0x01}。//寫地址寄存器是先寫低字節(jié),因此后面幾個字節(jié)相同 uchar code RX_ADDRESS2[1] = {0xb1}。 uchar code RX_ADDRESS3[1] = {0xb2}。 uchar code RX_ADDRESS4[1] = {0xb3}。 uchar code RX_ADDRESS5[1] = {0xb4}。 uchar RX_BUF[TX_PLOAD_WIDTH]。 uchar TX_BUF[TX_PLOAD_WIDTH]。 uchar flag,status。 uchar DATA = 0x01。 uchar bdata sta。 sbit RX_DR = sta^6。 sbit TX_DS = sta^5。 sbit MAX_RT = sta^4。 /**************************************************/ 45 /************************************************** 函數(shù) : init_io() 描述 : 初始化 IO /**************************************************/ void init_io(void) { CE = 0。 // 待機 CSN = 1。 // SPI 禁止 SCK = 0。 // SPI 時鐘置低 IRQ = 1。 // 中斷復位 LED = 0x00。 // 關閉指示燈 } /**************************************************/ /************************************************** 函數(shù): delay_ms() 描述: 延遲 x 毫秒 46 /**************************************************/ void delay_ms(uchar x) { uchar i, j。 i = 0。 for(i=0。 ix。 i++) { j = while(j)。 j = while(j)。 } } /**************************************************/ /*延時函數(shù) /******************************************************************************************/ void inerDelay_us(unsigned char n) { for(。n0。n) _nop_()。 } 47 /************************************************** 函數(shù): SPI_RW() 描述: 根據(jù) SPI 協(xié)議,寫一字節(jié)數(shù)據(jù)到 nRF24L01,同時從 nRF24L01 讀出一字節(jié) /**************************************************/ uchar SPI_RW(uchar byte) { uchar i。 for(i=0。 i8。 i++) // 循環(huán) 8 次 { MOSI = (byte amp。 0x80)。 // byte 最高位輸出到 MOSI byte = 1。 // 低一位移位到最高位 SCK = 1。 // 拉高 SCK, nRF24L01 從MOSI 讀入 1 位數(shù)據(jù),同時從 MISO 輸出 1 位數(shù)據(jù) byte |= MISO。 // 讀 MISO 到 byte 最低位 SCK = 0。 // SCK 置低 } return(byte)。 // 返回讀出的一字節(jié) } /**************************************************/ 48 /************************************************** 函數(shù): SPI_RW_Reg() 描述: 寫數(shù)據(jù) value 到 reg 寄存器 /**************************************************/ uchar SPI_RW_Reg(uchar reg, uchar value) { uchar status。 CSN = 0。 // CSN 置低,開始傳輸數(shù)據(jù) status = SPI_RW(reg)。 // 選擇寄存器,同時返回狀態(tài)字 SPI_RW(value)。 // 然后寫數(shù)據(jù)到該寄存器 CSN = 1。 // CSN 拉高,結(jié)束數(shù)據(jù)傳輸 return(status)。 // 返回狀態(tài)寄存器 } /**************************************************/ /************************************************** 函數(shù): SPI_Read() 描述: 49 從 reg 寄存器讀一字節(jié) /**************************************************/ uchar SPI_Read(uchar reg) { uchar reg_val。 CSN = 0。 // CSN 置低,開始傳輸數(shù)據(jù) SPI_RW(reg)。 // 選擇寄存器 reg_val = SPI_RW(0)。 // 然
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1