計算機接口技術實驗報告_第1頁
計算機接口技術實驗報告_第2頁
計算機接口技術實驗報告_第3頁
計算機接口技術實驗報告_第4頁
計算機接口技術實驗報告_第5頁
已閱讀5頁,還剩96頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

計算機接口技術

實驗報告

班級:信1501-2

學號:20153204

姓名:李琛

完成時間:2018.6.8

目錄

目錄...........................................................................2

一、8086Proteus實驗.............................................................4

實驗18086存儲實驗..........................................................4

實驗28086與8259中斷控制實驗..............................................6

實驗38086與8253定時計數實驗.............................................10

實驗48086與8255并行接口實驗.............................................13

實驗58086與8251串行接口實驗.............................................17

實驗68086與DAC0832數模轉換實驗.........................................21

二、Dais8086實驗箱實驗.........................................................24

軟件實驗....................................................................24

實驗1清零程序.............................................................24

實驗2拆字程序.............................................................26

實驗3拼字程序.............................................................27

實驗4數據區移動...........................................................29

實驗5數據排序實驗.........................................................31

實驗6找"零”個數...........................................................33

實驗732位二進制乘法.....................................................35

實驗8多分支程序...........................................................37

實驗9顯示子程序...........................................................39

實驗10鍵盤掃描顯示實驗...................................................40

實驗11二進制轉換到BCD.......................................................................................................42

實驗12二進制轉換到ASCLII....................................................................................................43

硬件實驗....................................................................44

實驗18255并行口實驗(一):ABC口輸出方波................................44

實驗28255并行口實驗(2):PA口控制PB口.................................45

實驗38255并行口實驗三:控制交通燈.......................................49

實驗4簡單I/。口擴展.....................................................55

實驗5AD轉換............................................................58

實驗6D/A轉換:輸出方波.................................................62

實驗7D/A轉換:鋸齒波...................................................64

實驗8硬件實驗八8259單極中斷控制器實驗.................................67

實驗9硬件實驗九定時/計數器:8253方波.................................70

實驗10硬件實驗十繼電器控制............................................72

實驗118251串行口通信實驗:自發自收....................................74

實驗128251與PC通信....................................................78

實驗13步進電機控制......................................................83

實驗14小直流電機調速實驗................................................85

實驗1516x16點陣顯示實驗................................................87

實驗16外部存儲器擴展....................................................89

實驗"音頻驅動實驗......................................................91

實驗18使用8237可編程DMA控制器實驗...................................93

實驗19內存與I/O口之間的DMA控制........................................97

實驗20圖形液晶128*64顯示實驗100

一、8086Proteus實驗

實驗18086存儲實驗

一、實驗目的

通過按動開關,向外部存儲器存儲數據

二、實驗內容

codesegment'code'

assumecs:code

start:

MOVCX,0064H;

MOVDXQ200H;

MOVBX,8000H;

MOVAX,1000H;

MOVDS,AX;DS置零

SIM:

MOV[BX],DX

INCDL

INCDH

INCBX

LOOPSIM

INT3H;

codeends

endstart

三、實驗結果截圖

U3

MemoryContents-U5

四、實驗總結

本次實驗實現向存儲器寫入數據,第一次使用這個軟件,操作方面不熟,匯編語言有待提高,

需要復習鞏固

實驗28086與8259中斷控制實驗

一、實驗目的

1、掌握8259A的工作原理及與cpu硬件連接。

2、掌握編寫中斷服務程序方法。

3、掌握初始化中斷向量的方法。

4、掌握8086中斷機制

二、實驗內容

用電平開關的輸出作為中斷源。在中斷服務程序中,通過74LS273輸出一個數據,以點

亮與中斷源相對應位置的LED。利用8259芯片構建一簡單的8086中斷系統,實現功能:利

用按鍵控制led燈的移動,采用中斷機制控制

codesegment'code,

assumecs:code,ds:data

;mainprocfar

start:

MOVAX,DATA

MOVDS,AX

cli

movax,0

moves,ax

movsi,60H*4;設置中斷向量

movax,offsetinto

;stosw

moves:[si],ax

movax,cs;segintO

;stosw;

moves:[si+2],ax

;初始化8259

moval,00010011b

movdx,400H

outdx,al

moval,060h

movdx,402h

outdx,al

moval,Ibh

outdx,al

MOVDX,402h

