在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 12位A/D轉(zhuǎn)換器TLC2543

            12位A/D轉(zhuǎn)換器TLC2543

            作者: 時間:2016-11-13 來源:網(wǎng)絡 收藏
            一、特性

            (1)12位分辨率A/D轉(zhuǎn)換器

            本文引用地址:http://www.biyoush.com/article/201611/316092.htm

            (2)在工作溫度范圍內(nèi)10μs轉(zhuǎn)換時間;

            (3)11個模擬輸入通道;

            (4)3路內(nèi)置自測試方式;

            (5)采樣率為66kbps;

            (6)線性誤差1LSB(max)

            (7)有轉(zhuǎn)換結(jié)束(EOC)輸出;

            (8)具有單、雙極性輸出;

            (9)可編程的MSB或LSB前導;

            (10)可編程的輸出數(shù)據(jù)長度。

            二、引腳圖

            TLC2543的引腳排列如圖所示。其中:

            AIN0~AIN10:模擬輸入端;

            CS:片選端;

            DIN:串行數(shù)據(jù)輸入端;

            DOUT:A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端;

            EOC:轉(zhuǎn)換結(jié)束端;

            CLK:I/O時鐘;

            REF:正基準電壓端;

            REF-:負基準電壓端;

            VCC:電源;

            GND:地。

            三、程序

            本程序使用C51編程,每隔250ms采集一次數(shù)據(jù),并通過串口發(fā)送出去,程序如下:

            #include

            #include

            #include

            #defineucharunsignedchar

            #defineuintunsignedint

            sbitTCL2543_CLK=P3^2;

            sbitTCL2543_ADIN=P3^3;

            sbitTCL2543_DOUT=P3^4;

            sbitTCL2543_CS=P3^5;

            sbitEOC=P1^6;

            //其中port為通道:通道0:port=0x01通道1:port=0x02通道2:port=0x04...

            uintread2543(unsignedcharport)

            {

            unsignedinti;

            uintad_value=0;

            TCL2543_CLK=0;

            TCL2543_CS=0;

            EOC=1;

            port<<=4;

            for(i=0;i<12;i)

            {

            if(TCL2543_DOUT)ad_value|=0x01;

            TCL2543_ADIN=(bit)(port&0x80);

            TCL2543_CLK=1;

            _nop_();

            _nop_();

            _nop_();

            TCL2543_CLK=0;

            _nop_();

            _nop_();

            _nop_();

            port=port<<1;

            ad_value=ad_value<<1;

            }

            TCL2543_CS=1;

            ad_value=ad_value>>1;

            returnad_value;

            }

            voidmain(void)

            {

            unsignedinti=0,a=0,result=0,j=0;

            unsignedchartm_tm=5;

            floattmp;

            tm_tm=40;

            SCON=0x50;//串口方式1,允許接收

            TMOD=0x20;//定時器1定時方式2

            TCON=0x40;//設定時器1開始計數(shù)

            TH1=0xFD;//11.0592MHz9600波特率

            //TH1=0xF8;//30MHz,9600Bps=248=0xF8

            TL1=0xE8;

            TI=1;

            TR1=1;//啟動定時器

            //使用定時器。30MHz晶振,0.4us周期,預置50000=20ms,計數(shù)50次=1秒

            //使用定時器0。11.0592MHz晶振,1.0us周期,預置50000=50ms,計數(shù)20次=1秒

            TH0=60;//(65536-50000)/256;

            TL0=176;//(65536-50000)%256;

            TMOD=0x200x01;//T1T0,工作方式1

            TR0=1;//STARTT0

            while(1)

            {

            if(TF0==1)

            {

            a;

            if(a==tm_tm)//250ms

            {

            a=0;

            result=read2543(1);

            tmp=(result*60.0/4096.0);

            printf("%d,%4.2fn",result,tmp);

            }

            TF0=0;

            TH0=60;

            TL0=176;

            }

            }

            }


            ///////////////////////////////////////////////////////////////////////////////////////////

            ///////////////////////////////////////////////////////////////////////////////////////////////////////

            ////////////////////////////////////////////////////////////////////////////////////////////////////////

            #include

            #defineuintunsignedint
            #defineucharunsignedchar

            //**************************修改硬件時要修改的部分********************************

            sbitclock=P0^0;//輸入、輸出時鐘端
            sbitinput=P0^1;//數(shù)據(jù)輸入端
            sbitoutput=P0^2;//數(shù)據(jù)輸出端
            sbitCS=P0^3;//片選端,負電平有效

            voiddelay(ucharN)
            {
            while(N--);
            }

            uintread2543(ucharCON_WORD)//CON_WORD為選擇的通道,為0--10
            {
            uintad=0;
            uchari;
            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);
            }

            voidinit_serial()//初始化串口
            {
            TMOD=0x20;//定時器T1使用工作方式2
            TH1=250;//設置初值
            TH0=250;
            TR1=1;//開始計時
            PCON=0x80;//SMOD=1;
            SCON=0x50;//工作方式1,波特率9600bit/s,允許接收
            TI=1;
            }

            voidmain()
            {
            uintad=0;
            floatfVoltage1;
            ucharbuf[5],i;
            init_serial();
            IE=0;//屏蔽中斷
            while(1)
            {
            ad=read2543(0);
            fVoltage1=(float)ad/0x0fff*5;
            buf[0]=(uchar)fVoltage1;
            buf[0]=buf[0]+0x30;
            buf[1]=.
            buf[2]=(uchar)(fVoltage1*10)%10;
            buf[2]=buf[2]+0x30;
            buf[3]=(uchar)(fVoltage1*100-buf[0]*100)%10;
            buf[3]=buf[3]+0x30;
            buf[4]=(uchar)((fVoltage1*1000)-buf[0]*1000-buf[1]*100)%10;
            buf[4]=buf[4]+0x30;
            i=0;
            while(i<5)
            {
            if(TI==1)
            {
            SBUF=buf[i];
            TI=0;
            i++;
            }
            }
            }
            }



            關(guān)鍵詞: 12位AD轉(zhuǎn)換器TLC254

            評論


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

            關(guān)閉