接口与通信实验报告.docx

上传人:b****6 文档编号:5865234 上传时间:2023-01-01 格式:DOCX 页数:24 大小:75.35KB
下载 相关 举报
接口与通信实验报告.docx_第1页
第1页 / 共24页
接口与通信实验报告.docx_第2页
第2页 / 共24页
接口与通信实验报告.docx_第3页
第3页 / 共24页
接口与通信实验报告.docx_第4页
第4页 / 共24页
接口与通信实验报告.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

接口与通信实验报告.docx

《接口与通信实验报告.docx》由会员分享,可在线阅读,更多相关《接口与通信实验报告.docx(24页珍藏版)》请在冰豆网上搜索。

接口与通信实验报告.docx

接口与通信实验报告

 

华北电力大学科技学院

实验报告

|

|

 

实验名称

课程名称接口与通信

|

|

专业班级:

学生姓名:

学号:

成绩:

指导教师:

实验日期:

开发器使用与程序设计

一、实验目的

1、了解伟福仿真软件的使用及汇编程序的调试方法;

2、掌握简单程序编写的方法;

3、通过对两个验证性实验的阅读、调试,掌握不同进制数及编码相互转换的程序设计方法。

4、完成程序设计题,加深对数码转换的理解,了解简单程序的设计方法。

二、实验仪器和设备

PC机、WAVE软件。

三、实验内容及说明

内容1:

十六进制转换为ASCII码。

内容2:

接受小写字母转换成大写字母并显示。

四、实验步骤

1、启动计算机,打开伟福仿真软件,进入仿真环境。

首先进行仿真器的设置,点击主菜单的仿真器选项,选择仿真器设置,或者直接点击仿真器设置快捷按钮,打开仿真器设置窗口,在仿真器标签里选择使用伟福软件模拟器。

2、在编辑窗口输入第一个实验内容的源程序,保存,文件名为YXG-1-1.ASM,

3、对YXG-1-1.ASM源程序进行编译。

点击项目菜单,选择全部编译。

编译无误后,打开数据窗口,选择外部数据存储器窗口XDATA,拖动XDATA窗口的滚动条,使地址3500H出现在窗口上,改变3500H起始的8个字节单元(四个字)的内容。

执行程序,点击全速执行快捷按钮,点击暂停按钮,观察以地址350AH开始的四个存储单元数据变化情况。

4、关闭此项目,新建文件,输入第二个实验的源程序,保存为YXG-1-2.ASM,新建项目→添加文件(选择YXG-1-2),输入项目名YXG-1-2,编译,执行,成功之后在相应目录下找到对应的EXE执行文件,双击打开,在窗口输入小写字母,回车键后窗口显示对应的大写字母。

5、选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

五、实验结果与数据处理

实验内容1源程序:

DATASEGMENT

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,0000H

MOVDS,AX

MOVCX,0004H

MOVDI,0000H

MOVDX,[DI]

A1:

MOVAX,DX

ANDAX,000FH

CMPAL,0AH

JBA2

ADDAL,07H

A2:

ADDAL,30H

MOV[DI+0Ah],AL

INCDI

PUSHCX

MOVCL,04H

SHRDX,CL

POPCX

LOOPA1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验内容2源代码:

DATASEGMENT

BUFDB200DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETBUF

MOVCL,00H

A1:

MOVAH,01H

INT21H

CMPAL,0DH

JZA2

SUBAL,20H

MOV[SI],AL

INCSI

INCCL

JMPA1

A2:

MOVDL,0AH

MOVAH,02H

INT21H

MOVDL,0DH

INT21H

MOVSI,OFFSETBUF

MOVCH,00H

A3:

MOVDL,[SI]

MOVAH,02H

INT21H

INCSI

LOOPA3

PUSHBX;延时程序

PUSHCX

MOVBX,0FFFH

DELAY:

MOVCX,0FFFH

DELAY1:

DECCX

JNZDELAY1

DECBX

JNZDELAY

POPCX

POPBX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

五、实验总结与思考

本次试验达到预期结果,完成了对两个验证实验的验证。

在实验过程中,通过对程序的单步执行,观察各个寄存器和内存单元数据的变化,对于程序的调试很有帮助,为后续实验打好了基础。

在第二个实验内容的验证过程,开始由于没有延时,运行时看不清实验结果,后来通过加入一定延时解决了问题,还参考了其他的同学的解决办法,例如通过DOS的2号功能调用,开阔了思路,使我收获很大。

 

中断8259应用定时/计数器8253应用

一、实验目的

(1)通过阅读并调试示例程序,学习8088/86与8259A的连接与控制方法,掌握8259A中断控制器的工作原理。

(2)完成程序设计题,学会编写中断服务程序

二、实验内容

1.实验原理

8259A是一种可编程序中断控制器,与8088/86微机兼容,能处理8级优先权中断,亦可以通过级联构成64级向量优先权中断系统。

具有可编程控制中断方式,并能分别屏蔽各个中断请求。

通过4个初始化命令字(ICW1~ICW4)及3个操作命令字(OCW1~OCW3)使用8259A可编程中断控制器。

(1)初始化命令字

1)ICW1写入双数地址。

2)ICW2写入单数地址

3)ICW3写入单数地址

4)ICW4写入单数地址

(2)操作命令字

1)OCW1写入单数地址

2)OCW2写入双数地址

3)OCW3写入双数地址

2.实验内容

用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。

要求程序中对每次中断进行计数,并将计数结果用8255A的PA端口输出到LED显示。

3.实验电路

实验电路参考实验指导书。

4.参考程序

参考实验指导书

5.程序设计

修改上述程序,使每中断10次计数器加1,并将计数结果从8255的PB口输出到LED显示。

完成电路设计及程序的编制,进行调试并验证结果。

程序如下:

modeequ80h

pa8255equ8000h

pb8255equ8001h

ctl8255equ8003h

icw1equ00010011b

icw2equ00100000b

icw4equ01h

ocw1equ11111110b

cs8259aequ09000h

cs8259bequ09001h

datasegment

cntdb0

cndb0

dataends

codesegment

assumecs:

code,ds:

data

ienterprocnear

pushax

pushdx

movdx,pb8255

inccnt

cmpcnt,0ah

jnzP1

movcnt,0

inccn

moval,cn

outdx,al

P1:

movdx,cs8259a

moval,20h

outdx,al

popdx

popax

iret

ienterendp

initprocnear

movdx,cs8259a

moval,icw1

outdx,al

movdx,cs8259b

moval,icw2

outdx,al

moval,icw4

outdx,al

moval,ocw1

outdx,al

ret

initendp

startprocnear

movdx,ctl8255

moval,mode

outdx,al

cli

movax,0

movds,ax

movbx,4*icw2

movax,offsetienter

mov[bx],ax

movax,code

incbx

incbx

mov[bx],ax

callinit

movax,data

movds,ax

movcn,0

moval,cn

movdx,pb8255

outdx,al

sti

lp:

nop

jmplp

startendp

codeends

endstart

三、实验结果

成功实现10次中断计数器加1的功能,成功完成题目的内容。

四、实验心得

对于中断的使用有很大的提高,能够熟悉控制中断,同时与如何使用计数器和寄存器有了一定的提高,同时了解和熟悉了中断程序的编写。

定时/计数器8253应用

一、实验目的

通过阅读并调试示例程序,完成程序设计题,掌握8253的基本工作原理和编程方法,熟悉8253在系统中的典型接法。

二、实验内容

1.实验原理

8253(或8254)可编程定时/计数器是Intel公司产生的通用外围接口芯片,它有3个独立的16位计数器,计数范围0~2MHz,而8253—2和8254的最高技术频率为5MHz。

它所有的计数方式和操作方式都通过编程控制。

2.程序设计

按图接线,通过编程实现LED指示灯以1s的时间间隔闪烁。

并通过在硬件上接线,实现在7段数码管上刷新显示。

程序如下:

CONTROLEQU08003H

COUNT0EQU08000H

COUNT1EQU08001H

COUNT2EQU08002H

CODESEGMENT

ASSUMECS:

CODE

STARTPROCNEAR

MOVAL,30H

MOVDX,CONTROL

OUTDX,AL

MOVAL,5

MOVDX,COUNT0

OUTDX,AL

MOVAL,0

OUTDX,AL

AGAIN:

MOVAL,00000000B

MOVDX,CONTROL

OUTDX,AL

MOVDX,COUNT0

INAL,DX

MOVBL,AL

INAL,DX

MOVAH,AL

MOVAL,BL

JMPAGAIN

STARTENDP

CODEENDS

ENDSTART

三、实验结果

成功实现LED灯每隔一秒计数闪烁一次,亦即是只能够实现频闪,但是并不能同时做到七段数码器计数,不停刷新数字计数。

最多也只能只能做到让其七段数码管在信号输入的时候不停的往前刷新,但只限于0-9里面刷新计数。

四、实验心得

这个实验处理计数这个功能实现以外,还综合了七段数码管的刷新实现功能,对于后面的七段数码管的操作实验有着不可估计的好处,可以提前熟悉了七段数码管是如何实现功能的过程。

并行接口8255应用(跑马灯)

一、实验目的

(1)通过阅读并调试示例程序,掌握8255A可编程并行接口的工作原理。

(2)完成程序设计题。

学会并行接口电路的设计。

及编写输入输出控制程序。

二、实验内容

1.实验原理

