標(biāo)題: 微機(jī)原理與應(yīng)用的5個(gè)實(shí)驗(yàn) 包含8086擴(kuò)展,8255交通燈,DEBUG程序,數(shù)碼顯示 [打印本頁]

作者: 梁嘉+    時(shí)間: 2020-5-27 12:02
標(biāo)題: 微機(jī)原理與應(yīng)用的5個(gè)實(shí)驗(yàn) 包含8086擴(kuò)展,8255交通燈,DEBUG程序,數(shù)碼顯示
包含8086擴(kuò)展,8255交通燈,數(shù)碼顯示
實(shí)驗(yàn)一:匯編語言程序設(shè)計(jì)
實(shí)驗(yàn)二:查表程序設(shè)計(jì)
實(shí)驗(yàn)三:I/O口擴(kuò)展實(shí)驗(yàn)
實(shí)驗(yàn)四:數(shù)碼顯示
實(shí)驗(yàn)五:8255模擬交通燈

實(shí)驗(yàn)一匯編語言程序設(shè)計(jì)

1、學(xué)習(xí)8088匯編語言程序的基本結(jié)構(gòu)和程序設(shè)計(jì)的基本方法。

2、熟悉在PC機(jī)上建立、匯編、鏈接、調(diào)試和運(yùn)行匯編語言程序的全過程。

3、掌握DEBUG基本指令及其使用方法。

編寫程序,將80H-8FH共16個(gè)字節(jié)數(shù)據(jù)寫入數(shù)據(jù)段1000H偏移地址開始的16個(gè)內(nèi)存單元中。

1、進(jìn)入編程環(huán)境,編寫、匯編、鏈接、運(yùn)行匯編語言源程序。

2、利用DEBUG指令,對(duì)程序進(jìn)行調(diào)試。

3、通過單步、斷點(diǎn)等調(diào)試手段驗(yàn)證程序功能,查看1000H-100FH單元的數(shù)據(jù)是否傳送正確。

START:
    MOV SI,80H
    MOV DI,1000H
    MOV CX,16
    XOR AX,AX
NEXT:
MOV AX, [SI]
MOV [DI],AX
              INC SI
INC DI
LOOP NEXT
MOV AH,4CH
INT 21H
    END START


通過這次實(shí)驗(yàn),利用DEBUG功能可以清楚看到程序運(yùn)行結(jié)果以及匯編語句,進(jìn)一步加深了對(duì)匯編指令運(yùn)行的理解。



實(shí)驗(yàn)二  查表程序設(shè)計(jì)

學(xué)習(xí)查表程序的設(shè)計(jì)方法。

PC計(jì)算機(jī)一臺(tái),Dais-86PRO+或Dais-PRO163C實(shí)驗(yàn)系統(tǒng)一套。

三、實(shí)驗(yàn)內(nèi)容及步驟

              所謂查表,就是根據(jù)某個(gè)值,在數(shù)據(jù)表格中尋找與之對(duì)應(yīng)的一個(gè)數(shù)據(jù),在很多情況下,通過查表比通過計(jì)算要使程序更簡單,更容易編制。

              通過查表的方法實(shí)現(xiàn)將一個(gè)八位二進(jìn)制數(shù)的高4位和低4位分別轉(zhuǎn)換為ASCII碼。0~9的ASCII碼為30h~39h,而A~F的ASCII碼為41h~46h,這樣就可以將0~9與A~F對(duì)應(yīng)的ASCII碼保存在一個(gè)數(shù)據(jù)表格中。當(dāng)給定一個(gè)需要轉(zhuǎn)換的十六進(jìn)制數(shù)時(shí),就可以快速的在表格中找出相應(yīng)的ASCII碼值。

實(shí)驗(yàn)步驟:

1) 編寫實(shí)驗(yàn)程序,編譯、鏈接生成可執(zhí)行文件;

2) 利用DEBUG指令進(jìn)行調(diào)試,查看結(jié)果是否正確;

3) 反復(fù)修改變量,觀察驗(yàn)證程序的正確性。

