📄 tlc5615.c
字号:
#include<iom16v.h>
#include<macros.h>
//#include"TLC5615.h"
#define set5615 PORTA|=BIT(4)
#define clr5615 PORTA&=~BIT(4)
#define out5615 DDRA|=BIT(4)
#define in5615 DDRA&=~BIT(4)
void PutSPIchar(unsigned char data)
{
SPDR=data; //数据输出
while(!(SPSR&(1<<SPIF)));//SPIF为1跳出
}
void SPI_Init(void)
{
out5615; //DDRA4=1,输出
DDRB|=0xb0; //SCK,MOSI,SS输出,MISO输入
//SPSR|=0x00; //振荡器频率fosc/2
SPCR|=0X50; //使能SPI,MSB先发,主模式,CPOL为0
}
void main()
{
unsigned int i,j;
/*out5615;
DDRB|=0xb0;
SPCR|=0X50;
SPSR=0x01;*/
SPI_Init(); //初始化SPI和5615设置
/*
clr5615; //PA4=0,选中5615
PutSPIchar(800>>6);//发送数据前4位,输出某个值的电压
PutSPIchar(800<<2);//后6位
set5615; //PA4=1,释放TLC5615*/
///////小灯慢慢亮起来,最后有灭了,然后有渐渐亮起来
while(1)
{
for(i=80;i<1024;i++) //电压逐渐变高
{
clr5615; //片选TLC5615
PutSPIchar((unsigned char)(i>>6));//发送数
PutSPIchar((unsigned char)(i<<2));//
set5615; //释放TLC5615
for(j=0;j<5000;j++)
{
asm("nop");asm("nop");asm("nop");asm("nop");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -