历史上的今天
返回首页

历史上的今天

今天是:2025年03月10日(星期一)

正在发生

2021年03月10日 | 51单片机用nrf905头文件

2021-03-10 来源:eefocus

简介:本文提供一个51单片机用nrf905头文件的代码。

#define nRFMainDev //主设备

//#define SysWaitTime 20//0.5*20=10S不压键停止闪烁

#define SysWaitTime 6//0.5*20=3S不压键停止闪烁

#define SysPushKeyTime 150//长压键150 * 20mS = 3。0S

#define T2_5mS -921.6*5//5ms 12MHz

/*------------------------------------------------

AT89S5X

--------------------------------------------------*/

sfr   AUXR    = 0x8e;

sfr   WDTRST  = 0xa6;

sfr16 TIMEER2 = 0xcc;

sfr16 RCAP    = 0xca;

//全局变量定义

typedef struct Systemstruct{//系统数据结构

//  unsigned char SystemFlage;//系统标志

  unsigned char TimeCount;

  unsigned int RamTest;

  unsigned char TestTime;

  unsigned char WaitTime;

  unsigned char KeyCount[4];

  unsigned char nRFTxCount;

  unsigned char nRFRxCount;

  unsigned char nRFTxBuff[32];

  unsigned char nRFRxBuff[32];

}SystemData;

//全局变量定义

typedef struct Siostruct{//系统数据结构

  unsigned char SioTxBuff[32];

  unsigned char SioRxBuff[32];

  unsigned char SioTXCount;

  unsigned char SioRXCount;

}SioData;

/*-----------------------------------------------

        nrf905管脚定义

------------------------------------------------*/

sbit TX_EN = P2^6;//0

sbit TRX_CE = P2^5;//0

sbit PWR_UP = P2^4;//1

sbit MISO = P2^3;//1

sbit MOSI = P2^2;//1

sbit SCK  = P2^1;//0

sbit CSN  = P2^0;//1

sbit AM  = P3^2;//1

sbit DR  = P3^3;//1

sbit CD  = P3^5;//1

sbit    KEY0    = P0^0;

sbit    KEY1    = P0^1;

sbit    KEY2    = P0^2;

sbit    KEY3    = P0^3;

sbit    LED0    = P0^4;

sbit    LED1    = P0^5;

sbit    LED2    = P0^6;

sbit    LED3    = P0^7;

#define Status_AM 0x80

#define Status_DR 0x20

/*-----------------------------------------------

        nrf905命令控制字

------------------------------------------------*/

#define WC  0x00   // Write configuration register command

#define RC  0x10    // Read  configuration register command

#define WTP  0x20    // Write TX Payload  command

#define RTP  0x21   // Read  TX Payload  command

#define WTA  0x22   // Write TX Address  command

#define RTA  0x23   // Read  TX Address  command

#define RRP  0x24   // Read  RX Payload  command

#define CC      0x80            // fast config

/*-------------------------------------------------------------------------------------------

        nrf905配置寄存器(10Byte)

工作频率f=(422.4+CH_NO/10)*(1+HFREQ_PLL)MHz

-------------------------------------------------------------------------------------------*/

#ifdef  nRFMainDev

#define RX_ADDRESS           0x00000000               //接收有效地址

//#define TX_ADDRESS           0x12345678               //发送有效地址

//#define TX_ADDRESS           0x02345678               //发送有效地址

#else

//#define RX_ADDRESS           0x12345678               //接收有效地址

#define RX_ADDRESS           0x12345678               //接收有效地址

//#define TX_ADDRESS           0x00000000               //发送有效地址

#endif

#define CH_NO_FREQ_422_4MHz  0x000                     //工作频率422.4MHz(433MHz频段最低频率)

#define CH_NO_FREQ_422_5MHz  0x001                     //工作频率422.5MHz

#define CH_NO_FREQ_425_0MHz  0x01a                     //工作频率425.0MHz

#define CH_NO_FREQ_427_5MHz  0x033                     //工作频率427.5MHz

#define CH_NO_FREQ_430_0MHz  0x04c                     //工作频率430.0MHz

#define CH_NO_FREQ_433_0MHz  0x06a                     //工作频率433.0MHz(433MHz频段基准频率)

#define CH_NO_FREQ_433_1MHz  0x06b                     //工作频率433.1MHz

#define CH_NO_FREQ_433_2MHz  0x06c                     //工作频率433.2MHz

#define CH_NO_FREQ_434_7MHz  0x07b                     //工作频率434.7MHz

#define CH_NO_FREQ_473_5MHz  0x1ff                     //工作频率473.5MHz(433MHz频段最高频率)

