新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)ADC0804模數(shù)轉(zhuǎn)換學(xué)習(xí)

51單片機(jī)ADC0804模數(shù)轉(zhuǎn)換學(xué)習(xí)

作者: 時(shí)間:2012-08-02 來(lái)源:網(wǎng)絡(luò) 收藏

dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0x7d;
wela=0;
delayms(5);

dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0x7b;
wela=0;
delayms(5);
}
程序中所說(shuō)的時(shí)序圖如下:

點(diǎn)擊瀏覽下一頁(yè)

點(diǎn)擊瀏覽下一頁(yè)

從時(shí)序圖可知首先要選定片選,即置CS=0,程序中一直讓cs為0,這樣一直選定其工作。對(duì)轉(zhuǎn)換沒(méi)有影響。再看WR的時(shí)序圖WR先是高-->低-->高,從低-->高這個(gè)過(guò)程中至少要延時(shí)tw(WR)L(ns),程序中用的的_nop()_函數(shù)就是延時(shí)一個(gè)機(jī)器周期,本實(shí)驗(yàn)板得機(jī)器周期為1000ns遠(yuǎn)大于tw(WR)L(ns)。再看RD

RD的時(shí)序是高-->低-->高,RD為低后延時(shí)tACC后就有數(shù)據(jù)了,adval=P1; //A/D轉(zhuǎn)換后的數(shù)據(jù)賦給adval
于是再把wR拉高這樣就把數(shù)據(jù)讀走了。因?yàn)镮NTR是自動(dòng)變化的,所以不需要人為設(shè)定。。(以上個(gè)人理解不知道是否正確^-^)

呵呵,不同的轉(zhuǎn)換器時(shí)序圖應(yīng)該也不一樣,程序代碼也有差別,但本質(zhì)是一樣的。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