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

下載本文檔

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

文檔簡介

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

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

3、、數(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)中具有全速、單步、設置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如keil c51 uvision

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

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

6、著技術的發(fā)展,成為目前廣泛應用的為單片機之一。單片機是在一塊芯片內(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)先級嵌套中斷結構。51系列單片機如下圖:圖1 51單片機引腳圖2.2 ad轉換器相關知識adc0809是美國國家半導體公司生產(chǎn)的cm

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

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

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

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

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

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

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

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

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

16、數(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 = 1; start = 0;

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

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

溫馨提示

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