數(shù)字電路信號(hào)峰值檢測(cè)儀_第1頁(yè)
數(shù)字電路信號(hào)峰值檢測(cè)儀_第2頁(yè)
數(shù)字電路信號(hào)峰值檢測(cè)儀_第3頁(yè)
數(shù)字電路信號(hào)峰值檢測(cè)儀_第4頁(yè)
數(shù)字電路信號(hào)峰值檢測(cè)儀_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)字電路課程設(shè)計(jì)題 目 信號(hào)峰值檢測(cè)儀 學(xué) 院 電子與信息工程學(xué)院 專(zhuān)業(yè)班級(jí) 通信13(本1)班 學(xué)生姓名 張 峰 指導(dǎo)教師 張 軍 撰寫(xiě)日期:2015 年6月18日目錄緒論1一 、峰值檢測(cè)基本原理2二 、系統(tǒng)方案設(shè)計(jì)22.1 系統(tǒng)總體框圖設(shè)計(jì)22.2 峰值檢測(cè)方案設(shè)計(jì)和論證3三 、硬件設(shè)計(jì)43.1 單片機(jī)A/D轉(zhuǎn)換電路和LCD接口電路43.1.1 ATMEGA16簡(jiǎn)介43.1.2 ATMEGA16的管腳分布及功能53.1.3 LCD1602的接口電路53.2 小信號(hào)放大電路63.3 電源電路7四 、軟件設(shè)計(jì)84.1 ATmega16單片機(jī)的模數(shù)轉(zhuǎn)換器ADC介紹84.2 ATmega16單片機(jī)

2、的模數(shù)轉(zhuǎn)換器ADC相關(guān)的I/O寄存器94.2.1 ADC多路復(fù)用器選擇寄存器ADMUX:如圖11所示94.2.2 ADC控制和狀態(tài)寄存器AADCSRA:如圖12所示。104.2.3 ADC數(shù)據(jù)寄存器ADCL和ADCH :如圖13所示114.3 系統(tǒng)軟件框圖設(shè)計(jì)12五 、系統(tǒng)仿真調(diào)試與結(jié)果分析135.1 系統(tǒng)仿真調(diào)試135.2 結(jié)果分析14六 、總結(jié)15七 、參考文獻(xiàn)15附錄16附錄1 系統(tǒng)總電路圖16附錄2 主程序代碼17附錄3 頭文件LCD1602.h19信號(hào)峰值檢測(cè)研究與設(shè)計(jì)摘要 本設(shè)計(jì)介紹了峰值檢測(cè)系統(tǒng)的設(shè)計(jì)原理、軟硬件設(shè)計(jì)方法及系統(tǒng)性能指標(biāo)調(diào)試方法。被測(cè)信號(hào)經(jīng)傳感器轉(zhuǎn)化為電信號(hào),再經(jīng)運(yùn)

3、放AD620和OP07放大、LF398采樣/保持后進(jìn)行A/D轉(zhuǎn)化和信號(hào)處理后數(shù)字顯示輸出。研究的主要內(nèi)容有:方案論證、硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)實(shí)物調(diào)試。硬件設(shè)計(jì)主要有小信號(hào)放大電路、峰值采樣/保持電路、AD轉(zhuǎn)換電路、LCD顯示電路、電源電路及單片機(jī)最小系統(tǒng)。系統(tǒng)以ATMEGA16單片機(jī)作為控制核心,以L(fǎng)F398芯片為峰值采樣/保持電路核心,實(shí)現(xiàn)了輸入信號(hào)的峰值提取和數(shù)字輸出,并給出了具體方案和實(shí)驗(yàn)樣本?!娟P(guān)鍵詞】 峰值 采樣/保持電路 ATMEGA16單片機(jī) LF398緒論峰值檢測(cè)是電子測(cè)量、自動(dòng)化儀表以及其它相關(guān)技術(shù)領(lǐng)域常會(huì)遇到的問(wèn)題。峰值反映了信號(hào)極為重要的方面,尤其是小信號(hào)1。設(shè)計(jì)完善的

4、峰值檢測(cè)系統(tǒng),不僅可以用于對(duì)微弱信號(hào)進(jìn)行檢測(cè) ,還可以通過(guò)傳感器對(duì)其它非電信號(hào)如微弱的機(jī)械振動(dòng)實(shí)現(xiàn)自動(dòng)檢測(cè)和控制 ,從而構(gòu)成完整的測(cè)控系統(tǒng) ,因此峰值檢測(cè)具有廣泛的實(shí)用價(jià)值 。峰值檢測(cè)技術(shù)是數(shù)字存儲(chǔ)示波器及數(shù)據(jù)采集卡中的重要技術(shù)之一, 用來(lái)實(shí)現(xiàn)波形的峰值捕捉2。在科研、生產(chǎn)的許多領(lǐng)域都需要用到峰值檢測(cè)設(shè)備,比如檢測(cè)某建筑物中梁的最大承受力 ,檢測(cè)一根鋼絲繩的最大允許拉力等,這就需要用到相應(yīng)的檢測(cè)設(shè)備。目前常用的方法是先求得檢測(cè)信號(hào)的平均值,但使用平均值掩蓋了被檢測(cè)信號(hào)的突然脈沖,從而可能引起系統(tǒng)的失靈及不穩(wěn)定3。若用由二極管和電阻電容構(gòu)成的普通峰值檢波電路來(lái)檢波 ,效果會(huì)很差 ,主要表現(xiàn)在兩個(gè)

