微機原理及應用實驗指導書_第1頁
微機原理及應用實驗指導書_第2頁
微機原理及應用實驗指導書_第3頁
微機原理及應用實驗指導書_第4頁
微機原理及應用實驗指導書_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、微機原理及應用實驗指導書專業(yè) 班級 學號 姓名 前 言實驗目的掌握微型計算機的結構組成和工作原理、微機存儲系統(tǒng)的結構組成和工作原理,熟練掌握微型計算機的中斷技術、典型接口芯片的硬件設計和初始化及工作程序的設計。了解微型計算機的最新技術和發(fā)展。為后續(xù)課程打下堅實的基礎。實驗綜述微機原理及接口技術是一門實踐性很強的專業(yè)技能課,通過實驗環(huán)節(jié)使學生掌握微型計算機與外設連接的有關技術,以及一些典型通用接口的工作原理、工作過程及應用方法,培養(yǎng)學生對接口電路分析和設計的能力,使學生能將微型計算機與通用或專用外設連接起來,構成完整的微機系統(tǒng)或計算機控制系統(tǒng)。每次實驗前,學生必須按照指導書要求進行不少于實驗課時

2、數(shù)的預習與準備。實驗結果必須經(jīng)實驗教師認可。實驗環(huán)境    硬件條件:高檔PC機微機及接口實驗系統(tǒng)裝置    軟件條件: DOS 操作系統(tǒng)。任意一種編輯程序,如EDITEXE。宏匯編程序MASMEXE。連接程序LINKEXE。調(diào)試程序DEBUGEXE。目 錄實驗一系統(tǒng)認識實驗2實驗二程序調(diào)試(在DOS環(huán)境中執(zhí)行)2實驗三數(shù)據(jù)排序(在偉福環(huán)境中執(zhí)行)3實驗四 8259外部中斷實驗4實驗五8255輸入、輸出實驗7實驗六 8253計數(shù)器實驗8實驗一系統(tǒng)認識實驗一 、實驗目的熟悉DOS及偉福環(huán)境下程序調(diào)試過程及方法。二 、實驗設備計算機一臺,

3、賽思SICElab-G2010+實驗箱一臺。三 、實驗要求1了解DOS及偉福調(diào)試環(huán)境2在兩個環(huán)境下調(diào)試及執(zhí)行程序四、 、實驗源程序; 指定存儲器中的某塊的起始地址和長度,要求能將其內(nèi)容清零data segmentBlock db 256 dup(55h)data endscode segment assume cs:code, ds:datastart proc far mov ax, data mov ds, ax mov bx, offset Block ; 起始地址 mov cx, 16 ; 清 16 字節(jié)Again: mov byte ptr bx, 0 inc bx loop Aga

4、in ; 記數(shù)減一 mov ah,4ch int 21hstart endpcode ends end start 五 、實驗步驟1在DOS環(huán)境中分別進行匯編、連接、執(zhí)行、調(diào)試程序,并能用命令看到程序執(zhí)行的結果。在DEBUG環(huán)境下:(1)用E命令或F命令給數(shù)據(jù)段的前16個單元分別送0到0FH;(2)用命令看數(shù)據(jù)緩沖區(qū)的內(nèi)容;(3)用G命令執(zhí)行程序;(4)再命令看到程序執(zhí)行的結果。在偉福環(huán)境中執(zhí)行程序,并觀察程序執(zhí)行結果。在偉福環(huán)境中,給數(shù)據(jù)段的前16個單元分別送0到0F,再執(zhí)行程序觀察結果。實驗二程序調(diào)試(在DOS環(huán)境中執(zhí)行)一 、實驗目的 1了解數(shù)據(jù)排序的簡單算法。2了解數(shù)列的有序和無序概念

