欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12244|回復(fù): 5
收起左側(cè)

波形的采集存儲與回放系統(tǒng)設(shè)計論文下載 帶原理圖 源碼

[復(fù)制鏈接]
ID:194942 發(fā)表于 2017-4-30 10:39 | 顯示全部樓層 |閱讀模式
波形的采集存儲與回放系統(tǒng)
摘 要
隨著電子信息技術(shù)的迅猛發(fā)展,醫(yī)療、衛(wèi)星、雷達、現(xiàn)代航空等眾多領(lǐng)域都需要實現(xiàn)對數(shù)據(jù)進行存儲,回放等要求,信號的采集、存儲在信息技術(shù)行業(yè)中應(yīng)用的也越來越廣泛。
本設(shè)計采用單片機作為總控制芯片,分別用A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器進行模數(shù)和數(shù)模轉(zhuǎn)換,并將采集到的波形數(shù)據(jù)存儲到Flash存儲器中。按下采集鍵后,該系統(tǒng)對0~+5v變化的波形進行采樣并將采樣的數(shù)據(jù)存儲起來;按下回放鍵后,該系統(tǒng)將采樣波形進行循環(huán)回放;在采集時可改變幅值,并且采集到的數(shù)據(jù)也會同時在回放的時候變化;在回放時,若按下存儲鍵,將停止波形的回放,顯示一條直線;若按下回放鍵,將終止當(dāng)前波形,并采集新的波形。


目 錄
摘要…………………………………………………………………………………………
ABSTRACT…………………………………………………………………………………
1 緒論…………………………………………………………………………………………
    1.1 選題的意義…………………………………………………………………………
    1.2 研究現(xiàn)狀與發(fā)展趨勢……………………………………………………………
2波形采集存儲與回放系統(tǒng)的設(shè)計原理與功能……………………………………………
    2.1 波形采集存儲與回放系統(tǒng)的設(shè)計原理……………………………………………
    2.2 波形采集存儲與回放系統(tǒng)的功能…………………………………………………
    2.3 總體開發(fā)計劃和課題所達到的功能目標和技術(shù)指標……………………………
    2.3.1 達到的功能目標…………………………………………………………
    2.3.2 技術(shù)指標……………………………………………………………………
    2.4 本章小結(jié)……………………………………………………………………………
3 方案論證選擇與硬件設(shè)計…………………………………………………………………
    3.1 采樣方式選擇………………………………………………………………………
    3.2 A/D與D/A轉(zhuǎn)換選擇………………………………………………………………
    3.3 觸發(fā)方式選擇………………………………………………………………………
    3.4 輸入模塊……………………………………………………………………………
    3.4.1 A路輸入電路…………………………………………………………………
    3.4.2 B路輸入………………………………………………………………………
    3.5 A/D轉(zhuǎn)換器…………………………………………………………………………
    3.5.1 ADC0809引腳圖以及接口…………………………………………………
    3.5.2 ADC0809使用要求及應(yīng)用說明……………………………………………
    3.6 主控模塊……………………………………………………………………………
    3.6.1 AT89S52芯片主要特點及性能………………………………………………
    3.6.2 AT89S52芯片的最小電路系統(tǒng)以及接口……………………………………
    3.7 D/A轉(zhuǎn)換器…………………………………………………………………………
    3.7.1 DAC0832的引腳圖以及接口………………………………………………
    3.7.2 DAC0832的工作方式………………………………………………………
    3.7.3 實現(xiàn)D/A轉(zhuǎn)換時,主要涉及的參數(shù)………………………………………
    3.8 輸出模塊…………………………………………………………………………
    3.9 顯示模塊…………………………………………………………………………
    3.10 存儲模塊…………………………………………………………………………
    3.11 本章小結(jié)…………………………………………………………………………
4 軟件設(shè)計…………………………………………………………………………………
    4.1 軟件設(shè)計目標……………………………………………………………………
    4.2 Keil2簡介…………………………………………………………………………
    4.3 軟件功能模塊分類………………………………………………………………
    4.3.1 主程序流程…………………………………………………………………
    4.3.2 LCD子程序流程……………………………………………………………
    4.3.3 按鍵處理子程序流程………………………………………………………
    4.3.4 回放子程序流程……………………………………………………………
    4.3.5 采集并存儲子程序流程……………………………………………………
    4.3.6 存儲處理子程序流程………………………………………………………
    4.4 本章小結(jié)…………………………………………………………………………
5 系統(tǒng)測試及結(jié)果分析……………………………………………………………………
    5.1 測試使用儀器與設(shè)備……………………………………………………………
    5.2 測試方案與測試結(jié)果……………………………………………………………
    5.2.1 測試方法……………………………………………………………………
    5.2.2 測試結(jié)果與分析……………………………………………………………
    5.2.3 誤差產(chǎn)生原因………………………………………………………………
    5.3 設(shè)計和調(diào)試中遇到的問題………………………………………………………
6 小結(jié)……………………………………………………………………………………
致謝…………………………………………………………………………………………
參考文獻……………………………………………………………………………………
附錄…………………………………………………………………………………………
附錄Ⅰ AT89S52與LCD1602的接口程序…………………………………………………
附錄Ⅱ AT89S52與ADC0809的連接程序…………………………………………………




1

