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

當前位置:首頁 > 單片機 > 單片機
[導讀]stc12c5620ad系列單片機的adc模塊是逐次比較型adc模塊,所以轉(zhuǎn)換速度非??臁K俣瓤蛇_100K每秒,即每秒10萬次,一共有8路10位的ADC轉(zhuǎn)換引腳。檢測范圍0~VCC。ADC初始化的代碼如下:void ADC_INIT(){P1M0=0x01;P1M1=0

stc12c5620ad系列單片機的adc模塊是逐次比較型adc模塊,所以轉(zhuǎn)換速度非??臁K俣瓤蛇_100K每秒,即每秒10萬次,一共有8路10位的ADC轉(zhuǎn)換引腳。檢測范圍0~VCC。

ADC初始化的代碼如下:

void ADC_INIT()

{

P1M0=0x01;

P1M1=0x00;

ADC_CONTR = ADC_CONTR|0x80;

delay1(10);

delay1(10);

ADC_CONTR = ADC_CONTR&0xe7;

}

P1M0和P1M1寄存器是P1口的模式配置寄存器,第3 4句把P1.0配置為ADC輸入引腳。
ADC_CONTR是ADC控制寄存器,第5句是打開ADC電源,第8句是清FALG轉(zhuǎn)換完成標志和START開啟位標志。

ADC轉(zhuǎn)換的函數(shù)如下:

unsigned int adpro()

{

unsigned int adbuf;

ADC_DATA = 0;

ADC_LOW2 = 0;

ADC_CONTR = ADC_CONTR|0x08;

delay1(10);

do{

;

}

while((ADC_CONTR&0x10)==0);

ADC_CONTR = ADC_CONTR&0xE7;

adbuf=0;

adbuf = ((adbuf|ADC_DATA)<<2)|(ADC_LOW2&0x03);

if(adbuf>1024) adbuf=1024;

return adbuf;

}

ADC_DATA是高8位轉(zhuǎn)換結(jié)果寄存器,ADC_LOW2是低2位轉(zhuǎn)換結(jié)果寄存器。ADC轉(zhuǎn)換后的值都會放到這兩個寄存器。這個函數(shù)轉(zhuǎn)換的結(jié)果是把0~VCC的值轉(zhuǎn)換成了0~1023。如果VCC是5V,我們可以再利用等比公式,把0~1023轉(zhuǎn)換成0~5V的電壓值。


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