微機(jī)原理及接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(級(jí))_第1頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(級(jí))_第2頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(級(jí))_第3頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(級(jí))_第4頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(級(jí))_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一部分軟件程序設(shè)計(jì)(共8學(xué)時(shí))一、實(shí)驗(yàn)環(huán)境wave 6000簡(jiǎn)介1、軟件安裝以安裝在C盤為例: 將WAVE文件夾拷貝到C盤根目錄下,再將WAVE文件夾下的ICESOFT文件夾拷貝到C盤根目錄下。圖1 安裝文件然后雙擊圖標(biāo)INSTALL.EXE開始安裝,進(jìn)入界面: 圖2 安裝wave6000仿真環(huán)境點(diǎn)擊安裝WAVE6000仿真開發(fā)環(huán)境,點(diǎn)擊安裝,開始安裝過程,安裝結(jié)束后出現(xiàn): 圖3 安裝過程再點(diǎn)擊安裝Lab6000/2000P實(shí)驗(yàn)例子:圖 4 安裝Lab6000/2000P實(shí)驗(yàn)例子出現(xiàn)界面:圖 5 實(shí)驗(yàn)例子安裝過程電機(jī)OK開始安裝,直到安裝結(jié)束。安裝成功后,會(huì)在桌面上出現(xiàn)圖標(biāo):,雙擊即可進(jìn)入編

2、輯環(huán)境。圖 6 編輯環(huán)境2、編輯環(huán)境設(shè)置圖 7 仿真器設(shè)置a圖 8 仿真器設(shè)置b圖9 勾選使用偉福軟件模擬器圖 10 語言設(shè)置圖 11 目標(biāo)文件設(shè)置2、新建文件 圖 12 新建文件 打開已有文件圖 13 打開文件雙擊選擇要打開的文件即可。3、文件保存:文件名為英文字母,不超過8個(gè)字符,擴(kuò)展名為ASM,保存在C:WAVE6000下,注意保存路徑中不能出現(xiàn)中文字符。圖 14 保存文件4、源程序的匯編鏈接及程序調(diào)試源程序輸入完畢或打開已有文件后,單擊圖標(biāo)程序進(jìn)入編譯鏈接狀態(tài),若程序無語法錯(cuò)誤,則顯示: 圖 15 匯編鏈接狀態(tài)a 程序中出現(xiàn)語法錯(cuò)誤時(shí)的編譯結(jié)果是:圖 16 匯編鏈接狀態(tài)b雙擊錯(cuò)誤處即可

3、定位到出現(xiàn)錯(cuò)誤的語句上, 圖 17 匯編鏈接狀態(tài)及錯(cuò)誤定位錯(cuò)誤語句逐句修改后,再重新編譯連接,直到通過編譯。程序調(diào)試:方法有:復(fù)位(CTRL-F2)設(shè)置斷點(diǎn)(CTR+F8)、跟蹤(F7)、單步運(yùn)行(F8)、連續(xù)運(yùn)行(CTR+F9)等方法。斷點(diǎn)的設(shè)置和取消:光標(biāo)置預(yù)設(shè)斷點(diǎn)行,按CTRL_F8,即可,在已設(shè)斷點(diǎn)行再次按下CTRL_F8即可取消斷點(diǎn)設(shè)置。圖 18 設(shè)置斷點(diǎn)后的情況實(shí)驗(yàn)結(jié)果查看可以通過查看寄存器內(nèi)容、數(shù)據(jù)段內(nèi)容、觀察窗口內(nèi)容、DOS顯示結(jié)果等判斷程序執(zhí)行是否正常。 圖19 設(shè)置觀察窗口 圖 20 數(shù)據(jù)段內(nèi)容查看圖 21 查看DOS顯示結(jié)果 圖 22 查看寄存器內(nèi)容軟件實(shí)驗(yàn)一實(shí)驗(yàn)內(nèi)容 在