波形的采集存儲與回放系統(tǒng)
1 緒論
1.1 選題的意義
電子信息技術(shù)的迅猛發(fā)展,現(xiàn)代航空、雷達、衛(wèi)星、醫(yī)療等眾多領(lǐng)域常常需要對波形進行采集、存儲和回放,波形信號的采集、存儲在信息技術(shù)行業(yè)應(yīng)用的越來越廣泛。從常規(guī)的波形發(fā)生器、波形顯示器到現(xiàn)在的數(shù)碼管顯示液晶等都有了本質(zhì)性的變化。從以前的模擬信號到現(xiàn)在越來越應(yīng)用廣泛的數(shù)字信號,無處不顯示電子信息技術(shù)的快速發(fā)展。所以在波形采集存儲方面也應(yīng)用了更為穩(wěn)定和方便的數(shù)字信號直接進入液晶顯示器的顯示。眾所周知,近幾十年以來,對于高速、海量數(shù)據(jù)的采集、存儲和回放一般都是采用FPGA或者是DSP來處理的。然而FPGA和DSP技術(shù)來處理這些數(shù)據(jù)所需要的功耗是一個很大的麻煩。 然而現(xiàn)在的產(chǎn)品對于功耗的要求越來越苛刻。人們對于產(chǎn)品有兩個顯著的要求,第一:功耗低,耐持久。第二:便攜,最好能隨身攜帶。從而在設(shè)計本系統(tǒng)時,基于數(shù)字存儲示波器的原理,以單片機AT89S52為控制核心通過高速AD對信號的實時采樣。
數(shù)據(jù)采集系統(tǒng),一般是由單片機為核心及其一些外圍芯片構(gòu)成的數(shù)據(jù)采集系統(tǒng)。單片機具有體積小、功耗低、成本低、可靠性高、靈活方便、價廉以及控制功能強特點而得到廣泛的應(yīng)用。基本組成如圖1-1所示。
1.001.jpg
圖1-1 數(shù)據(jù)采集系統(tǒng)的組成
采集系統(tǒng)硬件主要包括傳感器、A/D轉(zhuǎn)換器、單片機、輸入/輸出接口電路等。由單片機作為控制單元的數(shù)據(jù)采集系統(tǒng)的工作過程可分為以下幾個步驟:數(shù)據(jù)采集是將被測量的信號轉(zhuǎn)換為能夠被單片機所識別的信號并輸入給單片機;數(shù)據(jù)處理是由單片機執(zhí)行以測試為目的的算法程序后,得到與被測參數(shù)對應(yīng)的測量值或形成相應(yīng)的決策與判斷;數(shù)據(jù)輸出是將處理結(jié)果送給輸出設(shè)備,進行顯示、儲存等操作。
1.2 研究現(xiàn)狀與發(fā)展趨勢
隨著計算機的產(chǎn)生與發(fā)展,電子信息技術(shù)也發(fā)展的越來越快。為了便于人們更快捷的運算,便有了數(shù)字系統(tǒng)。如今數(shù)字系統(tǒng)也被應(yīng)用到國民經(jīng)濟、國防建設(shè)和科學(xué)試驗的各個領(lǐng)域。但是數(shù)字系統(tǒng)只能處理離散的數(shù)字信號,外部世界提供給我們的卻是大量的模擬信號,我們就需要把這些模擬信號轉(zhuǎn)換為便于處理和儲存的數(shù)字信號。作為信息科學(xué)的一個重要分支,數(shù)據(jù)的采集技術(shù)應(yīng)運而生。將模擬信號轉(zhuǎn)換成數(shù)字信號或者直接來自傳感器的其他數(shù)字信號送往計算機,并進一步予以處理、顯示、傳輸與記錄的過程就成為數(shù)據(jù)采集。
目前國內(nèi)外,在許多應(yīng)用場合,人們需要高速數(shù)據(jù)采集系統(tǒng),甚至超高速系統(tǒng)。目前就采集系統(tǒng)的研究有很多種。從計算機并口采集到串口采集,從基于ISA總線的采集系統(tǒng)到基于PCI總線的采集系統(tǒng),從聲音信號的采集到圖像數(shù)據(jù)的采集都有以下相關(guān)的資料和文獻。并且在設(shè)計方面也有不同的設(shè)計方法,取得了很大的成就。
以后不論是什么,都要朝著簡便、快速的方向發(fā)展,波形的采集、存儲與回放系統(tǒng)也一樣,要越來越簡便,讓別人可以很明確的知道系統(tǒng)的作用、組成等一些只是,而且系統(tǒng)也要功耗低,耐持久,這也就要求本系統(tǒng)里面的元器件更加精煉,對元器件的要求也會增加,將要找到更合適的元器件來代替之前所用的元器件。以后發(fā)展的趨勢會是將系統(tǒng)如何的簡化,而且可以實現(xiàn)更多的功能。

2波形采集存儲與回放系統(tǒng)的設(shè)計原理與功能
2.1 波形采集存儲與回放系統(tǒng)的設(shè)計原理
在本設(shè)計系統(tǒng)中,將采用一種基于AT89S52單片機的兩路數(shù)據(jù)采集系統(tǒng)的設(shè)計方案,以實現(xiàn)實時數(shù)據(jù)數(shù)據(jù)采集會存儲回放的功能。系統(tǒng)的總體結(jié)構(gòu)圖如圖所示:
1.002.jpg
圖2-1 總體結(jié)構(gòu)圖
2.2 波形采集存儲與回放系統(tǒng)的功能
各模塊的功能如下:
A/D轉(zhuǎn)換器:將電信號(模擬信號)轉(zhuǎn)換為數(shù)字信號。
D/A轉(zhuǎn)換器:將數(shù)字信號轉(zhuǎn)換成模擬信號輸出。
A路輸入模塊:采集單極性模擬信號并進行處理,然后輸入到轉(zhuǎn)換器中,進行模數(shù)的轉(zhuǎn)化。
B路輸入模塊:采集雙極性模擬信號并進行處理,然后輸入到轉(zhuǎn)換器中,進行模數(shù)的轉(zhuǎn)化。
液晶顯示模塊:顯示所采集的信號的電壓,幅度等數(shù)值。
2.3 總體開發(fā)計劃和課題所達到的功能目標和技術(shù)指標2.3.1 達到的功能目標
(a)能完成對A通道單極性信號(高電平約4V、低電平接近0V)、頻率約1kHz信號的采集、存儲與連續(xù)回放。要求系統(tǒng)輸入阻抗不小于 1.003.jpg ,輸出阻抗不大于 1.004.jpg
(b)采集、回放時能測量并顯示信號的高電平、低電平和信號的周期。原信號與回放信號電平之差的絕對值 1.005.jpg ,周期之差的絕對值 1.006.jpg
(c)本系統(tǒng)處理的正弦波信號頻率范圍限定在10Hz~10kHz,三角波信號頻率范圍限定在10Hz ~2kHz,方波信號頻率范圍限定在10Hz~1kHz。
(d)預(yù)留電源電流的測試點。
(e)采集與回放時采用示波器監(jiān)視。
(f)采集、回放時顯示的周期和幅度應(yīng)是信號的實際測量值,規(guī)定采用十進制數(shù)字顯示,周期以“ms”為單位,幅度以“V”為單位。
2.3.2 技術(shù)指標
(a)A/D位數(shù)選擇依據(jù)
通用示波器垂直方向共8格,要求每格32級,共有 1.007.jpg 級。
                         1.008.jpg                             (1-1)
