專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

ADC0809模數(shù)轉(zhuǎn)換器的C51功能函數(shù)

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2010年06月18日   【字體:

<pre>
/*****************ADC0809功能函數(shù)****************/

//啟動(dòng)A/D轉(zhuǎn)換函數(shù):StartADC()

void  StartADC(uchar Address)

{

         PinC = (bit) (Address & 0x04);  //C最高位

         PinB = (bit) (Address & 0x02);

         PinA = (bit) (Address & 0x01); //以上3句輸出地址CBA

         PinSTART = 0;          //啟動(dòng)AD0809進(jìn)行A/D轉(zhuǎn)換

         }

        

//等待A/D轉(zhuǎn)換結(jié)束函數(shù):WaitADCEnd()

void  WaitADCEnd(void)

{

         while(!PinEOC) ;  //讀入ADC0809轉(zhuǎn)換結(jié)束信號(hào)EOC,=1返回。

         }

        

//讀取A/D轉(zhuǎn)換后的數(shù)據(jù)函數(shù):ReadData()

uint ReadData(void)

{

         uint temp;

         WaitADCEnd();  //調(diào)用   等待A/D轉(zhuǎn)換結(jié)束   函數(shù)。          

         PinOE = 0;    //OE腳  經(jīng)非門=1 讀入數(shù)據(jù)。

         nNop(2);

         temp = PinData & 0xff;

         return(temp);    //  返回?cái)?shù)值是   ADC0809A/D轉(zhuǎn)換后的數(shù)字量。

         }

程序功能:

(1).            啟動(dòng)ADC0809進(jìn)行A/D轉(zhuǎn)換;

(2).            等待A/D轉(zhuǎn)換結(jié)束;

(3).            A/D轉(zhuǎn)換結(jié)束后讀入數(shù)據(jù)。

 

 

關(guān)閉窗口

相關(guān)文章