下面是我收藏的TLC2543驱动程序。可以直接调用的,只需要给出端口号,直接返回转换的数值,很好用,目前是网上结构最简的TLC2543驱动。
/************文件Sbit.h***********************************/
TLC2543完美驱动程序
/*把所有要用到的sbit都放到该文件 */
/*在要引用该文件定义寄存器端口的文件里包含该文件。*/
sbit EOC=P2^0;
sbit CLK=P2^1;
sbit SDI=P2^2;
sbit SDO=P2^3;
sbit CS=P2^4;
/*******************************文件Tlc2543.h***************************************/
/* tlc2543功能实现文件,只需要通过端口参数传递即可实现
即调用 Tlc2543(端口号) */
#include"Sbit.h" //调用自定义寄存器头文件
unsigned int Tlc2543(unsigned char port)
{
unsigned char i=0; //定义时候初始化变量有助于压缩内存
unsigned int ad=0; //初始化输出存储变量
CS=0; //操作开始
CLK=0;
port<<=4;
port<<=4;
for(i=0;i<12;i++)
{ ad<<=1; //空出最低位
ad|=SDO; //在下降沿取出输出数据寄存器的值
SDI=(port&0x80); // 取出最高位在上升沿发送到数据输入寄存器
CLK=1; //上升沿
port<<=1;
CLK=0; //下降沿
}
while(!EOC) continue; //转换结束后再进入下一轮扫描。
return (ad);
}
/************************main函数************************************/
#include<reg51.h>
#include"Tlc2543.h"
unsigned char n;
void main()
{
Tlc2543(n);
}
/********************************************************************/
附件内容为TLC2543仿真电路和TLC2543驱动程序。如果需要换成上面新的驱动,直接换掉就行了。