5、方面:第一 ,若選擇 RC電路時(shí)間常數(shù)大一些 ,則輸出信號(hào)的波形會(huì)好一些 ,但檢波輸出之后的信號(hào)幅值和檢波之前的信號(hào)幅值有明顯的差距 ,輸出信號(hào)幅值明顯降低 ,峰值檢波效率變差 ,同時(shí) ,信號(hào)快變部分的丟失變得嚴(yán)重。第二 ,若選擇 RC電路時(shí)間常數(shù)小一些 ,則會(huì)發(fā)現(xiàn)檢波前后的信號(hào)幅值的差異變小 ,信號(hào)之中的快變分量明顯變好 ,但輸出信號(hào)的波形明顯變差 ,不利于對(duì)信號(hào)的A/ D變換。為了得到良好的輸出波形,同時(shí)峰值檢波前后的信號(hào)幅值差異小 ,信號(hào)快變部分丟失小 ,檢波效率高 ,以利于 A/ D 變換的需要 ,一種較好的方法就是采用基于單片機(jī)(MCU)和LF398的峰值檢波電路,本文分析設(shè)計(jì)了一臺(tái)

6、基于AVR單片機(jī)(MCU)和LF398的信號(hào)峰值檢測(cè)儀 ,測(cè)量精度為0.005V,采用LCD1602液晶顯示峰值。一 、峰值檢測(cè)基本原理峰值檢測(cè)電路(PKD,Peak Detector)的作用就是對(duì)輸入信號(hào)的峰值進(jìn)行提取,產(chǎn)生輸出Vo = Vpeak,為了實(shí)現(xiàn)這樣的目標(biāo),電路輸出值需一直保持,直到一個(gè)新的更大的峰值出現(xiàn)或電路復(fù)位。其效果原理如圖1所示:圖1 峰值檢測(cè)基本原理二 、系統(tǒng)方案設(shè)計(jì)2.1 系統(tǒng)總體框圖設(shè)計(jì)本系統(tǒng)的關(guān)鍵任務(wù)是檢測(cè)出峰值并使之保持穩(wěn)定和數(shù)字顯示,其總體結(jié)構(gòu)框圖如圖2所示。它由傳感器、放大器、采樣/保持電路、采樣/保持控制電路、A/D轉(zhuǎn)換電路、峰值顯示電路組成。由傳感器測(cè)量

7、得到一定的輸入信號(hào),該輸入信號(hào)一般較小,需經(jīng)放大器放大,放大后的信號(hào)送入峰值采樣/保持電路,單片機(jī)將得到的峰值模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換后數(shù)字輸出并顯示。圖2 峰值檢測(cè)系統(tǒng)設(shè)計(jì)總體結(jié)構(gòu)框圖2.2 峰值檢測(cè)方案設(shè)計(jì)和論證方案1:如圖3所示即為一般正峰值檢測(cè)電路,其工作原理為:初始狀態(tài)電容電壓 Uc等于零時(shí),當(dāng)輸入電壓Ui 0 的時(shí)候,由于運(yùn)放 U3 充當(dāng)跟隨器,故 Ui= Uo ,二極管 D2 導(dǎo)通 ,電壓 Ui 對(duì)電容 C2充電 ,直至電容 C2上的電壓 Uc 等于輸入電壓 Ui 的峰值,只要輸入電壓 Ui Uc ,二極管 D2 就截止,電容電壓 Uc 保持不變,即電容電壓 Uc 保持先前檢測(cè)到的

8、輸入電壓 Ui 的峰值,只有輸入電壓 Ui Uc時(shí),二極管 VD才導(dǎo)通 ,電容 C 進(jìn)行充電??傊?,電容電壓 Uc 始終保持輸入電壓 Ui 的峰值。但此電路存在缺陷 ,當(dāng)輸入小信號(hào)波形的正向峰值小于二極管 D2 的正向?qū)妷簳r(shí) ,二極管將截止 ,此峰值檢測(cè)電路便不能工作。可見(jiàn) ,此電路不能用于檢測(cè)小信號(hào)波形的峰值。圖3 一般峰值信號(hào)檢測(cè)原理圖方案2:如圖4所示為小信號(hào)峰值檢測(cè)電路,此電路是由一級(jí)運(yùn)放構(gòu)成 ,二極管VD置于反饋回路之中。運(yùn)放 U1 與電容 C1一道構(gòu)成峰值檢測(cè)電路;運(yùn)放 U2 構(gòu)成跟隨器 ,使峰值檢測(cè)電路與后面的電路隔離。當(dāng)小信號(hào)輸入時(shí) ,即使輸入信號(hào)的正半周很小 ,由于運(yùn)放

9、 U1的 Av ( Av為運(yùn)放環(huán)路電壓增益) 很大,而 U1 的輸出電壓等于Uin· Av ,所以 U1 的輸出電壓也足以使二極管導(dǎo)通,迫使運(yùn)放 U1 處于跟隨狀態(tài),從而能實(shí)現(xiàn)對(duì)輸入小信號(hào)的峰值進(jìn)行檢測(cè)。雖避免了方案1的不足之處,但是該方案對(duì)各個(gè)元件的參數(shù)要求較高,而且容易受干擾。圖4 小信號(hào)峰值檢測(cè)原理圖方案3 :如圖5所示,采用LF398作為峰值采樣/保持電路的核心,LF398是一種反饋型采樣/保持放大器,它的第8個(gè)引腳為采樣保持器的控制腳 ,輸人高電平時(shí) ,芯片工作在采樣狀態(tài),輸入低電平時(shí) ,芯片工作在保持狀態(tài) 。由于回路阻抗很大 ,所以保持功能很強(qiáng) ,電路的保持功能是依靠C1

10、對(duì) Vi的充電實(shí)現(xiàn)的 ,因而對(duì)C1的要求較高 ,一般選用有機(jī)薄膜介質(zhì)電容。UA741構(gòu)成比較器電路,將被測(cè)信號(hào)與保持信號(hào)Vo進(jìn)行比較,若Vi>Vo,比較器輸出高電平 ,開(kāi)啟 LF398進(jìn)人采樣狀態(tài) ,若Vi<Vo,比較器輸出低電平,使LF398保持原有信號(hào)峰值。圖5 LF398采樣電路通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),方案3不僅避免了前兩種方案的缺陷,而且相比于前兩個(gè)方案,其峰值保持效果有極大的提升,簡(jiǎn)化了硬件電路,在一定程度上減少了元件參數(shù)的影響,因此本系統(tǒng)采用了方案3。三 、硬件設(shè)計(jì)3.1 單片機(jī)A/D轉(zhuǎn)換電路和LCD接口電路3.1.1 ATMEGA16簡(jiǎn)介ATMEGA16單片機(jī)是1997年由AT

11、MEL公司研發(fā)出的增強(qiáng)型內(nèi)置Flash的RISC(Reduced Instruction Set CPU) 精簡(jiǎn)指令集高速8位單片機(jī)。與其它單片機(jī)相比,AVR 單片機(jī)具有如下優(yōu)點(diǎn): l 哈佛結(jié)構(gòu),具備1MIPS / MHz的高速運(yùn)行處理能力; l 超功能精簡(jiǎn)指令集(RISC),具有32個(gè)通用工作寄存器,克服了如8051 MCU采用單一ACC進(jìn)行處理造成的瓶頸現(xiàn)象;l 快速的存取寄存器組、單周期指令系統(tǒng),大大優(yōu)化了目標(biāo)代碼的大小、執(zhí)行效率,部分型號(hào)FLASH非常大,特別適用于使用高級(jí)語(yǔ)言進(jìn)行開(kāi)發(fā);l 大部分AVR片上資源豐富:帶E2PROM,PWM,SPI,UART,TWI,ISP,AD,Ana

12、log Comparator,WDT等;l 片內(nèi)集成多種頻率的RC振蕩器、上電自動(dòng)復(fù)位、看門(mén)狗、啟動(dòng)延時(shí)等功能,外圍電路更加簡(jiǎn)單,系統(tǒng)更加穩(wěn)定可靠; 3.1.2 ATMEGA16的管腳分布及功能如圖6所示為ATMEGA16的管腳圖。VCC(10):數(shù)字電路的電源。GND(11、31):地。XTAL1(13):反向振蕩放大器與片內(nèi)時(shí)鐘電路輸入端。XTAL2(12):反向振蕩放大器輸出端。AVCC(30):端口A與A/D轉(zhuǎn)換器電源。AREF(32):A/D模擬基準(zhǔn)電壓輸入引腳。 圖6 ATMEGA16L管腳圖RESET(9):復(fù)位輸入腳,持續(xù)時(shí)間超過(guò)最小門(mén)限時(shí)間的低電平將引起系統(tǒng)復(fù)位。端口A(PA

13、0-PA7):端口A為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。端口B(PB0-PB7): 端口B為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。端口C(PC0-PC7): 端口C為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。端口D(PD0-PD7): 端口D為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。3.1.3 LCD1602的接口電路LCD1602引腳分布及功能與ATMEGA16L單片機(jī)的接口電路如圖7所示。圖7 A/D轉(zhuǎn)換電路和LCD顯示電路第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)

14、會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫(xiě)信號(hào)線(xiàn),高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:E為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線(xiàn)。第1516腳:背光電源。3.2 小信號(hào)放大電路在一般的信號(hào)放大應(yīng)用中通常只要經(jīng)過(guò)差動(dòng)放大電路即可滿(mǎn)足要求,然而基本的差動(dòng)放大電路精密度較差,而且差動(dòng)放大電路上改

