TLC2543/TLC1543 12位/10位AD数据转换

标签:
股票 |
时序图:
下降沿输出数据,上升沿输入地址
CS片选拉低,一次转换开始,同时输出上次转换的数据
时序使用方法:
1、CS片选拉高,EOC拉高,CLK时钟拉低
2、CS片选拉低,开始读出第一位数据
3、在第一个时钟上升沿,输入一个地址数据
4、之后在每个时钟的下降沿输出AD转换数据,在上升沿输入地址数据
5、TLC1543是10位AD,因此有10个时钟,TLC2543是位AD,因此有12个时钟
6、一个操作过程结束后,片选CS拉高,EOC会在最后第10个时钟的下降沿触发拉低,开始AD转换,此时,输出被禁止,等到转换结束后EOC置位1,代表转换结束。等到CS片选再次拉低,开始第二次操作。
TLC1543与单片机的连接
TLC15433的引脚图
http://s15/mw690/001XeHfxzy6LgOQIvyCfe&69012位/10位AD数据转换" TITLE="TLC2543/TLC1543 12位/10位AD数据转换" />
A0~A10为11个模拟输入通道
A0~A10为11个模拟输入通道
REF-通常接地
REF+接+5v
则输入可测电压为0~5v
cs位片选段,低电平有效,不用时置1,用时保持为0
DATAOUT为AD转换数据输出端(10位)
ADDRESS为地址输入端,可输入相关的命令,前四位用于选择不同的输入通道,如:0000位选择0通道,0001位选择1通道,及数据输出的格式(高位先出还是低位先出)。
TLC1543子函数
uint read1543(void)
{
uchar i=0;
uint ad_value=0;
TCL2543_CLK=0; //一次转换开始前,CS片选置1,EOC置1,时钟置0
TCL2543_CS=1;
EOC=1;
delay_1ms(); //保持一段时间,拉低CS片选
TCL2543_CS=0;
delay_1ms();
//保持一段时间,等数据稳定后再读取第一位数据A9(最高位)
for(i=0;i<10;i++)
{
if(TCL2543_DOUT) ad_value|=0x0001;
//读取第一位数据
TCL2543_DIN=0;
//将通道选择数据准备好,上升沿锁存进TLC1543
TCL2543_CLK=1;
//上升沿
delay_1ms();
//保持一段时间
TCL2543_CLK=0;
//下降沿保持一段时间,在读取数据
delay_1ms();
ad_value=ad_value<<1;
//移位,将最低位空出,以装入第2位数据(A8)
}
TCL2543_CS=1;
//一次转换结束后将CS片选拉高
ad_value=ad_value>>1;
//由于多左移了1位,所以
return ad_value;
}
前一篇:施密特触发器常用芯片