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

正文內容

基于stc89s52單片機的無線投票器設計-預覽頁

2025-01-08 09:29 上一頁面

下一頁面
 

【正文】 統(tǒng)程序設計流程圖 此系統(tǒng)中用到單片機的部分功能:鍵盤擴展,程序中斷, I/O 控制等。 本設計軟件編譯使用的是 uVision2 編譯器。 圖 15 發(fā)射板流程圖 圖 16 接收板程序流程圖 18 圖 17 選擇芯片界面設置 程序代碼編寫完后需要編譯鏈接生成目標代碼,然后進行硬件調試或模擬仿真,編譯代碼可以點擊 或鍵盤的快捷鍵 F7。 19 圖 19 STC 程序下載界面 液晶顯示程序設計 LCD1602 己很普遍了,市面上字符液晶絕大多數(shù)基于 HD44780 液晶芯片的,控制原理就是完全相同的, HD44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶,字符型 LCD 通常有 14 條引腳線或 16 條引腳線的 LCD,多出來的 2 條是背光電源線 VCC 和地線 GND,其控制原理與 14 條引腳線的 LCD 完全一樣的。 顯示開關控制指令 設定顯示屏或光標移動方向指令 —— 功能:是光標移動或使整個顯示屏幕移位。 讀取忙信號或 AC 地址指令 —— 功能:讀取忙碌信號 BF的內容, BF=1 表示液晶顯示器忙,暫時無法接受單片機送來的數(shù)據(jù)或指令;讀取地址計數(shù)器(AC)的內容。 21 圖 20 LCD1602 液晶顯示模塊的流程圖 22 NRF24L01 模塊程序設計 該射頻模塊集成了 NORDIC 公司生產的無線射頻芯片 nRF24L01: 1.支持 的全球開放 ISM 頻段,最大發(fā)射功率為 0dBm 2. 2Mbps,傳輸速率高 3.功耗低,等待 模式時電流消耗僅 22uA 4.多頻點( 125 個),滿足多點通信及跳頻通信需求 5.在空曠場地,有效通信距離: 25m(外置天線)、 10m( PCB 天線) 6.工作原理簡介: 發(fā)射數(shù)據(jù)時,首先將 nRF24L01 配置為發(fā)射模式,接著把地址 TX_ADDR 和數(shù)據(jù) TX_PLD 按照時序由 SPI 口寫入 nRF24L01 緩存區(qū), TX_PLD 必須在 CSN 為低時連續(xù)寫入,而 TX_ADDR 在發(fā)射時寫入一次即可,然后 CE 置為高電平并保持至少10μ s,延遲 130μ s 后發(fā)射數(shù)據(jù);若自動應答開啟,那么 nRF24L01 在發(fā)射數(shù)據(jù)后立即進入接收模 式,接收應答信號。當接收方檢測到有效的地址和 CRC 時,就將數(shù)據(jù)包存儲在接收堆棧中,同時中斷標志位 RX_DR 置高, IRQ 變低,以便通知 MCU去取數(shù)據(jù)。 23 YES 開始上電 待機模式 I CE=1? 有數(shù)據(jù)包在 FIFO? 發(fā)射處理 發(fā)射模式發(fā)送數(shù)據(jù)包 自動重發(fā)使能? NO_ACK有效? 接收處理 接收模式 應答是否接收到? 應答 加載了? 把 ACK加載到接收 FIFO 置位 TX_DS IRQ 停止? 待機模式 I ARD 消除了? 重試次數(shù)是否等于 ARC 發(fā)射處理 發(fā)射模式 重發(fā)上一次數(shù)據(jù)包 置位 MAX_RT IRQ 置位 TX_DS IRQ CE=1? 有數(shù)據(jù)包在 FIFO? 有數(shù)據(jù)包 在 FIFO? CE=1? 待機模式 II 24 圖 21 nRF24L01 無線模塊的軟件流程圖 5 調試結果與分析 測試儀器 萬用表,數(shù)字示波器 。 在檢查完硬件電路沒有短路、斷路的情況下,接通電源,并且測試各個集成片的電源電壓是否符合要求,以及單片機晶振是否起振,只有晶振正常起振單片機才能工作,通過檢測,上述情況均正常。 //****************************************NRF24L01 端口定義*************************************** sbit MISO =P1^5。 sbit CSN =P1^2。 sbit LCD_E =P2^7。 //************************************數(shù)碼管位選********************************************* sbit led1=P3^2。 //本地地址 uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}。 uint SPI_RW(uint uchar)。 uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars)。 //*****************************************長延時***************************************** void Delay(unsigned int s) { unsigned int i。 for(i=0。 //狀態(tài)標志 sbit RX_DR =sta^6。n0。 // chip enable CSN=1。 // 寫接收端地址 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 //設置接收數(shù)據(jù)長度,本次設置為 32 字節(jié) SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。bit_ctr++) // output 8bit { MOSI = (uchar amp。, MSB to MOSI uchar = (uchar 1)。 // ..then set SCK low again } return(uchar)。 // Select register to read from.. reg_val = SPI_RW(0)。 CSN = 0。 // CSN high again return(status)。 // Select register to write to and read status uchar for(uchar_ctr=0。 return(status)。 for(uchar_ctr=0。 //關閉 SPI return(status)。 inerDelay_us(130)。 //SPI 使能 SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH)。 } /*********************************************************************************************************** /*函數(shù): void nRF24L01_TxPacket(unsigned char * tx_buf) /*功能:發(fā)送 tx_buf 中數(shù)據(jù) /**********************************************************************************************************/ void nRF24L01_TxPacket(unsigned char * tx_buf) { CE=0。 // IRQ 收發(fā)完成中斷響應, 16位 CRC,主發(fā)送 CE=1。 // unsigned char RxBuf[20]={0}。 } else { led1=1。 } else { led2=1。 } else { led3=1。 TxBuf[2] = 0x00。 Delay(10
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1