TC5020、JXI5020单片机C语言驱动代码。

文章介绍了如何使用C语言编写驱动程序来控制TC5020芯片,包括向芯片写入单个比特数据的函数`TC5020_bit()`以及写入16位数据的`TC5020_Write()`函数。在级联多个TC5020的情况下,文章还提供了`TC5020_OUT()`函数的示例,用于传输数据到LED显示阵列。时序控制的关键在于CLK、SDI、LE和OE信号的精确操作,其中OE信号已被短接到GND以保持输出使能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看下时序图。初始状态CLK,SDI,LE状态为L。OE状态为H。可以知道先是CLK和SDI动作将16位数据发送出去。然后将LE引脚H->L。最后OE信号拉低(OE信号为输出使能信号。我这里已经将OE信号短接接入GND了,所以输出是一直使能的,代码里就无需控制OE信号了),对应的OUT引脚就有输出了。

 详细代码

/*往5020里面写人一个bit数据*/
void TC5020_bit(u8 dat)
{       
	if(dat == 0)
	{
		SDI = 0;
	}
	else
	{
		SDI = 1;
	}
	LSCL = 0;
	_nop_();_nop_();
	LSCL = 1;
	_nop_();_nop_();
	LSCL = 0;

}

/*写入芯片中16 output 的管脚的数据(适用于只有一颗TC5020的情况)*/
void TC5020_Write(u16 num)
{
	u8 i;
	u16 dat=0;     

	LSCL = 0;    /*SCL信号复位*/
	LE = 0;       /*LE信号复位*/
	for(i=0; i<16; i++)
	{
	    dat = num&0x8000;    /*高位优先传输*/

		if(dat == 0)
		{
			TC5020_bit(0);
		}
		else
		{
			TC5020_bit(1);
		}
	    num = num<<1;
	}       
        _nop_();_nop_();
		LE &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值