微機(jī)接口技術(shù)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  學(xué)生姓名: 學(xué)號(hào): </p><p>  專業(yè)班級(jí): 電子信息工程102班 </p><p>  課程名稱: 微機(jī)接口技術(shù)課程設(shè)計(jì) </p><p>  學(xué)年學(xué)期: 2011—2012學(xué)年第二學(xué)

2、期 </p><p>  指導(dǎo)教師: </p><p>  2 01 3 年 6 月</p><p><b>  課程設(shè)計(jì)成績(jī)?cè)u(píng)定表</b></p><p><b>  目錄</b></p><p>  一、課程設(shè)計(jì)目的及意

3、義 …………………………………………………………2</p><p>  二、課程設(shè)計(jì)任務(wù)及要求 …………………………………………………………2</p><p>  總體方案設(shè)計(jì) ………………………………………………………………………2</p><p>  硬件電路設(shè)計(jì)………………………………………………………………………3</p><p> 

4、 五、程序設(shè)計(jì)……………………………………………………………………8</p><p>  六、數(shù)字頻率示波器調(diào)試 ……………………………………………………13</p><p>  七、課程設(shè)計(jì)總結(jié)及體會(huì)…………………………………………………………15</p><p>  八、參考文獻(xiàn)………………………………………………………………………15</p>&

5、lt;p>  附錄:A/D、D/A接口實(shí)驗(yàn)卡電路原理圖 …………………………………………16</p><p>  一、課程設(shè)計(jì)目的及意義</p><p>  通過(guò)課程設(shè)計(jì),學(xué)生可掌握多種接口的軟硬件設(shè)計(jì)基本思路和調(diào)試方法,培養(yǎng)學(xué)生分析解決實(shí)際問(wèn)題的能力。加深學(xué)生對(duì)《微機(jī)接口技術(shù)》、《電子測(cè)量技術(shù)》和《單片機(jī)原理及應(yīng)用》等課程知識(shí)的掌握與綜合運(yùn)用能力。掌握工程設(shè)計(jì)手段和軟件工具,鍛煉以

6、圖紙和說(shuō)明書表達(dá)設(shè)計(jì)思想和結(jié)果的能力,培養(yǎng)學(xué)生在實(shí)際工程設(shè)計(jì)中嚴(yán)謹(jǐn)認(rèn)真的工作態(tài)度。提高學(xué)生的創(chuàng)新意識(shí)及動(dòng)手能力,為后續(xù)課程的學(xué)習(xí)以及畢業(yè)后從事微機(jī)硬件及軟件開(kāi)發(fā)打下基礎(chǔ),積累初步的經(jīng)驗(yàn)。</p><p>  二、課程設(shè)計(jì)題目及設(shè)計(jì)要求</p><p>  本設(shè)計(jì)通過(guò)簡(jiǎn)單的A/D轉(zhuǎn)換接口電路,配合匯編語(yǔ)言程序設(shè)計(jì),實(shí)現(xiàn)最基本的信號(hào)波形采集與存儲(chǔ),并通過(guò)簡(jiǎn)單的D/A轉(zhuǎn)換接口電路,將存儲(chǔ)的數(shù)據(jù)還

7、原為信號(hào)波形,在普通示波器的屏幕上顯示出來(lái)。</p><p>  被測(cè)信號(hào)產(chǎn)生電路參見(jiàn)“A/D、D/A接口實(shí)驗(yàn)擴(kuò)展卡電路原理圖”。當(dāng)按下S1時(shí),電容C5完全放電,A/D轉(zhuǎn)換器輸入電壓為零;抬起S1時(shí),電容C5開(kāi)始充電,A/D轉(zhuǎn)換器輸入電壓按RC過(guò)渡過(guò)程開(kāi)始上升,最終達(dá)到+5V。圖中RC時(shí)間常數(shù)約為10ms,整個(gè)充電過(guò)程需要3~5倍的RC時(shí)間常數(shù)時(shí)間。設(shè)計(jì)要求使用A/D轉(zhuǎn)換器捕捉電容C5充電的完整過(guò)程,并將采樣數(shù)據(jù)