MOVAL,OOH;OCW1,八個中斷全部開放

OUTDX,AL

MOVDX,400h

MOVAL,60H;OCW2,非特殊EOI結束中斷

OUTDX,AL

;完成8259初始化

moval,ent

movdx,0600h

outdx,al

sti

li:;8086模型有問題,它取得的中斷號是最后發到總線上的數據,并不是由8259

發出的中斷號

;所以造成了要在這里執行E0I的假相,這三句與下面的指令效果是一

樣的

MOVDX,400H

MOVAL,60h;如果改為其它值,將出錯,因為只有60H有中斷向量

OUTDX,AL

jmpli

;ret

;mainendp

intOproc

cli

moval,ent

rolal,1

movent,al

movdx,0600h

outdx,al

MOVDX,400h;

MOVAL,60H

OUTDX,AL

sti

iret

intOendp

codeends

DATASEGMENT

CNTDB1

DATAENDS

endstart

三、實驗結果截圖

?

”=*

:'n853

::u

5-J.

s?u6

stN

3?h

:l

ls-a

.

Ef

-t

e

43*

t>u

u:

_:

K

U

OE

c'U.

U

J

U

Qeb

四、實驗總結

本次實驗實現8259中斷實驗,主程序的編程重點在于8259的初始化,控制字的確定

也需要仔細對照控制字表,以及中斷的執行、恢復;中斷部分的編程重點在于中斷向量的初

始化和中斷服務子程序的功能實現以及中斷的現場恢復等。通過這次實驗,我更深刻地理解

了8259中斷控制的工作方式和編程方法,同時也進一步熟悉了8259的工作方式,加深了

對理論知識的理解和掌握。掌握8259A的工作原理及與cpu硬件連接。掌握編寫中斷服務

程序方法。掌握初始化中斷向量的方法。掌握8086中斷機制。

實驗38086與8253定時計數實驗

一、實驗目的

二、1、學習8086與8253的連接方法。

三、2、學習8253的控制方法。

四、3、掌握8253定時器/計數器的工作方式和編程原理

二、實驗內容

利用8086外接8253可編程定時/計數器,可以實現方波的產生。

codesegment'code'

assumecs:code

start:

;為通道0寫入控制字

movalz00110111B

movdx,0406H

outdxzal

;為通道0寫入初值

movax,2000H

movdx,0400H

outdx,al

movalzah

outdx,al

;為通道1寫入控制字

moval,01110111B

movdx,0406H

outdxzal

;為通道1寫入初值

movax,1000H

movdxz0402H

outdxzal

movalzah

outdx,al

movdx,0600H

moval,00000001B

outdxzal

jl:

jmpjl

codeends

endstart

三、實驗結果截圖

四、實驗總結

這次微機原理與接口技術實驗是8253定時器/計數器實驗。本次實驗的主要目的是讓我

們學習8253芯片和微機接口的方法。掌握8253定時/計數器的工作方式和編程原理。通

過本次的實驗,我了解了8253芯片和8086連接的方法,知曉了8253定時工作方式和編程

原理。

實驗48086與8255并行接口實驗

一、實驗目的

1.了解數碼管顯示原理。

2.掌握讀表程序的編寫。

二、實驗內容

編程并全速或單步運行。

全速運行時撥動開關,觀察發光二極管的變化。當開關某位置于L時,對應的發光二極管點

亮,置于H時熄滅。程序全速運行后,邏輯電平開關的狀態改變應能在LED上顯示出來。

例如:K2置于L位置,則對應的LED2應該點亮。

利用8255的I。控制8位七段數碼管顯示實驗,實現顯示。

103EQU30H

CODESEGMENT'CODE';定義代碼段

ASSUMECS:CODE,DS:CODE

;MAINPROCFAR

START:MOVAX,CODE;建立DS段地址

MOVDS,AX

I:

MOVAL,10000001B

MOVDX,103+6

OUTDX,AL

MOVDX,103+4

MOVAL,00

OUTDX,AL

NOKEY:INAL,DX

ANDAL,OFH

CMPAL,OFH

JZNOKEY

;CALLDELAY10

INAL,DX

MOVBL,0

MOVCX,4

LP1:SHRAL,1

JNCLP2

INCBL

LOOPLP1

LP2:MOVAL,10001000B

MOVDX,103+6

OUTDX,AL