四、實(shí)驗(yàn)程序與DEBUG指令

DATAS SEGMENT
TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV DL,4AH
    LEA BX,TABLE
    MOV AL,DL
    AND AL,0FH
    XLAT
    MOV AH,AL
    MOV CL,4
    MOV AL,DL
    SHR AL,CL
    XLAT
    MOV DH,AL
    MOV DL,AH
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

六.實(shí)驗(yàn)總結(jié)

通過這次實(shí)驗(yàn),熟悉了查表功能的運(yùn)用以及運(yùn)用過程中需要注意的問題,比如查找數(shù)值放在AL中,進(jìn)一步加深了對(duì)查找表使用的理解。



實(shí)驗(yàn)三  I/O口擴(kuò)展實(shí)驗(yàn)

學(xué)習(xí)在微機(jī)接口系統(tǒng)中擴(kuò)展簡單I/O設(shè)備的基本方法。

PC計(jì)算機(jī)一臺(tái),Dais-86PRO+或Dais-PRO163C實(shí)驗(yàn)系統(tǒng)一套。

三、實(shí)驗(yàn)內(nèi)容及步驟

接口電路如圖1所示。本實(shí)驗(yàn)用74LS244作為緩沖輸入接口、74LS273作為鎖存輸出接口擴(kuò)展構(gòu)成8位I/O接口。編寫程序,讀取74LS244緩沖輸入接口所連接的K7~K0開關(guān)數(shù)據(jù),寫入到74LS273鎖存輸出接口,控制L7~L0八個(gè)發(fā)光二極管的亮滅。

圖1  I/O擴(kuò)展實(shí)驗(yàn)電路圖

實(shí)驗(yàn)步驟:

1) 按圖1連接實(shí)驗(yàn)電路;

2) 編寫實(shí)驗(yàn)程序,經(jīng)編譯、鏈接無語法錯(cuò)誤后裝載到實(shí)驗(yàn)系統(tǒng);

3) 全速運(yùn)行程序,撥動(dòng)開關(guān)K7~K0,觀察發(fā)光二極管L7~L0狀態(tài)。



四、實(shí)驗(yàn)程序與DEBUG指令

code segment
assume cs:code
start:mov dx,300H
IN al,dx
OUT dx,al            
JMP start
MOV ah,4ch
INT 21h
code ends
end start

五、實(shí)驗(yàn)結(jié)果

、實(shí)驗(yàn)總結(jié)

通過這次實(shí)驗(yàn),理解了如何利用IN,OUT輸入輸出指令讀取輸出數(shù)據(jù),學(xué)習(xí)在微機(jī)接口系統(tǒng)中擴(kuò)展簡單I/O設(shè)備的基本方法。進(jìn)一步加深了對(duì)微機(jī)系統(tǒng)的理解。



實(shí)驗(yàn)數(shù)碼顯示

  • 實(shí)驗(yàn)?zāi)康?/font>

了解LED數(shù)碼管動(dòng)態(tài)顯示的工作原理及編程方法。

  • 實(shí)驗(yàn)步驟

PC計(jì)算機(jī)一臺(tái),Dais-86PRO+或Dais-PRO163C實(shí)驗(yàn)系統(tǒng)一套。

  • 實(shí)驗(yàn)內(nèi)容及步驟

實(shí)驗(yàn)箱LED模塊接口如圖所示,要求使用8255的PA7—PA0控制數(shù)碼管字形口、PB5—PB0控制數(shù)碼管字位口,實(shí)現(xiàn)數(shù)碼管顯示“HELLO”。

  • 實(shí)驗(yàn)程序與DEBUG指令

1、該數(shù)碼顯示系統(tǒng)屬于動(dòng)態(tài)顯示還是靜態(tài)顯示?

              答:動(dòng)態(tài)顯示。

2、闡述動(dòng)態(tài)顯示和靜態(tài)顯示各自的特點(diǎn)。

              答:動(dòng)態(tài)顯示特點(diǎn):亮度相對(duì)較低,耗電少,要求I/O口少;

                            靜態(tài)顯示特點(diǎn):亮度高,功耗大,要求I/O口或驅(qū)動(dòng)芯片多。