8、存儲(chǔ)起來(lái)。然后依次將采樣數(shù)據(jù)通過(guò)D/A轉(zhuǎn)換器循環(huán)輸出,產(chǎn)生一定頻率的重復(fù)波形,送到普通示波器顯示。</p><p>  基本要求:使用一個(gè)D/A轉(zhuǎn)換器通道,將信號(hào)波形施加到示波器的Y軸,X軸掃描信號(hào)由示波器產(chǎn)生并調(diào)節(jié),實(shí)現(xiàn)RC充電過(guò)程的波形穩(wěn)定顯示。</p><p>  發(fā)揮部分:將示波器調(diào)整在X-Y方式,采樣數(shù)據(jù)的D/A轉(zhuǎn)換器輸出接到Y(jié)軸輸入端,增加一個(gè)D/A轉(zhuǎn)換器通道,產(chǎn)生頻率可變的X

9、軸掃描信號(hào),接到示波器X軸外部輸入端,使RC充電過(guò)程的波形穩(wěn)定顯示。</p><p><b>  總體方案設(shè)計(jì)</b></p><p>  1、數(shù)字存儲(chǔ)示波器工作原理</p><p>  由于單片機(jī)實(shí)驗(yàn)系統(tǒng)已經(jīng)提供了相關(guān)信號(hào)線,使用ADC0809、DAC0832和相關(guān)外圍電路元件,組成了最基本的A/D轉(zhuǎn)換和D/A轉(zhuǎn)換電路。可由ADC0809負(fù)責(zé)

10、采集電容C5充電時(shí)的信號(hào),并將其轉(zhuǎn)換為數(shù)字信號(hào),并存儲(chǔ)。DAC0832將存儲(chǔ)的數(shù)字信號(hào),轉(zhuǎn)換為模擬的電壓值,再將其設(shè)置為循環(huán)輸出,產(chǎn)生一定頻率的重復(fù)波形,送到普通示波器顯示。</p><p>  數(shù)字存儲(chǔ)示波器總體結(jié)構(gòu)框圖</p><p><b>  圖1 總體方案設(shè)計(jì)</b></p><p><b>  四、硬件電路設(shè)計(jì)</b

11、></p><p>  1、ADC0809工作原理</p><p>  ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開(kāi)關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。 (1)ADC0809的內(nèi)部邏輯結(jié)構(gòu) </p><p>  ADC0809由一個(gè)8路模擬開(kāi)關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出

12、鎖存器組成。多路開(kāi)關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。</p><p>  圖2 ADC0809引腳圖</p><p>  ADC0809原理及使用</p><p>  ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0-5

13、V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 </p><p>  地址輸入和控制線:4條 </p><p>  ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)入轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN

14、0-IN7上的一路模擬量輸入。</p><p>  數(shù)字量輸出及控制線:11條 </p><p>  ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換

15、得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。 </p><p>  CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ。</p><p>  數(shù)字輸出為TTL電平,三態(tài)輸出,時(shí)鐘頻率一般為640KHz(典型),轉(zhuǎn)換時(shí)間為100μs,輸入電壓范圍:0V~VREF ,轉(zhuǎn)換方式為逐次逼近式,輸出:</

16、p><p>  2、DAC0832工作原理</p><p>  DAC0832是采樣頻率為八位的D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級(jí)輸入寄存器,使DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉(zhuǎn)換等)。D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。若需要相應(yīng)的模擬電壓信號(hào),可通過(guò)一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)。運(yùn)放的反饋電阻可通過(guò)RFB端引用片

17、內(nèi)固有電阻,也可外接。DAC0832邏輯輸入滿足TTL電平,可直接與TTL電路或微機(jī)電路連接。</p><p>  (1)DAC0832內(nèi)部結(jié)構(gòu)</p><p>  圖3 DAC0832內(nèi)部結(jié)構(gòu)及引腳圖</p><p>  DAC0832的內(nèi)部結(jié)構(gòu)如圖3所示。DAC0832中有兩級(jí)鎖存器,第一級(jí)鎖存器稱為輸入寄存器,它的鎖存信號(hào)為ILE;第二級(jí)鎖存器稱為DAC寄存

18、器,它的鎖存信號(hào)為傳輸控制信號(hào)。因?yàn)橛袃杉?jí)鎖存器,DAC0832可以工作在雙緩沖器方式,即在輸出模擬信號(hào)的同時(shí)采集下一個(gè)數(shù)字量,這樣能有效地提高轉(zhuǎn)換速度。此外,兩級(jí)鎖存器還可以在多個(gè)D/A轉(zhuǎn)換器同時(shí)工作時(shí),利用第二級(jí)鎖存信號(hào)來(lái)實(shí)現(xiàn)多個(gè)轉(zhuǎn)換器同步輸出。</p><p>  圖3中LE為高電平、和為低電平時(shí),為高電平,輸入寄存器的輸出跟隨輸入而變化;此后,當(dāng)由低變高時(shí),為低電平,資料被鎖存到輸入寄存器中,這時(shí)的輸入寄