#define CH_NO_FREQ_844_8MHz  0x000                     //工作频率844.8MHz(868MHz频段最低频率)

#define CH_NO_FREQ_862_0MHz  0x056                     //工作频率862.0MHz

#define CH_NO_FREQ_868_0MHz  0x074                     //工作频率868.0MHz(868MHz频段基准频率)

#define CH_NO_FREQ_868_2MHz  0x075                     //工作频率868.2MHz

#define CH_NO_FREQ_868_4MHz  0x076                     //工作频率868.4MHz

#define CH_NO_FREQ_869_8MHz  0x07d                     //工作频率869.8MHz

#define CH_NO_FREQ_895_8MHz  0x0ff                     //工作频率895.8MHz

#define CH_NO_FREQ_896_0MHz  0x100                     //工作频率896.0MHz

#define CH_NO_FREQ_900_0MHz  0x114                     //工作频率900.0MHz

#define CH_NO_FREQ_902_2MHz  0x11f                     //工作频率902.2MHz

#define CH_NO_FREQ_902_4MHz  0x120                     //工作频率902.4MHz

#define CH_NO_FREQ_915_0MHz  0x15f                     //工作频率915.0MHz(915MHz频段基准频率)

#define CH_NO_FREQ_927_8MHz  0x19f                     //工作频率927.8MHz

#define CH_NO_FREQ_947_0MHz  0x1ff                     //工作频率947.0MHz(915MHz频段最高频率)

#define CH_NO_FREQ           CH_NO_FREQ_430_0MHz       //工作频率433.0MHz


#define CH_NO_BYTE           CH_NO_FREQ & 0xff         //工作频率低8位       Byte0       01101100

#define AUTO_RETRAN          0x20                      //重发数据包          Byte1.5     0

#define RX_RED_PWR           0x10                      //接收低功耗模式      Byte1.4     0

#define PA_PWR__10dBm        0x00                      //输出功率-10dBm      Byte1.3~2   00

#define PA_PWR_2dBm          0x04                      //输出功率+2dBm       Byte1.3~2

#define PA_PWR_6dBm          0x08                      //输出功率+6dBm       Byte1.3~2

#define PA_PWR_10dBm         0x0c                      //输出功率+10dBm      Byte1.3~2  

#define HFREQ_PLL_433MHz     0x00                      //工作在433MHz频段    Byte1.1     0

#define HFREQ_PLL_868MHz     0x02                      //工作在868MHz频段    Byte1.1

#define HFREQ_PLL_915MHz     0x02                      //工作在915MHz频段    Byte1.1

#define CH_NO_BIT8           CH_NO_FREQ >> 8           //工作频率第9位       Byte1.0     0

#define TX_AFW_1BYTE         1 * 16                    //发送地址宽度1字节   Byte2.7~4

#define TX_AFW_2BYTE         2 * 16                    //发送地址宽度2字节   Byte2.7~4

#define TX_AFW_3BYTE         3 * 16                    //发送地址宽度3字节   Byte2.7~4

#define TX_AFW_4BYTE         4 * 16                    //发送地址宽度4字节   Byte2.7~4   100

#define RX_AFW_1BYTE         1                         //接收地址宽度1字节   Byte2.3~0

#define RX_AFW_2BYTE         2                         //接收地址宽度2字节   Byte2.3~0

#define RX_AFW_3BYTE         3                         //接收地址宽度3字节   Byte2.3~0

推荐阅读

史海拾趣

Hongfa公司的发展小趣事

为了推动公司的进一步发展,宏发公司于2008年进行了股份制改造,并成立了“厦门宏发电声股份有限公司”。2012年,公司成功上市,通过资本市场获得了更多的资金支持和发展动力。上市后,宏发继续加大在技术研发、市场拓展和产能提升等方面的投入,不断巩固和扩大其在继电器行业的领先地位。同时,公司还积极履行社会责任,为行业发展和地方经济做出了积极贡献。

Antenova公司的发展小趣事

随着业务的快速发展,Antenova公司积极拓展全球市场。公司在全球范围内设立了多个研发中心和销售网络,以便更好地服务客户并拓展市场份额。通过与全球知名企业的合作,Antenova的产品得到了广泛应用,进一步提升了公司的品牌影响力和市场竞争力。

ALD [Advanced Linear Devices]公司的发展小趣事

除了优秀的产品外,Antenova公司还提供一系列专业的服务,包括产品结构确认和指导、主板Gerber文件和PCB堆叠预审和检查等。这些服务帮助客户更好地使用Antenova的产品,并提高了客户的满意度和忠诚度。通过提供卓越的服务,Antenova赢得了众多客户的信赖和支持,为公司的长期发展奠定了坚实基础。

