当前位置:首页 > 单片机 > 单片机
[导读]A/D TLC1543 应用

首先了解下串行A/D芯片TLC1543的参数

 

有6种工作模式:

 

本程序使用了2种工作模式来编程,具体看时序图:

 

 

源程序:

uint Read_AD(uchar AD_Channel) //从TLC1543读取采样值,形参AD_Channel是采样的通道号

{

uint i;

uint AD_data; //定义AD数据储存地址

uchar AD_data_l=0,AD_data_h=0; //定义AD数据储存地址高低位

// Page13 of TLC1543_datasheet

AD_CLOCK=0;

AD_CS=0;

AD_Channel<<=4;

for (i=0;i<4;i++) //把通道号打入1543

{

AD_D_IN=(bit)(AD_Channel&0x80);

AD_CLOCK=1;

AD_CLOCK=0;

AD_Channel<<=1;

}

for (i=0;i<6;i++) //填充6个AD_CLOCK

{

AD_CLOCK=1;

AD_CLOCK=0;

}

//AD 转换有6种模式,具体时序图见数据手册,这里举例2种转换模式

//1)Fast Modes=>Mode1 : Hight between conversion cycles ; 10 I/O CLOCKS; MSB AT DATA OUT CS falling edge

/* AD_CS=1;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();

AD_CS=0; // AD转换结束

*/

// 2)Fast Modes=>Mode2 : Low conversion cycles ; 10 I/O CLOCKS; MSB AT DATA EOC rising edge

while(!AD_EOC); //等待AD转换

_nop_();_nop_();_nop_(); //延时

for (i=0;i<2;i++) //读取高2位:D9,D8

{

AD_D_OUT=1; //读取数据以前,数据口先置高

AD_CLOCK=1;

AD_data_h<<=1;

//数据高低判断

if (AD_D_OUT==1) //(1)容易理解的写法

{AD_data_h=AD_data_h+0x01;}

else

{AD_data_h=AD_data_h+0x00;}

//if (AD_D_OUT) AD_data_l +=0x01; //(1)精简写法

AD_CLOCK=0;

}

for (i=0;i<8;i++) //读取低8位:D7--D0

{

AD_D_OUT=1; //读取数据以前,数据口先置高

AD_CLOCK=1;

AD_data_l <<= 1;

//数据高低判断

if (AD_D_OUT==1) //(1)容易理解的写法

{AD_data_l=AD_data_l+0x01;}

else

{AD_data_l=AD_data_l+0x00;}

//if (AD_D_OUT) AD_data_l +=0x01; //(2)精简写法

AD_CLOCK=0;

}

AD_CS=1; //不使能AD

//AD转换结果计算公式:AD_data= AD_data_h*256+AD_data_l

AD_data = (uint)AD_data_h;

AD_data <<= 8;

AD_data=AD_data+(uint)AD_data_l; //得到AD值

return(AD_data);

}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

AD18使用的简单介绍,添加库,添加PCB封装库,快速添加引脚,绘制器件

关键字: ad pcb封装库

如何用Altium Designer从PCB图中导出元件封装库?

关键字: ad 封装

我们经常遇到从AD转到Allegro的情况,但是之前非常麻烦且不容易转换。现在好了,从065号补丁开始,Cadence的Capture CIS可以导入AD软件的原理图,而Cadence的Allegro PCB Edito...

关键字: ad 封装 cadence

PCB学习笔记——AD17如何添加新的封装

关键字: ad 封装库 添加

Altium Designer 封装 库文件导入 基础库设计 PCB设计 原理图设计

关键字: ad 封装库 导入

Altium Designer AD 2019最新封装库下载,原理图库PCB库

关键字: ad 封装

STC系列单片机中的STC89LE516AD/X2提供了8路8位精度的高速A/D转换器,位于P1口上,从而省去了片外ADC的麻烦。这8路ADC为电压输入型,可做按键扫描,电池电压检测,频谱检测等。ADC转换过程需要17个...

关键字: ad C KEIL

来源:Java日知录软件设计模式是解决软件设计中常见问题的通用、可复用的解决方案。设计模式让我们可以分享通用词汇并使用经实战检验的方案,以免重复造轮子。现在,我将介绍一系列设计模式来实现这些最佳实践。微服务架构的设计模式...

关键字: 5G ad abi

作者:vivo互联网服务器团队-YangYijun一、Kafka应用本文主要总结当Kafka集群流量达到 万亿级记录/天或者十万亿级记录/天 甚至更高后,我们需要具备哪些能力才能保障集群高可用、高可靠、高性能、高吞吐、安...

关键字: 6G ad AC

本文主要是了解LDO和开关电源在实际电路中的使用,后续具体细节慢慢在添加和修正。

关键字: 开关电源 DC-DC PCB ad
关闭
关闭