新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機(jī)驅(qū)動12位AD轉(zhuǎn)換TLC2543電路圖+程序

51單片機(jī)驅(qū)動12位AD轉(zhuǎn)換TLC2543電路圖+程序

作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
下面是電路圖和仿真圖:



TI公司的12位AD轉(zhuǎn)換TLC2543芯片比ADC0832的8位AD轉(zhuǎn)換芯片,精度要高很多,ADC0832的精度是255分之1,而TLC2543 由于二進(jìn)制數(shù)的位數(shù)是12bit,所以精度要高出很多,它的精度為4096分之一。以下為89C51單片機(jī)控制C語言程序和電路連接圖。完整的工程文件及hex文件下載:http://www.51hei.com/f/tlccadc.rar是用stc89c51單片機(jī)制作的 成品正在使用中.
#include
#define uint unsigned int
#define uchar unsigned char
sbit cs=P1^0;
sbit clk=P1^3;
sbit sdi=P1^4;
sbit sdo=P1^5;
sbit bit7=B^7;
sbit freq_out=P3^7;
bit cy;
uint adval,volt,froq;
uchar temp;
uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
void delayms(uint ms)
{
uchar j;
while(ms--)
{
for(j=0;j<120;j++);
}
}
void delay()
{
uint i=5;
while(i--);
}
void readADC(int ch)
{
uchar i;
clk=0;
cs=1;
delay();
cs=0;//CS=0開始轉(zhuǎn)換
B=ch;
for(i=8;i>0;i--)
{
cy=sdo;
sdi=bit7;
clk=1;
B=B<<1;
clk=0;
temp=temp<<1;
if(cy==1)
temp++;
}
adval=temp;
adval=adval<<4;
for(i=4;i>0;i--)
{
cy=sdo;
temp=temp<<1;
if(cy==1)
temp++;
clk=1;
clk=0;
}
cs=1;//十二位讀數(shù)完畢,結(jié)束轉(zhuǎn)換。
adval +=temp;
volt=adval;
froq=adval;
}

上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