《《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)內(nèi)容提要》由會(huì)員分享,可在線閱讀,更多相關(guān)《《微機(jī)原理與接口技術(shù)》實(shí)驗(yàn)內(nèi)容提要(10頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1 實(shí) 驗(yàn) 報(bào) 告課程名稱: 微機(jī)原理與接口技術(shù)實(shí)驗(yàn) 指導(dǎo)老師: 齊杭麗 成績(jī):_實(shí)驗(yàn)名稱: 并行 AD、DA 實(shí)驗(yàn) 實(shí)驗(yàn)類型:_ _同組學(xué)生姓名:_無(wú)_1. 實(shí)驗(yàn)?zāi)康?掌握采用并行接口實(shí)現(xiàn)外部器件的擴(kuò)展方法; 掌握 ADC0809 模/數(shù)轉(zhuǎn)換芯片與單片機(jī)的接口設(shè)計(jì)及 ADC0809 的典型應(yīng)用; 掌握 DAC0832 模/數(shù)轉(zhuǎn)換芯片與單片機(jī)的接口設(shè)計(jì)及 DAC0832 的典型應(yīng)用。2. 預(yù)習(xí)要求 理解內(nèi)存與 IO 統(tǒng)一編址的外設(shè)端口地址的映射及控制; 理解用查詢方式、中斷方式完成模/數(shù)轉(zhuǎn)換程序的編寫方法; 理解 DAC0832 直通方式,單緩沖器方式、雙緩沖器方式的編程方法。3. 實(shí)驗(yàn)設(shè)備計(jì)
2、算機(jī) 1 臺(tái); ZDGDTH-1 型 80C51 實(shí)驗(yàn)開發(fā)系統(tǒng) 1 套;2 號(hào)導(dǎo)線、8P 數(shù)據(jù)線 若干條;萬(wàn)用表 1 個(gè);4. 基礎(chǔ)型實(shí)驗(yàn)內(nèi)容 圖 4-1 為 ADC0809 的擴(kuò)展電路圖,用 8P 數(shù)據(jù)線將 D2 區(qū) 80C51/C8051F020 MCU 模塊的 JD0(P0 口) 、JD8 分別與 C5 區(qū)并行 A/D 轉(zhuǎn)換模塊的 JD1C5、JD2C5 相連;用二號(hào)導(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 端。說(shuō)明 AD 轉(zhuǎn)換的過(guò)程,并在 Keil 環(huán)境設(shè)置斷點(diǎn)運(yùn)行以下程序,可調(diào)電源分別調(diào)至兩個(gè)極端,觀察寄存器及內(nèi)存單元的變化。專業(yè):信息工程(光電系)姓名: 王釗 學(xué)號(hào): 3070801185 日期: 2009-12-28 地點(diǎn): 東 4-606 2 GND13VCI-06msb79485lEOABLref()STR+KU/W_P.uF 圖 4-1 ADC0809 的擴(kuò)展電路圖 ORG 0000H MAIN: CLR A SETB P3.3 ;設(shè)定與 EOC 接口 IO 處于接收狀態(tài) MOV DPTR,#0FEF8H ;選擇 A/D 端口地址
4、 NOP MOVX DPTR,A ;啟動(dòng) AD 轉(zhuǎn)換WAIT: JB P3.3,WAIT MOVX A,DPTR ; 讀入結(jié)果 NOP LJMP MAIN 圖 4-2 為 DAC0832 的擴(kuò)展電路圖,用 8P 數(shù)據(jù)線將 D2 區(qū) 80C51/C8051F020 MCU 模塊的 JD0(P0 口)與 C4 區(qū)并行 DA 轉(zhuǎn)換模塊的 JD1C4 相連,用二號(hào)導(dǎo)線將 D2 區(qū)80C51/C8051F020 MCU 模塊的 P2.0、WR 分別與 C5 區(qū)并行 D/A 轉(zhuǎn)換模塊的 CS、WR 模塊,用萬(wàn)用表測(cè)量“-Vref”端的電壓,手動(dòng)調(diào)節(jié)電位器 RW1C4,把-Vref 電壓調(diào)到-5V,萬(wàn)用表監(jiān)
5、測(cè)并行 D/A 轉(zhuǎn)換的 OUT 與 GND 輸出引腳。填寫下列程序中的空白處,說(shuō)明 DA 轉(zhuǎn)換的過(guò)程,并在 Keil 環(huán)境運(yùn)行設(shè)置斷點(diǎn)運(yùn)行該程序,調(diào)節(jié) RW1C4,觀察寄存器的變化與萬(wàn)用表輸出值的變化。3 1OutIN-2+VD4567890EULMcolsbRfremWCSXAG/_QTPK.F圖 4-2 DAC0832 的擴(kuò)展電路圖ORG 0100HSTART: MOV DPTR,#0FEFFH ;置 DAC0832 的地址LP: MOV A,#0FFH ;設(shè)定高電平MOVX DPTR,A ;啟動(dòng) D/A 轉(zhuǎn)換,輸出高電平 LCALL DELAY ;延時(shí)顯示高電平 MOV A,#00H ;
6、設(shè)定低電平 MOVX DPTR,A ;啟動(dòng) D/A 轉(zhuǎn)換,輸出低電平 LCALL DELAY ;延時(shí)顯示低電平 SJMP LP ;連續(xù)輸出方波DELAY: MOV R3,#18 ;延時(shí)子程序D1: NOP NOP NOP DJNZ R3,D1 RET END5. 設(shè)計(jì)型實(shí)驗(yàn)內(nèi)容 采用中斷法設(shè)計(jì) ADC0809 數(shù)據(jù)采集程序,并將采集到的十六進(jìn)制結(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ù)碼管上,因此源代碼省略,詳見 要求同,計(jì)算出每秒的平均值并顯示在靜態(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 ;啟動(dòng) 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é)束信號(hào)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. 實(shí)驗(yàn)擴(kuò)展及思考 采用 ADC0809 的 8 個(gè)通道采集
13、 8 個(gè)模擬量信號(hào),并將實(shí)際電壓值分通道、分時(shí)地顯示在LED 上。 根據(jù)基礎(chǔ)型實(shí)驗(yàn)的步驟、,由 DAC0832 輸出模擬量,ADC0809 采集數(shù)據(jù)。分配端口實(shí)現(xiàn)的硬件連接,畫出流程并設(shè)計(jì)程序?qū)崿F(xiàn)該過(guò)程,比較輸出的數(shù)據(jù)跟采集到的數(shù)據(jù)是否一致,如不一致分析一下產(chǎn)生誤差的原因。 采用 DAC0832 設(shè)計(jì)一簡(jiǎn)易的信號(hào)發(fā)生器,設(shè)計(jì)流程并編寫程序?qū)崿F(xiàn) 50Hz 的方波、鋸齒波。7. 心得、體會(huì)由于前面聽說(shuō)實(shí)驗(yàn)報(bào)告隨便寫寫就行了,于是也沒寫這部分,只是把當(dāng)時(shí)的源代碼粘到實(shí)驗(yàn)報(bào)告里了。在此,我也只能通過(guò)一點(diǎn)印象寫了,望諒解。這次實(shí)驗(yàn)感覺接線很多,我覺得真正需要對(duì)課本上 80C51 與 A/D 轉(zhuǎn)換器的接線理解了,將實(shí)驗(yàn)教材上的電路基本看懂了,將10 各個(gè)控制信號(hào)的工作方式以及啟動(dòng)順序弄明白了,才更有利于編寫程序。另外就是當(dāng)自己長(zhǎng)時(shí)間實(shí)在是調(diào)試不對(duì)時(shí),應(yīng)當(dāng)主動(dòng)去問(wèn)老師,看是否有接線的問(wèn)題或是實(shí)驗(yàn)電路板的問(wèn)題;如果沒有問(wèn)題并且長(zhǎng)時(shí)間沒做出來(lái)時(shí),可以請(qǐng)教同學(xué),看自己?jiǎn)栴}出在什么地方畢竟課本上有些理論知識(shí)在自己理解時(shí)都難免會(huì)發(fā)生偏差的,如果不能正確地理解,僅僅靠自己的理解、長(zhǎng)時(shí)間地調(diào)試、摸索去編寫程序,是很費(fèi)時(shí)間的。當(dāng)自己實(shí)在做不出來(lái)時(shí),要及時(shí)請(qǐng)教同學(xué),看自己?jiǎn)栴}出在什么地方,是哪點(diǎn)理解得不好還是別的原因。 閱 10.1.11