NRF905在51单片机上的发送与接收程序

上传人:第** 文档编号:37364711 上传时间:2018-04-15 格式:DOC 页数:10 大小:61KB
返回 下载 相关 举报
NRF905在51单片机上的发送与接收程序_第1页
第1页 / 共10页
NRF905在51单片机上的发送与接收程序_第2页
第2页 / 共10页
NRF905在51单片机上的发送与接收程序_第3页
第3页 / 共10页
NRF905在51单片机上的发送与接收程序_第4页
第4页 / 共10页
NRF905在51单片机上的发送与接收程序_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《NRF905在51单片机上的发送与接收程序》由会员分享,可在线阅读,更多相关《NRF905在51单片机上的发送与接收程序(10页珍藏版)》请在金锄头文库上搜索。

1、/这是在网上收集的程序,版权归原作者所有 NRF905 程序程序(发送部分发送部分) jxj2e1v8v 发表于 2008-3-31 1:56:00 #include #include #include #include #define uint unsigned int #define uchar unsigned char #define BYTE_BIT0 0x01 #define BYTE_BIT1 0x02 #define BYTE_BIT2 0x04 #define BYTE_BIT3 0x08 #define BYTE_BIT4 0x10 #define BYTE_BIT5 0x

2、20 #define BYTE_BIT6 0x40 #define BYTE_BIT7 0x80 /SPI 指令 #define WC 0x00 #define RC 0x10 #define WTP 0x20 #define RTP 0x21 #define WTA 0x22 #define RTA 0x23 #define RRP 0x24 bdata unsigned char DATA_BUF; #define DATA7 (DATA_BUF sbit flag1 =DATA_BUF0; #define TxRxBuf_Len 32 unsigned char TxRxBufTxRxB

3、uf_Len= 0x01,0x02,0x03,0x4,0x05,0x06,0x07,0x08, 0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16, 0x17,0x18,0x19,0x20,0x21,0x22,0x23,0x24, 0x25,0x26,0x27,0x28,0x29,0x30,0x31,0x32, ; /配置口定义/ sbit TXEN=P10; sbit TRX_CE=P32; sbit PWR=P11; sbit MISO=P16;sbit MOSI=P15; sbit SCK=P17; sbit CSN=P13; / sbit AM=P14; s

4、bit DR=P33; sbit CD=P12; / /sbit DQ=P35 ; /RF 寄存器配置/ unsigned char idata RFConf11= 0x00, /配置命令/0x4c, /CH_NO,配置频段在 423MHZ0x0C, /输出功率为 10db,不重发,节电为正常模式0x44, /地址宽度设置,为 4 字节0x20,0x20, /接收发送有效数据长度为 32 字节0xCC,0xCC,0xCC,0xCC, /接收地址0x58, /CRC 充许,8 位 CRC 校验,外部时钟信号不使 能,16M 晶振 ; bit lcdbit; code TxAddress4=0xc

5、c,0xcc,0xcc,0xcc; /延时/ static void Delay(uchar n) uint i;while(n-)for(i=0;i=650us) unsigned char CheckCD(void) /Pin-检查是否已存在 同频率载波 if (CD=1)return 1;elsereturn 0; void TX(void) SetTxMode();/ Set nRF905 in Tx modeTxPacket();/ Send data by nRF905CheckCD(); / 返回 CD 的当前电平/ SetRF_PA_PWR(unsigned char i);

6、/设置发射功率 void main(void) Inituart();nRF905Init();Config905();while(1)TX(); NRF905 程序程序(接收部分接收部分) jxj2e1v8v 发表于 2008-3-31 1:57:00 #include #include #include #include #define uint unsigned int /0 255 #define uchar unsigned char/ #define BYTE_BIT0 0x01 #define BYTE_BIT1 0x02 #define BYTE_BIT2 0x04 #defi

7、ne BYTE_BIT3 0x08 #define BYTE_BIT4 0x10 #define BYTE_BIT5 0x20 #define BYTE_BIT6 0x40 #define BYTE_BIT7 0x80 / #define WC 0x00 #define RC 0x10 #define WTP 0x20 #define RTP 0x21 #define WTA 0x22 #define RTA 0x23 #define RRP 0x24 bdata unsigned char DATA_BUF; #define DATA7 (DATA_BUF sbit flag1 =DATA_

8、BUF0; #define TxRxBuf_Len 32 unsigned char TxRxBufferTxRxBuf_Len; sbit TXEN=P10; sbit TRX_CE=P32; sbit PWR=P11; sbit MISO=P16; sbit MOSI=P15; sbit SCK=P17; sbit CSN=P13; / sbit AM=P14; sbit DR=P33; sbit CD=P12; / /sbit DQ=P35 ; /RF 寄存器配置/ unsigned char idata RFConf11= 0x00, /配置命令/0x4c,0x0c,0x44,0x20

9、,0x20,0xcc,0xcc,0xcc,0xcc,0x58, /CRC 充许,8 位 CRC 校验,外部时钟信号不使能,16M 晶振 ;bit lcdbit; /80us 延时/ void Delay(uchar n) uint k;while(n-)for(k=0;k=650us) unsigned char CheckDR(void) /检查是否有新数据传入 Data Ready if (DR=1return 1;elsereturn 0; void RxPacket(void) /读数据 uchar i;Delay(1); / TRX_CE=0; / Set nRF905 in sta

10、ndby modeDelay(100);TRX_CE=0;CSN=0; / Spi enable for write a spi commandDelay(1);SpiWrite(RRP);/ Delay(10000);/ Delay(10000); / Read payload commandfor (i = 0 ;i 32 ;i+) / Delay(10000);/ Delay(10000);/ Delay(10000);/ Delay(10000); TxRxBufferi=SpiRead(); / Read data and save to buffer/ Delay(10000);/

11、 Delay(10000);/ Delay(10000); CSN=1;Delay(10);/ Delay(10);TRX_CE=1; / void RX(void) SetRxMode(); / Set nRF905 in Rx mode/Delay(10000);while (CheckDR()=0);/Delay(10000);Delay(10);RxPacket();/Delay(10000); / Recive data by nRF905Delay(10); void StartUART( void ) /波特率 4800SCON = 0x50;TMOD = 0x20;TH1 =

12、0xFA;TL1 = 0xFA;PCON = 0x00;TR1 = 1; void R_S_Byte(uchar R_Byte) SBUF = R_Byte; while( TI = 0 ); /查询法TI = 0; void main(void) StartUART();nRF905Init();Config905();while(1)char i;RX();Delay(10);CSN=0; for(i=0;i32;i+)/ Delay(1000);P0=TxRxBuffer31;/ Delay(10);R_S_Byte(TxRxBufferi);/ Delay(10);CSN=1;Delay(1);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号