ADC0809採樣轉換

#include <absacc.h>
#include <reg51.h>

#define uchar unsigned char
#define IN0 XBYTE[0x7ff8]      /*設置ADC0809的通道0地址*/
sbit ad_busy=P3^3;           /*即EOC狀態*/
void adc0809(uchar idata *x) /*採樣結果放指針中的A/D採集函數*/
{
 uchar i;
 uchar xdata *ad_adr;
 ad_adr=&IN0;
 for(i=0;i<8;i++)            /*處理8通道  */
  {
   *ad_adr=0;                /*啓動轉換*/
 i=i;
 i=i;                      /*延時等待EOC變低*/
 while(ad_busy==0)         /*查詢等待轉換結束*/
 x[i]=*ad_adr;             /*存轉換結果*/
 ad_adr++;                 /*下一通道*/

  }
}
void main(void)
{
 static uchar idata ad[10];
 adc0809(ad);                /*採樣ADC0809通道的值*/
}


 

發佈了33 篇原創文章 · 獲贊 10 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章