因此采用8位A/D以上的即可。
(b)采用頻率選擇依據(jù)
假設(shè)掃描速度為t s/div,每格點數(shù)為n,采樣頻率為 1.009.jpg ,則:
1.010.jpg                                 (1-2)
當(dāng)n=20時,針對不同的掃描速度,可得到不同的采樣頻率。在一定的情況下,掃描速度的改變是通過改變采樣頻率實現(xiàn)的。對于10KHz的正弦波,采樣頻率為1MHz時,每周期可采樣100個點,由采樣值可以很好地恢復(fù)采樣前的信號。因而,選用采樣頻率為1MHz以上的A/D即可滿足單路輸入時對頻率范圍的要求。若考慮到雙路輸入的情況,所需A/D最高采樣頻率應(yīng)為2MHz。因而,應(yīng)選擇采樣頻率為2MHz以下的A/D。
(c)波形回放頻率選擇依據(jù)
顯示屏上顯示的信號是從存儲器中讀出的信號,只要使觀察到的波形不閃爍即可。本設(shè)計中,單通道時刷新頻率為200Hz;雙蹤示波時,每通道刷新頻率為100HZ。通過計算,每秒讀出的點數(shù)為 1.011.jpg 。即RAM讀出頻率為40KHz,要求D/A轉(zhuǎn)換速率高于40KHz。
2.4 本章小結(jié)
本章主要是研究了波形采集存儲與回放系統(tǒng)的大概設(shè)計原理與各個部分模塊的作用,說明了本設(shè)計所要求達到的目標以及為了達到目標所要的技術(shù)指標對整個系統(tǒng)有了一定的了解,并且為以后的著手設(shè)計提供了方便之處。
3 方案論證選擇與硬件設(shè)計
3.1 采樣方式選擇
模擬信號數(shù)字化方式很多,不同的方法有不同的應(yīng)用,采用方式對信號的影響最大。通常采用的方案有:
方案一:等效時間采樣法。采用中高速模數(shù)轉(zhuǎn)換器,對于頻率較高的周期性信號采用等效時間采樣的方法,即對每個周期僅采樣一個點,經(jīng)過若干個周期后就可對信號各個部分采樣一遍。而這些點可以借助步進延遲方法均勻地分布于信號波形的不同位置。其中步進延遲是每一次采樣比上一次樣點的位置延遲 1.012.jpg 時間。只要精確控制從觸發(fā)獲得采樣的時間延遲,就能夠準確地恢復(fù)出原始信號。
方案二:實時采樣。實時采樣是在信號存在期間對其采樣。根據(jù)采樣定理,采用速率必須高于信號最高頻率分量的兩倍。對于周期的正弦信號,一個周期內(nèi)應(yīng)該大于兩個采樣點。為了不失真的恢復(fù)原被測信號,獲得比較好的信號,根據(jù)實踐經(jīng)驗。一個信號周期內(nèi)對信號取23個點進行采樣。
等效時間采樣雖然可以對很高頻率的信號進行采樣,可是步進延遲的采樣技術(shù)與電路較為復(fù)雜。再者,它只限于處理周期信號,而且對單次觸發(fā)采樣無能為力。實時采樣可以實現(xiàn)整個頻段的全速采樣,因此設(shè)計采用實時采樣。
3.2 A/DD/A轉(zhuǎn)換選擇
方案一:采用ADC0809的8位單斷模擬輸入信號中的一個進行A/D轉(zhuǎn)換,允許8路模擬量分時輸入,共用一個A/D轉(zhuǎn)換器進行轉(zhuǎn)換,可以進行多數(shù)據(jù)采集。而地址鎖存與譯碼電路完成對A、B、C三個地址位進行鎖存和譯碼,轉(zhuǎn)換結(jié)果通過三態(tài)輸出鎖存器存放、輸出。
方案二:PCF8591是具有IIC接口,有AIN0~AIN3四個模擬輸入通道和一個模擬輸出通道,最多可以有8片8591連接到I2C總線。通過時鐘線SCL和數(shù)據(jù)線SDA與單片機之間的數(shù)據(jù)進行傳輸。
經(jīng)比較,我們選擇方案一。
3.3 觸發(fā)方式選擇
要使屏幕上顯示穩(wěn)定的波形,則需將被測信號本身或者與被測信號有一定時間關(guān)系的觸發(fā)信號加到觸發(fā)電路。觸發(fā)源選擇確定觸發(fā)信號由何處供給。通常有三種觸發(fā)源:內(nèi)觸發(fā)(INT)、電源觸發(fā)(LINE)、外觸發(fā)(EXT)。題目要求選擇內(nèi)觸發(fā),即使用被測信號作為觸發(fā)信號。
方案一:采用數(shù)字觸發(fā)方式。對波形信號進行采集,將采集到的波形數(shù)據(jù)和觸發(fā)電平(可由鍵盤設(shè)置)進行比較,找到波形在上升過程中大于或等于該觸發(fā)電平的點,即得到觸發(fā),此時開始對波形進行存儲。因為本來就需要對波形信號進行采集,使用這種方法無需要增加額外的硬件電路,實現(xiàn)方便。但是,對波形每個周期只采集有限個點,不可能每次都能采集到等于觸發(fā)電平的點(這時不得不以大于該電平的值為觸發(fā)電平),從而使觸發(fā)位置不穩(wěn)定,連續(xù)觸發(fā)時輸出波形會有抖動現(xiàn)象。
方案二:采用模擬觸發(fā)方式。通過比較器LM324測波形信號和觸發(fā)電平進行比較,大于觸發(fā)電平時輸出為高電平,小于觸發(fā)電平時則輸出低電平,即可得到信號被整形后的脈沖序列,再在該脈沖序列的上升沿開始存儲波形即實現(xiàn)了觸發(fā)存儲的功能。這種觸發(fā)方式穩(wěn)定,故我們采用了這種方案。
3.4 輸入模塊
輸入電路主要由比較電路和放大電路組成,主要完成對波形的采集、放大。
3.4.1 A路輸入電路
A路輸入:系統(tǒng)要求A路輸入信號為單極性(0~4V),采集后在ADC0809中進行模數(shù)的轉(zhuǎn)換,計算出相應(yīng)的真正輸入值,從而顯示A路的最大值和最小值。最后輸出送入單片機里面進行采樣。
1.013.jpg
圖3-1 A路輸入電路圖
3.4.2 B路輸入
系統(tǒng)要求B路輸入信號為雙極性,因此需要將電壓放大至A/D轉(zhuǎn)換器所能判別的范圍內(nèi),這樣可以提高系統(tǒng)對B路信號的分辨率,同時需要將輸入雙極性信號轉(zhuǎn)換為單極性信號,這樣才能便于AD轉(zhuǎn)換器識辨。
1.014.jpg
圖3-2 B路輸入電路圖
3.5 A/D轉(zhuǎn)換器3.5.1 ADC0809引腳圖以及接口
本系統(tǒng)采用ADC0809作為模數(shù)轉(zhuǎn)換器。ADC0809引腳圖如下:
1.015.jpg
圖3-3 ADC0809引腳圖與元件圖
D7-D0:8位數(shù)字量輸出引腳;IN0-IN7:8位模擬量輸入引腳;VCC:+5V工作電壓;GND:地;REF(+):參考電壓正端;REF(—):參考電壓負端,兩種信號用于啟動A/D轉(zhuǎn)換;START:A/D轉(zhuǎn)換啟動信號輸入端;ALE:地址鎖存允許信號輸入端;EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平;OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器;CLK:時鐘信號輸入端(一般為500KHz);A、B、C:地址輸入線。
3.5.2 ADC0809使用要求及應(yīng)用說明
ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。
應(yīng)用說明如下:
(a)ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89S52單片機直接相連。
(b)初始化時,使ST和OE信號全為低電平。
(c)送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。
(d)在ST端給出一個至少有100ms寬的正脈沖信號。
(e)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。
(f)當(dāng)EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機了。地址輸入和控制線:4條。ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經(jīng)譯碼后被選中的通道的模擬量進入轉(zhuǎn)換器進行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。
(g)ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開始進行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。
(h)CLK為時鐘輸入信號線。因ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHz。
3.6 主控模塊3.6.1 AT89S52芯片主要特點及性能
AT89S52是一種帶8K字節(jié)Flash可編程可擦除只讀存儲器(EPROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89S52是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89S52是一種高效微控制器,AT89S52是它的一種精簡版本。AT89S52單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。
與MCS-51兼容,8K字節(jié)可編程閃爍存儲器,壽命:1000寫/擦循環(huán),數(shù)據(jù)保留時間:10年,全靜態(tài)工作:0Hz-33Hz,三級程序存儲器鎖定,128*8位內(nèi)部RAM,32可編程I/O線,三個16位定時器/計數(shù)器,八個中斷源,可編程串行通道,低功耗的閑置和掉電模式,掉電后中斷可喚醒,看門狗定時器,片內(nèi)振蕩器和時鐘電路。
3.6.2 AT89S52芯片的最小電路系統(tǒng)以及接口
1.016.jpg
圖3-4 AT89S52最小系統(tǒng)
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。
P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3口也可作為AT89S52的一些特殊功能口,如下表所示:
P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);P3.3 /INT1(外部中斷1);P3.4 T0(記時器0外部輸入);P3.5 T1(記時器1外部輸入);P3.6 /WR(外部數(shù)據(jù)存儲器寫選通);P3.7 /RD(外部數(shù)據(jù)存儲器讀選通);P3口同時為閃爍編程和編程校驗接收一些控制信號。
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
EA/VPP:當(dāng)EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反相振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。
3.7 D/A轉(zhuǎn)換器3.7.1 DAC0832的引腳圖以及接口
本系統(tǒng)采用DAC0832作為模數(shù)轉(zhuǎn)換器。DAC0832引腳圖如圖3-5。
1.017.jpg
圖3-5 DAC0832的引腳圖與元件圖
D0~D7:數(shù)字信號輸入端;ILE:輸入寄存器允許,高電平有效;CS:片選信號,低電平有效;WR1:寫信號1,低電平有效;XFER:傳送控制信號,低電平有效;WR2:寫信號2,低電平有效;IOUT1、IOUT2:DAC電流輸出端;Rfb:是集成在片內(nèi)的外接運放的反饋電阻;Vref:基準電壓(-10~10V);Vcc:是源電壓(+5~+15V);AGND:模擬地;NGND:數(shù)字地,可與AGND接在一起使用。
DAC0832輸出的是電流,一般要求輸出是電壓,所以還必須經(jīng)過一個外接的運算放大器轉(zhuǎn)換成電壓。
3.7.2 DAC0832的工作方式
第一種方法是使輸入寄存器工作在鎖存狀態(tài),而DAC寄存器工作在直通狀態(tài)。具體地說,就是使 1.018.jpg 1.019.jpg 都為低電平,DAC寄存器的鎖存選通端得不到有效電平而直通;此外,使輸入寄存器的控制信號ILE處于高電平、 1.020.jpg 處于低電平,這樣,當(dāng) 1.021.jpg 端來一個負脈沖時,就可以完成1次轉(zhuǎn)換。
第二種方法是使輸入寄存器工作在直通狀態(tài),而DAC寄存器工作在鎖存狀態(tài)。就是使和 1.022.jpg 為低電平,ILE為高電平,這樣,輸入寄存器的鎖存選通信號處于無效狀態(tài)而直通;當(dāng)和端輸入1個負脈沖時,使得DAC寄存器工作在鎖存狀態(tài),提供鎖存數(shù)據(jù)進行轉(zhuǎn)換。
根據(jù)上述對DAC0832的輸入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3種工作方式:
(a)單緩沖方式。單緩沖方式是控制輸入寄存器和DAC寄存器同時接收資料,或者只用輸入寄存器而把DAC寄存器接成直通方式。此方式適用只有一路模擬量輸出或幾路模擬量異步輸出的情形。
(b)雙緩沖方式。雙緩沖方式是先使輸入寄存器接收資料,再控制輸入寄存器的輸出資料到DAC寄存器,即分兩次鎖存輸入資料。此方式適用于多個D/A轉(zhuǎn)換同步輸出的情節(jié)。
(c)直通方式。直通方式是資料不經(jīng)兩級鎖存器鎖存,即,,,均接地,ILE接高電平。此方式適用于連續(xù)反饋控制線路,不過在使用時,必須通過另加I/O接口與CPU連接,以匹配CPU與D/A轉(zhuǎn)換。
3.7.3 實現(xiàn)D/A轉(zhuǎn)換時,主要涉及的參數(shù)
(a)分辨率。分辨率是指最小輸出電壓(對應(yīng)于輸入數(shù)字量最低位增1所引起的輸出電壓增量)和最大輸出電壓(對應(yīng)于輸入數(shù)字量所有有效位全為1時的輸出電壓)之比。                           
(b)轉(zhuǎn)換精度。如果不考慮D/A轉(zhuǎn)換的誤差,DAC轉(zhuǎn)換精度就是分辨率的大小,因此,要獲得高精度的D/A轉(zhuǎn)換結(jié)果,首先要選擇有足夠高分辨率的DAC。
(c)非線性誤差。D/A轉(zhuǎn)換器的非線性誤差定義為實際轉(zhuǎn)換特性曲線與理想特性曲線之間的最大偏差,并以該偏差相對于滿量程的百分數(shù)度量。轉(zhuǎn)換器電路設(shè)計一般要求非線性誤差不大于±1/2LSB。
(d)轉(zhuǎn)換速率/建立時間。轉(zhuǎn)換速率實際是由建立時間來反映的。建立時間是指數(shù)字量為滿刻度值(各位全為1)時,DAC的模擬輸出電壓達到某個規(guī)定值(比如,90%滿量程或±1/2LSB滿量程)時所需要的時間。
3.8 輸出模塊
1.023.jpg
圖3-6 輸出電路圖
LM324的5管腳與DAC0832的(IOUT2)12管腳相連,LM324的6管腳與DAC0832的(IOUT1)11管腳相連,LM324的7管腳與DAC0832的REF(9)管腳相連.
第一級運算放大器的作用是將DAC0832輸出的電流信號轉(zhuǎn)化為電壓信號V1,第二級運算放大器的作用是將V1通過反向放大電路放大(R2/R1)倍。
3.9 顯示模塊
1.024.jpg
圖3-7 LCD1602電路圖
顯示采用的是LCD1602液晶顯示屏,LCD1602是工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。
1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。
3.10 存儲模塊
存儲模塊使用AT24C02存儲數(shù)據(jù)。AT24C02的最小系統(tǒng)如圖3-8,芯片的5、6口分別與單片機的P06、P05接口相連,以便達到數(shù)據(jù)的存儲功能。
1.025.jpg
圖3-8 AT24C02最小系統(tǒng)
3.11 本章小結(jié)
本章在前一章討論分析本系統(tǒng)所要求達到的技術(shù)指標熟悉模塊的基礎(chǔ)上,介紹了系統(tǒng)的硬件方面的知識,有不同的模塊的功能以及它們各自的電路圖、引腳圖,然后著手的是硬件的設(shè)計以及電路的連接問題,和電路的處理問題。
4 軟件設(shè)計
4.1 軟件設(shè)計目標
最終能實現(xiàn)同時采集兩路周期信號波形,要求系統(tǒng)斷電恢復(fù)后,能連續(xù)回放已采集的信號,顯示在LCD上。(a)按K1按鍵,依次進入回放已采集的信號狀態(tài)。(b)按下回放鍵后,該系統(tǒng)將采樣波形進行循環(huán)回放(重現(xiàn));(c)在采集時可改變幅值,并且采集到的數(shù)據(jù)也會同時在回放的時候變化;(d)在回放時,若按下回放鍵,將停止波形的回放;若按下采集鍵,將終止當(dāng)前波形的回放,并采集新的波形。
本程序的程序流程圖如下所示:
1.026.jpg
圖4-1 程序總體流程圖
最終目標是實現(xiàn)同時能夠采集兩路周期信號波形,當(dāng)系統(tǒng)斷電恢復(fù)后,能連續(xù)回放已采集的信號,并且顯示在示波器上。
(a)按按鍵,進入采集信號狀態(tài)。
(b)按下回放鍵后,該系統(tǒng)將所采樣波形進行循環(huán)回放;
(c)在采集時可改變幅值和頻率,并且采集到的數(shù)據(jù)也會同時在回放的時候變化;
(d)在回放時,若按下存儲鍵,將停止當(dāng)前波形的回放并且示波器上顯示直線,若按下回放鍵,即采集到新的波形。
(e)能夠?qū)崿F(xiàn)方波、三角波以及正弦波的采集和回放。
模擬信號通過信號調(diào)理模塊(阻抗變換、固定衰減/放大、觸發(fā)電路)將模擬信號的幅值大小調(diào)理到高速AD的輸入范圍0~3.3V。同時,兩路信號經(jīng)比較器得到方波,送處理器AT89S52進行測頻。處理器測得輸入信號頻率后控制內(nèi)部AD以輸入信號頻率的80倍速率采樣。在AT89S52內(nèi)部增加波形存儲控制模塊,當(dāng)滿足觸發(fā)條件時ARM對AD轉(zhuǎn)換得到的數(shù)據(jù)進行存儲。
首先,“開始”部分是將程序內(nèi)容進行初始化,設(shè)定需采集數(shù)據(jù)的存儲首地址。
“采集存儲”部分啟動對輸入信號的A/D轉(zhuǎn)換、執(zhí)行延時程序等待轉(zhuǎn)換結(jié)束、取回轉(zhuǎn)換結(jié)果并存儲和存儲器地址加1,為下次存儲做準備等程序。
其次,判斷是否有觸發(fā)。該課題設(shè)計采用單次觸發(fā)方式,即可以按下設(shè)定的功能鍵,在滿足觸發(fā)條件后,進行一次采集存儲。
最后,通過設(shè)定初始地址,連續(xù)輸出存儲的數(shù)據(jù),顯示存儲的波形。
4.2 Keil2簡介
Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(UVISION)將這些組合在一起。
Keil有以下幾個特點:
(a)全功能的源代碼編輯器。
(b)器件庫用來配置開發(fā)工具設(shè)置。
(c)項目管理器用來創(chuàng)建和維護用戶的項目。
(d)集成的MAKE工具可以匯編、編譯和連接用戶嵌入式應(yīng)用。
(e)所有開發(fā)工具的設(shè)置都是對話框形式的。
(f)真正的源代碼級的對CPU和外圍器件的調(diào)試器。
(g)高級GDI(AGDI)接口用來在目標硬件上進行軟件調(diào)試以及和Monitor-51進行通信。
4.3 軟件功能模塊分類4.3.1 主程序流程
主程序循環(huán)調(diào)用的主要程序有:LCD顯示子程序、按鍵處理、周期處理、幅度處理、二進制到ASCII碼轉(zhuǎn)換、Flash存儲等程序,當(dāng)端口上電時,轉(zhuǎn)入相應(yīng)功能程序。
1.027.jpg
圖4-2 主程序流程圖
    系統(tǒng)開始工作的時候,整個系統(tǒng)就開始初始化,包括液晶還有A/D、D/A轉(zhuǎn)換器,都會進行初始化,然后系統(tǒng)會開始按鍵掃描,當(dāng)我們按下采集按鍵的時候,會掃描到按鍵的電平發(fā)生改變,之后就會進行采集處理,當(dāng)采集完成后,會產(chǎn)生一個EOC有效信號,之后則會對采集好的波形進行存儲,但是如果沒有得到有效的EOC信號,則會繼續(xù)采集。然后系統(tǒng)繼續(xù)掃描按鍵,當(dāng)掃描到回放按鍵有電平變化的時候就會進行回放的處理,沒有回放則會繼續(xù)進行采集。
