先介紹下TLC2543芯片的一些基本資料。(1)12位分辨率,10us轉(zhuǎn)換時(shí)間 (2)11路模擬輸入通道,3路內(nèi)置自測(cè)模式 (3)固有取樣和保持功能,線性誤差最大為1LSB(4)片上系統(tǒng)時(shí)鐘,轉(zhuǎn)換結(jié)束(EOC)輸出(5)單級(jí)或雙極輸出操作 (6)可設(shè)計(jì)的輸出數(shù)據(jù)最高位或最低位在前,可設(shè)計(jì)的電源中斷,可設(shè)計(jì)輸出數(shù)據(jù)長(zhǎng)度。TLC2543的引腳如下圖所示
0.png (24.96 KB, 下載次數(shù): 83)
下載附件
2016-6-7 17:27 上傳
其中(1)AIN0~AIN10:11路模擬輸入引腳(2)CS:片選引腳(3)DATA INPUT:串行數(shù)據(jù)輸入引腳(4)DATA OUT:串行輸出引腳(5)EOC:為轉(zhuǎn)換結(jié)束引腳(6)I/O CLOCK:時(shí)鐘引腳(7)REF+:基準(zhǔn)電壓正引腳,通常為VCC(8)REF-:基準(zhǔn)電壓負(fù)引腳,通常為GND (9)VCC:正電源引腳(10)GND:地信號(hào)引腳。
TLC2543芯片的一些基本資料。(1)12位分辨率,10us轉(zhuǎn)換時(shí)間 (2)11路模擬輸入通道,3路內(nèi)置自測(cè)模式 (3)固有取樣和保持功能,線性誤差最大為1LSB(4)片上系統(tǒng)時(shí)鐘,轉(zhuǎn)換結(jié)束(EOC)輸出(5)單級(jí)或雙極輸出操作 (6)可設(shè)計(jì)的輸出數(shù)據(jù)最高位或最低位在前,可設(shè)計(jì)的電源中斷,可設(shè)計(jì)輸出數(shù)據(jù)長(zhǎng)度。
- #include<reg51.h>
- #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;
- }
- void resultvolt()
- {
- volt=volt*5000.0/4334;//轉(zhuǎn)換成電壓顯示
- }
- void resultfroq()
- {
- froq=1000000.0/froq*2/2.0;//轉(zhuǎn)換頻率數(shù)值
- }
- void displayvolt(uint dat)
- {
- P2=0x10;
- P0=tab[dat/1000]&0x7f;
- delayms(1);
- P0=0xff;
- P2=0x20;
- P0=tab[dat%1000/100];
- delayms(1);
- P0=0xff;
- P2=0x40;
- P0=tab[dat%100/10];
- delayms(1);
- P0=0xff;
- P2=0x80;
- P0=tab[dat%10];
- delayms(1);
- P0=0xff;
- }
- void displayfroq(uint dat)
- {
- P2=0x01;
- P0=tab[dat/1000]&0x7f;
- delayms(1);
- P0=0xff;
- P2=0x02;
- P0=tab[dat%1000/100];
- delayms(1);
- P0=0xff;
- P2=0x04;
- P0=tab[dat%100/10];
- delayms(1);
- P0=0xff;
- P2=0x08;
- P0=tab[dat%10];
- delayms(1);
- P0=0xff;
- }
- void t0_int() interrupt 1
- {
- TH0=-froq/256;
- TL0=-froq%256;
- }
- void t0_init(void)
- {
- TMOD=0x01;
- ET0=1;
- TR0=1;
- EA=1;
- }
- void main()
- {
- t0_init();
- P2=0xff;
- P0=0xff;
- while(1)
- {
- readADC(0);
- delayms(1);
- resultvolt();
- resultfroq() ;
- displayfroq(froq);
- displayvolt(volt);
- }
- }
復(fù)制代碼
0.png (52.56 KB, 下載次數(shù): 105)
下載附件
2016-6-7 17:41 上傳
全部資料(壓縮包)下載:
TLC2543 中文使用手冊(cè).doc
(109 KB, 下載次數(shù): 27)
2016-6-7 17:31 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
TLC2543AD轉(zhuǎn)換源代碼.rar
(14.86 KB, 下載次數(shù): 27)
2016-6-7 17:31 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
TLC2543與51單片機(jī)的硬件電路接口設(shè)計(jì).doc
(55 KB, 下載次數(shù): 32)
2016-6-7 17:31 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|