15、變放大增益時(shí),必須調(diào)整兩個(gè)電阻,影響整個(gè)放大精確度的因素就更加復(fù)雜。而儀表放大器AD620增益范圍寬(增益為1-1000),電源供電范圍寬(+2.3V-+18V),功耗低,精確度高,電路簡(jiǎn)單,只需外接一個(gè)電阻就可改變放大倍數(shù)4,圖8為AD620的管腳圖,其中1、8腳需跨接一電阻來(lái)調(diào)整放大倍率,4、7腳需提供正負(fù)相等的工作電壓,2、3腳接入輸入信號(hào)即可從6腳得到放大后的信號(hào),5腳為參考基準(zhǔn)電壓輸入,如果接地則6腳的輸出即為與地之間的相對(duì)電壓,AD620的放大增益關(guān)系式如式(1)和式(2)所示,由此2式我們即可推出各種增益所需要的電阻Rg.G = +1 (1)Rg = (2) 圖8 AD620管腳

16、圖基于上述有利條件,我們以AD620為核心,OP07(擴(kuò)大增益范圍)為輔構(gòu)成系統(tǒng)的放大電路,電路如圖9所示:信號(hào)經(jīng)過(guò)前級(jí)電壓跟隨器器后送入AD620進(jìn)行第一級(jí)放大,AD620輸出信號(hào)送至OP07進(jìn)行第二級(jí)放大后輸出。圖9 信號(hào)放大電路3.3 電源電路電源是整個(gè)系統(tǒng)的能量來(lái)源,它直接關(guān)系到系統(tǒng)能否運(yùn)行。在本系統(tǒng)中單片機(jī)、液晶顯示電路需要5V的電源,因此電路中選用穩(wěn)壓芯片7805;峰值采樣/保持芯片LF398,AD620,OP07等芯片需要+12V和-12V的雙電源,因此電路中采用了穩(wěn)壓芯片7812和7912,其最大輸出電流為1.5A,能夠滿(mǎn)足系統(tǒng)的要求,其電路如圖10所示。圖10 電源電路四 、

17、軟件設(shè)計(jì)4.1 ATmega16單片機(jī)的模數(shù)轉(zhuǎn)換器ADC介紹AVR的模數(shù)轉(zhuǎn)換器ADC具有下列特點(diǎn):l 10位精度;l 0.5LSB積分非線(xiàn)形誤差l ±2LSB的絕對(duì)精度;l 13µs260µs的轉(zhuǎn)換時(shí)間;l 在最大精度下可達(dá)到每秒15kSPS的采樣速率;l 8路可選的單端輸入通道;l 7路差分輸入通道;l 2路差分輸入通道帶有可選的10×和200×增益;l ADC轉(zhuǎn)換結(jié)果的讀取可設(shè)置為左端對(duì)齊(LEFT ADJUSTMENT);l ADC的電壓輸入范圍0Vcc;l 可選擇的內(nèi)部2.56V的ADC參考電壓源;l 自由連續(xù)轉(zhuǎn)換模式和單次轉(zhuǎn)換模式;l

18、 ADC自動(dòng)轉(zhuǎn)換觸發(fā)模式選擇;l ADC轉(zhuǎn)換完成中斷;l 休眠模式下的噪聲抑制器(NOISE CANCELER);由于單片機(jī)只能處理數(shù)字信號(hào),所以外部的模擬信號(hào)量需要轉(zhuǎn)變成數(shù)字量才能進(jìn)一步的由單片機(jī)進(jìn)行處理。ATmega16內(nèi)部集成有一個(gè)10位逐次比較(successive approximation)ADC電路。因此使用AVR可以非常方便的處理輸入的模擬信號(hào)量。ATmega16的ADC與一個(gè)8通道的模擬多路選擇器連接,能夠?qū)σ訮ORTA作為ADC輸入引腳的8路單端模擬輸入電壓進(jìn)行采樣,單端電壓輸入以0V(GND)為參考。另外還支持16種差分電壓輸入組合,其中2種差分輸入方式(ADC1,ADC

19、0和ACD3,ADC2)帶有可編程增益放大器,能在A/D轉(zhuǎn)換前對(duì)差分輸入電壓進(jìn)行0dB(1×),20dB(10×)或46dB(200×)的放大。還有七種差分輸入方式的模擬輸入通道共用一個(gè)負(fù)極(ADC1),此時(shí)其它任意一個(gè)ADC引腳都可作為相應(yīng)的正極。若增益為1×或10×,則可獲得8位的精度,如果增益為200×,那么轉(zhuǎn)換精度為7位。AVR的ADC功能單元由獨(dú)立的專(zhuān)用模擬電源引腳AVcc供電。AVcc和Vcc的電壓差別不能大于±0.3V。ADC轉(zhuǎn)換的參考電源可采用芯片內(nèi)部的2.56V參考電源,或采用AVcc,也可使用外部參考電源

20、。使用外部參考電源時(shí),外部參考電源由引腳ARFE接入。使用內(nèi)部電壓參考源時(shí),可以通過(guò)在AREF引腳外部并接一個(gè)電容來(lái)提高ADC的抗噪性能。ADC功能單元包括采樣保持電路,以確保輸入電壓在ADC轉(zhuǎn)換過(guò)程中保持恒定。ADC通過(guò)逐次比較(successive approximation)方式,將輸入端的模擬電壓轉(zhuǎn)換成10位的數(shù)字量。最小值代表地,最大值為AREF引腳上的電壓值減1個(gè)LSB??梢酝ㄟ^(guò)ADMUX寄存器中REFSn位的設(shè)置,選擇將芯片內(nèi)部參考電源(2.56V)或AVcc連接到AREF,作為A/D轉(zhuǎn)換的參考電壓。這時(shí),內(nèi)部電壓參考源可以通過(guò)外接于AREF引腳的電容來(lái)穩(wěn)定,以改進(jìn)抗噪特性。模擬

21、輸入通道和差分增益的選擇是通過(guò)ADMUX寄存器中的MUX位設(shè)定的。任何一個(gè)ADC的輸入引腳,包括地(GND)以及內(nèi)部的恒定能隙(fixed bandgap)電壓參考源,都可以被選擇用來(lái)作為ADC的單端輸入信號(hào)。而ADC的某些輸入引腳則可選擇作為差分增益放大器的正、負(fù)極輸入端。當(dāng)選定了差分輸入通道后,差分增益放大器將兩輸入通道上的電壓差按選定增益系數(shù)放大,然后輸入到ADC中。若選定使用單端輸入通道,則增益放大器無(wú)效。通過(guò)設(shè)置ADCSRA寄存器中的ADC使能位ADEN來(lái)使能ADC。在ADEN沒(méi)有置“1”前,參考電壓源和輸入通道的選定將不起作用。當(dāng)ADEN位清“0”后,ADC將不消耗能量,因此建議在

22、進(jìn)入節(jié)電休眠模式前將ADC關(guān)掉。ADC將10位的轉(zhuǎn)換結(jié)果放在ADC數(shù)據(jù)寄存器中(ADCH和ADCL)。默認(rèn)情況下,轉(zhuǎn)換結(jié)果為右端對(duì)齊(RIGHT ADJUSTED)的。但可以通過(guò)設(shè)置ADMUX寄存器中ADLAR位,調(diào)整為左端對(duì)齊(LEFT ADJUSTED)。如果轉(zhuǎn)換結(jié)果是左端對(duì)齊,并且只需要8位的精度,那么只需讀取ADCH寄存器的數(shù)據(jù)作為轉(zhuǎn)換結(jié)果就達(dá)到要求了。否則,必須先讀取ADCL寄存器,然后再讀取ADCH寄存器,以保證數(shù)據(jù)寄存器中的內(nèi)容是同一次轉(zhuǎn)換的結(jié)果。因?yàn)橐坏〢DCL寄存器被讀取,就阻斷了ADC對(duì)ADC數(shù)據(jù)寄存器的操作。這就意味著,一旦指令讀取了ADCL,那么必須緊接著讀取一次ADC

23、H;如果在讀取ADCL和讀取ADCH的過(guò)程中正好有一次ADC轉(zhuǎn)換完成,ADC的2個(gè)數(shù)據(jù)寄存器的內(nèi)容是不會(huì)被更新的,該次轉(zhuǎn)換的結(jié)果將丟失。只有當(dāng)ADCH寄存器被讀取后,ADC才可以繼續(xù)對(duì)ADCL和ADCH寄存器操作更新。ADC有自己的中斷,當(dāng)轉(zhuǎn)換完成時(shí)中斷將被觸發(fā)。盡管在順序讀取ADCL和ADCH寄存器過(guò)程中,ADC對(duì)ADC數(shù)據(jù)寄存器的更新被禁止,轉(zhuǎn)換的結(jié)果丟失,但仍會(huì)觸發(fā)ADC中斷。4.2 ATmega16單片機(jī)的模數(shù)轉(zhuǎn)換器ADC相關(guān)的I/O寄存器4.2.1 ADC多路復(fù)用器選擇寄存器ADMUX:如圖11所示1、位7,6REFS1:0:ADC參考電源選擇:REFS1、REFS2用于選擇ADC的

24、參考電壓源,見(jiàn)表1。如果這些位在ADC轉(zhuǎn)換過(guò)程中被改變,新的選擇將在該次ADC轉(zhuǎn)換完成后(ADCSRA中的ADIF被置位)才生效。一旦選擇內(nèi)部參考源(AVcc、2.56V)為ADC的參考電壓后,AREF引腳上不得施加外部的參考電源,只能與GND之間并接抗干擾電容。2、位5ADLAR:ADC結(jié)果左對(duì)齊選擇:ADLAR位決定轉(zhuǎn)換結(jié)果在ADC數(shù)據(jù)寄存器中的存放形式。寫(xiě)“1”到ADLAR位,將使轉(zhuǎn)換結(jié)果左對(duì)齊(LEFT ADJUST);否則,轉(zhuǎn)換結(jié)果為右對(duì)齊(RIGHT ADJUST)。無(wú)論ADC是否正在進(jìn)行轉(zhuǎn)換,改變ADLAR位都將會(huì)立即影響ADC數(shù)據(jù)寄存器。圖11 寄存器ADMUX3、位4.0MU

25、X4:0:模擬通道和增益選擇:這5個(gè)位用于對(duì)連接到ADC的輸入通道和差分通道的增益進(jìn)行選擇設(shè)置,只有轉(zhuǎn)換結(jié)束后(ADCSRA的ADIF是“1”),改變這些位才會(huì)有效。表1 ADC參考電源選擇REFS1REFS0ADC參考電源00外部引腳AREF,斷開(kāi)內(nèi)部參考源連接01AVcc,AREF外部并接電容10保留11內(nèi)部2.56V,AREF外部并接電容4.2.2 ADC控制和狀態(tài)寄存器AADCSRA:如圖12所示。圖12 狀態(tài)寄存器ADCSRA1、位7ADEN:ADC使能:該位寫(xiě)入“1”時(shí)使能ADC,寫(xiě)入“0”關(guān)閉ADC。如在ADC轉(zhuǎn)換過(guò)程中將ADC關(guān)閉,該次轉(zhuǎn)換隨即停止。2、位6ADSC:ADC轉(zhuǎn)換

26、開(kāi)始:在單次轉(zhuǎn)換模式下,置該位為“1”,將啟動(dòng)一次轉(zhuǎn)換。在自由連續(xù)轉(zhuǎn)換模式下,該位寫(xiě)入“1”將啟動(dòng)第一次轉(zhuǎn)換。先置位ADEN位使能ADC,再置位ADSC;或置位ADSC的同時(shí)使能ADC,都會(huì)使能ADC開(kāi)始進(jìn)行第一次轉(zhuǎn)換。3、位5ADATE:ADC自動(dòng)轉(zhuǎn)換觸發(fā)允許:當(dāng)該位被置為“1”時(shí),允許ADC工作在自動(dòng)轉(zhuǎn)換觸發(fā)工作模式下。在該模式下,在觸發(fā)信號(hào)的上升沿時(shí)ADC將自動(dòng)開(kāi)始一次ADC轉(zhuǎn)換過(guò)程。ADC的自動(dòng)轉(zhuǎn)換觸發(fā)信號(hào)源由SFIOR寄存器中的ADTS位選擇確定。4、位4ADIF:ADC中斷標(biāo)志位:當(dāng)ADC轉(zhuǎn)換完成并且ADC數(shù)據(jù)寄存器被更新后該位被置位。如果ADIE位(ADC轉(zhuǎn)換結(jié)束中斷允許)和SR

27、EG寄存器中的I位被置“1”,ADC中斷服務(wù)程序?qū)⒈粓?zhí)行。ADIF在執(zhí)行相應(yīng)的中斷處理向量時(shí)被硬件自動(dòng)清零。此外,ADIF位可以通過(guò)寫(xiě)入邏輯“1”來(lái)清零。5、位3ADIE:ADC中斷允許:當(dāng)該位和SREG寄存器中的I位同時(shí)被置位時(shí),允許ADC轉(zhuǎn)換完成中斷。6、位2,0ADPS2:0:ADC預(yù)分頻選擇:這些位決定了XTAL時(shí)鐘與輸入到ADC的ADC時(shí)鐘之間的分頻數(shù),見(jiàn)表2。表2 ADC預(yù)分頻選擇DPS2:0分 頻 系 數(shù)000/0012010401181001610132110641111284.2.3 ADC數(shù)據(jù)寄存器ADCL和ADCH :如圖13所示1、當(dāng)ADLAR = 0時(shí),ADC轉(zhuǎn)換結(jié)果

28、右對(duì)齊,ADC結(jié)果的保存方式如圖(a)。2、當(dāng)ADLAR = 1時(shí),ADC轉(zhuǎn)換結(jié)果左對(duì)齊,ADC結(jié)果的保存方式如圖(b)。當(dāng)ADC轉(zhuǎn)換完成后,可以讀取ADC寄存器的ADC0-ADC9得到ADC的轉(zhuǎn)換的結(jié)果。如果是差分輸入,轉(zhuǎn)換值為二進(jìn)制的補(bǔ)碼形式。一旦開(kāi)始讀取ADCL后,ADC數(shù)據(jù)寄存器就不能被ADC更新,直到ADCH寄存器被讀取為止。因此,如果結(jié)果是左對(duì)齊(ADLAR=1),且不需要大于8位的精度的話(huà),僅僅讀取ADCH寄存器就足夠了。否則,必須先讀取ADCL寄存器,再讀取ADCH寄存器。ADMUX寄存器中的ADLAR位決定了從ADC數(shù)據(jù)寄存器中讀取結(jié)果的格式。如果ADLAR位為“1”,結(jié)果將

29、是左對(duì)齊;如果ADLAR位為“0”(默認(rèn)情況),結(jié)果將是右對(duì)齊。(a)(b)圖13 數(shù)據(jù)寄存器ADCL和ADCH4.3 系統(tǒng)軟件框圖設(shè)計(jì)軟件設(shè)計(jì)是整個(gè)系統(tǒng)的靈魂,也是系統(tǒng)一個(gè)重要的調(diào)試部分。如圖14所示為整個(gè)系統(tǒng)的軟件框圖,主程序先對(duì)系統(tǒng)資源進(jìn)行初始化,然后完成峰值的采樣/保持控制、A/D轉(zhuǎn)換控制和峰值LCD顯示控制。系統(tǒng)中的比較器電路,將被測(cè)信號(hào)與保持信號(hào)Vo進(jìn)行比較,若Vi>Vo,比較器輸出高電平 ,系統(tǒng)開(kāi)啟 LF398進(jìn)人采樣狀態(tài) ,若Vi<Vo,比較器輸出低電平,MCU使LF398保持原有信號(hào)峰值。當(dāng)MCU檢測(cè)到峰值采樣完成時(shí),系統(tǒng)將LF398的第8個(gè)管腳拉低,使LF398

