《能力拓展訓(xùn)練》說明書基于數(shù)字濾波的單片機仿真和C語言開發(fā)報告_第1頁
《能力拓展訓(xùn)練》說明書基于數(shù)字濾波的單片機仿真和C語言開發(fā)報告_第2頁
《能力拓展訓(xùn)練》說明書基于數(shù)字濾波的單片機仿真和C語言開發(fā)報告_第3頁
《能力拓展訓(xùn)練》說明書基于數(shù)字濾波的單片機仿真和C語言開發(fā)報告_第4頁
《能力拓展訓(xùn)練》說明書基于數(shù)字濾波的單片機仿真和C語言開發(fā)報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)能力拓展訓(xùn)練說明書目錄摘要i1 緒論11.1仿真軟件介紹11.2數(shù)字濾波器介紹12 單片機和ad/da相關(guān)知識32.1 51單片機相關(guān)知識32.2 ad轉(zhuǎn)換器相關(guān)知識42.3 da轉(zhuǎn)換器相關(guān)知識53 數(shù)字濾波器設(shè)計63數(shù)字濾波器系統(tǒng)設(shè)計63.1 數(shù)字濾波器理論分析設(shè)計63.2 單片機電路73.3 數(shù)據(jù)采集電路83.4 數(shù)模轉(zhuǎn)換輸出電路93.5供電電路和參考電壓93.6 數(shù)字電壓表系統(tǒng)電路原理圖104 程序設(shè)計104.1程序流程圖114.2 ad轉(zhuǎn)換器程序114.3 程序代碼126 心得與體會15參考文獻(xiàn)161 緒論1.1仿真軟件介紹現(xiàn)代工業(yè)控制系統(tǒng)中,電路系統(tǒng)越來越復(fù)雜,因而帶來的

2、相互干擾也越來越強烈,模擬濾波電路已經(jīng)不能滿足要求,數(shù)字濾波應(yīng)運而生。數(shù)字濾波器的實現(xiàn)過程的實現(xiàn)過程是把輸入的模擬信號數(shù)字化,也就是由采樣器對輸入的模擬信號進(jìn)行周期性的采樣,并對每個樣本進(jìn)行量化和編碼,即模數(shù)轉(zhuǎn)換。從adc輸出的數(shù)字信號送入到數(shù)字信號處理器進(jìn)行處理變化,處理器輸出的數(shù)字信號再通過數(shù)模轉(zhuǎn)換為模擬信號,這個過程要用到dac來轉(zhuǎn)換實現(xiàn)模擬信號的輸出。1.2數(shù)字濾波器介紹proteus isis是英國labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件的特點是:(1)現(xiàn)了單片機仿真和spice電

3、路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、i2c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如k

4、eil c51 uvision2等軟件。(4)具有強大的原理圖繪制功能。可以仿真51系列、avr、pic、arm、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,proteus建立了完備的電子設(shè)計開發(fā)環(huán)境。在proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.hex,可以在proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。 proteus 是單片機課堂教學(xué)的先進(jìn)助手。 proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當(dāng)程度上得到實物演示實驗

5、的效果,后者則是實物演示實驗難以達(dá)到的效果。 它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機實驗教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。 課程設(shè)計、畢業(yè)設(shè)計是學(xué)生走向就業(yè)的重要實踐環(huán)節(jié)。由于proteus提供了實驗室無法相比的大量的元器件庫,提供了修改電路設(shè)計的靈活性、提供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實踐精神、創(chuàng)造精神的平臺。2 單片機和ad/da相關(guān)知識2.1 51單片機相關(guān)知識51單片機是對目前所有兼容intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是in