8255A是可编程的通用并行输入/输出接口芯片,因通用性强,使用灵活,可直接与CPU总线相连,应用非常广泛。

8255A芯片内部有3个8为的输入/输出端口,即A口,B口和C口。

从内部控制的角度来讲,可分为两组:

A组合B组。

A组控制模块管理A口和C口德高四位(PC7~PC4),B组控制模块管理B口和C口的低四位(PC3~PC0)。

面向I/O设备的信号线:

(1)PA7~PA0:

A口I/O信号线

(2)PB7~PB0:

B口I/O信号线

(3)PAC~PC0:

C口I/O信号线

面向系统的信号线:

(1)D7~D0:

双向数据线,可与系统数据总线相连;

(2)/CS:

片选信号,当/CS=0时,选中8255A;

(3)A1、A0:

端口选择信号,当/CD有效时,再由A1、A0的组合确定选择A口】B口、C口或控制寄存器口;

(4)/RD:

芯片读信号,当/RD=0是。

CPU从8255A的指定端口读取数据或状态;

(5)/WR:

芯片写信号,当/WR=0时,CPU想向8255A的制定端口写入数据或控制字;

(6)RESET:

复位信号,当RESET=1时,所以内部寄存器都被清零,3个端口被自动设为入端口。

8255A的三种工作方式:

(1)方式0:

基本输入/输出方式;

(2)方式1:

选通型输入/输出方式

(3)方式2:

双向数据传送方式

8255A的控制字:

(1)工作方式选择控制字,D7~D0控制位的含义见表。

(2)C口按位置位/复位控制字。

2、实验内容

跑马灯程序设计,要求K0=0时,从左向右跑马灯;K1=0时,从右向左跑马灯;K2=0时,从左从右向中间跑马灯,LED从PC口输出。

完成得安路设计及程序的编译,进行调试并验证结果。

程序如下:

DATASEGMENT

MODEEQU082H

PORTAEQU8000H

PORTBEQU8001H

PORTCEQU8002H

CADDREQU8003H

POSDB0FFH

NOWDATADB0FFH

LEFTDB0FFH

RIGHTDB0FFH

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,MODE

MOVDX,CADDR

OUTDX,AL

INPUT:

MOVDX,PORTB

INAL,DX

CMPAL,NOWDATA

JNZINITIAL

CMPAL,0FEH

JZK0

CMPAL,0FDH

JZK1

CMPAL,0FBH

JZK2

CMPAL,0F7H

JZK3

JMPINPUT

INITIAL:

MOVNOWDATA,AL

CMPAL,0FEH

JZINTIK0

CMPAL,0FDH

JZINTIK1

CMPAL,0FBH

JZINTIK2

CMPAL,0F7H

JZINTIK3

INTIK0:

MOVPOS,10000000B

JMPOUTPUT

INTIK1:

MOVPOS,00000001B

JMPOUTPUT

INTIK2:

MOVLEFT,10000000B

MOVRIGHT,00000001B

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

JMPOUTPUT

INTIK3:

MOVLEFT,00010000B

MOVRIGHT,00001000B

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

JMPOUTPUT

K0:

RORPOS,1

JMPOUTPUT

K1:

ROLPOS,1

JMPOUTPUT

K2:

RORLEFT,1

ROLRIGHT,1

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

K3:

RORLEFT,1

ROLRIGHT,1

MOVAL,LEFT

ORAL,RIGHT

MOVPOS,AL

OUTPUT:

MOVAL,POS

MOVDX,PORTA

OUTDX,AL

MOVCX,5000H

LOOP$

JMPINPUT

CODEENDS

ENDSTART

三、实验心得

通过设计跑马灯电路,对于硬件的连接有了更深一层的认识,同时对于编程的熟练有了一定的提高,同时认识到控制信号的使用。

 

存储器扩展及读写实验

一、实验目的

(1)通过阅读并测试示例程序,完成程序设计题,熟悉静态RAM的扩展方法。

(2)了解8086/8088与存储器的连接,掌握扩展存储器的读写方法。

二、实验内容

1.实验原理(62256RAM介绍)

62256是32*8的静态存储器,管脚如图所示。

其中:

A0~A14为地址线,DB0~DB7为数据线,/cs为存储器的片选,/OE为存储器数据输出选通信号,/WE为数据写入存储器信号。

62256工作方式如下图。

/CS/WE/OE方式DB-~DB7

HXX未选中高阻

LHH读写禁止高阻

LLH写IN

LHL读OUT

2.实验内容

设计扩展存储电器的硬件连接图并编制程序,讲字符A~Z循环存入62256扩展RAM中,让后再检查扩展存储器中的内容。

三、程序设计

编写升序,将4KB扩展存储器交替写入55H和0AAH。

程序如下:

RAMADDREQU0000H