4.3.2 LCD子程序流程
1.028.jpg
圖4-3 LCD應(yīng)用的流程圖
4.3.3 按鍵處理子程序流程
按鍵子程序:定義IOB4、IOB6分別為通道的采集按鍵與回放按鍵;IOB5為選擇通道按鍵。
1.029.jpg
圖4-4 按鍵應(yīng)用流程圖


4.3.4 回放子程序流程
1.030.jpg
圖4-5 回放子程序流程圖
首先系統(tǒng)會分別為A、B兩通道設(shè)置數(shù)據(jù)指針,初始的數(shù)據(jù)個數(shù)為0,當(dāng)A通道進行波形的采集的時候,則會讀取數(shù)據(jù),然后送到DA1中,這樣數(shù)據(jù)個數(shù)加1,不斷的累計,知道檢測到輸出的數(shù)據(jù)滿1024的時候會回放采集波形。




4.3.5 采集并存儲子程序流程
1.031.jpg
圖4-6 采集并存儲子程序流程
    對于采集的部分,系統(tǒng)首先判斷出是A通道還是B通道進行的采集,之后再選擇不同的通道設(shè)置DPTR,如果有信號的出入,則啟動A/D轉(zhuǎn)換器,在AD轉(zhuǎn)換結(jié)束的時候會產(chǎn)生一個狀態(tài)信號,系統(tǒng)這時檢測如果發(fā)現(xiàn)EOC有效,會讀取AD轉(zhuǎn)換數(shù)據(jù),精心存儲,反之如果沒有檢測到有效的EOC信號,則會繼續(xù)進行采集命令,知道可以達到存儲條件為止。