4、數(shù)據(jù)區(qū)定義字母數(shù)字串,分別統(tǒng)計(jì)數(shù)字、大寫字母、小寫字母?jìng)€(gè)數(shù),分別存放在SHUZI、DAXIE、XIAOXIE單元中。多次統(tǒng)計(jì),記錄統(tǒng)計(jì)結(jié)果。實(shí)驗(yàn)要求在熟悉wave 6000編程環(huán)境的基礎(chǔ)上,完成上述源程序的輸入、匯編、修改、運(yùn)行等實(shí)驗(yàn)步驟,直到程序執(zhí)行得到正確結(jié)果為止。熟練掌握單步運(yùn)行、斷點(diǎn)設(shè)置、自動(dòng)運(yùn)行、寄存器內(nèi)容,數(shù)據(jù)區(qū)內(nèi)容查看等程序調(diào)試技術(shù)。軟件實(shí)驗(yàn)二實(shí)驗(yàn)內(nèi)容 將內(nèi)存區(qū)定義的字母數(shù)字串的統(tǒng)計(jì)結(jié)果以16進(jìn)制形式顯示出來,顯示格式為: The Nembers of Digital is:XXH The Nembers of Capital Letters is:XXH The Nembers

5、 of Small Letters is:XXH程序要求: 1、二進(jìn)制轉(zhuǎn)十六進(jìn)制并顯示的功能由BTOHDSP實(shí)現(xiàn) 2、回車換行用CRLF宏指令實(shí)現(xiàn) 3、字符H的顯示用OUTPUT宏指令實(shí)現(xiàn) 4、提示信息的顯示用宏INOUT宏指令實(shí)現(xiàn)實(shí)驗(yàn)要求:調(diào)試程序,直到正確實(shí)現(xiàn)所要求的功能。軟件實(shí)驗(yàn)三實(shí)驗(yàn)內(nèi)容 從鍵盤鍵入字母數(shù)字串,統(tǒng)計(jì)各類字符個(gè)數(shù)并以十進(jìn)制形式在顯示器上顯示出來。顯示格式要求1、在顯示器上顯示提示信息: Pleace input any digital and letter string2、在顯示器上顯示The string you inputed is:XXXXXXXXXX3、在顯示器上

6、分行顯示十進(jìn)制統(tǒng)計(jì)結(jié)果 The Nembers of Digital is:XX The Nembers of Capital Letters is:XX The Nembers of Small Letters is:XX4、在顯示器上顯示提示信息 Are you continue?(Y/N) 按Y繼續(xù)13的統(tǒng)計(jì)顯示過程,按N或其它字符均退出統(tǒng)計(jì)返回DOS。 這里建議:不區(qū)分輸入Y或N的大小寫,均為有效。程序要求:1、提示字符串的顯示功能用宏指令I(lǐng)NOUT實(shí)現(xiàn)2、回車換行用CRLF宏指令實(shí)現(xiàn)3、單個(gè)字符輸入用INPUT宏指令實(shí)現(xiàn)4、分類統(tǒng)計(jì)功能由子程序TONGJI實(shí)現(xiàn)5、二進(jìn)制轉(zhuǎn)十進(jìn)制并顯示

7、功能由子程序BTOD 實(shí)現(xiàn)軟件實(shí)驗(yàn)四(選做)實(shí)驗(yàn)內(nèi)容在數(shù)據(jù)區(qū)定義30個(gè)學(xué)生的成績(jī)(0100之間),統(tǒng)計(jì)不及格(<60)、及格(6069)、中等(7079)、良好(8089)、優(yōu)秀(90100)學(xué)生的個(gè)數(shù)和平均分,分類以十進(jìn)制形式顯示出來(平均分僅顯示整數(shù)即可)。顯示格式要求 分行在各相關(guān)提示信息下,以十進(jìn)制形式顯示各統(tǒng)計(jì)結(jié)果的數(shù)值。第二部分 硬件實(shí)驗(yàn)(8學(xué)時(shí))一、仿真器設(shè)置:(Lab6000實(shí)驗(yàn)箱為綠色箱子、Lab2000實(shí)驗(yàn)箱為黑色箱子)1、 通信設(shè)置:將用來做軟件仿真的“使用偉福軟件模擬器”選項(xiàng)取消,勾選“使用USB通信圖23 Lab6000通信設(shè)置 圖24 Lab2000通信設(shè)置其

8、中Lab2000實(shí)驗(yàn)箱上的COM口選擇要與配套計(jì)算機(jī)上的串口標(biāo)簽一致,點(diǎn)擊“測(cè)試串行口“可測(cè)試串口是否正常。2、仿真器設(shè)置 圖25 Lab6000仿真器設(shè)置 圖26 Lab2000仿真器設(shè)置二、硬件布局圖首先根據(jù)硬件布局圖熟悉各接口芯片、譯碼電路、開關(guān)、LED指示燈、單脈沖輸入、電位器等常用輸入輸出器件所處位置。各片選譯碼起始地址如下:CS0:8000H CS1:9000H CS2:A000H CS3:B000HCS4:C000H CS5:D000H CS6:E000H CS7:F000H 圖27 硬件實(shí)驗(yàn)布局圖三、實(shí)驗(yàn)選擇: 圖28 實(shí)驗(yàn)選擇 此時(shí)按“實(shí)驗(yàn)要求”即可看到本次實(shí)驗(yàn)的要求、按“實(shí)