RAMOFFEQU9000H

COUNTEQU800H

CODESEGMENT

ASSUMECS:

CODE

START:

PROCNEAR

MOVAX,RAMADDR

MOVDS,AX

MOVBX,RAMOFF

MOVCX,COUNT

REP1:

MOVDL,55H

MOV[BX],DL

INCBX

MOVDL,0AAH

MOV[BX],DL

INCBX

LOOPREP1

JMP$

MOVAH,04H

INT21H

CODEENDS

四、实验结果

通过在软件上调试,运行时能够看到内存地址的改变,证明此扩展的程序成功实现了。

五、实验心得

了解了内存如何扩展的过程,对于理论知识的了解有了进一步的加深,同时对于内存控制有了加深了解。

而通过实际操作,扩展存储器的读写方法已经了解了。

 

模/数(A/D)转换结果送数码管显示(综合实验)

一、实验目的

(1)通过阅读并调试示例程序,了解A/D转换的基本原理。

(2)完成程序设计题,掌握ADC08009的使用方法。

(3)了解用总线控制数码管显示

二、实验内容

1.实验原理

ADC0809是8位8通道A/D转换器,芯片内包括一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。

用该电路可直接采样8个单端的模拟信号,分时进行A./D转换,在多点巡回检测,过程控制等应用领域使用非常广泛。

ADC0809的主要技术指标为:

(1)分辨率:

8位;

(2)单电源:

+5V;

(3)总的不可调误差:

正负1LSB

(4)转换时间:

取决于时钟频率,在1000KHZ时,一次模拟量转换时间为100us;

(5)模拟量输入范围:

单极性0~5V;

(6)时钟频率范围:

10~1280KHZ;

(7)参考电压VREF(+)、VREF(-):

+5V;

(8)8通道模拟转换信号ADD_C、ADD_B、ADD_A;

(9)A/D转换方法;

1)IN0单极性输入电压与转换后数字的关系为N=Ui/(Uref/256),其中Ui为输入电压,Uref为参考电压,这里参考电压为+5V电源。

2)一次A/D转换的程序可以为

MOVDX,口地址

OUTDX,AL;启动转换

延时

INAL,DX;读取转换结果放在AL中

2.实验内容

通过电位器输出0~5V直流电压送入ADC0809通道0(IN0),利用输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。

编程采集IN0输入的电压,通过8255PA连接发光二极管显示转换后的数据(16进制数)。

3.实验电路

电路图如实验指导书上所述。

三、程序设计

代码如下:

CS0809EQU09000H

OUTBITEQU08002H

OUTSEGEQU08004H

DATASEGMENT

LEDBUFDB2DUP(?

NUMDB1DUP(?

DELAYTDB1DUP(?

LEDMAP:

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

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

DELAYPROCNEAR

PUSHAX

PUSHCX

MOVAL,0H

MOVCX,AX

LOOP$

POPCX

POPAX

RET

DELAYENDP

DISPLAYLEDPROCNEAR

MOVBX,OFFSETLEDBUF

MOVCL,2

MOVAH,00100000B

DLOOP:

MOVDX,OUTBIT

MOVAL,0

OUTDX,AL

MOVAL,[BX]

MOVDX,OUTSEG

OUTDX,AL

MOVDX,OUTBIT

MOVAL,AH

OUTDX,AL

PUSHAX

MOVAH,1

CALLDELAY

POPAX

SHRAH,1

INCBX

DECCL

JNZDLOOP

MOVDX,OUTBIT

MOVAL,0

OUTDX,AL

RET

DISPLAYLEDENDP

STARTPROCNEAR

MOVAX,DATA

MOVDS,AX

AGAIN:

MOVAL,0

MOVDX,CS0809

OUTDX,AL

MOVCX,40H

LOOP$

INAL,DX

MOVNUM,AL

MLOOP:

MOVCH,NUM

MOVAH,0

MOVBX,OFFSETLEDBUF

FILLBUF:

MOVSI,OFFSETLEDMAP

MOVAL,CH

ANDAL,0F0H

MOVCL,4

SHRAL,CL

ADDAX,SI

MOVSI,AX

MOVAL,[SI]

MOV[BX],AL

INCBX

DECCL

MOVAL,CH

ANDAL,0FH

MOVSI,OFFSETLEDMAP

ADDAX,SI

MOVSI,AX

MOVAL,[SI]

MOV[BX],AL

MOVDELAYT,20

DISPAGAIN:

CALLDISPLAYLED

DECDELAYT

JNZDISPAGAIN

JMPSTART

STARTENDP

CODEENDS

ENDSTART

四、实验总结

通过这几周的五个实验,让我对接口与通信技术这们课程有一个深刻

的认识,更培养了自己的动手能力,让理论知识与实践得到很好的结合

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1