4.3.6 存儲處理子程序流程
1.032.jpg
圖4-5 存儲處理應(yīng)用流程圖
4.4 本章小結(jié)
本章分別介紹了系統(tǒng)的軟件方面的設(shè)計,分為不同的模塊設(shè)計,也是整個系統(tǒng)看起來比較易懂。如果出現(xiàn)問題的話,也可以在相應(yīng)的模塊上去發(fā)現(xiàn)問題。








5 系統(tǒng)測試及結(jié)果分析
5.1 測試使用儀器與設(shè)備
表5-1 測試儀器
序號
名稱
1
函數(shù)發(fā)生器
2
雙通道示波器
3
萬用表

5.2 測試方案與測試結(jié)果5.2.1 測試方法
連接各部分電路,分別對A、B通道進行設(shè)計要求的測試。
5.2.2 測試結(jié)果與分析
(1)輸入、輸出阻抗:通過在輸入、輸出口并上相應(yīng)電阻觀看回放出來的波形幅度變化,從而得出答案輸入、輸出阻抗分別小于 1.033.jpg 1.034.jpg 電阻,滿足題目要求。
(2)A通道輸出電壓、頻率有效值測量:從A輸入端輸入單極性0~4V、10Hz~10kHz正弦波,經(jīng)采樣、儲存再斷電后再上電回放的測試數(shù)據(jù)如表5-2,測量數(shù)據(jù)結(jié)果顯示基本上滿足了設(shè)計要求。
表5-2 正弦波測試數(shù)據(jù)
頻率(Hz)
幅度(V)
A通道(Hz)
輸出(V)
輸出波形
10
4
10
4
一般
50
4
50
4
良好
100
4
99
4.1
良好
1K
4
1.95K
3.9
良好
2K
4
1.9K
3.94
良好
5K
4
5.06K
4.1
良好
8K
4
8.05K
4.0
一般
10K
4
10.5K
4.05

(3)B通道輸出電壓、頻率有效值測量:從B輸入端輸入雙極性、電壓峰峰值為 1.035.jpg 、頻率為10Hz~10kHz正弦波,經(jīng)采樣、儲存再斷電后再上電回放的測試數(shù)據(jù)如表5-3所示,測量數(shù)據(jù)結(jié)果顯示基本上滿足了設(shè)計要求。
表5-3 正弦波測試數(shù)據(jù)
頻率(Hz)
峰值(mV)
B通道(Hz)
輸出(V)
輸出波形
10
100
10.5
100
一般
50
100
50
99
良好
100
100
100
99.5
良好
1K
100
1K
101
良好
2K
100
2K
101
良好
5K
100
5K
99
良好
8K
100
8K
100.5
一般
10K
100
10.4K
102

(4)A通道輸出電壓、頻率有效值測量:從A輸入端輸入單極性0~4V、10Hz~2kHz三角波,經(jīng)采樣、儲存再斷電后再上電回放的測試數(shù)據(jù)如表5-4所示,測量數(shù)據(jù)結(jié)果顯示基本上滿足了設(shè)計要求。
表5-4 三角波測試數(shù)據(jù)
頻率(Hz)
幅度(V)
A通道(Hz)
輸出(V)
輸出波形
10
4
10
4.0
良好
50
4
50
5
良好
100
4
99
4.1
良好
1K
4
499
3.9
良好
2K
4
802
3.94
良好
5K
4
999
4.1
良好
8K
4
1501
4.0
良好
10K
4
2002
4.05
一般

(5)B通道輸出電壓、頻率有效值測量:從B輸入端輸入雙極性、電壓峰峰值為 1.036.jpg 、頻率為10Hz~2kHz三角波,經(jīng)采樣、儲存再斷電后再上電回放的測試數(shù)據(jù)如表5-5所示,測量數(shù)據(jù)結(jié)果顯示基本上滿足了設(shè)計要求。







表5-5 三角波測試數(shù)據(jù)
頻率(Hz)
峰值(mV)
B通道(Hz)
輸出(V)
輸出波形
10
100
10.0
100.1
良好
50
100
50.5
99.5
良好
100
100
100
99.5
良好
1K
100
1K
100
良好
2K
100
2K
100.5
良好
5K
100
5K
99
良好
8K
100
8K
100.5
良好
10K
100
10.3K
101
一般

(6) A通道輸出電壓、頻率有效值測量:從A輸入端輸入單極性0~4V、10Hz ~1kHz方波,經(jīng)采樣、儲存再斷電后再上電回放的測試數(shù)據(jù)如表5-6所示,測量數(shù)據(jù)結(jié)果顯示基本上滿足了設(shè)計要求。
表5-6 方波測試數(shù)據(jù)
頻率(Hz)
幅度(V)
A通道(Hz)
輸出(V)
輸出波形
10
4
10
4
良好
50
4
50
4
良好
100
4
99
4.02
良好
1K
4
199
3.9
良好
2K
4
400
3.99
良好
5K
4
601
4.05
良好
8K
4
8001
4.0
良好
10K
4
1002
4.05
良好

(7)從B輸入端輸入雙極性、電壓峰峰值為、頻率為10Hz ~1kHz方波,
表5-7 方波測試數(shù)據(jù)
頻率(Hz)
峰值(mV)
B通道(Hz)
輸出(V)
輸出波形
10
100
10.0
100
良好
50
100
50.5
99.9
良好
100
100
100
99.5
良好
1K
100
199
101
良好
2K
100
400
101
良好
5K
100
600
99
良好
8K
100
799
100.5
良好
10K
100
1001
102
良好

