《《微機原理與接口技術(shù)》實驗內(nèi)容提要》由會員分享,可在線閱讀,更多相關(guān)《《微機原理與接口技術(shù)》實驗內(nèi)容提要(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 實 驗 報 告課程名稱: 微機原理與接口技術(shù)實驗 指導(dǎo)老師: 齊杭麗 成績:_實驗名稱: 并行 AD、DA 實驗 實驗類型:_ _同組學(xué)生姓名:_無_1. 實驗?zāi)康?掌握采用并行接口實現(xiàn)外部器件的擴展方法; 掌握 ADC0809 模/數(shù)轉(zhuǎn)換芯片與單片機的接口設(shè)計及 ADC0809 的典型應(yīng)用; 掌握 DAC0832 模/數(shù)轉(zhuǎn)換芯片與單片機的接口設(shè)計及 DAC0832 的典型應(yīng)用。2. 預(yù)習(xí)要求 理解內(nèi)存與 IO 統(tǒng)一編址的外設(shè)端口地址的映射及控制; 理解用查詢方式、中斷方式完成模/數(shù)轉(zhuǎn)換程序的編寫方法; 理解 DAC0832 直通方式,單緩沖器方式、雙緩沖器方式的編程方法。3. 實驗設(shè)備計
2、算機 1 臺; ZDGDTH-1 型 80C51 實驗開發(fā)系統(tǒng) 1 套;2 號導(dǎo)線、8P 數(shù)據(jù)線 若干條;萬用表 1 個;4. 基礎(chǔ)型實驗內(nèi)容 圖 4-1 為 ADC0809 的擴展電路圖,用 8P 數(shù)據(jù)線將 D2 區(qū) 80C51/C8051F020 MCU 模塊的 JD0(P0 口) 、JD8 分別與 C5 區(qū)并行 A/D 轉(zhuǎn)換模塊的 JD1C5、JD2C5 相連;用二號導(dǎo)線將 D2 區(qū) 80C51/C8051F020 MCU 模塊的 WR、RD、P2.0、CLK、P3.3 分別與 C5 區(qū)并行A/D 轉(zhuǎn)換模塊的 WR、RD、 CS、ALE、EOC 相連;并行 A/D 轉(zhuǎn)換模塊的Vref 接
3、5V, AIN0 接 D6 區(qū)可調(diào)電源模塊的 05V 端。說明 AD 轉(zhuǎn)換的過程,并在 Keil 環(huán)境設(shè)置斷點運行以下程序,可調(diào)電源分別調(diào)至兩個極端,觀察寄存器及內(nèi)存單元的變化。專業(yè):信息工程(光電系)姓名: 王釗 學(xué)號: 3070801185 日期: 2009-12-28 地點: 東 4-606 2 GND13VCI-06msb79485lEOABLref()STR+KU/W_P.uF 圖 4-1 ADC0809 的擴展電路圖 ORG 0000H MAIN: CLR A SETB P3.3 ;設(shè)定與 EOC 接口 IO 處于接收狀態(tài) MOV DPTR,#0FEF8H ;選擇 A/D 端口地址
4、 NOP MOVX DPTR,A ;啟動 AD 轉(zhuǎn)換WAIT: JB P3.3,WAIT MOVX A,DPTR ; 讀入結(jié)果 NOP LJMP MAIN 圖 4-2 為 DAC0832 的擴展電路圖,用 8P 數(shù)據(jù)線將 D2 區(qū) 80C51/C8051F020 MCU 模塊的 JD0(P0 口)與 C4 區(qū)并行 DA 轉(zhuǎn)換模塊的 JD1C4 相連,用二號導(dǎo)線將 D2 區(qū)80C51/C8051F020 MCU 模塊的 P2.0、WR 分別與 C5 區(qū)并行 D/A 轉(zhuǎn)換模塊的 CS、WR 模塊,用萬用表測量“-Vref”端的電壓,手動調(diào)節(jié)電位器 RW1C4,把-Vref 電壓調(diào)到-5V,萬用表監(jiān)
5、測并行 D/A 轉(zhuǎn)換的 OUT 與 GND 輸出引腳。填寫下列程序中的空白處,說明 DA 轉(zhuǎn)換的過程,并在 Keil 環(huán)境運行設(shè)置斷點運行該程序,調(diào)節(jié) RW1C4,觀察寄存器的變化與萬用表輸出值的變化。3 1OutIN-2+VD4567890EULMcolsbRfremWCSXAG/_QTPK.F圖 4-2 DAC0832 的擴展電路圖ORG 0100HSTART: MOV DPTR,#0FEFFH ;置 DAC0832 的地址LP: MOV A,#0FFH ;設(shè)定高電平MOVX DPTR,A ;啟動 D/A 轉(zhuǎn)換,輸出高電平 LCALL DELAY ;延時顯示高電平 MOV A,#00H ;
6、設(shè)定低電平 MOVX DPTR,A ;啟動 D/A 轉(zhuǎn)換,輸出低電平 LCALL DELAY ;延時顯示低電平 SJMP LP ;連續(xù)輸出方波DELAY: MOV R3,#18 ;延時子程序D1: NOP NOP NOP DJNZ R3,D1 RET END5. 設(shè)計型實驗內(nèi)容 采用中斷法設(shè)計 ADC0809 數(shù)據(jù)采集程序,并將采集到的十六進制結(jié)果顯示在 LED 顯示模塊上。源代碼:DBUF EQU 30HDAT EQU P3.0CLK EQU P3.14 ORG 0000HLJMP MAINORG 0013HLJMP INDATAORG 0030HMAIN: SETB P3.3MOV DPT
7、R,#0FEF8HSETB IT1CLRASETB EX1SETB EASTART: MOVX DPTR,ALCALL DELAYMOV B,AANL A,#0FHDISP: ;靜態(tài)顯示程序 MOV DBUF,#00H MOV DBUF+1,#00H MOV DBUF+2,#00H MOV DBUF+3,#00H MOV DBUF+5,AMOV A,BANL A,#0F0HSWAP AMOV DBUF+4,AMOV R0,#DBUF MOV R5, #6 MOV DPTR,#TAB DP12: MOV R2, #8 MOV A, R0 MOVC A,A+DPTR DP13: RLC A MOV
8、 P3.0,C ;DIN, C5 CLR P3.1 ;CLK SETB P3.1 ;CLK DJNZ R2, DP13 INC R0 DJNZ R5, DP12LCALL DELAYLJMP MAINTAB: DB 3FH,06H,5BHDB 4FH,66H,6DHDB 7DH,07H,7FHDB 6FH,77H,7CHDB 58H,5EH,79HDB 71HINDATA: MOVX A,DPTR ;中斷服務(wù)程序RETIDELAY: MOV R0,#00DELAY1: NOP NOP DJNZ R0,DELAY1RETEND 用中斷方式編寫 A/D 轉(zhuǎn)換程序,每秒以 100ms 的間隔采集 8
9、 次,求 8 次結(jié)果的平均值,保存到內(nèi)部 RAM40H 開始的單元,共采集 30 秒鐘。由于不但包含本題的要求,而且將采集到的數(shù)據(jù)送至靜態(tài)數(shù)碼管上,因此源代碼省略,詳見 要求同,計算出每秒的平均值并顯示在靜態(tài)數(shù)碼管上。 源代碼: DBUF DATA 060H6 ORG 0000H LJMP MAIN ORG 0003H LJMP INDATA ORG 0100HMAIN: MOV R1,#40H MOV R4,#30MAIN1: MOV R2,#00H MOV R3,#00H MOV R7,#08H CLR A MOV R0,#DBUF MOV DPTR,#0FEF0H ;啟動 A/D 轉(zhuǎn)換器
10、 SETB IT0 SETB EX0 SETB EA NOP NOPNOPLOOP: SETB F0 MOVX DPTR,A WAIT: JB F0,WAIT ;A/D 轉(zhuǎn)換結(jié)束信號LCALL DELAY7 DJNZ R7,LOOPLCALL DELAYLCALL DELAY MOV R7,#03HNEXT: CLR C ;求平均值 MOV A,R3 RRC A MOV R3,A MOV A,R2 RRC A MOV R2,A DJNZ R7,NEXT MOV A,R2 MOV R1,A INC R1ANL A,#0FHMOV DBUF+5,AMOV A,R2ANL A,#0F0HSWAP A
11、MOV DBUF+4,A LCALL DISP DJNZ R4,MAIN1RET8 INDATA:MOVX A,DPTR ;A/D 轉(zhuǎn)換結(jié)果讀入 ADD A,R2 MOV R2,A CLR A ADDC A,R3 MOV R3,A CLR A CLR F0 RETIDISP: ;靜態(tài)顯示程序 MOV DBUF,#00H MOV DBUF+1,#00H MOV DBUF+2,#00H MOV DBUF+3,#00H MOV R0, #DBUF MOV R5, #6 MOV DPTR,#TAB DP12:MOV R2, #8 MOV A, R0 MOVC A,A+DPTR DP13:RLC A M
12、OV P3.0,C ;DIN, C CLR P3.1 ;CLK SETB P3.1 ;CLK DJNZ R2, DP13 INC R0 DJNZ R5, DP12 RET 9 TAB:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 58H,5EH,79H,71H,00H,40HDELAY:MOV R5,#2S1: MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB TR0JNB TF0,$CLR TF0DJNZ R5,S1RETEND6. 實驗擴展及思考 采用 ADC0809 的 8 個通道采集
13、 8 個模擬量信號,并將實際電壓值分通道、分時地顯示在LED 上。 根據(jù)基礎(chǔ)型實驗的步驟、,由 DAC0832 輸出模擬量,ADC0809 采集數(shù)據(jù)。分配端口實現(xiàn)的硬件連接,畫出流程并設(shè)計程序?qū)崿F(xiàn)該過程,比較輸出的數(shù)據(jù)跟采集到的數(shù)據(jù)是否一致,如不一致分析一下產(chǎn)生誤差的原因。 采用 DAC0832 設(shè)計一簡易的信號發(fā)生器,設(shè)計流程并編寫程序?qū)崿F(xiàn) 50Hz 的方波、鋸齒波。7. 心得、體會由于前面聽說實驗報告隨便寫寫就行了,于是也沒寫這部分,只是把當時的源代碼粘到實驗報告里了。在此,我也只能通過一點印象寫了,望諒解。這次實驗感覺接線很多,我覺得真正需要對課本上 80C51 與 A/D 轉(zhuǎn)換器的接線理解了,將實驗教材上的電路基本看懂了,將10 各個控制信號的工作方式以及啟動順序弄明白了,才更有利于編寫程序。另外就是當自己長時間實在是調(diào)試不對時,應(yīng)當主動去問老師,看是否有接線的問題或是實驗電路板的問題;如果沒有問題并且長時間沒做出來時,可以請教同學(xué),看自己問題出在什么地方畢竟課本上有些理論知識在自己理解時都難免會發(fā)生偏差的,如果不能正確地理解,僅僅靠自己的理解、長時間地調(diào)試、摸索去編寫程序,是很費時間的。當自己實在做不出來時,要及時請教同學(xué),看自己問題出在什么地方,是哪點理解得不好還是別的原因。 閱 10.1.11