19、存器的輸出端不再跟隨輸入資料的變化而變化。對(duì)第二級(jí)鎖存器來(lái)說(shuō),和同時(shí)為低電平時(shí),為高電平,DAC寄存器的輸出跟隨其輸入而變化;此后,當(dāng)由低變高時(shí),變?yōu)榈碗娖?,將輸入寄存器的資料鎖存到DAC寄存器中。</p><p> ?。?)DAC0832原理及使用</p><p>  數(shù)字量的值是由每一位的數(shù)字權(quán)疊加而得的,由電阻網(wǎng)絡(luò)和運(yùn)算放大器構(gòu)成的D/A轉(zhuǎn)換器.在D/A轉(zhuǎn)換中采用獨(dú)立的權(quán)電阻網(wǎng)絡(luò),對(duì)

20、于一個(gè)8位二進(jìn)制數(shù)的D/A轉(zhuǎn)換器,就需要R,2R,4R,…,128R共8個(gè)不等的電阻,最大電阻阻值是最小電阻阻值的128倍,而且對(duì)這些電阻的精度要求比較高。如果這樣的話,從工藝上實(shí)現(xiàn)起來(lái)是很困難的。所以,n個(gè)如此獨(dú)立輸入支路的方案是不實(shí)用的。</p><p>  在DAC電路結(jié)構(gòu)中,最簡(jiǎn)單而實(shí)用的是采用T型電阻網(wǎng)絡(luò)來(lái)代替單一的權(quán)電阻網(wǎng)絡(luò),整個(gè)電阻網(wǎng)絡(luò)只需要R和2R兩種電阻。在集成電路中,由于所有的組件都做在同一芯

21、片上,電阻的特性可以做得很相近,而且精度與誤差問(wèn)題也可以得到解決。</p><p>  圖4是采用T型電阻網(wǎng)絡(luò)的4位D/A轉(zhuǎn)換器。4位元待轉(zhuǎn)換資料分別控制4條支路中開(kāi)關(guān)的倒向。在每一條支路中,如果(資料為0)開(kāi)頭倒向左邊,支路中的電阻就接到地;如果(資料為1)開(kāi)關(guān)倒向右邊,電阻就接到虛地。所以,不管開(kāi)關(guān)倒向哪一邊,都可以認(rèn)為是接“地”。不過(guò),只有開(kāi)關(guān)倒向右邊時(shí),才能給運(yùn)算放大器輸入端提供電流。</p>

22、<p>  圖4 T型電阻網(wǎng)絡(luò)的4位D/A轉(zhuǎn)換器</p><p>  T型電阻網(wǎng)絡(luò)中,節(jié)點(diǎn)A的左邊為兩個(gè)2R的電阻并聯(lián),它們的等效電阻為R,節(jié)點(diǎn)B的左邊也是兩個(gè)2R的電阻并聯(lián),它們的等效電阻也是R,…,依次類推,最后在D點(diǎn)等效于一個(gè)數(shù)值為R的電阻接在參考電壓VREF上。這樣,就很容易算出,C點(diǎn)、B點(diǎn)、A點(diǎn)的電位分別為-VREF/2,-VREF/4,-VREF/8。</p><p

23、>  在清楚了電阻網(wǎng)絡(luò)的特點(diǎn)和各節(jié)點(diǎn)的電壓之后,再來(lái)分析一下各支路的電流值。開(kāi)關(guān)S3,S2,S1,S0分別代表對(duì)應(yīng)的1位二進(jìn)制數(shù)。任一資料位Di=1,表示開(kāi)關(guān)Si倒向右邊;Di=0,表示開(kāi)關(guān)Si倒向左邊,接虛地,無(wú)電流。當(dāng)右邊第一條支路的開(kāi)關(guān)S3倒向右邊時(shí),運(yùn)算放大器得到的輸入電流為-VREF/(2R),同理,開(kāi)關(guān)S2,S1,S0倒向右邊時(shí),輸入電流分別為-VREF/(4R),-VREF/(8R),-VREF/(16R)。<

