?? tlc5615.c
字號(hào):
#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; //數(shù)據(jù)輸出
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先發(fā),主模式,CPOL為0
}
void main()
{
unsigned int i,j;
/*out5615;
DDRB|=0xb0;
SPCR|=0X50;
SPSR=0x01;*/
SPI_Init(); //初始化SPI和5615設(shè)置
/*
clr5615; //PA4=0,選中5615
PutSPIchar(800>>6);//發(fā)送數(shù)據(jù)前4位,輸出某個(gè)值的電壓
PutSPIchar(800<<2);//后6位
set5615; //PA4=1,釋放TLC5615*/
///////小燈慢慢亮起來,最后有滅了,然后有漸漸亮起來
while(1)
{
for(i=80;i<1024;i++) //電壓逐漸變高
{
clr5615; //片選TLC5615
PutSPIchar((unsigned char)(i>>6));//發(fā)送數(shù)
PutSPIchar((unsigned char)(i<<2));//
set5615; //釋放TLC5615
for(j=0;j<5000;j++)
{
asm("nop");asm("nop");asm("nop");asm("nop");
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -