色爱av综合网_色女人在线视频_男男gaygays亚洲_日本高清久久一区二区三区

購物車0種商品
IC郵購網-IC電子元件采購商城
ADC0832特性及雙通道AD電壓轉換器設計(含源程序)
(2011/11/8 9:08:00)
ADC0832特性及雙通道AD電壓轉換器設計(含源程序)

ADC0832特性及雙通道AD電壓轉換器設計(含源程序)

最近用到雙通道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;



ADC0832芯片接口說明:

· 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置高電平禁用芯片,直接將轉換后的數據進行處理就可以了。



ADC0832具體時序圖如下:



參考程序如下(該程序已在硬件上調試通過):




完整代碼及hex文件下載:http://www.51hei.com/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

}



}



瀏覽:(615)| 評論( 0 )
博文評論

  • 昵 稱:
  • 內 容:10~250個字符
  • 驗證碼: 驗證碼看不清楚?請點擊刷新驗證碼
  •                      
  • 博文分類

    熱點博文

    最新博文

    最新評論

    IC電子元件查詢
    IC郵購網電子元件品質保障

    主站蜘蛛池模板: 台南县| 建水县| 句容市| 南溪县| 华蓥市| 疏勒县| 定襄县| 九江县| 仙居县| 吴旗县| 通海县| 新和县| 缙云县| 文安县| 泉州市| 宁化县| 临泉县| 化隆| 闽侯县| 沧州市| 霍邱县| 泉州市| 杭州市| 库尔勒市| 扶余县| 旬阳县| 重庆市| 常州市| 甘谷县| 金门县| 常熟市| 新闻| 堆龙德庆县| 秀山| 武胜县| 陇川县| 沂源县| 南召县| 彭山县| 旬邑县| 西城区|