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

📄 5615.h

📁 5615的使用,即TLC5615头文件,谢谢各位下载啊
💻 H
字号:
   /****************************************/
   /*  文件:TLC5615头文件
	   时间:2008.8.6
	   备注:PA4为5615片选端,PB7为脉冲端,PB5数据端,即SPI口。如果在系统中需要通信模块
	        则需要改变口的设置,采用仿SPI口进行控制
   */
/* #include "SPI.H"  */ 
/* #inlude  "delay.H" */  //+++++++++++++++++++++++  
#define Set5615 PORTA|=BIT(4)
#define Clr5615 PORTA&=~BIT(4)
#define Out5615 DDRA|=BIT(4)
#define In5615 DDRA&=~BIT(4)

  /* 采用PC2、PC3对5615控制 */
#define outpc2   DDRC|=BIT(2)     
#define outpc3   DDRC|=BIT(3)
#define Setpc2   PORTC|=BIT(2)  //pc2数据
#define Clrpc2  PORTC&=~BIT(2)
#define Setpc3  PORTC|=BIT(3)   //PC3脉冲
#define Clrpc3  PORTC&=~BIT(3)

/*****************************
函数功能:SPI输出数据
输入参数:数据data
输出参数:无
备    注:采用SPI口
修改时间:2008.06.27
******************************/
void PutSPIchar(unsigned char data)
{
  SPDR=data;               //数据输出
  while(!(SPSR&(1<<SPIF)));//SPIF为1跳出
}
/*****************************
函数功能:I/O输出数据
输入参数:数据data
输出参数:无
备    注:采用I/O口
修改时间:2008.08.06
******************************/
void  PutIOchar(unsigned char Data)
{     unsigned char i;
      Clrpc3;
      for(i=0;i<=7;i++)
	    {if(Data&0x80==0x80)
		     Setpc2;
		 else 	Clrpc2; 
		    Setpc3;
			delay_nus(2);
		    Clrpc3;
			Data=Data<<1;
		}
}

/********************************
函数功能:写TLC5615
输入参数:10位数据data
输出参数:无
修改时间:2008.06.27
*********************************/
void TLC5615_WR(unsigned int data)
{
  Clr5615;		//片选5615
  PutSPIchar((unsigned char)(data>>6));//送高4位数据
  PutSPIchar((unsigned char)(data<<2));//送低6位数据
  Set5615;		//关闭5615
}
/********************************
函数功能:利用IO口 写TLC5615   
输入参数:10位数据data
输出参数:无
修改时间:2008.08.06
*********************************/
void IO5615_WR(unsigned int data)
{
  Clr5615;		//片选5615
  PutIOchar((unsigned char)(data>>6));//送高4位数据
  PutIOchar((unsigned char)(data<<2));//送低6位数据
  Set5615;		//关闭5615
}

/*******************************
函数功能;TLC5615,SPI初始化
输入输出:无
修改时间:2008.06.27
********************************/
void TLC5615_Init(void)
{
 Out5615;      //DDRA4=1,设置为输出
 Set5615;
 DDRB|=0xa0;
 SPI_Init_M(); //SCK,MOSI,SS输出,MISO输入
 PORTB|=0x40;  //MISO上拉有效
 SPSR=0x01;    //振荡器频率fosc/2
 SPCR|=0X50;   //使能SPI,MSB先发,主模式,CPOL为0
}

⌨️ 快捷键说明

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