NRF24L01流程图、引脚定义NYYNN开始时钟IC、LCD液晶、温度传感器初始化nRF24L01配置模式判断键盘是否有动作?数据采集和显示将采集到的数据装入发射寄存器启动发射发射是否完成?按键处理子程序是否处理完?NNYYN开始串行通信初始化启动接收判断是否有数据更新?读取新接收到的数据将数据装入串口缓冲器等待发送判断发送是否结束?nRF24L01配置模式NYNYN扫描整个键盘延时,去抖动是否真有键按下?扫描第一行扫描第二行返回键值返回是否有键按下?是否有键按下?NYNYYN扫描整个键盘延时,去抖动是否真有键按下?扫描第一行扫描第二行返回键值返回是否有键按下?是否有键按下?引脚名称引脚功能描述1CE数字输入片内使能启动接收或发射模式2CSN数字输入SPI片选3SCK数字输入SPI时钟4MOSI数字输入SPI从机数据输入5MISO数字输出SPI从机数据输出6IRQ数字输出中断标志引脚,低电平有效7VDD电源供电电源(+1.9V~+3.6VDC)8VSS电源接地9XC2模拟输出晶振引脚210XC1模拟输入晶振引脚111VDD_PA电源输出电源输出以提供电源给nRF24L01内部功率放大器,必须与天线接口相连接12ANT1RF天线接口113ANT2RF天线接口214VSS电源接地线15VDD电源供电电源(+1.9V~+3.6VDC)16IREF模拟输入参考电流,与一个22kΩ电阻连接到地17VSS电源接地线18VDD电源供电电源(+1.9V~+3.6VDC)19DVDD电源输出内部数据供电输出20VSS电源接地线开始上电待机模式ICE=1?有数据包在FIFO?发射处理发射模式发送数据包自动重发使能?NO_ACK有效?接收处理接收模式应答是否接收到?应答加载了?把ACK加载到接收FIFO置位TX_DSIRQ停止?待机模式IARD消除了?重试次数是否等于ARC发射处理发射模式重发上一次数据包置位MAX_RTIRQ置位TX_DSIRQCE=1?有数据包在FIFO?有数据包在FIFO?CE=1?待机模式II接收模式待机模式ICE=1?CE=1?接收处理开始上电接收FIFO满了?接收到数据包?自动应答使能?是新数据包吗?把数据包放入接收FIFO并置位RX_DRIRQ丢弃该数据包把数据包放入接收FIFO并置位RX_DRIRQ置位TX_DSIRQ有伴随着上一应答吗?无应答设置在接收包放入TXFIFO?发射处理发射模式发送应答发射处理发射模式发送应答和数据包开始初始化串口数据发送结束?把数据装载到SBUF结束STC89C58nRF24L01无线模块LCD液晶显示模块时钟模块温度传感器键盘模块STC89C52RS232串行传输nRF24L01无线模块PC机