91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 可編程技術

一種基于AT89C1051/2051的低成本A/D轉換方法

發布時間:2007/8/15 0:00:00 訪問次數:2463

    摘要:介紹一種基于AT89C1051/2051的低成本A/D轉換電路和方法。該電路采用通用、廉價的器件,利用線性鋸齒波和單片機內部的定時器來獲得A/D轉換結果,與單片機接口簡單。采用該方法除了能獲得較快的轉換速度以外,轉換的分辨率也可靈活設置,具有一定的實用價值。

    關鍵詞:A/D轉換  線性鋸齒波  模擬比較器  AT89C1051/2051

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

1 原理

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

2 電路及A/D轉換的過程

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

3 線性鋸齒波電路參數的確定

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

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

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

    其中τ=(R1+Rw1)C1

    如果運放IC2:B將Vc1放大10倍,其輸出為:

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

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

    因為IC2:B

    摘要:介紹一種基于AT89C1051/2051的低成本A/D轉換電路和方法。該電路采用通用、廉價的器件,利用線性鋸齒波和單片機內部的定時器來獲得A/D轉換結果,與單片機接口簡單。采用該方法除了能獲得較快的轉換速度以外,轉換的分辨率也可靈活設置,具有一定的實用價值。

    關鍵詞:A/D轉換  線性鋸齒波  模擬比較器  AT89C1051/2051

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

1 原理

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

2 電路及A/D轉換的過程

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

3 線性鋸齒波電路參數的確定

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

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

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

    其中τ=(R1+Rw1)C1

    如果運放IC2:B將Vc1放大10倍,其輸出為:

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

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

    因為IC2:B

相關IC型號

熱門點擊

 

推薦技術資料

電動吸錫烙鐵
    用12V/2A的電源為電磁閥和泵供電,FQPF9N50... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
山西省| 合阳县| 顺平县| 武穴市| 化隆| 保靖县| 阿尔山市| 义马市| 诸城市| 资阳市| 长武县| 江永县| 磐安县| 都兰县| 绥江县| 临海市| 时尚| 长宁县| 三明市| 灵石县| 会泽县| 大石桥市| 文山县| 舒兰市| 湛江市| 名山县| 苗栗县| 山阴县| 二连浩特市| 扶余县| 江安县| 那曲县| 德庆县| 喀什市| 马尔康县| 靖远县| 中西区| 乌恰县| 水富县| 贵州省| 苍南县|