6、tel的8031單片機,后來隨著技術(shù)的發(fā)展,成為目前廣泛應(yīng)用的為單片機之一。單片機是在一塊芯片內(nèi)集成了cpu、ram、rom、定時器計數(shù)器和多功能i/o口等計算機所需要的基本功能部件的大規(guī)模集成電路,又稱為mcu。51系列單片機內(nèi)包含以下幾個部件:一個位cpu;一個片內(nèi)振蕩器及時鐘電路;4kb的rom程序存儲器;一個128b的ram數(shù)據(jù)存儲器;尋址64kb外部數(shù)據(jù)存儲器和64kb外部程序存儲空間的控制電路;32條可編程的i/o口線;兩個16位定時計數(shù)器;一個可編程全雙工串行口;個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu)。51系列單片機如下圖:圖1 51單片機引腳圖2.2 ad轉(zhuǎn)換器相關(guān)知識adc0809

7、是美國國家半導(dǎo)體公司生產(chǎn)的cmos工藝8通道,8位逐次逼近式轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行a/d轉(zhuǎn)換。(1)主要特性: 1)8路輸入通道,8位a/d轉(zhuǎn)換器,即分辨率為8位。 2)具有轉(zhuǎn)換起停控制端。 3)轉(zhuǎn)換時間為100s(時鐘為640khz時),130s(時鐘為500khz時) 4)單個+5v電源供電 5)模擬輸入電壓范圍0+5v,不需零點和滿刻度校準(zhǔn)。 6)工作溫度范圍為-40+85攝氏度 7)低功耗,約15mw。 (2)內(nèi)部結(jié)構(gòu)adc0809是cmos單片型逐次逼近式a/d轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖1322所示,它由8路

8、模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型a/d轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時電路組成。 圖2 adc0809引腳2.3 da轉(zhuǎn)換器相關(guān)知識根據(jù)對dac0832的數(shù)據(jù)鎖存器和dac寄存器的不同的控制方式,dac0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。主要性能如下:(1)分辨率為8位; (2)電流穩(wěn)定時間1us; (3) 可單緩沖、雙緩沖或直接數(shù)字輸入; (4) 只需在滿量程下調(diào)整其線性度; (5)單一電源供電(+5v+15v); (6) 低功耗,20mw。 dac0832引腳功能電路應(yīng)用原理圖dac0832是采樣頻率為八位的d/a轉(zhuǎn)換芯片,集成電路內(nèi)有兩級輸入寄

9、存器,使dac0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路d/a異步輸入、同步轉(zhuǎn)換等)。所以這個芯片的應(yīng)用很廣泛,關(guān)于dac0832應(yīng)用的一些重要資料見下圖: d/a轉(zhuǎn)換結(jié)果采用電流形式輸出。若需要相應(yīng)的模擬電壓信號,可通過一個高輸入阻抗的線性運算放大器實現(xiàn)。運放的反饋電阻可通過rfb端引用片內(nèi)固有電阻,也可外接。dac0832邏輯輸入滿足ttl電平,可直接與ttl電路或微機電路連接。圖2 adc0809引腳圖2 adc0809引腳圖3 dac0832引腳3 數(shù)字濾波器設(shè)計3數(shù)字濾波器系統(tǒng)設(shè)計3.1 數(shù)字濾波器理論分析設(shè)計數(shù)字濾波方法有很多種,如中值濾波

10、、算術(shù)平均濾波、加權(quán)平均濾波,限幅濾波等等。本次課程設(shè)計我選用的是限幅濾波方法限幅濾波的基本原理是把兩次相鄰時刻(n和n-1)的采樣值yn和yn-1相減,求出其差值,以絕對值表示,然后將這個差值與兩次采樣允許的最大偏差值y比較,如果兩次采樣值的差值超過了允許的最大偏差值y,則認(rèn)為發(fā)生了隨機干擾,并認(rèn)為最后一次采樣值yn非法,應(yīng)予剔除。剔除yn后,可用yn-1代替yn;若未超過允許的最大偏差值范圍,則認(rèn)為本次采樣值有效??捎萌缦鹿奖硎荆簗yn-yn-1|y;則yn有效|yn-yn-1|y;則yn-1有效此算法的樣例子程序如下:#define a 10 /a值可根據(jù)實際情況調(diào)整char data

11、; /上一次的數(shù)據(jù)char filter_1()char datanew; /新數(shù)據(jù)變量datanew=get_data(); /獲得新數(shù)據(jù)/濾波算法if (datanew-dataa)|(data-datanewa)return data;return datanew;該算法主要用于處理變化比較緩慢的數(shù)據(jù),如溫度、物體的位置等。使用時關(guān)鍵在于最大偏差值的y的選擇,通??筛鶕?jù)經(jīng)驗獲得,也可按照輸出參數(shù)可能的最大變化速度vmax及采樣周期t來決定y的值,即y=vmaxt。3.2 單片機電路單片機最小系統(tǒng)如下圖所示,各個引腳都已經(jīng)標(biāo)出,而且四個i/o口都已經(jīng)用排陣引出,方便外接i/o擴展用。圖4

12、單片機最小系統(tǒng)使用51系列單片機at89c51,利用這個單片機進(jìn)行編程,實現(xiàn)對輸入信號的濾波。我使用了p0口作為接受ad轉(zhuǎn)換的結(jié)果的端口,而p1口則輸出數(shù)據(jù)到da轉(zhuǎn)換器。另外還利用了p2作為控制端口,p2.0-p2.2用來控制ad轉(zhuǎn)換器,而p2.3-p2.6外接四個開關(guān),用來實現(xiàn)濾波方式的選擇。3.3 數(shù)據(jù)采集電路由于adc0809是帶地址鎖存的模數(shù)轉(zhuǎn)換器件,adda、addb、addc為模擬通道選擇,編碼為000111分別選中in0in7。ale為地址鎖存信號,其上升沿鎖存adda、addb、addc的信號,譯碼后控制模擬開關(guān),接通八路模擬輸入中相應(yīng)的一路。clk為輸入時鐘,為ad轉(zhuǎn)換器提供

13、轉(zhuǎn)換的時鐘信號,典型工作頻率為640khz。start為ad轉(zhuǎn)換啟動信號,正脈沖啟動addaaddc選中的一路模擬信號開始轉(zhuǎn)換。oe為輸出允許信號,高電平時候打開三態(tài)輸出緩存器,是轉(zhuǎn)換后的數(shù)字量從d0d7輸出。eoc為轉(zhuǎn)換結(jié)束信號,啟動轉(zhuǎn)換后eoc變?yōu)榈碗娖?,轉(zhuǎn)換完成后eoc編程高電平。圖5 adc模數(shù)轉(zhuǎn)換3.4 數(shù)模轉(zhuǎn)換輸出電路這里我用了da0832來進(jìn)行數(shù)模轉(zhuǎn)換。da0832的引腳圖如下圖所示:圖6 dac數(shù)模轉(zhuǎn)換da0832有三種數(shù)模轉(zhuǎn)換方法,直通方式、單緩沖方式、雙緩沖方式,因為單片機輸出后可以直接進(jìn)行數(shù)模轉(zhuǎn)換,所以這里我采用了不需要單片機控制的最為簡單的直通方式,但是da0832若用

14、于直通方式。若用于直通方式下,則gnd均接地,而vcc和ile則接正電源。vref是參考電源。iout1、iout2是兩個輸出端。da0832輸出的是電流,要利用運算放大器轉(zhuǎn)換成電壓信號。3.5供電電路和參考電壓由于此次系統(tǒng)的芯片工作電壓為+5v,所以用常用的三端穩(wěn)壓器lm317和lm337構(gòu)成的電源系統(tǒng)供電,其中adc0809要提供一個準(zhǔn)確的參考電源才能正常的工作,而lm317正好能夠達(dá)到要求。圖7 系統(tǒng)供電部分3.6 數(shù)字電壓表系統(tǒng)電路原理圖 如下是此次設(shè)計仿真的數(shù)字濾波器電路總原理圖。此圖總共分為三個部分,分別是采用電路adc,處理分析部分單片機,調(diào)理信號輸出部分dac。圖8 數(shù)字濾波器

