日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
一種基于AT89C1051/2051的低成本A/D轉(zhuǎn)換方法
一種基于AT89C1051/2051的低成本A/D轉(zhuǎn)換方法
 更新時(shí)間:2009-7-9 16:51:55  點(diǎn)擊數(shù):0
【字體: 字體顏色

在低成本智能儀表的設(shè)計(jì)過程中優(yōu)先考慮的是成本問題,作為核心部件的單片機(jī)通常選用低檔的8位機(jī)或4位機(jī)。就目前的情況而言,自帶A/D轉(zhuǎn)換的低檔單埏機(jī)價(jià)格昂貴,在需要進(jìn)行數(shù)據(jù)采集要時(shí)往往通過外部A/D轉(zhuǎn)換器件,這在很大程度上增加了系統(tǒng)的成本。例如,目前AT89C2051單片機(jī)的零售價(jià)僅 7~8元,而中速A/D轉(zhuǎn)換器件的價(jià)格大都在20元以上。本文介紹的低成本A/D轉(zhuǎn)換方法僅使用兩片通用、廉價(jià)的器件就能達(dá)到中速A/D轉(zhuǎn)換的速度和低于 16位的轉(zhuǎn)換分辨率。

1 原理

    有一線性良好的鋸齒波信號,最大幅度為Vmax,正程(0~Vmax)的掃描時(shí)間為t2(如圖1中的直線OB),在正程掃描期間的某一時(shí)刻t所對應(yīng)的電壓Vt為Vmax(t/t2)。圖1中的曲線CD為一待測模擬信號,兩信號在A點(diǎn)相交,時(shí)間為t1,不難理解,線性鋸齒波在A點(diǎn)的幅度就是待測的模擬信號的大小,其值Vt1可以表示為:Vt1=Vmax(t1/t2)。這就是說,可以采用一種方法將待測的模擬信號與線性鋸齒波進(jìn)行比較,當(dāng)線性鋸齒波在某一時(shí)刻的幅度超過待測模擬信號的幅度時(shí)就會引起比較器輸出狀態(tài)的改變。因此,測出比較器輸出狀態(tài)翻轉(zhuǎn)的時(shí)間,就能通過計(jì)算得到待測模擬信號的大小。

2 電路及A/D轉(zhuǎn)換的過程

    圖2給出了具有8位分辨率的A/D轉(zhuǎn)換電路。圖中,IC1為AT89C2051單片機(jī),其P1.0和P1.1除了具有通用I/O口線的功能外,還是內(nèi)部模擬比較器的同相輸入端和反相輸入端,比較器輸出的結(jié)果在內(nèi)部連接到P3.6。IC2和IC3為線性鋸齒波產(chǎn)生電路,其正程開始掃描的時(shí)刻由單片機(jī)的 P3.7控制。IC3為一雙輸入與非門緩沖驅(qū)動器,這里等效為一個開關(guān)。當(dāng)P3.7=0時(shí),開關(guān)斷開,C1通過R1、W1充電,線性鋸齒波開始正程掃描,同時(shí)單片機(jī)內(nèi)部定時(shí)器0開始計(jì)數(shù),計(jì)數(shù)脈沖為單片機(jī)內(nèi)部時(shí)鐘。待測的模擬信號從P1.1輸入,因?yàn)榫性鋸齒波電壓是從0開始線性遞增的,所以在開始正程掃描的時(shí)刻,P3.6為0.當(dāng)鋸齒波的電壓線性遞增到超過待測模擬信號的電壓時(shí),比較器的輸出翻轉(zhuǎn),P3.6為1,此時(shí)定時(shí)器0的數(shù)值就是A/D轉(zhuǎn)換的結(jié)果,也就是圖1中所示的t1,通過前面的公式就可以得到待測模擬電壓的值。其程序框圖如圖3所示。

