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

正文內(nèi)容

基于單片機(jī)的無線防盜警報(bào)器設(shè)計(jì)-閱讀頁

2025-07-05 12:42本頁面
  

【正文】 sbit NRF24L01_MOSI = P3^1。 //輸出中斷sbit NRF24L01_MISO = P3^3。 //時(shí)鐘脈沖sbit NRF24L01_CE = P3^5。//NRF24L01狀態(tài)標(biāo)志sbit MAX_RT = NRF24L01_Stus^4。若MAX_RT中斷產(chǎn)生必須清除后才能進(jìn)行通訊sbit TX_DS = NRF24L01_Stus^5。寫“0”清除中斷。 //接受數(shù)據(jù)中斷,收到有效數(shù)據(jù)包后置“1”。unsigned char const TX_ADDRESS[TX_ADR_WIDTH]= {4,3,2,1,0}。 //接收地址//============================================================// 實(shí)現(xiàn)功能:SPI接口讀寫一個(gè)字節(jié)(讀寫合并到一起) // 輸入?yún)?shù):Data:寫操作,待寫一字節(jié)數(shù)據(jù) // 輸出參數(shù):Data:讀操作,返回一字節(jié)數(shù)據(jù) // 程序說明:SPI接口協(xié)議讀寫操作,下降沿讀取數(shù)據(jù),上升沿寫入數(shù)據(jù) //============================================================unsigned char NRF24L01_SPI_RW(unsigned char Data){ unsigned char i。 //上升沿寫入數(shù)據(jù) for(i=0。i++) //for循環(huán)輸出8位,一個(gè)字節(jié) { NRF24L01_MOSI=(Dataamp。 //單片機(jī)輸出高位,MSB(最高有效位)to MOSI(主機(jī)輸出從機(jī)輸入) Data=(Data1)。 //設(shè)置SCK為高電平,SPI時(shí)鐘模擬 Data |= NRF24L01_MISO。 //設(shè)置SCK為低電平,SPI時(shí)鐘模擬 Delay_2us(10)。 //返回讀取的值}//============================================================// 實(shí)現(xiàn)功能:從寄存器讀出一個(gè)字節(jié)(0x20+寄存器地址)// 輸入?yún)?shù):Regt:寄存器地址// 輸出參數(shù):Data:寫入寄存器的數(shù)據(jù) //============================================================unsigned char NRF24L01_ReadData(unsigned char Regt){ unsigned char Data。 //CSN=0,片選使能有效(低電平有效) NRF24L01_SPI_RW(Regt+NRF24L01_READ_REG)。 //讀取寄存器內(nèi)部數(shù)據(jù) NRF24L01_CSN=1。 //返回寄存器有效值}//============================================================// 實(shí)現(xiàn)功能:向寄存器寫入一個(gè)字節(jié)(0x00+寄存器地址) // 輸入?yún)?shù):Regt:寄存器地址 // Data:寫入寄存器的數(shù)據(jù)// 輸出參數(shù):Status:返回的狀態(tài)值 //============================================================unsigned char NRF24L01_WrteData(unsigned char Regt, unsigned char Data){ unsigned char Stus。 //CSN=0, 片選使能有效 Stus=NRF24L01_SPI_RW(Regt+NRF24L01_WRITE_REG)。 //寫入寄存器內(nèi)部數(shù)據(jù) NRF24L01_CSN=1。 //返回寄存器寫操作狀態(tài)}//============================================================// 實(shí)現(xiàn)功能:讀取接收數(shù)據(jù),讀出多個(gè)字節(jié) // 輸入?yún)?shù):Comd:寄存器地址指令 // pDat:為待讀出數(shù)據(jù)地址// Cout:讀出數(shù)據(jù)的個(gè)數(shù)// 輸出參數(shù):無//============================================================unsigned char NRF24L01_ReadBuff(unsigned char Comd, unsigned char *pDat, unsigned char Cout){ unsigned char Stus,i。 //CSN=0, 片選使能有效 Stus=NRF24L01_SPI_RW(Comd)。iCout。 NRF24L01_CSN=1。 //返回寄存器讀操作狀態(tài) }//============================================================// 實(shí)現(xiàn)功能:寫入待發(fā)送的數(shù)據(jù),寫入多個(gè)字節(jié) // 輸入?yún)?shù):Comd:寄存器地址指令 // pDat:為待讀出數(shù)據(jù)地址// Byte_Count:讀出數(shù)據(jù)的個(gè)數(shù)// 輸出參數(shù):Status:返回的狀態(tài)值 //============================================================unsigned char NRF24L01_WrteBuff(unsigned char Comd, unsigned char *pDat, unsigned char Cout){ unsigned char Stus。 //定義局部變量,用于循環(huán) NRF24L01_CSN=0。 //寫入讀取寄存器指令 for(i=0。 i++) //寫入數(shù)據(jù) NRF24L01_SPI_RW(*pDat++)。 //CSN=1, 片選無效, 終止SPI(串行外圍接口)通信 return(Stus)。 //延時(shí)約100us NRF24L01_CE=0。 //拉高NRF24L01_CSN //CSN=1, 片選無效, 終止SPI(串行外圍接口)通信 NRF24L01_SCK=0。 //寫發(fā)送端地址(貝) NRF24L01_WrteBuff(NRF24L01_WRITE_REG+NRF24L01_RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH)。 //NRF24L01_EN_RXADDR接收地址允許寄存器,0x01,接收數(shù)據(jù)通道0允許 NRF24L01_WrteData(NRF24L01_EN_RXADDR, 0x01)。 //NRF24L01_RF_CH射頻通道寄存器,0x00,收發(fā)必須一致,范圍0127 NRF24L01_WrteData(NRF24L01_RF_CH, 0x00)。 //NRF24L01_RF_SETUP射頻寄存器,0x07,設(shè)置發(fā)射速率為1MHZ,發(fā)射功率為最大值0dB,低噪聲放大增益為“1” NRF24L01_WrteData(NRF24L01_RF_SETUP, 0x07)。 //定義局部變量,用于循環(huán) NRF24L01_Stus=NRF24L01_ReadData(NRF24L01_STATUS)。 //StandBy I模式(待機(jī)模式I) NRF24L01_ReadBuff(NRF24L01_RD_RX_PLOAD,RX_buf,TX_PLOAD_WIDTH)。 //讀取數(shù)據(jù)完成標(biāo)志 NRF24L01_CE = 1。 //接收到數(shù)據(jù)后RX_DR,TX_DS,MAX_PT都置高為1,通過寫1來清楚中斷標(biāo)志 return Flag。 //模式切換使能 NRF24L01_WrteBuff(NRF24L01_WRITE_REG+NRF24L01_RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH)。 //置PWR_UP位,允許CRC(2 bytes),工作模式:RX,允許RX_DR NRF24L01_CE = 1。} 設(shè)計(jì)的總程序//============================================================// 工程簡(jiǎn)述:基于單片機(jī)的無線防盜報(bào)警器的設(shè)計(jì)// 工程平臺(tái):STC89C52RC// 工程作者:王成龍// 工程創(chuàng)建:20150505// 工程版次:1// 工程創(chuàng)建:20150505//============================================================include //包含STC12C5Axx系列單片機(jī)頭文件include //包含通用子程序頭文件,如“延遲函數(shù)”、宏定義等include //包含NRF24L01無線傳輸芯片基本驅(qū)動(dòng)函數(shù)sbit led = P1^0。//**************控制端口定義//*************定義全部變量unsigned char RxData[1]={0}。 NRF24L01_Init()。 Delay_1ms(100)。 while(1) { NRF24L01_Mode_RX()。 if(RxData[0]==1) { led = 0。 } else { led = 1。 } Delay_1ms(50
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1