有了这程序,直接调用就行了。
后面的很容易了,交给你自己完成吧……
///////////////////////////////////////////////////////////
// Name : TLC5615控制
// In :
// Out :
// Function :
// Explain :
// TLC5615 是10位的精度,送数时要送12位
// 高10位为真正的数据位,最低两位无用,
// 可送1或者0。
// 并且将TLC549的8位数据放在TLC5615的10位
// 数据的低8位,让高2位为0。
// 向TLC5615送数时,要连续发12个时钟周期
/**************************************/
void TLC5615_ctl(uchar x)
{
uchar j
uint i=0
i=(uint)x
i=i<<6// 向左移6位,满足12位要求
TLC5615_CS=0 // 拉低片选,准备送数
for(j=0j<12j++) // 送12次,先送高位,再到低位
{
TLC5615_SCLK=0// 由于 TLC5615 是在上升沿将数据打入移位寄存器,因此在 sclk 低电平时将数
// 据放在 TLC5615 数据线上,以便其在时钟上升沿来时正确取数
if((i&0x8000)!=0x0000)
TLC5615_DIN=1// 当高位为1时,输出1,否则输出0
else
TLC5615_DIN=0
TLC5615_SCLK=1 // 拉高时钟线,以便TLC5615读入数据
i=i<<1 // 将数据往左移一位,以便在下一个时钟输出给TLC5615
}
TLC5615_SCLK=0 // 空闲时拉低SCLK
TLC5615_CS=1 // 空闲时拉搞CS
}
不需要单独再加放大, tlc5615本身内部有一次放大的,工作电压是5v ,基准2.5左右,输出被放大一倍左右,输出就可以最高达到实际4.9,电压在0---4.9v变化是用程序改变,这个不难 应该知道,不知道稍微查一下就懂了欢迎分享,转载请注明来源:内存溢出
评论列表(0条)