日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【ADC0809CCN的原理与使用方法】

發布時間:2024/1/1 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【ADC0809CCN的原理与使用方法】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ADC0809有ADC0809CCN與ADC0809CCV兩種型號,CCN是直插式,CCV是貼片式,兩種的原理與引腳相同,其與ADC0808原理相同,區別不大,一般情況下可以直接替換使用,替換使用時的注意事項下文介紹。

ADC0809CCN ADC0809CCV

??ADC0809是CMOS 單片型逐次逼近式8位 A/D 轉換器,采樣率為10 KSPs,以直插式做案例介紹工作方式:

Altium Designer原理圖

?這里使用proteus軟件仿真操作,但ADC0809無法進行仿真,可以使用ADC0808進行替換,原理一樣僅輸出端有些許區別(0808的輸出最低位是OUT7,而0809的最低位是OUT0)。

?引腳功能:

  • CLK:ADC0809時鐘輸入,時鐘頻率范圍參考:10KHz;
  • VREF(+)、VREF(-):基準參考電壓,一般設置VREF(+)=+5V,VREF(-)=0V;
  • VCC、GND:電源與接地線,供電范圍:4.5V~6.5V;
  • ADDA、ADDB、ADDC:3 位地址輸入線,相當于3-8譯碼器的三位輸入端用來選通IN0~IN7端口輸入;
  • IN0~IN7:8 路模擬量輸入端,輸入電壓范圍0~5V;
  • ALE:地址鎖存允許信號輸入,當ALE高電平時三位地址輸入線才可以被配置,選通輸入;當ALE低電平時,三位地址輸入線鎖定,對已選通的輸入端電壓采集轉換。
  • START: AD 轉換啟動脈沖輸入,當START高電平時(高電平脈沖至少100ns),AD啟動轉換,脈沖的邊沿觸發ADC0809,上升沿觸發復位,下降沿啟動轉換。一般將START與ALE相連,同時配置信號;
  • OUT1~OUT8或2-1~2-8:8 位數字量輸出端,ADC0809與0808最大的區別在于此,0808的輸出最低位是OUT7,而0809的最低位是OUT0;
  • EOC:AD轉換結束信號輸出端,當AD轉換結束的時候該端口輸出高電平,其余時間均為低電平;
  • OE:數字量輸出允許端,當AD轉換結束時,使OE為高電平,輸出IO口三態門打開,數據可以輸出;
  • proteus仿真圖

    ?使用方法:

    這里以ADC0809與51單片機配合模擬使用,單片機把接收到的數字量經過數據處理、計算得出原測量值。

    單片機的P2.5~P2.7三個IO口輸出不同高低電平配置ADC0809的ADCA、ADCB、ADCC三個位選端口,產生位選信號控制輸入端口。使用單片機的定時器T0定時功能通過P3.5為ADC0809產生5KHz的工作時鐘脈沖;P3.4采集ADC0809的轉換結束信號(EOC)判斷電壓模數轉換是否完成;P3.3控制ADC0809的輸出允許端(OE)將數字量收集到主控芯片;P3.2同時控制ADC0809的地址鎖存端(ALE)和轉換啟動端(START)當未啟動轉換時,輸入位選端口等待位選信號輸入,啟動轉換后,輸入位選端口鎖定。

    輸出端的電壓計算方式為: ? ? 基準電壓設置為+5V,所以AD轉化將以5V為最大值等分為256份,輸入端每增大一份電壓值(≈0.0195V)輸出端加1。?

    ?示例代碼:

    #include "adc0809.h" #include "delay.h"sbit STR=P3^2; //ALE與START相連 sbit EOC=P3^4; sbit OE=P3^3; sbit CLK=P3^5; sbit adc_A=P2^5; sbit adc_B=P2^6; sbit adc_C=P2^7; unsigned char adc;

    三位地址輸入位選配置參照下表,這里不過多闡述,注意配置ADCA、B、CshiSTR。

    三位地址輸入端輸入端ADCAADCBADCC
    IN0000
    IN1100
    IN2010
    IN3110
    IN4001
    IN5101
    IN6011
    IN7111
    //定時器初始化 void adc_init() { TMOD=0x01;TH0=(65536-100)/256;TL0=(65536-100)%256;ET0=1;EA=1;TR0=1; }//AD轉換 int AD() { STR=1; //啟動AD轉換delayms(10); STR=0; while(0==EOC); //等待轉換結束 OE=1; adc=P0; //讀取AD數據,數據范圍為0-255OE=0; return adc; } // T0中斷服務程序 void t0(void) interrupt 1 { TH0=(65536-100)/256;TL0=(65536-100)%256; CLK=~CLK; }

    總結

    以上是生活随笔為你收集整理的【ADC0809CCN的原理与使用方法】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。