MOVDX,103+4

MOVAL,00

OUTDX,AL;低四位送0

OUTDX,AL

INAL,DX

ANDAL,OFOH

CMPAL,OFOH

JZI;出錯重頭來

MOVBH,0

MOVCX,4

LP3:SHLAL,1

JNCLP4

INCBH

LOOPLP3

LP4:MOVAX,4

MULBH

ADDAL,BL

MOVDX,103+2

OUTDX,AL

MOVBX,OFFSETSEGDATA

XLAT

MOVDX,103

OUTDX,AL

MOVCX,0

JI:LOOPJI

JMPI

RET

DELAY10PROC

MOVCX,10

LOOP$

RET

DELAY10ENDP

SEGDATADB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,89H,5EH,79H,71H

CODEENDS;代碼段結束

ENDSTART

三、實驗結果截圖

四、實驗總結

通過本次實驗了解了可編程接口芯片8255A的功能、工作方式、硬件連接、編程結構、通

過對電路及程序的設計熟悉了可編程接口芯片的編程應用。對可編程接口芯片8255A的編

程應用能力有所提升。熟悉了讀表程序的編寫。了解數碼管顯示原理。

實驗58086與8251串行接口實驗

一、實驗目的

1.了解8251的內部結構、工作原理及與8086的接口邏輯;

2.掌握8251的初始化編程方法,學會使用8251實現設備之間的串行通信

二、實驗內容

cs8251Dequ30h;串行通信控制器數據口地址

cs8251Cequ32h;串行通信控制器控制口地址

codesegment

assumeds:data,cs:code

start:

movax,data

movds,ax

init:

xoral,al;AL清零

movcx,03

movdxzcs8251C

outl:

outdx,al;往8251的控制端口送3個0

loopoutl

moval,40h

outdx,al

nop

movdx,cs8251C

moval,01001101b;寫模式字1停止位,無校驗

outdx,al

moval,00010101b;控制字清出錯標志

outdx,al

RE:movex,25

leadi,st/

send:;串口發送

movdxzcs8251C

moval,00010101b;清出錯,允許發送接收

outdx,al

nop

ntxd:

inal,dx

testall;發送緩沖器是否為空

nop

jzntxd

moval,[cli];取要發送的

movdx,cs8251D

;發送

outdxzal

pushex

movcx,3Oh

loop$

popex

incdi

loopsend

jmpRE

codeends

datasegment

strldb'Shijiazhuangtiedaouniversity

dataends

endstart

三、實驗結果截圖

D0a

C_2-_

1b-

D2-

C3Q28

牛C4--rQ

a-、

DQ

3>0

U1^6Q

D7G£6Q

RESETADaiSpQ

REAZ^26..華-

wcQ

Q

=l

IhTR_A^ECSCQ

HQ史庭Q

-~D-RFQ

而金

o而Q

后c

o?Q

黑-

由o2Q

5記屈3Q

4Q

.Q

-c

Deo寢l

RIFI

VirtualTerminal

|/shijiazhuangtiedaounivarsity屯屯屯屯屯屯屯屯屯|rr

DigitalOscilloscope

ChannelC

-