5、二 、實驗要求給出一組隨機數(shù),將此組數(shù)據(jù)排序,使之成為有序數(shù)列。三 、實驗說明有序的數(shù)列更有利于查找。本程序用的是“冒泡排序”法,算法是將一個數(shù)與后面的數(shù)相比較,如果比后面的數(shù)大,則交換,如此將所有的數(shù)比較一遍后,最大的數(shù)就會在數(shù)列的最后面。再進行下一輪比較,找出第二大數(shù)據(jù),直到全部數(shù)據(jù)有序。四 、程序框圖五 、補全 、運行程序并記錄現(xiàn)象data segmentLen equ 10Array db 5,2,1,0,2,3,8,6,5,9Change db 0data endscode segment cs:code, ds:datastart proc far mov ax, mov ds,

6、axSort: mov bx, mov cx, mov Change, 0Goon: mov al, bx inc bx cmp al, bx j Next ; 前小后大, 不交換 mov Change, 1 ; 前大后小, 置交換標志 mov ah, bx mov bx ,al ; 交換 mov bx-1, ahNext: loop Goon cmp Change, 0 jne Sort mov ah,4ch int 21h start endpcode ends end start實驗三數(shù)據(jù)排序(在偉福環(huán)境中執(zhí)行)實驗目的及要求同上。實驗四 8259外部中斷實驗一 、實驗目的1、 學習80

7、88/86與8259的連接方法。2、 學習8088/86對8259的控制方法。二 、實驗要求用8088/86控制8259可編程中斷控制器,實現(xiàn)對外部中斷的響應和處理。要求程序中對每次中斷進行計數(shù),并將計數(shù)結果用數(shù)碼管顯示。單脈沖三 、實驗電路及連線實驗電路圖如上圖所示,將圖中虛線部分連接,實線部分實驗箱內(nèi)部已經(jīng)連接好(以后實驗相同)。四 、補全 、運行程序并記錄現(xiàn)象OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164時鐘位)DAT164 equ 0e102h ; 段控制口(接164數(shù)據(jù)位)ICW1 equ ; 單片8259, 上升沿中斷,

8、要寫ICW4ICW2 equ ; 中斷號為20HICW4 equ ; 工作在8086/88 方式OCW1 equ ; 只響應INT0 中斷CS8259A equ 0A000h ; 8259地址CS8259B equ 0A001hdata segmentLEDBuf db 6 dup(?) ; 顯示緩沖Num db 1 dup(?) ; 顯示的數(shù)據(jù)DelayT db 1 dup(?)LEDMAP db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h;八段管顯示碼 db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hCNT db 0dat

9、a endscode segment assume cs:code, ds: dataDelay proc near ; 延時子程序 push ax push cx mov al, 0 mov cx,ax loop $ pop cx pop ax retDelay endpDisplayLED proc near mov bx, offset LEDBuf mov cl, 6 ; 共6個八段管 mov ah, 00100000b ; 從左邊開始顯示DLoop: mov dx, OUTBIT mov al, 0 out dx,al ; 關所有八段管 mov al, bx mov ch, 8 ;

10、送164DLP: push ax mov ah, 0 test al, 80h jz GN1 mov ah, 1GN1: mov dx, DAT164 ; 輸出數(shù)據(jù)位 mov al, ah and al,0fdh out dx, al mov dx, CLK164 ; 送出時鐘脈沖 ;mov al, 1 or al,02h out dx, al ;mov al, 0 and al,0fdh out dx, al pop ax shl al, 1 dec ch jnz DLP mov dx, OUTBIT mov al, ah out dx, al ; 顯示一位八段管 push ax mov a

11、h, 1 call Delay pop ax shr ah, 1 inc bx dec cl jnz DLoop mov dx, OUTBIT mov al, 0 out dx,al ; 關所有八段管 retDisplayLED endpIEnter proc near push ax push dx inc CNT mov dx, CS8259A mov al, 20h ; 中斷服務程序結束指令 out dx, al pop dx pop ax iretIEnter endpIInit proc mov dx, CS8259A mov al, out dx, al mov dx, CS825

12、9B mov al, out dx, al mov al, out dx, al mov al, out dx, al retIInit endpStart proc near cli mov ax, data mov ds, ax mov dx,0e100h mov al,03h out dx,al mov LEDBuf, 07Fh ; 顯示 8.2.5.9.0.0 mov LEDBuf+1, 05Bh mov LEDBuf+2, 06Dh mov LEDBuf+3, 06Fh mov LEDBuf+4, 0 mov LEDBuf+5, 0 mov ax, 0 mov ds, ax mov