30、處于峰值保持狀態(tài),同時(shí)進(jìn)行A/D轉(zhuǎn)換和峰值顯示,一段時(shí)間后系統(tǒng)重新進(jìn)入到峰值的采樣狀態(tài),實(shí)現(xiàn)信號(hào)的實(shí)時(shí)峰值數(shù)據(jù)采集。圖14 系統(tǒng)軟件框圖五 、系統(tǒng)仿真調(diào)試與結(jié)果分析5.1 系統(tǒng)仿真調(diào)試在實(shí)驗(yàn)過(guò)程中,根據(jù)電路原理圖,分三個(gè)個(gè)模塊(電源模塊、峰值采樣/保持模塊和單片機(jī)LCD顯示模塊)分別進(jìn)行測(cè)試。使用的測(cè)試工具主要有:萬(wàn)用表,示波器和函數(shù)信號(hào)發(fā)生器等。首先將A/D轉(zhuǎn)化程序下載到單片機(jī),驗(yàn)證A/D轉(zhuǎn)化程序和LCD1602的顯示程序,使用Proteus仿真效果如圖15所示,隨后對(duì)實(shí)物進(jìn)行同樣測(cè)試,但LCD顯示白屏,考慮到可能是液晶對(duì)比對(duì)的問(wèn)題,于是調(diào)節(jié)RV1變阻器后,顯示正常。圖15 A/D轉(zhuǎn)換程序和

31、LCD顯示程序測(cè)試結(jié)果接著調(diào)試峰值采樣/保持模塊,將峰值采樣模塊中的放大倍數(shù)調(diào)節(jié)到50(其中AD620的增益為25,OP07的增益為2),根據(jù)公式(1)和公式(2)可得Rg=2.058K,用函數(shù)發(fā)生器實(shí)驗(yàn)儀器產(chǎn)生輸入信號(hào),但示波器在信號(hào)放大輸出端采集不到模擬信號(hào),考慮到可能是小信號(hào)功率不夠,輸入阻抗等問(wèn)題,查閱資料和請(qǐng)教指導(dǎo)老師后,在前面加了一級(jí)跟隨器,問(wèn)題果然得到解決。最后將已調(diào)試好的單片機(jī)模塊、峰值采樣/保持模塊和電源組成整個(gè)系統(tǒng),通過(guò)不斷改變輸入信號(hào)的峰值,用示波器測(cè)量放大后的信號(hào)峰值,由示波器測(cè)得輸入信號(hào)峰值和LCD顯示結(jié)果,見(jiàn)表3所示。表3 實(shí)驗(yàn)測(cè)量數(shù)據(jù)輸出顯示結(jié)果(v)0.0450

32、.0490.0630.0690.0800.0860.0890.0950.100輸入信號(hào)峰值(mv)4550627080859095101輸出顯示結(jié)果(v)0.1040.1110.1160.1210.1250.1320.1360.1400.145輸入信號(hào)峰值(mv)105110116120125131136140146輸出顯示結(jié)果(v)0.1510.1550.1600.1680.1750.1810.1830.1870.195輸入信號(hào)峰值(mv)1501551611691761801841891965.2 結(jié)果分析從實(shí)驗(yàn)測(cè)量結(jié)果分析可得,本系統(tǒng)基本實(shí)現(xiàn)了輸入信號(hào)的峰值提取和數(shù)字輸出,隨著放大倍數(shù)的

33、不同其測(cè)量范圍也不同,誤差范圍小于等于0.005v, 可廣泛用于數(shù)據(jù)采集等方面。但對(duì)于微小信號(hào),由于電源的紋波電壓比較大,對(duì)測(cè)量結(jié)果的精度影響較大,誤差很明顯,因此電源部分是有待改進(jìn)。六 、總結(jié)本系統(tǒng)使用內(nèi)部自帶10位A/D轉(zhuǎn)換器的ATMEGA16單片機(jī)控制峰值采樣/保持模塊、A/D轉(zhuǎn)換模塊的和顯示模塊。關(guān)鍵是對(duì)各單元電路的設(shè)計(jì),包括小信號(hào)放大電路、峰值采樣/保持電路、AD轉(zhuǎn)換電路、LCD顯示電路、電源電路、單片機(jī)最小系統(tǒng)以及各單元電路與單片機(jī)的外圍接口設(shè)計(jì)。系統(tǒng)通過(guò)比較器電路,將被測(cè)信號(hào)Vi與保持信號(hào)Vo進(jìn)行比較,若Vi>Vo,比較器輸出高電平 ,MCU檢測(cè)到高低平后,系統(tǒng)將LF398

