日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]A/D TLC1543 應(yīng)用

首先了解下串行A/D芯片TLC1543的參數(shù)

 

有6種工作模式:

 

本程序使用了2種工作模式來(lái)編程,具體看時(shí)序圖:

 

 

源程序:

uint Read_AD(uchar AD_Channel) //從TLC1543讀取采樣值,形參AD_Channel是采樣的通道號(hào)

{

uint i;

uint AD_data; //定義AD數(shù)據(jù)儲(chǔ)存地址

uchar AD_data_l=0,AD_data_h=0; //定義AD數(shù)據(jù)儲(chǔ)存地址高低位

// Page13 of TLC1543_datasheet

AD_CLOCK=0;

AD_CS=0;

AD_Channel<<=4;

for (i=0;i<4;i++) //把通道號(hào)打入1543

{

AD_D_IN=(bit)(AD_Channel&0x80);

AD_CLOCK=1;

AD_CLOCK=0;

AD_Channel<<=1;

}

for (i=0;i<6;i++) //填充6個(gè)AD_CLOCK

{

AD_CLOCK=1;

AD_CLOCK=0;

}

//AD 轉(zhuǎn)換有6種模式,具體時(shí)序圖見(jiàn)數(shù)據(jù)手冊(cè),這里舉例2種轉(zhuǎn)換模式

//1)Fast Modes=>Mode1 : Hight between conversion cycles ; 10 I/O CLOCKS; MSB AT DATA OUT CS falling edge

/* AD_CS=1;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();

AD_CS=0; // AD轉(zhuǎn)換結(jié)束

*/

// 2)Fast Modes=>Mode2 : Low conversion cycles ; 10 I/O CLOCKS; MSB AT DATA EOC rising edge

while(!AD_EOC); //等待AD轉(zhuǎn)換

_nop_();_nop_();_nop_(); //延時(shí)

for (i=0;i<2;i++) //讀取高2位:D9,D8

{

AD_D_OUT=1; //讀取數(shù)據(jù)以前,數(shù)據(jù)口先置高

AD_CLOCK=1;

AD_data_h<<=1;

//數(shù)據(jù)高低判斷

if (AD_D_OUT==1) //(1)容易理解的寫(xiě)法

{AD_data_h=AD_data_h+0x01;}

else

{AD_data_h=AD_data_h+0x00;}

//if (AD_D_OUT) AD_data_l +=0x01; //(1)精簡(jiǎn)寫(xiě)法

AD_CLOCK=0;

}

for (i=0;i<8;i++) //讀取低8位:D7--D0

{

AD_D_OUT=1; //讀取數(shù)據(jù)以前,數(shù)據(jù)口先置高

AD_CLOCK=1;

AD_data_l <<= 1;

//數(shù)據(jù)高低判斷

if (AD_D_OUT==1) //(1)容易理解的寫(xiě)法

{AD_data_l=AD_data_l+0x01;}

else

{AD_data_l=AD_data_l+0x00;}

//if (AD_D_OUT) AD_data_l +=0x01; //(2)精簡(jiǎn)寫(xiě)法

AD_CLOCK=0;

}

AD_CS=1; //不使能AD

//AD轉(zhuǎn)換結(jié)果計(jì)算公式:AD_data= AD_data_h*256+AD_data_l

AD_data = (uint)AD_data_h;

AD_data <<= 8;

AD_data=AD_data+(uint)AD_data_l; //得到AD值

return(AD_data);

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