13、bx, 4*ICW2 ; 中斷號 mov ax, code mov cl,4 shl ax, cl ; x 16 add ax, offset IEnter ; 中斷入口地址(段地址為0) mov bx, ax mov ax, 0 inc bx inc bx mov bx, ax ; 代碼段地址為0 call IInit mov ax, data mov ds, ax mov CNT, 0 ; 計數(shù)值初始為0 stiMLoop: mov al,CNT mov Num, al mov ah,0 mov si, offset LEDMap and al,0fh ; 低四位 add ax,si mo

14、v si,ax mov al,si ; 數(shù)據(jù)轉換成顯示碼 mov LEDBuf+5, al mov si, offset LEDMap mov al, Num ; 高四位 mov cl,4 shr al, cl mov ah, 0 add ax, si mov si, ax mov al, si mov LEDBuf+4, al mov DelayT,2DispAgain: call DisplayLED ; 顯示 dec DelayT jnz DispAgain jmp MLoopStart endpcode ends end start實驗五8255輸入、輸出實驗一 、實驗目的1、了解82

15、55芯片結構及編程方法。2、了解8255輸入/輸出實驗方法。二 、實驗要求利用8255可編程并行口芯片,實現(xiàn)輸入/輸出實驗,實驗中用8255PC口作輸出,PB口作輸入。三 、實驗電路及連線8255的/CS接地址譯碼/YC2,則命令字地址為0A003H,PA口地址為0A000H,PB口地址為0A001H,PC口地址為0A002H。PC0-PC7(PC口)接L0-L7(LED),PB0-PB7(PB口)接S0-S7(開關量)。四 、實驗說明 可編程通用接口芯片8255A有三個八位的并行I/O口,它有三種工作方式。本實驗采用的是方式0:PA,PC口輸出,PB口輸入。五 、補全 、運行程序并記錄現(xiàn)象m

16、ode equ ; 方式0,PA,PC輸出,PB輸入 PortA equ 0A000h ; Port A PortB equ 0A001h ; Port B PortC equ 0A002h ; Port C CAddr equ 0A003h ; 控制字地址code segment assume cs:codestart proc nearStart: mov al, mov dx, CAddr dx, al ; 輸出控制字PortB 輸入 PortC 輸出 mov dx, PortB in al, dx ; 讀入PortB mov dx, PortC out dx, al mov dx, P

17、ortA out dx, al ; 輸出到PortA mov ah, 200 call delay jmp Start endpdelay proc near push ax mov al,0 push cx mov cx,ax loop $ pop cx pop ax retdelay endpcode ends end start實驗六 8253計數(shù)器實驗一 、實驗目的1、學習8088/86與8253的連接方法。2、學習8088/86對8253的控制方法。二 、實驗要求利用8088/86外接8253可編程定時器/計數(shù)器,可以實現(xiàn)對外部事件進行計數(shù)。設置斷點讀回計數(shù)器的值。三 、實驗電路及連

18、線四 、實驗說明本實驗中計數(shù)器按方式0工作。即十六位二進制計數(shù)器。當計數(shù)設置好后,計數(shù)器就開始計數(shù)。如果要讀入計數(shù)器的值,要先鎖存計數(shù)值,才能讀到計數(shù)值。本實驗所設計數(shù)值為5,也就是外部5個脈沖,計數(shù)器值加1。同時OUT腳輸出一個高電平。實驗時,可以將OUT0接到L0上,觀察計數(shù)器是否工作。五 、 實驗框圖讀回計數(shù)值鎖存計數(shù)值設置工作方式開始六 、補全 、運行程序并記錄現(xiàn)象CONTROL equ 0a003hCOUNT0 equ 0a000hCOUNT1 equ 0a001hCOUNT2 equ 0a002hcode segment assume cs:codestart proc near mov al, ; 通道0,方式0 mov

溫馨提示

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

評論

0/150

提交評論