久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

ADC0832雙通道實現AD電壓轉換

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年03月05日   【字體:


最近用到雙通道ADC0832,發現網上的程序很多不能使用,存在各種各樣的一些問題。現提供完整的C程序,供電子愛好者交流使用。

下面是關于ADC0832的一些資料(部分資料來自互聯網,但均經檢驗正確無誤,放心使用):

ADC0832 是美國國家半導體公司生產的一種8 位分辨率、雙通道A/D轉換芯片。由于它體積小,兼容性,性價比高而深受單片機愛好者及企業歡迎,其目前已經有很高的普及率。

ADC0832 具有以下特點:
· 8位分辨率;
· 雙通道A/D轉換;
· 輸入輸出電平與TTL/CMOS相兼容;
· 5V電源供電時輸入電壓在0~5V之間;
· 工作頻率為250KHZ,轉換時間為32μS;
· 一般功耗僅為15mW;
· 8P、14P—DIP(雙列直插)、PICC 多種封裝;
· 商用級芯片溫寬為0°C to +70°C,工業級芯片溫寬為−40°C to +85°C;

 

芯片接口說明:
· CS_ 片選使能,低電平芯片使能。
· CH0 模擬輸入通道0,或作為IN+/-使用。
· CH1 模擬輸入通道1,或作為IN+/-使用。
· GND 芯片參考0 電位(地)。
· DI 數據信號輸入,選擇通道控制。
· DO 數據信號輸出,轉換數據輸出。
· CLK 芯片時鐘輸入。
· Vcc/REF 電源輸入及參考電壓輸入(復用)。

ADC0832 為8位分辨率A/D轉換芯片,其最高分辨可達256級,可以適應一般的模擬量轉換要求。其內部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉換時間僅為32μS,據有雙數據輸出可作為數據校驗,以減少數據誤差,轉換速度快且穩定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數據輸入端,可以輕易的實現通道功能的選擇。


單片機對ADC0832 的控制原理:
正常情況下ADC0832 與單片機的接口應為4條數據線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設計時可以將DO和DI 并聯在一根數據線上使用。當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK 和DO/DI 的電平可任意。當要進行A/D轉換時,須先將CS使能端置于低電平并且保持低電平直到轉換完全結束。此時芯片開始轉換工作,同時由處理器向芯片時鐘輸入端CLK 輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數據信號。在第1 個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應輸入2 位數據用于選擇通道功能,其功能項見下圖。


 

當此2 位數據為“1”、“0”時,只對CH0 進行單通道轉換。當2位數據為“1”、“1”時,只對CH1進行單通道轉換。當2 位數據為“0”、“0”時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當2 位數據為“0”、“1”時,將CH0作為負輸入端IN-,CH1 作為正輸入端IN+進行輸入。到第3 個脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數據輸出DO進行轉換數據的讀取。從第4個脈沖下沉開始由DO端輸出轉換數據最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數據。直到第11個脈沖時發出最低位數據DATA0,一個字節的數據輸出完成。也正是從此位開始輸出下一個相反字節的數據,即從第11個字節的下沉輸出DATD0。隨后輸出8位數據,到第19 個脈沖時數據輸出完成,也標志著一次A/D轉換的結束。最后將CS置高電平禁用芯片,直接將轉換后的數據進行處理就可以了。

具體時序圖如下:


參考程序如下(該程序已在硬件上調試通過):
完整代碼及hex文件下載:http://www.zg4o1577.cn/f/adc0832tt_c.rar

#include <reg52.h>       
#include <intrins.h>
#define uchar unsigned char
sbit cs=P2^4;
sbit clk=P2^5;
sbit dout=P2^6;     //din,dout兩腳可以共同接一個I/O口,因為通信時并未同時有效,并且單片機接口是雙向的
sbit din=P2^7;    
uchar adconverse(bit channel)
{
 uchar i,addata1,addata2;
 clk=0;
 cs=0;
 _nop_();
 din=1;   //啟動信號
 _nop_();
 clk=1; //pulse 1 
 _nop_();
 clk=0;
 _nop_();
   
 din=1;   //sgl ,單通道選擇
 _nop_();
 clk=1;   //pulse2
 _nop_();
 clk=0;   
 _nop_();
 
 din=channel;   //odd ,channel選擇位,為0為channel 0,為1channel 1
 _nop_();
 clk=1;     //pulse3
 _nop_();
 clk=0;    
 _nop_();
 din=1;

 for(i=8;i>0;i--)
 {
  clk=1;
  _nop_();
  clk=0;
  _nop_();
  if(dout)
  //addata1=(addata1|dout)<<1;  //dout是1位(bit),addata1是8位(Byte),不能直接按位或
  addata1=(addata1<<1)|0x01;   //左移
  else
  addata1=addata1<<1;
      
 }
 for(i=8;i>0;i--)
 { 
  
  if(dout)
  addata2=(addata2>>1)|0x80; //右移
  else
  addata2=addata2>>1;
  clk=1;
  _nop_();
  clk=0;
  _nop_();   
 } 
 cs=1;
 din=1;
 clk=1;   
 if(addata1==addata2) //校驗
 return  addata1; 
 else
 return  0;
}
void main()
{ 
 while(1)
 {
  P1=adconverse(0);    //選擇channel 0
 }
 
}

關閉窗口

相關文章

主站蜘蛛池模板: 天堂一区二区三区四区 | 久久亚洲国产精品 | 精品久久久久久久久久久 | 天天操人人干 | 色婷婷九月 | 国产精品日韩欧美一区二区 | 欧美久久久久久 | 男女污污动态图 | 日日干天天操 | 成人黄色电影在线观看 | 久久久久国产一区二区三区 | 久久久久久久香蕉 | 亚洲美乳中文字幕 | jizz18国产 | 婷婷在线免费 | 欧美精品一区二区三区蜜桃视频 | 免费一区二区在线观看 | 日本免费黄色 | 国产成人精品久久久 | av高清毛片| 国产最新精品视频 | 欧美精品一区二区三区在线播放 | a成人| 免费一区二区在线观看 | 午夜午夜精品一区二区三区文 | 国产高清在线 | 激情亚洲 | 在线视频亚洲 | 亚洲福利免费 | 久久男女视频 | 欧美最猛性xxxxx亚洲精品 | 欧美精品一区久久 | 久久伊人亚洲 | 成人免费视频网站在线看 | 狠狠干美女 | 国产精品一区二区三区免费观看 | 国产电影一区 | 国产一级片在线观看视频 | 国产黄色大片在线免费观看 | 网站一区二区三区 | 日韩资源|