15、設(shè)計總原理圖4 程序設(shè)計4.1程序流程圖開始結(jié)束初始化ad采樣量化單片機處理da轉(zhuǎn)換輸出圖9 程序流程圖4.2 ad轉(zhuǎn)換器程序因為start為轉(zhuǎn)換啟動信號,在其上跳變時,所有內(nèi)部寄存器清零,在其下跳變時,開始進(jìn)行ad轉(zhuǎn)換。所以設(shè)計程序時,要先讓start為0,在讓start為1,最后讓start為0。開始采集數(shù)據(jù)后就要讓oe為1,進(jìn)行數(shù)據(jù)輸入。同時數(shù)據(jù)采集結(jié)束時,利用查詢語句,查看eoc是否為1,如果是1,則處于等待狀態(tài),如果變成1,則可以進(jìn)行數(shù)據(jù)輸入了。ad轉(zhuǎn)換的程序如下:start = 0;start = 1;start = 0;while(eoc=0);oe = 1;a = p0;這里a

16、是一個變量,用來存儲ad輸入的數(shù)據(jù)4.3 程序代碼#include #define uchar unsigned char#define a 0.005#define n 11sbit oe = p20;sbit start = p21;sbit eoc = p22;uchar a;uchar bufn =0;void change()int i;for(i=0;i a ) | ( value - new_value a ) )return value;return new_value;uchar adc0808_read(void) uchar res; start = 0; start =

17、 1; start = 0; while(eoc=0); oe = 1; a = p0; res=a; return res;void main()while(1)p1 = adc0808_read();5 仿真及結(jié)果分析通過正確的編寫程序和不斷調(diào)試發(fā)現(xiàn),比較理想的濾波效果的仿真結(jié)果如下圖所示限幅濾波的效果:圖10 仿真結(jié)果限幅濾波的效果是和a值有關(guān)的,一般情況下,a值越小,則代表允許的噪聲要越小,限幅濾波很適用于使幅值突變的噪聲。限幅濾波適用于變化緩慢的場合,比如主要用于處理變化比較緩慢的數(shù)據(jù),如溫度、物體的位置等。使用時關(guān)鍵在于最大偏差值的y的選擇,通??筛鶕?jù)經(jīng)驗獲得。而且通過仿真過程中不

18、斷修改a的值,濾波效果會明顯發(fā)生變化,通過改變信號的頻率,濾波的結(jié)果也會發(fā)生明顯變化,當(dāng)信號的頻率過高時,濾波效果會使最終的波形發(fā)生明顯的失真現(xiàn)象。6 心得與體會通過與同學(xué)的討論與認(rèn)真計算設(shè)計分析所完成的,課程設(shè)計的任務(wù)是設(shè)計、組裝并調(diào)試一個數(shù)字電壓表測量系統(tǒng)。需要我們綜合運用單片機等課程的知識,通過查閱資料、方案論證與選定;設(shè)計和選取電路和元器件;分析指標(biāo)及討論,完成設(shè)計任務(wù)。在這次課程設(shè)計中,我學(xué)會了怎樣去根據(jù)課題的要求去設(shè)計電路和調(diào)試電路。動手能力得到很大的提高。從中我發(fā)現(xiàn)自己并不能很好的熟練去使用我所學(xué)到的高頻電路知識。在以后學(xué)習(xí)中我要加強對使用電路的設(shè)計和選用能力。但由于電路比較簡單、定型,而不是真實的生產(chǎn)、科研任務(wù),所以我們基本上能有章可循,完成起來并不困難。把過去熟悉的定型

溫馨提示

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

評論

0/150

提交評論