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

正文內(nèi)容

基于單片機(jī)的鍵盤無線數(shù)據(jù)通信系統(tǒng)畢業(yè)設(shè)計(參考版)

2025-07-05 16:02本頁面
  

【正文】 第 34 頁 共 34 頁 參 考 文 獻(xiàn) [1] 李建忠 .單片機(jī)原理及應(yīng)用 .西安 :西安電子科技大學(xué)出版社 , [2] 郭天祥 .51 單片機(jī) C 語言教程 .北京 :電子工業(yè)出版社 , 。 通過調(diào)試后,可驗證無線數(shù)據(jù)傳送系統(tǒng)的數(shù)據(jù)傳送良好。 軟件調(diào)試用 Keil C51 編譯器,源程序編譯應(yīng)分段或以子程序為單位逐個進(jìn)行,最后可結(jié)合硬件運(yùn)行調(diào)試。 return revale。// read receive payload from RX_FIFO buffer revale =1。 inerDelay_us(10)。 sta=SPI_Read(STATUS)。 inerDelay_us(130)。 inerDelay_us(10)。 return(status)。 uchar_ctr++) SPI_RW(*pBuf++)。 for(uchar_ctr=0。 inerDelay_us(10)。 } uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars) { uint status,uchar_ctr。 inerDelay_us(10)。uchar_ctr++) pBuf[uchar_ctr] = SPI_RW(0)。 for(uchar_ctr=0。 inerDelay_us(10)。 } uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars) { uint status,uchar_ctr。 CSN = 1。 第 32 頁 共 34 頁 status = SPI_RW(reg)。 CSN = 0。 return(reg_val)。 CSN = 1。 SPI_RW(reg)。 CSN = 0。 } return(uchar)。 inerDelay_us(10)。 inerDelay_us(10)。 uchar = (uchar 1)。 0x80)。bit_ctr8。 } uint SPI_RW(uint uchar) { uint bit_ctr。 SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 SPI_RW_Reg(WRITE_REG + RF_CH, 0)。 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH)。 第 31 頁 共 34 頁 SCK=0。 CE=0。n) _nop_()。 void inerDelay_us(unsigned char n) { for(。 sbit TX_DS =sta^5。 uint bdata sta。 uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars)。 uint SPI_RW_Reg(uchar reg, uchar value)。 uchar SPI_Read(uchar reg)。 void init_NRF24L01(void)。 uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}。 sbit LED=P2^1。 sbit IRQ =P0^3。 sbit CE =P0^0。 sbit MOSI =P0^4。 typedef unsigned char uint。 } else { D12WriteByte(0x00)。 } void D12SetEndpointEnable(uint8 Enable) { D12WriteCommand(D12_SET_ENDPOINT_ENABLE)。 } void D12SetAddress(uint8 Addr) { 第 29 頁 共 34 頁 D12WriteCommand(D12_SET_ADDRESS_ENABLE)。 D12ValidateBuffer()。 endif } ifdef DEBUG1 if((Len%16)!=0)Prints(\r\n)。 ifdef DEBUG1 PrintHex(*(Buf+i))。 D12SetData(*(Buf+i))。iLen。 endif D12SetPortOut()。 Prints(字節(jié)。 Prints(緩沖區(qū) )。 ifdef DEBUG1 Prints(寫端點 )。 D12WriteByte(0)。 D12SelectEndpoint(Endp)。 } void D12ValidateBuffer(void) { D12WriteCommand(D12_VALIDATE_BUFFER)。 endif } 第 28 頁 共 34 頁 ifdef DEBUG1 if((j%16)!=0)Prints(\r\n)。 ifdef DEBUG1 PrintHex(*(Buf+i))。 *(Buf+i)=D12GetData()。ij。 \r\n)。 PrintLongInt(j)。 PrintLongInt(Endp/2)。 if(jLen) { j=Len。 D12ReadByte()。 D12SelectEndpoint(Endp)。 D12WriteCommand(D12_ACKNOWLEDGE_SETUP)。 D12WriteCommand(D12_ACKNOWLEDGE_SETUP)。 //選擇端點的命令 } void D12ClearBuffer(void) { D12WriteCommand(D12_CLEAR_BUFFER)。 //讀取端點最后狀態(tài)的命令 第 27 頁 共 34 頁 return D12ReadByte()。 D12SetPortIn()。 D12SetData(Value)。 D12ClrWr()。 //讀回 ID 號高字節(jié) return id。 //寫讀 ID 命令 id=D12ReadByte()。 } uint16 D12ReadID(void) { uint16 id。 D12SetRd()。 D12ClrRd()。 } uint8 D12ReadByte(void) { uint8 temp。 D12SetWr()。 D12SetPortOut()。 } } 第 26 頁 共 34 頁 } } } USB 接口通信程序 include include include void D12WriteCommand(uint8 Command) { D12SetCommandAddr()。 SendReport(hid_code)。 P2^=2。 } if(ConfigValue!=0) { if(!Ep1InIsBusy) { SetRX_Mode()。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 while(1) { if(D12GetIntPin()==0) //如果有中斷發(fā)生 { D12WriteCommand(READ_INTERRUPT_REGISTER)。 UsbConnect()。 PrintShortIntHex(id)。 Prints(Your D12 chip\39。 nRF24L01_RxPacket(RxBuf)。 init_NRF24L01()。 EA=1。 uint8 InterruptSource。 } } } return temp。i++) { if(asc_code==E0startedcode[i][1]) { temp= E0startedcode[i][0]。 } } } if(temp==0xff) { for(i=0。i++) { if(asc_code==hidcontrolcode[i][1]) { temp= hidcontrolcode[i][0]。 } } if(temp==0xff) { for(i=0。i++) { if(asc_code==hidasciicode[i][1]) { temp= hidasciicode[i][0]。 for(i=0。 第 24 頁 共 34 頁 } else { Buf[2]=hid_code。 } else if(hid_code==KeyLShift) { Buf[0]|=0x02。 uint8 i=2。 } delay_nms(100)。 P1^=1。 for(。 UsartInt()。 } int main() { uchar Key_Code。 Send_Key(0x07)。 } void LED_Indication() 第 23 頁 共 34 頁 { Send_Key(0xED)。 Delay_NS(20xx)。temp)。 temp=key2asc(Key_Code[0])。 Key_Code[1]=Key_Scan()。 } uchar Get_Key(void) { uchar Key_Code[3],temp=0xff。 break。i18。 break。i37。 break。i49。 } unsigned char key2asc(unsigned char Key) { unsigned char temp=0xff,i。 } } whi
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1