9、驗(yàn)?zāi)康摹笨煽吹奖敬螌?shí)驗(yàn)的目的等等。按“連線”可根據(jù)指示將所需連線連接好。按“匯編程序”即可將實(shí)驗(yàn)程序裝入wave 6000環(huán)境進(jìn)行編譯連接和下載。實(shí)驗(yàn)四、8259中斷實(shí)驗(yàn)選擇8259外部中斷試驗(yàn),按圖接線后,點(diǎn)“匯編程序”裝入實(shí)驗(yàn)程序,閱讀并理解試驗(yàn)程序后編譯鏈接下載程序,觀察實(shí)驗(yàn)現(xiàn)象。然后按如下要求對(duì)程序進(jìn)行修改;實(shí)驗(yàn)原程序如下:(行號(hào)是為描述方便而后加的)1 mode equ 82h ; 8255 工作方式2 PA8255 equ 8000h ; 8255 PA口輸出地址3 CTL8255 equ 8003h4 ICW1 equ 00010011b ; 單片8259, 上升沿中斷, 要寫I

10、CW45 ICW2 equ 00100000b ; 中斷號(hào)為20H6 ICW4 equ 00000001b ; 工作在8086/88 方式7 OCW1 equ 11111110b ; 只響應(yīng)INT0 中斷8 CS8259A equ 09000h ; 8259地址9 CS8259B equ 09001h10 data segment11 CNT db 012 data ends13 code segment14 assume cs:code, ds: data15 IEnter proc near16 push ax17 push dx18 mov dx, PA825519 inc CNT20

11、mov al, CNT21 out dx, al ; 輸出計(jì)數(shù)值22 mov dx, CS8259A23 mov al, 20h ; 中斷服務(wù)程序結(jié)束指令24 out dx, al25 pop dx26 pop ax27 iret28 IEnter endp29 IInit proc30 mov dx, CS8259A31 mov al, ICW132 out dx, al33 mov dx, CS8259B34 mov al, ICW235 out dx, al36 mov al, ICW437 out dx, al38 mov al, OCW139 out dx, al40 ret41 I

12、Init endp42 start proc near43 mov dx, CTL825544 mov al, mode45 out dx, al46 cli47 mov ax, 048 mov ds, ax49 mov bx, 4*ICW2 ; 中斷號(hào)50 mov ax, code51 shl ax, 4 ; x 1652 add ax, offset IEnter ; 中斷入口地址(段地址為0)53 mov bx, ax54 mov ax, 055 inc bx56 inc bx57 mov bx, ax ; 代碼段地址為058 call IInit59 mov ax, data60 mo

13、v ds, ax61 mov CNT, 0 ; 計(jì)數(shù)值初始為062 mov al, CNT63 mov dx, PA825564 out dx, al65 sti66 LP: ; 等待中斷,并計(jì)數(shù)。67 nop68 jmp LP69 start endp70 code ends71 end start將65行的sti指令用分號(hào);注釋掉,再重新編譯鏈接下載程序,運(yùn)行,觀察實(shí)驗(yàn)現(xiàn)象并正確解釋實(shí)驗(yàn)現(xiàn)象,然后取消注釋。將第7行的 OCW1 改為 11111111b ,再重新編譯鏈接下載程序,運(yùn)行,觀察并正確解釋實(shí)驗(yàn)現(xiàn)象,然后改回原來的值。正確理解OCW1的作用。將24行的out dx, al指令注釋掉