24、/p><p>  如果一個(gè)二進(jìn)制數(shù)據(jù)為1111,運(yùn)算放大器的輸入電流</p><p>  I=-VREF/(2R)-VREF/(4R)-VREF/(8R)-VREF/(16R)</p><p>  =-VREF/(2R)(20+2-1+2-2+2-3)</p><p>  =-VREF/(24R)(23+22+21+20)</p>

25、<p><b>  相應(yīng)的輸出電壓</b></p><p>  V0=IR0=-VREFR0(24R)(23+22+21+20)</p><p>  將資料推廣到n位,輸出模擬量與輸入數(shù)字量之間關(guān)系的一般表達(dá)式為:</p><p>  V0=-VREFR0/(2nR)(Dn-12n-1+Dn-2 2n-2+…+D121+D020)

26、 (Di=1或0)</p><p>  上式表明,輸出電壓V0除了和待轉(zhuǎn)換的二進(jìn)制數(shù)成比例外,還和網(wǎng)絡(luò)電阻R、運(yùn)算放大器反饋電阻R0、標(biāo)準(zhǔn)參考電壓VREF有關(guān)。</p><p>  DAC0832是采用CMOS工藝制成的單片直流輸出型8位數(shù)/模轉(zhuǎn)換器。如圖5所示,它由倒T型R-2R電阻網(wǎng)絡(luò)、模擬開(kāi)關(guān)、運(yùn)算放大器和參考電壓VREF四大部分組成。運(yùn)算放大器輸出的模擬量V0為:</p&

27、gt;<p>  由上式可見(jiàn),輸出的模擬量 與輸入的數(shù)字量( ) 成正比,這就實(shí)現(xiàn)了從數(shù)字量到模擬量的轉(zhuǎn)換。 圖5 DAC0832直流輸出型8位數(shù)/模轉(zhuǎn)換器</p><p>  一個(gè)8位D/A轉(zhuǎn)換器有8個(gè)輸入端(其中每個(gè)輸入端是8位二進(jìn)制數(shù)的一位),有一個(gè)模擬輸出端。輸入可有28=256個(gè)不同的二進(jìn)制組態(tài),輸出為256個(gè)電壓之一,即輸出電壓不是整個(gè)電壓范圍內(nèi)任意值,而只能是256個(gè)可能值。&l

28、t;/p><p><b>  2、硬件設(shè)計(jì)思路</b></p><p>  由于本次課設(shè)利用現(xiàn)有的單片機(jī)實(shí)驗(yàn)系統(tǒng)板,系統(tǒng)板已經(jīng)提供了相關(guān)信號(hào)線及ADC0809、DAC0832和相關(guān)外圍電路元件,組成了最基本的A/D轉(zhuǎn)換和D/A轉(zhuǎn)換電路。所以此次設(shè)計(jì)就變得相對(duì)簡(jiǎn)單。可由ADC0809采集電容C5充電時(shí)的信號(hào),并將其轉(zhuǎn)換為數(shù)字信號(hào),并存儲(chǔ)。DAC0832將存儲(chǔ)的數(shù)字信號(hào),轉(zhuǎn)換

29、為模擬的電壓值,再將其設(shè)置為循環(huán)輸出,產(chǎn)生一定頻率的重復(fù)波形,送到普通示波器顯示。</p><p><b>  五、程序設(shè)計(jì)</b></p><p>  1、 數(shù)字存儲(chǔ)示波器程序設(shè)計(jì)</p><p>  根據(jù)數(shù)字存儲(chǔ)示波器的基本工作原理編寫實(shí)驗(yàn)程序,實(shí)現(xiàn)觸發(fā)點(diǎn)的捕捉、被測(cè)信號(hào)的采集和數(shù)據(jù)的存儲(chǔ)以及信號(hào)波形的再現(xiàn)功能。參考程序流程如下:</

30、p><p>  程序“開(kāi)始”部分是初始化內(nèi)容,包括指定堆棧指針SP(例如:50H);設(shè)定采集數(shù)據(jù)的存儲(chǔ)首地址,本設(shè)計(jì)為單片機(jī)外部RAM的C000H。</p><p>  “數(shù)據(jù)采集”部分包括啟動(dòng)A/D轉(zhuǎn)換、執(zhí)行延時(shí)程序(延時(shí)時(shí)間可設(shè)定在200μs)等待轉(zhuǎn)換結(jié)束、取回轉(zhuǎn)換結(jié)果,為S1是否按下提供參考數(shù)據(jù)。</p><p>  “S1按下嗎?”部分為按鍵S1是否按下判斷程序

