TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。
TCL2543的内部结构图如下
TCL2543与89C51的连接如下图
程序如下
#include #define uint unsigned int #define uchar unsigned char //**************************修改硬件时要修改的部分******************************** sbit clock = P0^0; //输入、输出时钟端 sbit input = P0^1; //数据输入端 sbit output = P0^2; //数据输出端 sbit CS = P0^3; //片选端,负电平有效 uint read2543(uchar CON_WORD) //CON_WORD为选择的通道,为0--10 { uint ad=0; uchar i; CON_WORD<<=4; clock=0; CS=0; for(i=0;i<12;i++) { if(output==1) //读取DATAOUT ad=ad|0x01; if(CON_WORD&0x80) //读取控制字到INPUT input=1; else input=0; clock=1; delay(10); clock=0; delay(10); CON_WORD<<=1; ad<<=1; } CS=1; ad>>=1; return(ad); }