14、,再重新編譯鏈接下載程序,運(yùn)行,觀察并正確解釋實(shí)驗(yàn)現(xiàn)象,然后取消注釋。將27行的iret注釋掉,再重新編譯鏈接下載程序,運(yùn)行,觀察并正確解釋實(shí)驗(yàn)現(xiàn)象,然后取消注釋。正確理解IRET指令的作用。將40行的ret注釋掉,再重新編譯鏈接下載程序,運(yùn)行,觀察并正確解釋實(shí)驗(yàn)現(xiàn)象,然后取消注釋。正確理解RET指令的作用程序在哪個(gè)片段內(nèi)等待中斷?修改程序,使按下單脈沖10次后,程序結(jié)束退出。實(shí)驗(yàn)五 定時(shí)器/計(jì)數(shù)器8253實(shí)驗(yàn)1、選擇8253計(jì)數(shù)器實(shí)驗(yàn),按圖接線后,點(diǎn)“匯編程序”裝入實(shí)驗(yàn)程序,閱讀并理解試驗(yàn)程序后編譯鏈接下載程序,觀察實(shí)驗(yàn)現(xiàn)象。實(shí)驗(yàn)原參考程序如下:CONTROL equ 08003hCOUNT

15、0 equ 08000hCOUNT1 equ 08001hCOUNT2 equ 08002hcode segment assume cs:codestart proc near mov al, 30h ; 通道0,方式0 mov dx, CONTROL out dx, al mov al, 5 ; 計(jì)數(shù)器初始值。 mov dx, COUNT0 out dx, al ; 低八位 mov al, 0 out dx, al ; 高八位Again: mov al, 00000000B ; 鎖存計(jì)數(shù)器值 mov dx, CONTROL out dx, al mov dx, COUNT0 in al, d

16、x ; 讀入計(jì)數(shù)值低八位 mov bl, al in al, dx ; 讀入計(jì)數(shù)值高八位 mov ah, al mov al, bl jmp Againstart endpcode ends end start運(yùn)行程序,觀察實(shí)驗(yàn)現(xiàn)象,體會(huì)按單脈沖次數(shù)與信號(hào)輸出之間的關(guān)系。注釋掉或刪除從標(biāo)號(hào)AGAIN開始到JMP AGAIN 的程序段,再重新編譯鏈接下載,觀察對(duì)實(shí)驗(yàn)結(jié)果有無影響,解釋此程序片段的作用是什么,在本實(shí)驗(yàn)條件下能否觀察到實(shí)驗(yàn)現(xiàn)象?改變計(jì)數(shù)初值為10,觀察實(shí)驗(yàn)現(xiàn)象。實(shí)驗(yàn)拓展:結(jié)合并行接口8255,將計(jì)數(shù)值在B口輸出至8個(gè)LED燈上,觀察每按一次單脈沖,LED燈的變化情況。修改程序,加上8

17、255初始化片段,修改從標(biāo)號(hào)AGAIN開始到JMP AGAIN 的程序段完成此功能。 2、選擇8253定時(shí)器實(shí)驗(yàn),按圖接線后,點(diǎn)“匯編程序”裝入實(shí)驗(yàn)程序,閱讀并理解試驗(yàn)程序后編譯鏈接下載程序,觀察實(shí)驗(yàn)現(xiàn)象。實(shí)驗(yàn)原參考程序如下:CONTROL equ 0c003hCOUNT0 equ 0c000hCOUNT1 equ 0c001hCOUNT2 equ 0c002hcode segment assume cs:codestart proc near mov al, 36h; 00110110B ; 計(jì)數(shù)器0,16位,方式3,二進(jìn)制 mov dx, CONTROL out dx, al mov ax

18、, 1000 mov dx, COUNT0 out dx, al ; 計(jì)數(shù)器低字節(jié) mov al, ah out dx, al ; 計(jì)數(shù)器高字節(jié) mov al, 76h; 01110110B ; 計(jì)數(shù)器1,16位,方式3,二進(jìn)制 mov dx, CONTROL out dx, al mov ax, 1000 mov dx, COUNT1 out dx, al ; 計(jì)數(shù)器低字節(jié) mov al, ah out dx, al ; 計(jì)數(shù)器高字節(jié) jmp $start endpcode ends end start完成基本實(shí)驗(yàn)后,修改程序,改變各通道的計(jì)數(shù)初值,將定時(shí)時(shí)間分別改為1分鐘和5分鐘,再重新編

