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

📄 tlc5615._c

📁 ATmega16-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 + -