新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 廉價實用的雙積分A/D轉換器

        廉價實用的雙積分A/D轉換器

        作者: 時間:2009-10-19 來源:網絡 收藏
        1原理

          51系列單片機具有兩個以上16位雙通道定時器(TIME0和TIME1),每個通道可選擇為輸入捕獲方式來測量脈寬。我們用片內16位的定時器外接運放、比較器實現雙轉換。原理圖如圖1所示(電源和5l單片機外圍電路同常規電路),TL082是JFETINPUT運放;LM358作為比較器;MC4066是多路開關。51單片機P1口的P10、P11、P12作為輸出,控制MC4066多路開關的輸入選擇;INT0作為中斷輸入口,捕捉LM358比較器的輸出電平跳變。C1為電容,常取0.22μF左右的聚丙烯電容,R2為電阻,可取500k左右,U2A為積分運放,U2A、C1、R2構成了積分器,U2B是過零檢測運放。VIN為輸入電壓,VREF為基準電壓,AGND為的參考零點。VREF和參考零點以R9、R10、R11分壓產生。

        本文引用地址:http://www.104case.com/article/173587.htm

          測量前,TK3=1、TK2=0、TK1=0,打開U1C、U1D模擬開關,使積分器輸入等于AGND,進入調零階段,第一次啟動轉換的時間為300ms;啟動以后調零時間為40ms。開始轉換時,TK3=0、TK2=0、TK1=1,積分器輸入接至輸入電壓,使VIN通過積分電阻R2向C1充電,設積分時間為T。然后,將TK3=0、TK2=1、TK1=0,即積分器輸入接至基準電壓VREF,電容C1開始通過R2向VREF逆向放電。當運放的輸出低于C2電容電壓時,比較器輸出反轉。然后,TK3=1、TK2=0、TK1=0,打開U1C、U1D模擬開關,又進入調零階段。設逆向充電的時間為t,則有

          上式中VIN是被測電壓,T是正向積分時間,t是反向積分時間,VREF是基準參考電壓,AGND是的參考零點。積分器輸出波形如圖2所示。

        2軟件結構

          程序由初始化程序、輸入捕捉中斷服務程序、TIME0中斷服務程序和調用該程序模塊的接口程序組成。

          程序初始化時,置TK3=1、TK2=0、TK1=0,軟件300ms延時,進行初始調零;進行正向積分時,關閉INT0,置TK3=0、TK2=0、TK1=1,開TIME0(設置TIME0工作在定時方式),進行定時正向積分;正向積分完畢,設置定時TIME0工作在輸入捕獲方式,打開INT0,置TK3=0、TK2=1、TK1=0,進行反向積分,TIME0進行計時,利用另一個寄存器來計數定時器溢出次數;當比較器輸出反轉、INT0中斷產生時,單片機自動關斷TIME0,完成一次雙積分A/D轉換。AD值(HEX)=寄存器計數值*100+TIME0。

          源程序清單如下:       

         


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阆中市| 苗栗县| 新沂市| 天水市| 神木县| 安顺市| 金华市| 鸡西市| 桐梓县| 高台县| 镇江市| 新安县| 余庆县| 安仁县| 边坝县| 子洲县| 苏尼特右旗| 开封县| 阳谷县| 涟水县| 绥中县| 广西| 日喀则市| 屯昌县| 枝江市| 台安县| 黎城县| 银川市| 揭阳市| 宁阳县| 台中县| 汨罗市| 长阳| 宁都县| 新龙县| 南宫市| 华蓥市| 闻喜县| 辽宁省| 亚东县| 共和县|