虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

您现在的位置是:虫虫下载站 > 资源下载 > 单片机编程 > TLC2543 中文资料

TLC2543 中文资料

  • 资源大小:627 K
  • 上传时间: 2013-11-19
  • 上传用户:alex0528
  • 资源积分:2 下载积分
  • 标      签: 2543 TLC

资 源 简 介

TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。

TLC2543的特点
(1)12位分辩率A/D转换器;
(2)在工作温度范围内10μs转换时间;
(3)11个模拟输入通道;
(4)3路内置自测试方式;
(5)采样率为66kbps;
(6)线性误差±1LSBmax;
(7)有转换结束输出EOC;
(8)具有单、双极性输出;
(9)可编程的MSB或LSB前导;
(10)可编程输出数据长度。
TLC2543的引脚排列及说明   
TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1

TLC2543电路图和程序欣赏

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit clock=P1^0; sbit d_in=P1^1;
sbit d_out=P1^2;
sbit _cs=P1^3;
uchar a1,b1,c1,d1;
float sum,sum1;
double  sum_final1;
double  sum_final;
uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wei[]={0xf7,0xfb,0xfd,0xfe}; 

void delay(unsigned char b)   //50us
{    
      unsigned char a;    
      for(;b>0;b--)        
            for(a=22;a>0;a--);

void display(uchar a,uchar b,uchar c,uchar d)

  P0=duan[a]|0x80; 
  P2=wei[0]; 
  delay(5); 
  P2=0xff; 
  P0=duan[b]; 
  P2=wei[1]; 
  delay(5);
  P2=0xff;
  P0=duan[c];
  P2=wei[2];
  delay(5);
  P2=0xff;
  P0=duan[d];
  P2=wei[3];
  delay(5);
  P2=0xff;
  }
uint read(uchar port)
{
  uchar  i,al=0,ah=0;
  unsigned long ad;
  clock=0;
  _cs=0;
  port<<=4;
  for(i=0;i<4;i++) 
{
   d_in=port&0x80;
   clock=1;
   clock=0;
   port<<=1; 
}
  d_in=0;
  for(i=0;i<8;i++) 
{
   clock=1;
   clock=0; 
}
  _cs=1;
  delay(5);
  _cs=0;
  for(i=0;i<4;i++) 
{
   clock=1;
   ah<<=1;
   if(d_out)ah|=0x01;
   clock=0;
}
  for(i=0;i<8;i++) 
{
   clock=1;
   al<<=1;
   if(d_out) al|=0x01;
   clock=0; 
}
  _cs=1;
  ad=(uint)ah;
  ad<<=8;
  ad|=al;
  return(ad);
}
 void main() 
{
  uchar j;
  sum=0;sum1=0;
  sum_final=0;
  sum_final1=0;

   while(1) 
{     

        for(j=0;j<128;j++)  
       {
            sum1+=read(1);
            display(a1,b1,c1,d1);  
        }
           sum=sum1/128;
           sum1=0;
           sum_final1=(sum/4095)*5;
           sum_final=sum_final1*1000;
           a1=(int)sum_final/1000;
           b1=(int)sum_final%1000/100;
           c1=(int)sum_final%1000%100/10;
           d1=(int)sum_final%10;
           display(a1,b1,c1,d1);
          }
        } 

相 关 资 源