31、。本設(shè)計(jì)采用上升沿觸發(fā)方式,S1按下時(shí)產(chǎn)生下降沿。當(dāng)A/D采樣數(shù)據(jù)大于判斷點(diǎn)(例如:20H)時(shí),表明按鍵尚未按下,當(dāng)A/D采樣數(shù)據(jù)小于觸發(fā)點(diǎn)時(shí),表明按鍵已經(jīng)按下,轉(zhuǎn)入觸發(fā)檢測(cè)環(huán)節(jié),循環(huán)存儲(chǔ)采樣數(shù)據(jù)。當(dāng)A/D采樣值重新上升到大于或等于觸發(fā)點(diǎn)數(shù)據(jù)時(shí),便認(rèn)為觸發(fā)信號(hào)到來(lái),轉(zhuǎn)入下面的采樣程序。</p><p>  “采集并存儲(chǔ)”部分包括啟動(dòng)A/D轉(zhuǎn)換、執(zhí)行延時(shí)程序等待轉(zhuǎn)換結(jié)束、取回轉(zhuǎn)換結(jié)果并存儲(chǔ)到C000H開(kāi)始的RAM中

32、和存儲(chǔ)器地址加1,為下次存儲(chǔ)做準(zhǔn)備等程序。其中延時(shí)程序決定了數(shù)據(jù)采樣周期,采樣周期(延時(shí)時(shí)間)可初步設(shè)定在200μs,全部程序調(diào)試完成后,再嘗試改變采樣周期,觀察采樣周期變化對(duì)重現(xiàn)被測(cè)信號(hào)波形的影響,并說(shuō)明原因。本設(shè)計(jì)數(shù)據(jù)存儲(chǔ)深度為256字節(jié),存滿256 字節(jié)后自動(dòng)從頭開(kāi)始刷新??捎肈PTR做數(shù)據(jù)指針,利用INC DPL指令實(shí)現(xiàn)DPTR在C000H~C0FFH之間自動(dòng)循環(huán)。</p><p>  “有觸發(fā)嗎?”部

33、分為觸發(fā)點(diǎn)(觸發(fā)點(diǎn)數(shù)據(jù)要大于等于S1按下判斷點(diǎn)數(shù)據(jù))判斷程序。本設(shè)計(jì)采用上升沿觸發(fā)方式,當(dāng)A/D采樣數(shù)據(jù)小于觸發(fā)點(diǎn)時(shí),表明按鍵按下尚未抬起,繼續(xù)循環(huán)存儲(chǔ)采樣數(shù)據(jù)。當(dāng)A/D采樣值上升到大于或等于觸發(fā)點(diǎn)數(shù)據(jù)時(shí),表明按鍵按已抬起,便認(rèn)為觸發(fā)信號(hào)到來(lái),轉(zhuǎn)入下面的采樣程序。</p><p>  “設(shè)定存儲(chǔ)字節(jié)數(shù)”程序?qū)⒂|發(fā)后的采樣點(diǎn)數(shù)設(shè)定在128個(gè)字節(jié)。接下來(lái)的“采集并存儲(chǔ)”部分與前面敘述的完全相同。“完成嗎?”判斷128

34、個(gè)字節(jié)的采樣是否完成,如果完成就進(jìn)入下面的D/A轉(zhuǎn)換程序。這樣在256個(gè)字節(jié)的存儲(chǔ)器中,就包含了觸發(fā)前、后各128字節(jié)的采樣數(shù)據(jù),可完全記錄電容C5充電前后的電壓變化波形。</p><p>  “設(shè)定初始地址”部分將數(shù)據(jù)指針(例如:DPTR)重新設(shè)定在C000H?!拜敵龃鎯?chǔ)的數(shù)據(jù)”程序?qū)?shù)據(jù)存儲(chǔ)器中的A/D采樣值送到D/A轉(zhuǎn)換器輸出?!暗刂罚?”程序修改數(shù)據(jù)指針的低8位地址,使數(shù)據(jù)存儲(chǔ)器地址在C000H~C0FF