19、譯鏈接下載,觀察實(shí)驗(yàn)結(jié)果是否達(dá)到要求。拓展實(shí)驗(yàn):8259、8253和8255的綜合應(yīng)用用8253產(chǎn)生1分鐘定時(shí)中斷,在中斷服務(wù)程序中向8255的B口輸出中斷次數(shù)至LED燈,10次中斷后程序退出。要求:分別將8259的有效中斷請(qǐng)求信號(hào)設(shè)為邊沿觸發(fā)和高電平觸發(fā),8253工作方式選擇片段和中斷服務(wù)程序片段該如何編寫,分析并觀察中斷重入現(xiàn)象及防止對(duì)策。實(shí)驗(yàn)六 并行接口8255實(shí)驗(yàn)1、選擇8255輸入輸出實(shí)驗(yàn),按圖接線后,點(diǎn)“匯編程序”裝入實(shí)驗(yàn)程序,閱讀并理解試驗(yàn)程序后編譯鏈接下載程序,觀察實(shí)驗(yàn)現(xiàn)象。實(shí)驗(yàn)原參考程序如下: mode equ 082h ; 方式0,PA,PC輸出,PB輸入 PortA eq

20、u 8000h ; Port A PortB equ 8001h ; Port B PortC equ 8002h ; Port C CAddr equ 8003h ; 控制字地址code segment assume cs:codestart proc nearStart: mov al, mode mov dx, CAddr out dx, al ; 輸出控制字 ;實(shí)驗(yàn)1:PortA輸出 mov al, 80H mov cx, 08HOutA: mov dx, PortA out dx, al ; 輸出PortA mov dx, PortC out dx, al shr al, 1 ; 移

21、位 mov ah,100 call delay ; 延時(shí) loop OutA ;實(shí)驗(yàn)2: PortB 輸入 PortA 輸出 mov dx, PortB in al, dx ; 讀入PortB mov dx, PortC out dx, al mov dx, PortA out dx, al ; 輸出到PortA mov ah, 200 call delay jmp Startstart endpdelay proc near push ax mov al,0 push cx mov cx,ax loop $ pop cx pop ax retdelay endpcode ends end s

22、tart 閱讀程序,觀察實(shí)驗(yàn)1程序的實(shí)驗(yàn)結(jié)果,回答問題:mov dx, PortC out dx, al 這兩條指令的實(shí)驗(yàn)現(xiàn)象能否觀察到,為什么?對(duì)這兩條指令做相應(yīng)處理。 修改程序,使程序在實(shí)驗(yàn)1范圍內(nèi)運(yùn)行,不進(jìn)入實(shí)驗(yàn)2。 在的基礎(chǔ)上修改程序,使LED燈的點(diǎn)亮順序與原來的相反。 刪除實(shí)驗(yàn)1的內(nèi)容或修改程序使初始化后程序直接進(jìn)入實(shí)驗(yàn)2,完成B口輸入開關(guān)狀態(tài),A口顯示開關(guān)狀態(tài)的功能。拓展實(shí)驗(yàn):根據(jù)8255的B口輸入的K1K8的狀態(tài),在A口輸出LED燈的不同顯示組合。要求Ki的i值越大,相應(yīng)的圖案顯示的優(yōu)先級(jí)越高(例如在K1按鍵置1顯示相應(yīng)圖案時(shí),K4置1,則按K4相應(yīng)的圖案顯示)。例如:K1置1:

23、燈從左至右依次單個(gè)燈點(diǎn)亮,圖案如下: K2置1:燈從右至左依次單個(gè)燈點(diǎn)亮,圖案如下: K3置1:右側(cè)四個(gè)燈和左側(cè)四個(gè)燈輪番同時(shí)點(diǎn)亮,圖案如下:K4置1:按如下圖案將燈循環(huán)間隔點(diǎn)亮, 在沒有任何開關(guān)置1時(shí),按如下圖案循環(huán)同時(shí)點(diǎn)亮LED燈(即8個(gè)燈同時(shí)亮或者滅。在完成上述功能的情況下,還可增加K5K8的顯示圖案。實(shí)驗(yàn)七 A/D和D/A實(shí)驗(yàn)1、 A/D實(shí)驗(yàn)選擇“A/D轉(zhuǎn)換實(shí)驗(yàn)”,按圖接線后,點(diǎn)“匯編程序”裝入實(shí)驗(yàn)程序,閱讀并理解試驗(yàn)程序后編譯鏈接下載程序,觀察實(shí)驗(yàn)現(xiàn)象。實(shí)驗(yàn)原參考程序如下:mode equ 082hPA equ 09000hCTL equ 09003hCS0809 equ 08000hcode segment assume cs:codestart proc near mov al, mode mov dx, CTL out dx, alagain: mov al, 0 mov dx, CS0809 out dx, al ; 起動(dòng) A/D mov cx, 40h loop $ ; 延時(shí) > 100us in al, dx ; 讀入結(jié)果 mov dx,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論