經(jīng)采樣、儲存再斷電后再上電回放的測試數(shù)據(jù)如表5-7所示,測量數(shù)據(jù)結(jié)果顯示基本上滿足了設(shè)計要求。
(8)用萬用表對系統(tǒng)功耗進行測試,現(xiàn)在待測點測出電壓,再串入測的電流由 1.037.jpg 的系統(tǒng)功耗大于 1.038.jpg ,沒有滿足設(shè)計要求。
5.2.3 誤差產(chǎn)生原因
我們測量的誤差主要來源是程序設(shè)計上,由于能力有限,設(shè)計程序時計算的精度還不很高而導(dǎo)致。而功耗沒有滿足設(shè)計要求是因為輸入和輸出電路采用了較多的分離原件,我們是已犧牲功耗這一項而使的整個系統(tǒng)電路簡單。
還有就是在焊電路板的時候,在排線的問題是上有比較大的問題。把元器件的引腳都焊的比較近,所以可能在整個電路上有些問題。
5.3 設(shè)計和調(diào)試中遇到的問題
整個系統(tǒng)在程序設(shè)計和調(diào)試中遇到的問題比較多,需要一一考慮清楚,采用合理的方法解決。本系統(tǒng)為波形采集、存儲與回放系統(tǒng),程序上需要考慮怎樣把輸入進來的的模擬信號進行采集轉(zhuǎn)換成數(shù)字信號后存儲起來,后又將數(shù)字信號轉(zhuǎn)換成模擬信號回放出來的問題,這是最主要的;模擬設(shè)計就是輸入、輸出電路的設(shè)計,輸入電路要求單極性A通道輸入的4V電壓和雙極性B通道輸入的峰值都轉(zhuǎn)換成約2V再輸入到主控電路里進行A/D轉(zhuǎn)換、采集、存儲、D/A轉(zhuǎn)換,D/A轉(zhuǎn)換后從主控電路輸出再由輸出電路進行放大實現(xiàn)回放輸出采集進來的信號。由于采用的是AT89S52單片機,所以還要采用外部的A/D和D/A轉(zhuǎn)化器,以及AT24C02的存儲器,這樣的話使得外圍電路比較復(fù)雜,還是花了很多時間,最終在老師的指導(dǎo)及同組人共同努力下基本通過調(diào)試設(shè)計,把最難的程序設(shè)計完成了。
但是在設(shè)計的過程中還是有不少的問題,比如說電路的設(shè)計、單雙極性的轉(zhuǎn)換、以及在編程方面還是存在著很多毛病。
6 小 結(jié)
經(jīng)過測試,系統(tǒng)采集不同種類不同范圍的波形,經(jīng)系統(tǒng)斷電恢復(fù)后的回放波形與實際的有一點點差距,正弦波差距隨著頻率的增加差距較為明顯。這主要是程序算法不夠精確。
本人在這里只是實現(xiàn)了波形采集、存儲與回放系統(tǒng)的初步設(shè)計,它還可以進行功能的擴展,在已經(jīng)完成的基礎(chǔ)上,提高系統(tǒng)的智能性,使得適用本系統(tǒng)能采集、存儲與回放頻率更高及更準確的任意波形。
下面我將對自己在畢業(yè)設(shè)計過程中一些印象深刻的東西做些簡單的闡述。
              (1)分析題目確定設(shè)計方案。在分析題目的過程中一定要多查資料多聽取老師同學(xué)的意見,盡量站在別人的肩膀上少走彎路。對所選的題目也大概有了一些了解,下一步就是在這樣一個基礎(chǔ)上,綜合已有的資料來更透徹的分析題目。分析一下題目屬于哪種類型,因為題目類型一般情況下分為兩大類:一類是研究型的,即只是理論上的設(shè)想和創(chuàng)新,目前幾乎沒有人研究出可以實用的東西,另一類是應(yīng)用型的,即可以編寫出程序源代碼的,能夠做出實際的、具體實現(xiàn)的東西,這在各個領(lǐng)域是很有前途的,這類題目也比較多。我的畢業(yè)設(shè)計的題目就屬于后一種了。題目類型確定后,就要仔細研究這個題目在哪些方面是還沒有完全發(fā)揮潛力的,然后確定一個具體的方向,那么就可以動工了。
(2)查閱資料。上網(wǎng)查資料是必不可少的,目前各大搜索引擎都推出有自己特色的搜索服務(wù),一定要找到適合自己的東西。好的開端就相當(dāng)于成功了一半,因此資料是否全面、是否可靠,關(guān)系到整個畢業(yè)設(shè)計的進程。資料的查找方式有很多種,網(wǎng)上的信息包羅萬象,可以通過各個搜索引擎進行搜索,還有老師介紹的專門的論文期刊網(wǎng),搜索時通過某個關(guān)鍵字段或幾個關(guān)鍵字進行搜索,搜索出許多站點然后進行篩選和查詢,關(guān)鍵字段的確定很重要,選錯了自然白白浪費了時間。我一開始的時候就開始鉆牛角尖,吃了很大的虧。搜索了很長時間,也沒什么進展,感到非常迷茫、苦惱,心想真是很郁悶我就請教老師和同學(xué),在大家的幫助下,終于使自己從迷茫中走出來。另外,到圖書館、書店、資料室去雖說是比較原始的方式,但也有可取之處的。總之,不管通過哪種方式查的資料都是有利用價值的,要一一記錄下來以備后用。
(3)學(xué)習(xí)的能力。明確了問題并且分析了題目然后就是如何實現(xiàn)的問題了。這個時候?qū)W習(xí)能力顯得特別的重要。如何通過自己的努力把不明白的東西搞明白,這對學(xué)習(xí)的能力有很高的要求。接著自己開始編寫簡單的程序來檢驗一下學(xué)習(xí)的效果,理論學(xué)習(xí)和工作實際緊密結(jié)合起來,互相參照,學(xué)習(xí)進展快,掌握牢,可以取得事半功倍的效果。應(yīng)該根據(jù)自己的知識結(jié)構(gòu)和水平確定一個合理的攻關(guān)順序,并大體上擬定一個進度表,根據(jù)自己完成的情況進行調(diào)整,如果碰到不理解的概念、原理和方法,給學(xué)習(xí)帶來困難,甚至無法做下去的時候,就要和導(dǎo)師進行溝通,也許老師的一句話就會給自己很多的啟示。
(4)要實際動手,防止眼高手底。很多事情想起來是一回事真正做起來就不是那么簡單了,一定要有恒心,這樣才能克服困難,這點我深有體會。在剛開始的一個月里認為畢業(yè)設(shè)計已經(jīng)基本結(jié)束,因為想的比較簡單,而且考慮的不夠全面。但是隨著工作的進展,很多問題就暴露出來了。軟件比想象的要復(fù)雜的多,整天編程序搞的頭都大了,后來休息調(diào)整后才算是順利的完成了任務(wù)。
以上就是我的一些心得,現(xiàn)實比想象的要困難比較多。只有在實際動手的過程中才會學(xué)到很多知識。想起了一句話:在實踐中檢驗真理并發(fā)展真理。在設(shè)計過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗和自學(xué),并向老師請教等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計過程中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中的探索的艱難和成功的喜悅。在這個過程中我學(xué)習(xí)到了很多東西,這些肯定會伴隨我的一生,認識到了自己需要提高的地方還很多,自己還需要用以后的時間來不斷學(xué)習(xí)不斷提高。
致 謝
本論文的工作是在指導(dǎo)老師張俊濤老師的悉心指導(dǎo)下完成的,張俊濤老師嚴謹?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助和影響。在此衷心感謝張俊濤老師對我的關(guān)心和指導(dǎo)。
張俊濤老師在畢業(yè)設(shè)計上給我們幫助,悉心指導(dǎo)我們完成了畢業(yè)論文工作,在學(xué)習(xí)上和生活上都給予了我很大的關(guān)心和幫助,在此向張俊濤老師表示衷心的謝意。
張俊濤老師對于我的論文提出了許多的寶貴意見,在此表示衷心的感謝。
另外還要感謝師母陳曉莉老師對我的幫助,在張老師有事無法給我指導(dǎo)的情況下,陳老師也在電路圖的方面給予了我很大的幫助,在此也要向陳曉莉老師表示衷心的謝意。