35、H之間自動(dòng)循環(huán)。這樣便可以通過(guò)D/A轉(zhuǎn)換器反復(fù)重現(xiàn)電容C5充電過(guò)程的完整波形,實(shí)現(xiàn)存儲(chǔ)波形的穩(wěn)定顯示。</p><p><b>  2、參考程序:</b></p><p>  (1)、基本程序清單:</p><p><b>  函數(shù):DA轉(zhuǎn)換程序</b></p><p>  ;起始地址:0200H&

36、lt;/p><p>  ;功能:實(shí)現(xiàn)DA轉(zhuǎn)換并將存儲(chǔ)于以開(kāi)始地址為0C000H的256個(gè)字節(jié)當(dāng)中的數(shù)據(jù)顯示出來(lái)</p><p><b>  ;備注:無(wú)</b></p><p><b>  ORG 0200H</b></p><p>  DA:MOV R1,#00H</p><p&g

37、t;  MOV DPTR,#0C000H</p><p>  MOVX A,@DPTR</p><p><b>  PUSH 82H</b></p><p><b>  PUSH 83H</b></p><p>  L1;MOV DPTR,#0F800H</p><p> 

38、 MOVX @DPTR,A</p><p><b>  POP 83H</b></p><p><b>  POP 82H</b></p><p><b>  INC DPTR</b></p><p><b>  INC R1</b></p>

39、<p>  MOVX A,@DPTR</p><p><b>  PUSH 82H</b></p><p><b>  PUSH 83H</b></p><p>  CJNE R1,#00H,L2</p><p><b>  POP 83H</b></p&g

40、t;<p><b>  POP 82H</b></p><p>  MOV DPTR,#0C000H</p><p><b>  PUSH 82H</b></p><p><b>  PUSH 83H</b></p><p>  L2:LJMP L1</p

41、><p><b>  RET</b></p><p><b>  ;函數(shù):延時(shí)函數(shù)</b></p><p>  ;起始地址:0300H</p><p><b>  ;功能:延時(shí)</b></p><p><b>  ;備注:無(wú)</b>&l

42、t;/p><p>  DELAY:MOV R2,#50H</p><p>  L3: DEC R2</p><p>  DJNZ R2,L3</p><p><b>  RET</b></p><p><b>  ;函數(shù):主函數(shù)</b></p><p>

43、  ;起始地址:0100H</p><p>  ;功能:實(shí)現(xiàn)簡(jiǎn)易數(shù)字示波器</p><p><b>  ;備注:無(wú)</b></p><p><b>  ORG 0100H</b></p><p>  S1:MOV DPTR,#0F006H</p><p>  MOVX @D

44、PTR,A</p><p>  LCALL DELAY</p><p>  MOVX A,@DPTR</p><p><b>  CLR C</b></p><p>  SUBB A,#20H</p><p><b>  JNC S1</b></p><p

45、>  S2:MOV R1,#00H</p><p>  MOV DPTR,#0C000H</p><p><b>  PUSH 82H </b></p><p><b>  PUSH 83H </b></p><p>  C1:MOV DPTR,#0F006H </p>&l

46、t;p>  MOVX @DPTR,A </p><p>  LCALL DELAY </p><p>  MOVX A,@DPTR</p><p><b>  POP 83H</b></p><p><b>  POP 82H</b></p><p>  MOVX @

47、DPTR,A</p><p><b>  INC DPTR</b></p><p><b>  INC R1</b></p><p><b>  PUSH 82H</b></p><p><b>  PUSH 83H</b></p><

48、p><b>  CLR C</b></p><p>  SUBB A,#20H</p><p>  ANL A,#80H</p><p><b>  JZ S3</b></p><p>  CJNE R1,#00H,C1</p><p><b>  POP 8

49、3H</b></p><p><b>  POP 82H</b></p><p>  MOV DPTR,#0C000H</p><p><b>  PUSH 82H</b></p><p><b>  PUSH 83H</b></p><p>

50、;<b>  LJMP C1</b></p><p>  S3:MOV R1,#00H</p><p>  C2:MOV DPTR,#0F006H </p><p>  MOVX @DPTR,A </p><p>  LCALL DELAY </p><p>  MOVX A,@DPTR<

51、;/p><p><b>  POP 83H</b></p><p><b>  POP 82H</b></p><p>  MOVX @DPTR,A</p><p><b>  INC DPTR</b></p><p><b>  INC R1&