3、整理出詳細(xì)的實(shí)驗(yàn)程序。

data segment
data1 db 20h,10h,08h,04h,02h
data2 db 89h,86h,0c7h,0c7h,0c0h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,303h
mov al,80h
out dx,al
again:mov cx,5
lea si,data1
lea di,data2
next:mov dx,301h
mov al,[si]
out dx,al
mov dx,300h
mov al,[di]
out dx,al
mov bx,100h
x1:dec bx
jnz x1
inc si
inc di
loop next
jmp again
mov ah,4ch
int 21h
code ends
end start

  • 實(shí)驗(yàn)結(jié)
  • 實(shí)驗(yàn)總結(jié)

通過這次實(shí)驗(yàn),我了解LED數(shù)碼管動(dòng)態(tài)顯示的工作原理,并利用匯編語言完成了對(duì)數(shù)碼管的動(dòng)態(tài)顯示,成功顯示“HELLO”。



實(shí)驗(yàn)8255模擬交通燈

  • 實(shí)驗(yàn)?zāi)康?/font>

掌握通過8255A并行口傳輸數(shù)據(jù)的方法,模擬交通燈控制系統(tǒng)。

  • 實(shí)驗(yàn)步驟

PC計(jì)算機(jī)一臺(tái),Dais-86PRO+或Dais-PRO163C實(shí)驗(yàn)系統(tǒng)一套。

  • 實(shí)驗(yàn)內(nèi)容及步驟
1、實(shí)驗(yàn)要求:
1)用8255作輸出口,控制12個(gè)發(fā)光二極管亮滅,模擬交通燈管理:

2)程序初始時(shí)為A路口綠燈亮、B路口紅燈亮;

3)延遲一段時(shí)間后,A路口由綠燈亮變?yōu)辄S燈閃爍;

4)接著A路口紅燈亮、B路口綠燈亮;

5)延遲一段時(shí)間后,B路口由綠燈亮變?yōu)辄S燈閃爍;

6)最后循環(huán)至初始時(shí)繼續(xù)。

2、實(shí)驗(yàn)步驟:

1) 連接實(shí)驗(yàn)電路;

2) 編寫實(shí)驗(yàn)程序,經(jīng)編譯、鏈接無語法錯(cuò)誤后裝載到實(shí)驗(yàn)系統(tǒng);

3) 全速運(yùn)行程序,觀察發(fā)光二極管顯示,應(yīng)能循環(huán)模擬交通燈顯示。

四、實(shí)驗(yàn)程序與DEBUG指令

code segment
assume cs:code
start :
mov dx,303h
mov al,80h
out dx,al
mov dx,300h
again: mov al,011101b
out dx,al
call delay
mov cx,5
next:mov al,011110b
out dx,al
call delay1
mov al,011111b
out dx,al
call delay1
loop next
mov al,101011b
out dx,al
call delay
mov cx,5
nex1:
mov al,110011b
out dx,al
call delay1
mov al,111011b
out dx,al
call delay1
loop next1
jmp again
delay proc
push cx
push ax
mov cx,10
x2:mov ax,0ffffh
x1:dec ax
jnz x1
dec cx
jnz x2
pop ax
pop cx
ret
delay endp
delay1 proc
push bx
mov bx,0ffffh
x4:dec bx
jnz x4
pop bx
ret
delay1 endp
  mov ah,4ch
  int 21h
  code ends
  end start


五、實(shí)驗(yàn)結(jié)果

通過這次實(shí)驗(yàn),我掌握如何對(duì)8255A進(jìn)行初始化,然后通過8255A并行口傳輸數(shù)據(jù)的方法,成功模擬了交通燈控制系統(tǒng),也學(xué)會(huì)了如何編寫子程序并實(shí)現(xiàn)調(diào)用。


完整的Word格式文檔51黑下載地址:
323馮 微機(jī).docx (2.48 MB, 下載次數(shù): 12)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1