附 錄
附錄ⅠAT89S52與LCD1602的接口程序

1602液晶顯示C程序

  1. * 此程序?qū)崿F(xiàn),完成液晶的驅(qū)動程序,可以顯示任意的ASCII字符
  2. *********************************************************************
  3. ******
  4. */#include  //調(diào)用頭文件(單片機內(nèi)部的寄存器定義)
  5. /******本段為硬件I/O口定義********/
  6. sbit KEY0 = P0^0; //KEY和發(fā)光管復(fù)用,請將跳線插到KEY端
  7. sbit KEY1 = P0 ^ 1;
  8. sbit KEY2 = P0 ^ 2;
  9. sbit KEY3 = P0 ^ 3;
  10. sbit DIG0 = P0 ^ 4; //數(shù)碼管位0sbit DIG1 = P0 ^ 5; //數(shù)碼管位1
  11. sbit BUZZ = P3 ^ 3; //蜂鳴器sbit LCD_RW = P3 ^ 6;
  12. sbit LCD_RS = P3 ^ 7;
  13. sbit LCD_E = P3 ^ 4;
  14. #define LED_SEG P1 //數(shù)碼管#define LCD_DATA P2 //LCD DATA#define
  15. LCD_BUSY 0x80 // 用于檢測LCD的BUSY標識(本程序中用的延時,未檢測)
  16. //LCD顯示內(nèi)容,定義到代碼段
  17. unsigned char code LcdBuf1[]= {"welcom!"};
  18. unsigned char code LcdBuf2[]= {"MCU-STUDY-BOARD"};
  19. //
  20. 函數(shù)聲明
  21. void lcd_init(void);
  22. void display_string(unsigned char x,unsigned char y,unsigned char *s);
  23. void disp_selec(unsigned char bit_selec,unsigned char seg);
  24. /**************************************************
  25. **
  26. 函數(shù)名稱: dellay
  27. ** 入口參數(shù):h(unsigned int型)
  28. ** 出口參數(shù):無
  29. ** 功能描述: 短暫延時,使用11.0592晶體,約0.01MS
  30. ****************************************************/
  31. void dellay(unsigned int h){
  32. while(h--);//0.01MS
  33. }
  34. /************主程序**************/
  35. main(){
  36. lcd_init();
  37. display_string(3,0,LcdBuf1); //顯示第一行,從第3個位置開始
  38. display_string(0,1,LcdBuf2); //顯示第二行,從第0個位置開始
  39. while(1);//單片機待機
  40. }
  41. 附錄ⅡAT89S52與ADC0809的連接程序

  42. #include
  43. #define uchar unsigned char
  44. #define uint unsigned int
  45. sbit oe=P2^0;
  46. sbit eoc=P2^1;
  47. sbit st=P2^2;
  48. sbit ale=P2^6;
  49. sbit rs=P2^4;
  50. sbit re=P2^5;
  51. uchar  tab[]={0,'.',0,0};
  52. uint getdata;
  53. void delay(uint x)
  54. {uint a,b;
  55. for(a=x;a>0;a--)
  56. for(b=110;b>0;b--);
  57. }
  58. void wzhiling(uchar zhiling){
  59. rs=0;
  60. re=0;
  61. delay(1);
  62. P0=zhiling;
  63. delay(2);
  64. re=1;
  65. delay(2);
  66. re=0;
  67. }
  68. void wshuju(uchar shuju){
  69. rs=1;
  70. re=0;
  71. delay(2);
  72. P0=shuju;
  73. delay(2);
  74. re=1;
  75. delay(2);
  76. re=0;
  77. }
  78. void INIT(){
  79. wzhiling(0x38);
  80. delay(1);
  81. wzhiling(0x0c);
  82. delay(1);
  83. wzhiling(0x06);
  84. delay(1);
  85. wzhiling(0x01);
  86. delay(1);
  87. }
  88. void main() {
  89. uchar num=0;
  90. INIT();
  91. while(1);
  92. { P3=0x00;
  93. ale=1;
  94. st=0;//此三條為啟動程序
  95. st=1;
  96. st=0;
  97. while(!eoc);//等待轉(zhuǎn)換完畢的信號,eoc=1是轉(zhuǎn)換完畢;
  98. oe=1; //輸出三態(tài)門打開,將轉(zhuǎn)換的結(jié)果輸出到數(shù)據(jù)總線上
  99. getdata=P1;
  100. oe=0;
  101. getdata=getdata*100/51;
  102. tab[0]=0x30+getdata/100;
  103. tab[2]=0x30+getdata%100/10;
  104. tab[3]=0x30+getdata%10;
  105. for(num=0;num<4;num++)
  106. {
  107. wzhiling(0x80+0x00+num);


  108. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼


完整論文下載(word格式可編輯):
波形的采集存儲與回放系統(tǒng).doc (1.02 MB, 下載次數(shù): 83)

評分

參與人數(shù) 1黑幣 +15 收起 理由
tieq1952 + 15 贊一個!

查看全部評分

回復(fù)

使用道具 舉報

ID:448506 發(fā)表于 2018-12-28 15:04 | 顯示全部樓層
仔細了解并學(xué)習(xí)了 單片機知識
回復(fù)

使用道具 舉報

ID:489672 發(fā)表于 2019-5-6 22:29 來自觸屏版 | 顯示全部樓層
大佬我有問題可以加你一下嗎
回復(fù)

使用道具 舉報

ID:489672 發(fā)表于 2019-5-6 22:31 來自觸屏版 | 顯示全部樓層
大佬我有問題可以加你一下嗎
回復(fù)

使用道具 舉報

ID:253767 發(fā)表于 2019-5-7 07:18 | 顯示全部樓層
謝謝分享!!!
回復(fù)

使用道具 舉報

ID:726187 發(fā)表于 2020-4-19 00:49 | 顯示全部樓層
很棒的文章,很有用
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表