52、lt;/b></p><p>  MOV A ,82H</p><p><b>  JZ C3</b></p><p>  C4:PUSH 82H</p><p><b>  PUSH 83H</b></p><p>  CJNE R1,#80H,C2</p&g

53、t;<p><b>  LCALL DA</b></p><p>  C3:MOV DPTR,#0C000H</p><p><b>  LJMP C4</b></p><p><b>  END</b></p><p><b>  實(shí)驗(yàn)波形:<

54、/b></p><p> ?。?)、發(fā)揮部分程序清單:</p><p>  ORG 0100H 機(jī)器碼 注釋</p><p>  INIT: MOV SP,#50H 0100:75,81,50 ;初始化</p>

55、;<p>  MOV R3,#0C0H 0103:7B,C0 ;設(shè)定采集數(shù)據(jù)的 </p><p>  MOV R2,#00H 0105:7A,C0 ;存儲(chǔ)首地址</p><p>  LOOP1: LCALL AD

56、 0107:12,02,00 ;啟動(dòng)A/D轉(zhuǎn)換 </p><p>  CJNZ A,#10H,NEXT1 010A;B4,10,02 ;按鍵S1是否按下判斷程序</p><p>  SJMP LOOP1 010D:80,F8</p><p>  NE

57、XT1: JNC LOOP1 010F:50,F6</p><p>  MAIN: MOV R3,#0C0H 0111:7B,CO</p><p>  MOV R2,#00H 0113:7A,00</p><p>  M

58、OV R0,#0FFH 0115:78,FF</p><p>  LOOP2: LCALL AD 0117:12,02,00</p><p>  MOV DPH,R3 011A:8B,83</p><p>  MO

59、V DPL,R2 011C:8A,82</p><p>  MOVX @DPTR,A 011E:F0 </p><p>  INC R2 011F:0A</p><p>  CJNZ A,#20H,NEXT2

60、 0120:B4,20,04 ;按鍵S1是否抬起判斷程序</p><p>  DJNZ R0,LOOP2 0123:D8,F(xiàn)2</p><p>  SJMP MAIN 0125:80,EA</p><p>  NEXT

61、2:JNC START 0127:50,EA</p><p>  SJMP LOOP2 0129:80,EC</p><p>  START:MOV R1,#80H 012B:79,80 ;設(shè)定存儲(chǔ)字節(jié)數(shù)<

62、/p><p>  LOOP3:LCALL AD 012D:12,02,00</p><p>  MOV DPH,R3 0130:8B,83</p><p>  MOV DPL,R2 0132:8A,82</p>

63、;<p>  MOVX @DPTR,A 0134:F0</p><p>  INC R2 0135:0A</p><p>  DJNZ R1,LOOP3 0136:D9,F(xiàn)5</p><p>  MOV R

64、3,#0C0H 0138:7B,C0 ;設(shè)定初始地址</p><p>  MOV R2,#00H 013A:7A,00</p><p>  MOV R5,#00H 013C:7D,00 ;置初值<

65、;/p><p>  LOOP4:MOV DPH,R3 013E:8B,83</p><p>  MOV DPL,R2 0140:8A,82</p><p>  MOVX A,@DPTR 0142:E0 ;采樣

66、值送到D/A轉(zhuǎn)換器輸出</p><p>  MOV DPTR,#0F800H 0143:90,F8,00</p><p>  MOVX @DPTR,A 0146:F0</p><p>  MOV DPTR,#0F400H 0147:90,F(xiàn)4,0

67、0 ;掃描信號(hào)送到D/A轉(zhuǎn)換器輸出</p><p>  MOV A,R5 014A:E0</p><p>  MOVX @DPTR,A 014B:F0 </p><p>  INC R5

68、 014C:0D ;地址加1</p><p>  INC R2 014D:0A</p><p>  SJMP LOOP4 014E:80,EE</p><p>  ORG 0200H

69、 </p><p>  AD: MOV DPTR,#0F006H 0200:90,F0,06 ;A/D轉(zhuǎn)換子程序</p><p>  MOVX @DPTR,A 0203:F0</p><p>  LCALL DELAY

70、 0204:12,03,00</p><p>  MOVX A,@DPTR 0207:E0</p><p>  RET 0208:22</p><p>  ORG 0300H

71、 </p><p>  DELAY: MOV R4,#32H 0300:7C,32 ;延時(shí)200us子程序</p><p>  DJNZ R4,$ 0302:DC,FE</p><p>  RET

