tag 标签: tlc2543

相关博文
  • 热度 38
    2015-10-31 20:40
    4815 次阅读|
    6 个评论
        大学做过的一小设计,那会没事就弄这些AD\DA\MCU以及功能性的IC.     后来一老师要求做的这个,设计一多路数据采集系统,当时资料大多都是0809,0832之类的ADDA,网上找了部分资料。因为手上刚好有几片 TLC2543。后来就用的它,完全满足题目要求吧。配上PTORUES仿真最后显示出来了。记得当时给老师看的时候用电阻做的10路模拟数据,然后用螺丝刀旋转电位器给被人看。     没有什么额外特别的功能,相当于做了个AD+显示,也称得上是最小的一个系统了。 技术要求: 1、设计一种多路模拟信号采集模块,从多个通道轮流采集数据一次,并将采集的结果存放在数组中。要求进行电路仿真实验,并使用C语言进行程序的开发。 简易框架如下。     最后用的PROTUES搭建的电路图。 为了实现高速高精度多路数据采集。新片是需要串行输入数据的 12  位  66kSPS ADC  ,可编程  MSB/LSB  优先,可编程断电 / 输出数据长度, 11  通道 的 TLC2543 。用的多路电位器模拟多路输入。软件分别测量电压。作为探测点。     程序的流程就是利用不断的循环查找有没有变化,再显示。这里不多说,可以看附件程序。 读取AD程序时序如下(或者见附录): /*启动A/D转换,并读取上次转换结果*/ uint read2543(CHN) { uchar i,temp; uint read_ad_data = 0; CHN=CHN4; AD_IOCLK=0; AD_CS=1; AD_CS=0; temp=CHN; for(i=0;i12;i++) {    read_ad_data=read_ad_data1;    if((temp0x80)!=0){AD_DATIN=1;}    else{AD_DATIN=0;}    if(AD_DATOUT){read_ad_data=read_ad_data+1;}    AD_IOCLK =1;    _nop_();_nop_();_nop_();_nop_();    AD_IOCLK =0;    _nop_();_nop_();_nop_();_nop_();    temp=temp1; } AD_CS=1; read_ad_data=read_ad_data0x0fff;  return(read_ad_data); }
相关资源