计算机接口技术实验报告_第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

提交评论