72、 0304:22</p><p><b>  實(shí)驗(yàn)波形:</b></p><p>  六、 數(shù)字存儲(chǔ)示波器調(diào)試</p><p>  1、存儲(chǔ)示波器硬件調(diào)試部分</p><p>  存儲(chǔ)示波器的硬件電路調(diào)試分為A/D和D/A兩個(gè)部分,參見(jiàn)附錄電路原理圖。A/D轉(zhuǎn)換器部分只要

73、調(diào)節(jié)RP4使基準(zhǔn)電壓VREF2為最大值(VCC)即可。D/A轉(zhuǎn)換器部分,首先調(diào)節(jié)RP2和SW1-3,使基準(zhǔn)電壓VREF1為-5.00V。然后向D/A轉(zhuǎn)換器寫入00H,調(diào)節(jié)RP3,使VO1輸出電壓為0V;再向D/A轉(zhuǎn)換器寫入FFH,調(diào)節(jié)RP1,使VO1輸出電壓為5.00V。</p><p>  2、存儲(chǔ)示波器的控制程序調(diào)試部分</p><p> ?。?)A/D轉(zhuǎn)換部分調(diào)試。無(wú)條件循環(huán)執(zhí)行數(shù)據(jù)

74、采集和存儲(chǔ)程序,分別在S1按下和抬起狀態(tài)終止程序的執(zhí)行(按MON鍵),觀察存儲(chǔ)器中采集到的數(shù)據(jù)是否全部為00H或FFH。如果是,則說(shuō)明A/D轉(zhuǎn)換和數(shù)據(jù)存儲(chǔ)程序工作正常,否則說(shuō)明A/D轉(zhuǎn)換和數(shù)據(jù)存儲(chǔ)程序沒(méi)有正常工作。</p><p> ?。?)D/A轉(zhuǎn)換部分調(diào)試。將存儲(chǔ)器中輸入一些有規(guī)律的數(shù)據(jù),例如多個(gè)FFH和OOH,循環(huán)執(zhí)行D/A轉(zhuǎn)換程序,看示波器中是否有對(duì)應(yīng)的高、低電壓波形出現(xiàn)。如果有,則說(shuō)明D/A轉(zhuǎn)換程序工作

75、正常,否則說(shuō)明D/A轉(zhuǎn)換程序沒(méi)有正常工作。</p><p> ?。?)觸發(fā)點(diǎn)捕捉部分調(diào)試。連續(xù)執(zhí)行全部程序,在不斷的按下和抬起S1時(shí),按下MON鍵,根據(jù)當(dāng)前的PC值,確定程序終止在哪個(gè)部分的循環(huán)程序中,判斷相關(guān)指令的使用是否正確。</p><p>  3、調(diào)試過(guò)程中出現(xiàn)的問(wèn)題</p><p> ?。?)、機(jī)器碼翻譯錯(cuò)誤</p><p>  改

76、正:將錯(cuò)誤的機(jī)器碼改正,計(jì)算出正確的rel即可。</p><p><b>  改數(shù)據(jù)后波形不符合</b></p><p>  改正:檢查程序,將需要更改但被遺漏處的數(shù)據(jù)更改</p><p><b>  課程設(shè)計(jì)總結(jié)及體會(huì)</b></p><p>  一周的課程設(shè)計(jì)結(jié)束了,在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了

77、我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計(jì)過(guò)程中,與王金豐同學(xué)分工設(shè)計(jì),和同學(xué)們相互探討,相互學(xué)習(xí),對(duì)于接口這門課程有了更深的認(rèn)識(shí)和理解,通過(guò)我們兩個(gè)人的努力以及同學(xué)們的幫助,完成了此次的課程設(shè)計(jì)。</p><p><b>  八、參考文獻(xiàn)</b></p><p>  1 劉樂(lè)善. 微型計(jì)算機(jī)接口技術(shù)及應(yīng)用. 第1版.

78、武漢:華中科技大學(xué)出版社,2000</p><p>  2 張永瑞. 電子測(cè)量技術(shù)基礎(chǔ). 第1版. 西安:西安電子技大學(xué)出版社,1994</p><p>  3 閻石. 數(shù)字電子技術(shù)基礎(chǔ). 第4版. 北京:高等教育出版社,2002</p><p>  4 童詩(shī)白. 模擬電子技術(shù)基礎(chǔ). 第3版.北京:高等教育出版社,2000</p><p&g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論