Gustav Klauke GmbH公司的发展小趣事

Antenova公司积极寻求与其他行业领导者的战略合作,以推动公司的成长和发展。通过与全球知名的芯片制造商、设备生产商等建立合作关系,Antenova得以将其天线产品集成到更广泛的电子产品中,从而进一步扩大了市场份额。这些战略合作不仅提升了Antenova的品牌知名度,还为公司的长期发展提供了有力支持。

以上是关于Antenova公司发展起来的五个相关故事,这些故事展示了公司在技术创新、市场拓展、产品推出、专业服务以及战略合作等方面的努力和成就。这些成就为Antenova在电子行业中的成功奠定了坚实基础,并为公司未来的持续发展提供了有力保障。

乐鑫(espressif)公司的发展小趣事

乐鑫科技在发展过程中,与百度、亚马逊等全球知名企业建立了紧密的合作关系。通过与这些合作伙伴的共同努力,乐鑫科技成功开发了一系列具有市场影响力的语音框架和物联网解决方案,进一步提升了其品牌影响力和市场竞争力。

长江微电(cjiang)公司的发展小趣事

2022年8月,美国商务部出台了一项断供禁令,禁止向中国出售用于芯片设计的特定类型的EDA软件。这一制裁措施对中国的半导体行业造成了巨大冲击。然而,长江微电并未因此气馁,反而借此机会加大了对电感产品的研发力度。通过自主创新,公司成功开发出了一系列高性能、高品质的电感产品,满足了国内外客户的需求。这一成就不仅彰显了长江微电应对国际制裁的勇气和智慧,也为中国半导体行业的发展注入了新的活力。

问答坊 | AI 解惑

网络下载WINCE BIN报错,那位大侠能帮忙分析下

求助:我通过platform builter5.0下载WINCE nk.bin文件到ARM板中,提示如下错误: Warning:  Debugger service map is set to none.  If your image has debugging support it may not boot properly. Cannot access selecte ...…

查看全部问答>

基于SEED-DIM3517的网络电视机

基于SEED-DIM3517的网络电视机 [ 本帖最后由 youki12345 于 2010-11-9 15:17 编辑 ]…

查看全部问答>

lcd彩屏显示汉字问题

主要程序字库定义typedef struct typFont16    // 汉字字模数据结构 {    signed char Index[2];  //汉字     uc16 Msk[16] ...…

查看全部问答>

版主这个时序定时器要怎么配置才能实现

版主这个时序怎么定时器要怎么配置才能实现啊! 下载 (21.83 KB) 2010-3-1 14:41 …

查看全部问答>

从51到ARM,当然要从Cortex-M0开始!

Q1:Cortex-M0是什么?A:它是ARM公司为了占领单片机市场而推出的一款极具竞争力的MCU,该处理器是现有的最小、能耗最低和能效最高的 ARM 处理器。该处理器硅面积极小、能耗极低并且所需的代码量极少,这使得开发人员能够以 8 位的设备实现 32 位设备 ...…

查看全部问答>

Smart Grid and Renewable Energy《智能电网与可再生能源》期刊导读

Smart Grid and Renewable Energy《智能电网与可再生能源》期刊导读 ISSN: 2151-481X (Print) 2151-4844 (Online).《智能电网与可再生能源》SGRE免费下载网址: http://www.scirp.org/journal/sgre.   Table of Contents(Vol.02 No.02, May ...…

查看全部问答>

我的5110画图库--Nokia 5110液晶屏实现画点、画线、画矩形、画圆和画图

  最近花了好多时间终于完成了5110液晶屏的画图函数库,完善了画图的基本函数,有画点,画直线,画折线,画矩形,画圆和贴图的基本功能。函数库提供了使用缓冲区和不使用缓冲区的函数,可以根据需要灵活使用。单片机使用的是stm32,但是 ...…

查看全部问答>

芯朋微LED照明解决方案

芯朋微提供全面的LED照明解决方案,请大家参考,也希望能与我交流,谢谢。QQ:2217142156…

查看全部问答>

国家电网公司科技部下达2014年度公司技术标准制修订计划

近日,国家电网公司科技部下达2014年度公司技术标准制修订计划,共计306项技术标准制修订项目和6项技术标准专项研究项目获批立项。     其中中国电科院牵头的109项技术标准制修订项目于此次获批立项,占公司技术标准制修订项目总数的36% ...…

查看全部问答>

TMS320C6713B捕获脉冲上升沿和下降沿

请问各位高人: 本人之前主要使用TI2000系列,现刚接触6000系列不久,请问如何用TMS320C6713B捕获外部脉冲的上升沿和下降沿。…

查看全部问答>