[

Ac"1

-

JS

1—

_

Auto

One-ShotJ

Source

BCD

四、實驗總結

通過本次實驗我掌握8251的初始化編程方法,學會使用8251實現設備之間的串行通信。

在8253、8251A的初始化工作完成以后,讀入狀態字,檢測是否已準備發送字符,確定準

備好以后,通過movahOl,int21h語句從鍵盤上輸入一個數字,在執行加1操作以后,通

過。utdx.al語句將數據發送出去,然后又讀入狀態字,檢測是否已準備接收字符,確定準

備好以后,在屏幕上顯示剛剛接收的字符,實現自發自收的功能。了解8251的內部結構、

工作原理及與8086的接口邏輯;

實驗68086與DAC0832數模轉換實驗

一、實驗目的

熟悉DAC0832數模轉換器的特性和接口方法,掌握D/A輸出程序的設計和調試方法。

二、實驗內容

io4=800h

codesegment

assumecsxode

start:movcx,256

moval,0

movdx,io4

loopl:outdx,al

;calldely

incal

looploopl

movex,256

moval,255

movdx,io4

Ioop2:outdx,al

;calldelay

decal

loopIoop2

jmpstart

delayproc

pushex

movex,125

loop$

popex

ret

delayendp

codeends

endstart

修改后代碼:

io4=800h

codesegment'code>

assumecs:code

start:

movex,256

moval,0

movdx,800h

loopl:

outdx,al

;cal1delay

incal

looploopl

movex,256

moval,0

jmploopl

delayproc

pushex

movex,125

loop$

popex

ret

delayendp

codeends

endstart

三、實驗結果截圖

,斗

N6逐

itE

W

京至S

NH沅£

jpm位硒

-

cixwi&Sc3

A'.4l

lf

*c〃

q

*3

4?

*5

鋸齒波:

ChannelC

hannelBChannelD

四、實驗總結

本實驗是A/D數模轉換實驗,我熟悉DAC0832數模轉換器的特性和接口方法,掌

握D/A輸出程序的設計和調試方法。首先要求實現三角波形,根據只需要逐步

增加到最高值后讓其減小至零再循環實驗即可,隨后老師增加難度,要求實現鋸

齒波,即逐步增加到最高值后陡然降為零,跟三角波的實驗原理類似,只是代碼

略微有所更改,本實驗相比較之前的幾個實驗都比較容易也易于理解。

二、Dais8086實驗箱實驗

軟件實驗

實驗1清零程序

實驗目的

掌握8088匯編語言程序設計和調試方法,熟悉鍵盤操作。

實驗內容

把RAM區內4000H-40FFH單元的內容清零。

實驗步驟

用連續或單步方式運行程序,檢查4000H?40FFH中執行程序前后的內容變化。

實驗截圖

\Dais\PH88\se01.asa

軟件實驗—油等程底-

CODESEGMENT

ASSUMECS:CODE,DS:CODE,ES:CODE

ORG3000H

31:MOVBXZ4000H

MOV

AlzOOH

MOVCXZ0010H

LI:MOV[BX]zAX

IHCBX

not.al

LOOPLI

JMP$

CODEENDS

ENDSI

SECTIENT

ASSUMEC3:CODE,DS:CODE,E3:CODE

ORG3000H

MOVBX,4000H

MOVAl,OOH

MOVCX,0010H

MOV[BX],AX

IHCBX

notal

\Dai3\PB88\3e01.a?:編譯他果-rx

COMPILECOMPLETED,0WARMING,0ERROR

LINK/LOCATERUWCOMPLETE.0ERROR

念程序數據存儲區

F|

地址0123456789ABCDE

400000000000000000000000000000000000

401000000000000000000000000000000000

402000000000000000000000000000000000

403000000000000000000000000000000000

404000000000000000000000000000000000

405000000000000000000000000000000000

406000000000000000000000000000000000

407000000000000000000000000000000000

408000000000000000000000000000000000

409000000000000000000000000000000000

40A000000000000000000000000000000000

40B000000000000000000000000000000000

法程序數據存儲區

地址1256789ABCDE|F

400000FF00FF00FF00FF00FF00FF00FF00

4010000000000000000000000000000000

4020000000000000000000000000000000

4030000000000000000000000000000000

4040000000000000000000000000000000

4050000000000000000000000000000000

4060000000000000000000000000000000

4070000000000000000000000000000000

408000000000000000000。000000000000

4090000000000000000000000000000000

anAnnnnnnnnnnnnnnnnnnnnnnnnnccnnnn

實驗總結

本次實驗是清零程序實驗,將固定RAM區中的某段單元內容清零,實驗運行結果顯示

的為OOFFOOFF.....,本次實驗主要考察程序的理解,課下要多進行嘗試,匯編語言掌握的并

不太熟練,還需要多加練習。

實驗2拆字程序

實驗目的

掌握匯編語言設計和調試方法。

實驗內容

把4000H的內容拆開,高位送4001H低位,低位送4002H低位,4001H,4002H高位清

零,一般本程序用于把數據送顯示緩沖區時用。

實驗步驟

用連續或單步方式運行程序,檢查4000H?4002H中內容變化情況。

實驗截圖

1卷程序數據存儲區

地址012|3456789AB|Co|

4000AD00000000000000000000000000

40100000000000000000000000000000

:40200000000000000000000000000000

40300000000000000000000000000000

3

40400000000000000000000000000000

如500000000000000000000000000000

40600000000000。00000000000000000

40700

溫馨提示

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

評論

0/150

提交評論