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

正文內(nèi)容

基于單片機(jī)的鍵盤(pán)無(wú)線(xiàn)數(shù)據(jù)通信系統(tǒng)畢業(yè)設(shè)計(jì)(文件)

 

【正文】 相隔 8MHz的兩個(gè) 1Mbps MCU :  數(shù)字信道 1:CLK1,DATA,DR1。當(dāng)微控制器有數(shù)據(jù)要發(fā)送時(shí),把 CE 置高,nRF2401 射頻前端被激活。由于 DR 引腳沒(méi)用上,所有的地址和 CRC 校驗(yàn)必須在微控制器內(nèi)部進(jìn)行。最后清除 NRF24L01 的狀態(tài)寄存器,再次為下一次數(shù)據(jù)的接收做好準(zhǔn)備。 ( 3) 接 口 使 用 一 根 信 號(hào) 線(xiàn) 和 一 根 信 號(hào) 返 回 線(xiàn) 而 構(gòu) 成 共 地 的 傳 輸 形 式 , 這 種 共 地傳 輸 容 易 產(chǎn) 生 共 模 干 擾 , 所 以 抗 噪 聲 干 擾 性 弱 。 在 本 設(shè) 計(jì) 中 MAX232 與 單 片 機(jī) 的串 口 通 信 原 理 圖 如 下 所 示 :上圖為本設(shè)計(jì)應(yīng)用的 RS232 串行通信原理圖PS/2 接口的鍵盤(pán)與無(wú)線(xiàn)發(fā)射模塊的數(shù)據(jù)傳送應(yīng)用技術(shù)在本設(shè)計(jì)中 PS/2 鍵盤(pán)與單片機(jī)的連接方式如圖 9 所示。傳輸?shù)拿恳粠?11 位組成,發(fā)送時(shí)序及每一位的含義如圖 7 所示。在此過(guò)程中,從設(shè)備在不超過(guò) 10us 的間隔內(nèi)必須檢查這個(gè)狀態(tài),當(dāng)設(shè)備檢測(cè)到這個(gè)狀態(tài)時(shí),它將開(kāi)始產(chǎn)生時(shí)鐘信號(hào)。主設(shè)備到從設(shè)備通信過(guò)程中,主設(shè)備總是在時(shí)鐘線(xiàn)為低電平時(shí)改變數(shù)據(jù)線(xiàn)的狀態(tài),從設(shè)備在時(shí)鐘上升沿讀人數(shù)據(jù)線(xiàn)狀態(tài)。當(dāng) nRF24L01 工作后,才把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)按時(shí)序送入 nRF24L01,隨后微控制器把 CE 置低,激發(fā)nRF24L01 進(jìn)行 ShockBurstTM 發(fā)射。六、PCB 電路板制作的關(guān)鍵技術(shù)材料PCB 電路圖第 17 頁(yè) 共 35 頁(yè) 圖 基于 PS/2 接口的無(wú)線(xiàn)數(shù)據(jù)傳送系統(tǒng)的 PCB 圖裝配圖元件清單第 18 頁(yè) 共 35 頁(yè)元件標(biāo)號(hào) 封裝 參數(shù)C1 104C2 104C3 104C4 104C5 104C6 104C7 104C8 104C9 104C10 220UC11 10UC12 10UC13 C14 20C15 20C16 20C17 20C18 100UC19 100UC20 100UC21 100UD1 led LEDD2 led  J1 sip4 ISPJ2 USB1 USBJ3 DB9RA/M DB9JP1 IDC10 24L01LED1 led LEDR1 1KR2 1KR3 1KR4 1KR5 10KR6 22R7 22RP1 SIP9 10KS1 BUT1 TESTU1 SOJ28 PDIUSBD12U2 DIP40 8051U3 DIP16 MAX232U4 AS1117a AMS1117Y1 XTAL1 6MY2 XTAL1 第 19 頁(yè) 共 35 頁(yè)七、軟件設(shè)計(jì)流程圖主程序流程圖主程序先對(duì)系統(tǒng)初始化,接收機(jī)初始化后等待進(jìn)入中斷接收數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù)傳給芯片轉(zhuǎn)換。其程序流程圖如圖 12 所示。void Delay_NS(uint x){ for(。 for(i=0。j++)。 KB_DATA=0。 while(!KB_CLK)。 KB_DATA = datamp。 dat=1。break。 KB_DATA =1。 }uchar Key_Scan(void){ uchar i,key_temp。while(KB_CLK)。 while(!KB_CLK)。 } }while(KB_CLK)。i49。i37。i18。}uchar Get_Key(void){ uchar Key_Code[3],temp=0xff。 temp=key2asc(Key_Code[0])。 Delay_NS(2022)。 Send_Key(0x07)。UsartInt()。 P1^=1。uint8 i=2。 第 25 頁(yè) 共 35 頁(yè) } else { Buf[2]=hid_code。i++){ if(asc_code==hidasciicode[i][1]) { temp= hidasciicode[i][0]。i++){ if(asc_code==hidcontrolcode[i][1]) { temp= hidcontrolcode[i][0]。i++){ if(asc_code==E0startedcode[i][1]) { temp= E0startedcode[i][0]。 uint8 InterruptSource。 init_NRF24L01()。 Prints(Your D12 chip\39。 UsbConnect()。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 if(InterruptSourceamp。 } if(ConfigValue!=0) { if(!Ep1InIsBusy) { SetRX_Mode()。 SendReport(hid_code)。 D12SetPortOut()。 }uint8 D12ReadByte(void){ uint8 temp。 D12SetRd()。 //寫(xiě)讀 ID 命令 id=D12ReadByte()。 D12ClrWr()。 D12SetPortIn()。 //選擇端點(diǎn)的命令}void D12ClearBuffer(void){ D12WriteCommand(D12_CLEAR_BUFFER)。 D12WriteCommand(D12_ACKNOWLEDGE_SETUP)。 D12ReadByte()。 PrintLongInt(Endp/2)。\r\n)。 *(Buf+i)=D12GetData()。 endif }第 29 頁(yè) 共 35 頁(yè)ifdef DEBUG1 if((j%16)!=0)Prints(\r\n)。 D12SelectEndpoint(Endp)。 ifdef DEBUG1 Prints(寫(xiě)端點(diǎn))。 Prints(字節(jié)。iLen。ifdef DEBUG1 PrintHex(*(Buf+i))。 D12ValidateBuffer()。 }void D12SetEndpointEnable(uint8 Enable){ D12WriteCommand(D12_SET_ENDPOINT_ENABLE)。typedef unsigned char uint。sbit CE =P0^0。sbit LED=P2^1。void init_NRF24L01(void)。uint SPI_RW_Reg(uchar reg, uchar value)。uint bdata sta。void inerDelay_us(unsigned char n){for(。 CE=0。SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH)。 SPI_RW_Reg(WRITE_REG + RF_CH, 0)。 }uint SPI_RW(uint uchar){uint bit_ctr。 0x80)。 inerDelay_us(10)。 } return(uchar)。SPI_RW(reg)。return(reg_val)。第 33 頁(yè) 共 35 頁(yè)status = SPI_RW(reg)。 }uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars){uint status,uchar_ctr。 for(uchar_ctr=0。 inerDelay_us(10)。 inerDelay_us(10)。 uchar_ctr++) SPI_RW(*pBuf++)。inerDelay_us(10)。sta=SPI_Read(STATUS)。// read receive payload from RX_FIFO bufferrevale =1。軟件調(diào)試用Keil C51 編譯器,源程序編譯應(yīng)分段或以子程序?yàn)閱挝恢饌€(gè)進(jìn)行,最后可結(jié)合硬件運(yùn)行調(diào)試。第 35 頁(yè) 共 35 頁(yè)參 考 文 獻(xiàn)[1] 李建忠. :西安電子科技大學(xué)出版社,[2] 單片機(jī) C :電子工業(yè)出版社 ,。通過(guò)調(diào)試后,可驗(yàn)證無(wú)線(xiàn)數(shù)據(jù)傳送系統(tǒng)的數(shù)據(jù)傳送良好。 return revale。 inerDelay_us(10)。 inerDelay_us(130)。 return(status)。 for(uchar_ctr=0。 }uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars){uint status,uchar_ctr。uchar_ctr++)pBuf[uchar_ctr] = SPI_RW(0)。 inerDelay_us(10)。 CSN = 1。CSN = 0。 CSN = 1。CSN = 0。 inerDelay_us(10)。uchar = (uchar 1)。bit_ctr8。SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 第 32 頁(yè) 共 35 頁(yè) SCK=0。n)_nop_()。sbit TX_DS =sta^5。uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars)。uchar SPI_Read(uchar reg)。uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}。sbit IRQ =P0^3。sbit MOSI =P0^4。 } else { D12WriteByte(0x00)。 }void D12SetAddress(uint8 Addr){第 30 頁(yè) 共 35 頁(yè) D12WriteCommand(D12_SET_ADDRESS_ENABLE)。 endif }ifdef DEBUG1 if((Len%16)!=
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1