⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 菜鸟,详细NRF24E1运用,程序,电路
💻 C
字号:
/**********************************
/代码部分
***********************************/
#include "reg24le1.h"
#include "intrins.h "
/**********************************/
#define  SPI_CLK     P00     
#define  SPI_DATA    P01     
#define  CS_DA       P02
#define  LED         P03     
#define  Disableint  do{EA=0;}while(0)
#define  Enableint   do{EA=1;}while(0)
/**********************************/
typedef unsigned int  uint;
typedef unsigned char uchar;
/**********************************/
code uint DA_data[256]= {			  
0x1FF,0x20C,0x218,0x225,0x231,0x23E,0x24A,0x256,
0x263,0x26F,0x27B,0x287,0x293,0x29F,0x2AB,0x2B7,
0x2C3,0x2CE,0x2DA,0x2E5,0x2F0,0x2FB,0x306,0x311,
0x31B,0x326,0x330,0x33A,0x343,0x34D,0x357,0x360,
0x369,0x371,0x37A,0x382,0x38A,0x392,0x39A,0x3A1,
0x3A8,0x3AF,0x3B6,0x3BC,0x3C2,0x3C8,0x3CD,0x3D3,
0x3D8,0x3DC,0x3E1,0x3E5,0x3E8,0x3EC,0x3EF,0x3F2,
0x3F5,0x3F7,0x3F9,0x3FB,0x3FC,0x3FD,0x3FE,0x3FE,
0x3FE,0x3FE,0x3FE,0x3FD,0x3FC,0x3FB,0x3F9,0x3F7,
0x3F5,0x3F2,0x3EF,0x3EC,0x3E8,0x3E5,0x3E1,0x3DC,
0x3D8,0x3D3,0x3CD,0x3C8,0x3C2,0x3BC,0x3B6,0x3AF,
0x3A8,0x3A1,0x39A,0x392,0x38A,0x382,0x37A,0x371,
0x369,0x360,0x357,0x34D,0x343,0x33A,0x330,0x326,
0x31B,0x311,0x306,0x2FB,0x2F0,0x2E5,0x2DA,0x2CE,
0x2C3,0x2B7,0x2AB,0x29F,0x293,0x287,0x27B,0x26F,
0x263,0x256,0x24A,0x23E,0x231,0x225,0x218,0x20C,
0x1FF,0x1F2,0x1E6,0x1D9,0x1CD,0x1C0,0x1B4,0x1A8,
0x19B,0x18F,0x183,0x177,0x16B,0x15F,0x153,0x147,
0x13B,0x130,0x124,0x119,0x10E,0x103,0x0F8,0x0ED,
0x0E3,0x0D8,0x0CE,0x0C4,0x0BB,0x0B1,0x0A7,0x09E,
0x095,0x08D,0x084,0x07C,0x074,0x06C,0x064,0x05D,
0x056,0x04F,0x048,0x042,0x03C,0x036,0x031,0x02B,
0x026,0x022,0x01D,0x019,0x016,0x012,0x00F,0x00C,
0x009,0x007,0x005,0x003,0x002,0x001,0x000,0x000,
0x000,0x000,0x000,0x001,0x002,0x003,0x005,0x007,
0x009,0x00C,0x00F,0x012,0x016,0x019,0x01D,0x022,
0x026,0x02B,0x031,0x036,0x03C,0x042,0x048,0x04F,
0x056,0x05D,0x064,0x06C,0x074,0x07C,0x084,0x08D,
0x095,0x09E,0x0A8,0x0B1,0x0BB,0x0C4,0x0CE,0x0D8,
0x0E3,0x0ED,0x0F8,0x103,0x10E,0x119,0x124,0x130,
0x13B,0x147,0x153,0x15F,0x16B,0x177,0x183,0x18F,
0x19B,0x1A8,0x1B4,0x1C0,0x1CD,0x1D9,0x1E6,0x1F2};
/**************************************
/
/用模拟SPI接口给TLC5615发数据
/
***************************************/
void DA_TLC_5615(uint Dat)
{
    uchar i;
	Dat<<=6;
    SPI_CLK=0;    /*时钟低	 */
    CS_DA=0;      /*片选有效 */
    for (i=0;i<12;i++)
   {
    if((Dat&0x8000)==0)
	{
	SPI_DATA=0;
	}
    else 
	{
	SPI_DATA=1;
    }
	SPI_CLK=1;    /*时钟高	 */
    Dat<<=1;      /*左移一位 */
    SPI_CLK=0;    /*时钟低	 */
   }
    CS_DA=1;      
} 
/****************************************
/
/nRF24LE1时钟设置函数
/
****************************************/
void WorkClkSet()
{
 CLKCTRL=0X28;
 CLKLFCTRL = 0x01;  
}
/****************************************
/
/初始化nRF24LE1的I/O口
/
****************************************/
void IOCNFG()
{											
P0DIR&=0xF0;/*设置控制器的P0.0~P0.3为输出*/
P0DIR =0X00;
CS_DA=1;               /*DA芯片不被选择*/
}
/****************************************
/
/设置一个状态LED
/
****************************************/
void Light_LED()
{
 static uint Cnt=0;
 if(Cnt!=10000) 
   {
    Cnt++;
   }
 else
   {
    Cnt=0;
	LED=!LED;
   }
}
/****************************************
/
/主函数
/
*****************************************/ 
void main(void)
{
 uint k;
 Disableint;
 WorkClkSet();
 IOCNFG();
 Enableint;
 while(1)
 {
  k++;
  if(k>=256)  
  {
  k=0;
  }	    
  DA_TLC_5615(DA_data[k]);
  Light_LED();
 }
}
/****************************************
/             程序结束                  /
****************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -