📄 main.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 + -