3 線性鋸齒波電路參數(shù)的確定

    AT89C2051單片機(jī)的定時(shí)器0是一個16位計(jì)數(shù)器,因此這種方法所能達(dá)到的最高分辨率為16位,在最高時(shí)鐘頻率下(24MHz)完成一次A/D轉(zhuǎn)換的最長時(shí)間約為33ms。在實(shí)際應(yīng)用過程中不一定使用這么高的分辨率,在8位分辨率的情況下完成一次A/D轉(zhuǎn)換的最長時(shí)間為128μs。下面以8位分辨率為例介紹鋸齒波電路參數(shù)的確定方法。

    對于圖2電路,當(dāng)P3.7輸出為低時(shí),鋸齒波正程掃描開始,C1經(jīng)R1、W1充是,其電壓Vc1為:

    Vc1=Vcc×(1-e-(t/τ))

    其中τ=(R1+Rw1)C1

    如果運(yùn)放IC2:B將Vc1放大10倍,其輸出為:

    Vo1=[1+(R3/R2)]Vc1

    =10Vcc(1-e-(t/τ))

    因?yàn)镮C2:B的輸出并不是線性鋸齒波,所以增加一級IC2:A用作非線性補(bǔ)償,其輸出電壓Vo2可表示為:

    Vo2=Vi2=(Vo1+Vc3)/2

    =[10Vcc(1-e-(t/τ))+Vo2(1-e-(t/η)12)]/2

    式中:Vcc=5V;η=(R5+Rw2)C3

    上式經(jīng)過整理可得:

    Vo2=50(1-e-(t/τ))/(1+e-(t/η))

    上式就是線性鋸齒波的理論表達(dá)式,通過合理選擇τ、η的值,就可以得到線性良好的鋸齒波。

    在實(shí)際設(shè)計(jì)中,我們通過一段C語言程序可根據(jù)上式先從理論上求得最佳的τ、η的值,再根據(jù)實(shí)驗(yàn)結(jié)果進(jìn)行調(diào)整。其程序如下:

    #i nclude<stdio.h>

    #i nclude<math.h>

    int main(void)

    {

    int τ=640, η=610; /*預(yù)置τ、η的值*/

    double result,result-bak=0;

    double t,x,y;

    system(“cls”); /*清屏幕*/

    for(t=0;t<=127;t+=0.5)/*8位分辨率時(shí),鋸齒波的正程為128微秒*/

    {

    x=-t/τ;

    y=-t/η;

    result=50*(-exp(x))/(1+exp(y));

    printf(“%4fmV”,(result-result-bak) 1000);/*每0.5微秒遞增的電壓(mv)*/

    result-bak=result;

    }

    }

    在τ=640μs、η=610μs時(shí),通過上述編程處理,可使鋸齒波非常接近線性,每μs的線性誤差均在0.1mV以內(nèi),完全可達(dá)到8位分辨率A/D轉(zhuǎn)換的要求。

4 誤差分析及補(bǔ)償

    采用該方法進(jìn)行A/D轉(zhuǎn)換的誤差來源主要有兩個,第一是鋸齒波的非線性此起的誤差,根據(jù)上面的敘述,鋸齒波的非線性基本上對A/D轉(zhuǎn)換的結(jié)果不產(chǎn)生影響;第二是單片機(jī)在控制A/D轉(zhuǎn)換的過程中引出的,這包括三個方面:其一是在“打開轉(zhuǎn)換開關(guān)”和“定時(shí)器開始計(jì)數(shù)”這兩個動作中單片機(jī)不可能同時(shí)完成;其二是單片機(jī)判斷片內(nèi)模擬比較器翻轉(zhuǎn)的過程需要兩個機(jī)器周期,而計(jì)數(shù)器最小的計(jì)數(shù)單位為1個機(jī)器周期;第三個原因是單片機(jī)確認(rèn)模擬比較器輸出狀態(tài)翻轉(zhuǎn)和關(guān)閉定時(shí)器不可能同時(shí)完成。對于第一和第三種情況引起的誤差,由于它的確是指令執(zhí)行所引起的,其誤差的數(shù)值取決于指令執(zhí)行的時(shí)間,因而在轉(zhuǎn)換結(jié)束時(shí)將定時(shí)器0的值減去這個時(shí)間就可以了;而第二種情況引起的誤差是無法進(jìn)行補(bǔ)償?shù)摹?/P>

5 結(jié)束語

    采用本文所述的方法所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)成本低廉,接口簡單,具有較高的性能價(jià)格比。需要指出的是,為保證系統(tǒng)的長期穩(wěn)定性,應(yīng)采用高穩(wěn)定的積分電容(C1、C3)。

  • 上一篇: 8位高速微控制器IP軟核的設(shè)計(jì)與實(shí)現(xiàn)
  • 下一篇: 一段使用普通IO口測量溫度(NTC)的程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1