34、的第8個(gè)管腳拉高,開(kāi)啟 LF398進(jìn)人采樣狀態(tài) ,若Vi<Vo,比較器輸出低電平,為了使LF398保持原有信號(hào)峰值,即當(dāng)MCU檢測(cè)到峰值采樣完成時(shí),系統(tǒng)將LF398的第8個(gè)管腳拉低,使LF398處于峰值保持狀態(tài),同時(shí)進(jìn)行A/D轉(zhuǎn)換和峰值顯示,一段時(shí)間后系統(tǒng)重新進(jìn)入到峰值的采樣狀態(tài),實(shí)現(xiàn)信號(hào)的實(shí)時(shí)峰值數(shù)據(jù)采集。本文給出了系統(tǒng)的設(shè)計(jì)原理、設(shè)計(jì)方法、軟件設(shè)計(jì)過(guò)程、系統(tǒng)實(shí)物調(diào)試過(guò)程及系統(tǒng)結(jié)果分析,通過(guò)不斷的努力和實(shí)驗(yàn),最終實(shí)現(xiàn)了輸入信號(hào)的峰值提取和數(shù)字輸出。經(jīng)過(guò)這次課程設(shè)計(jì),我學(xué)會(huì)了不少的知識(shí),學(xué)會(huì)了怎樣查閱資料和利用工具書(shū),以及熟練地使用PROTEUS仿真軟件和相關(guān)開(kāi)發(fā)工具。通過(guò)這次課程設(shè)計(jì),

35、我更加深刻地認(rèn)識(shí)到只有將書(shū)本與具體的實(shí)踐相結(jié)合,才會(huì)有真正的收獲,才能鞏固自已的所學(xué),認(rèn)識(shí)到自己的不足。尤其是在調(diào)試過(guò)程中我遇到了很多常見(jiàn)問(wèn)題,通過(guò)對(duì)這些問(wèn)題的探討和解決,我也學(xué)會(huì)了一些基本原則和考慮因素,使自己得到了全方位的提升。七 、參考文獻(xiàn)1彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)M.北京:高等教育出版社2孫梅生,李美鶯,徐振英. 電子技術(shù)基礎(chǔ)課程設(shè)計(jì)M.北京高等教育出版社3梁宗善. 電子技術(shù)基礎(chǔ)課程設(shè)計(jì)M. 武漢:華中理工大學(xué)出版社4張玉璞,李慶常. 電子技術(shù)課程設(shè)計(jì)M. 北京:北京理工大學(xué)出版社5謝自美.電子線(xiàn)路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試(第二版)M.武漢:華中科技大學(xué)出版社6附錄附錄

36、1 系統(tǒng)總電路圖附錄2 主程序代碼/*畢業(yè)設(shè)計(jì):峰值信號(hào)檢測(cè) */#include <iom16v.h>#include <macros.h>#include "lcd1602.h"#define uchar unsigned char#define uint unsigned intuchar table="Peak voltage"uchar table1=". (V)"uint ad_result,ad4;/AD轉(zhuǎn)換結(jié)果寄存器配置;/*端口初始化設(shè)置*/void init_port() DDRD|=BIT

37、(5)|BIT(6)|BIT(7);/RS,RW,EN設(shè)置; DDRC=0XFF;/*ATMEGA16內(nèi)部AD轉(zhuǎn)換函數(shù)*/uint ad_mage16() uint addata; DDRA&=BIT(PA0);/1111 1110 PA0設(shè)置為輸入; PORTA&=BIT(PA0);/1111 1110 設(shè)置為不帶上拉電阻的輸入; ADMUX=0X00;/參考電壓、右對(duì)齊、模擬通道選擇設(shè)置; ADCSR=0X86;/開(kāi)AD轉(zhuǎn)換使能位:ADEN,64分頻; ACSR =(1<<ACD);/關(guān)閉模擬比較器 ADCSR|=BIT(ADSC);/0100 000 啟動(dòng)AD

38、轉(zhuǎn)換位:ADSC; while(!ADCSR&(BIT(ADIF);/判斷轉(zhuǎn)換標(biāo)志位ADIF是否為1,轉(zhuǎn)換完畢; addata=ADCL;/右對(duì)齊,先讀取低8位; addata=addata+ADCH*256;/讀取10位AD轉(zhuǎn)換結(jié)果的高兩位; return addata;/*數(shù)據(jù)顯示轉(zhuǎn)換*/uint data_change(uint x) long z; uint y; z=(4875*(long)x)/1024; y=(uint)z; return y;/*AD轉(zhuǎn)換結(jié)果顯示函數(shù)*/void result_disp() uchar i; /*調(diào)用AD數(shù)據(jù)顯示轉(zhuǎn)換*/ ad_result=(data_change(ad_mage16()+246)/250; for(i=0;i<4;i+) ad3-i=ad_result%10; ad_result=ad_result/10; /*顯示“Peak voltage“*/ write_com(0x80+2);/第4列開(kāi)始顯示 delay(5); for(i=0;i<12;i+) write_dat(tablei); delay(5); /*顯示轉(zhuǎn)換結(jié)果的最高位ad0*/ write_com(0x80+0x40+4

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論