微机原理实验指导书通信Word文件下载.docx

上传人:b****7 文档编号:22511627 上传时间:2023-02-04 格式:DOCX 页数:24 大小:94.41KB
下载 相关 举报
微机原理实验指导书通信Word文件下载.docx_第1页
第1页 / 共24页
微机原理实验指导书通信Word文件下载.docx_第2页
第2页 / 共24页
微机原理实验指导书通信Word文件下载.docx_第3页
第3页 / 共24页
微机原理实验指导书通信Word文件下载.docx_第4页
第4页 / 共24页
微机原理实验指导书通信Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

微机原理实验指导书通信Word文件下载.docx

《微机原理实验指导书通信Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导书通信Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

微机原理实验指导书通信Word文件下载.docx

①实验课题

②实验设备及工具

③实验目的

④实验过程和结果分析

通过实验,学生应达到以下几点目的:

1通过实验,掌握微机接口的基本概念、功能、组成,掌握CPU与接口交换数据的方式及分析和设计接口电路的基本方法。

2掌握定时器/计数器、中断、存储器接口、并行接口、串行接口、A/D与D/A转换器接口以及总线与接口标准的基本概念、组成和特点。

熟悉相应的接口芯片的结构。

掌握它们一些具体的应用和连接方法,并根据具体的接口功能要求编制相应的接口程序根据所做实验,完成实验总结报告

掌握I/O端口地址译码技术,了解几种主要的人机交互设备接口的功能和原理。

实验一数据传送与算术运算

一.实验目的:

1.学会数据传送和算运算指令的用法。

2.熟悉在PC机上建立﹑汇编﹑链接﹑调试,和运行8088汇编语言程序的过程。

3.掌握利用DEBUG调试软件来调试汇编语言程序的方法。

二.实验器材

1.PC机一台;

2.QTH-2008PCI32位微机教学实验仪一套。

三.实验内容:

多字节加法,要求把6个字节数据分配在数据区,定义30个字节的堆栈空间。

将多字节的和存放在字节sum单元中。

四.实验步骤

1、运行EDIT或记事本等编辑器,建立文件名为XXX.ASM源文件,输入给定程序。

2、用MASM.EXE或TASM.EXE汇编程序产生XXX.OBJ目标文件。

方法:

MASM XXX.ASM↙。

3、用LINK.EXE或TLINK.EXE产生XXX.EXE可执行文件。

LINKXXX.OBJ↙。

4、运行DEBUG调入XXX.EXE可执行文件。

方法一:

DEBUGXXX.EXE↙。

方法二:

DEBUG↙

NXXX.EXE↙。

L↙。

5、运用DEBUG命令对XXX.EXE进行调试和分析。

A用反汇编U命令,将汇编程序段调到显示屏幕上。

b.用T单步执行程序段,执行每条指令观察其结果。

c.用运行命令G执行程序并验证其执行结果。

d.用设置断点的方法执行程序段并检查执行结果。

e.利用DEBUG其他命令运行、修改、并观察其结果。

注意:

以上方法MASM.EXE,LINK.EXE,XXX.ASM都在同一路径下。

五.思考题

1、常用的数据传送指令和算术运算指令有几种类型?

试归纳并举例说明。

2、如果程序中有弹出指令,栈指针如何变化?

试举例说明。

3、在DEBUG下输入程序段,如何建立、修改、存盘?

4、程序段近过程与远过程有什么不同?

什么情况下是RET?

什么情况下是RETF?

5、程序返回系统有几种方法?

并说明?

六.报告要求

1.写明本次实验内容和实验步骤。

2.整理出实验任务的源程序和运行结果。

3.对调试过程中的问题进行分析,对运行结果进行分析。

4.写出上机调试各步骤及中间过程。

5.小结DEBUG的使用方法。

6.

回答思考题。

实验二代码转换

1.学习不同数及编码相互转换的程序设计方法。

2.进一步掌握程序编辑,编译,连接过程。

3.进一步掌握可执行文件在DEBUG里调试过程。

二.实验器材。

在数据段中定义1个字节数据,将数据转换成16进制的ASCII码,然后在屏幕上显示这些数据。

显示数据用DOS功能2号调用,每个数据用空格分隔。

例如数据4AH,经过转换在屏幕上显示4AH

四.实验步骤:

1.输入给定的程序,编译、连接并产生可执行文件。

2.DEBUG调试分析各程序的功能,观察调试过程中数据传输指令执行后,各寄存器及数据区的内容。

并给出16进制数转换成ASCII码数学表达式。

3.更改数据区的数据,考察程序的正确性。

五.思考题:

1.十六进制数转换成ASCII码还有哪些简单的方法吗?

2.十进制数的ASCII码如何转换为BCD码?

3.将一个数据改为8个数据,实现它,程序需要怎样修改?

4.试列出数码转换对应关系表。

六.实验报告:

1.写明本次实验内容和实验步骤。

2.整理出实验任务的源程序和运行结果。

并对源程序进行注册说名明。

3.对调试过程中的过程中的问题进行分析,对运运结果进行分析。

4.写出上机调试步骤及中间过程。

5.回答思考题。

实验三程序的基本结构练习

1、实验目的:

1.了解﹑掌握分支﹑循环和子程序调用的基本程序结构。

2.学习综合程序设计﹑编制及调试。

3.掌握模块化程序﹑编译﹑连接的方法。

2、实验器材:

1.PC机一台;

2.QTH-2008PCI32位微机教学实验仪一套。

3、实验内容:

在数据段中有20个字节单元,保存着某一功课的成绩,统计该门功课中不及格、60-69,70-79,80-89,90-100的人数,并且求该门功课的平均值

4、实验步骤:

1.输入给定程序,分析模块程序结构,编译、连接产生可执行文件。

2.断点调试程序段的工作过程。

3.更改数据区中的数据,考察程序的正确性。

4.试着进行成绩的输入和输出结果。

5、思考题:

1.统计人数还有什么好的方法?

2.输入和输出注意那些问题?

6、实验报告:

1.总结编写程序的基本结构的方法和原则,编译和连接方法。

2.写明本次实验内容和实验步骤。

3.整里出实验任务的源程序和运行结果,并对源程序进行注释说明。

4.对调试过程中的问题进行分析,对运行结果进行分析。

5.写出上机调试各步骤及中间过程。

6.回答思考题。

实验四存储器扩展

1、熟悉微机接口实验装置的结构及使用方法

2、了解微机存储器系统的组成结构

3、掌握对微机存储器扩充的方法

3、实验说明

1、61256介绍

微处理器通过数据总线、地址总线及控制总线与存储器连接,如下图所示:

地址总线为地址信号,用来指明选中的存储单元地址。

数据总线为数据信号,它是微处理器送往存储器的信息或存储器送往微处理器的信息。

它包括指令和数据。

控制总线发出存储器读写信号,以便从ROM、RAM中读出指令或数据,或者向RAM写入数据。

在微机系统中,常用的静态RAM有6116、6264、62256等。

在本实验中使用的是61256。

61256为32K╳8位的静态RAM,其逻辑图如下:

其中A0~14为15根地址线,I/O0~7为8根数据线,CS为片选端,OE为数据输出选通端,WR为写信号端。

其工作方式见下表:

控制信号

CS

OE

WR

数据线

L

H

输出

输入

非选

高阻态

2、访问地址超过1M的地址空间

由于实验装置中映射的存储器地址空间大于DOS应用程序可以访问的1M地址空间,因此必须进入保护模式才可以访问大于1MB的存储器空间地址。

在32位微机原理中已经学习了保护模式下程序的编写,本实验要求编写保护模式的程序,访问高于1MB的存储空间,实现对61256的读写访问

为了实现对61256的读/写,实验中需要安排两个数据段描述符,第一个描述源数据段,为1MB以内空间的某个存储区域;

第二个描述目标数据段,指向实验系统中某个61256扩展的存储区域。

实验程序可以在保护模式下将源数据段中的内容写入目标数据段,传输结束后可以在把源数据段内容清为0,再把目标数据段的内容写入源数据段,然后在显示这个内容看是否实现了正确的数据写和读。

4、实验内容

编写一个保护模式下的实验程序,对实验装置上的1片的61256芯片内写入一些数据,然后读出显示在屏幕上以验证正确与否。

5、实验步骤:

1.存储器连线

2.输入给定程序,分析模块程序结构,编译、连接产生可执行文件。

3.断点调试程序段的工作过程。

4.更改数据区中的数据,考察程序的正确性。

6、思考题:

保护模式下访问内存与实模式相比有什么不同?

7、实验报告:

2.整里出实验任务的源程序和运行结果,并对源程序进行注释说明。

5.回答思考题。

实验五并行接口(8255)扩展

1、实验目的

了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。

2、实验设备

1.PC机一台;

1.实验四所用74LS244,74LS27芯片是不可编程的简单I/O接口,而8255是一个可以编程的接口芯片。

2.8255A的内部结构:

(1)数据总线缓冲器:

这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。

输入输的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。

(2)三个端口A,B和C:

A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。

B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。

C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。

(3)A组和B组控制电路:

这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。

方式控制字的高5位决定A组工作方式,低3位决定B组的工作

方式。

对C口按位复位命令字可对C口的每一位实现置位或复位。

A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。

(4)读写控制逻辑:

用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。

3.8255A的工作方式:

方式0—基本输入输出方式;

方式1—选通输入输出方式;

方式2—双向选通输入输出方式。

4.A0,A1:

端口选择信号。

规定A1A0为00,01,10,11等分别选中端口A,端口B,端口C和控制口。

1.I/O输入输出实验:

利用8255的A口读取开关状态,8255的B口把状态送发光二极管显示

2.流水灯实验:

利用8255的A口,B口循环点亮发光二极管。

5、实验步骤

1.实验连线

2.汇编、连接、运行程序

3.观察运行结果

1.若把实验内容1的发光二极管换成七段数码管,根据开关设置的数据(‘0’~‘9’,‘A’~‘Z’的ASCII码)分别显示相应的字符‘0’~‘9’和‘A’~‘Z’。

电路及程序应如何修改?

2.若利用8255的A口模拟交通信号灯,内容2电路及程序如何修改?

1.画出硬件原理图,说明各部分功能

2.画出程序框图,完成程序设计

3.分析调试运行结果

4.回答思考题

实验六、串行接口8251扩展

一.实验目的

1.掌握8251芯片的结构及工作方式各应用。

2.学习有关串行通讯的知识。

3.学习PC机串口的操作方法。

4.掌握使用8251实验双机通讯的软件编制和硬件连接技术。

二.实验设备

1.PC机一台;

2.QTH-2008PCI32位微机教学实验仪一套。

三.实验说明

微机系统使用Intel8251串行接口芯片构成其串行通讯实验单元,其连接线路如图所示。

8251A是Intel公司的产品,具有同步、异步接收或发送的功能,使用单+5V电源的单相时钟,其功能是:

1.同步或异步方式下,字符位数5-8个;

2.同步传输率0-64K,异步传输率0-19.2K;

3.异步传输时,自动产生1个起始位,编程可产生1个或1个半或2个停止位;

4.具有奇偶错、数据丢失和帧错误检测能力;

5.同步方式时,可自动检测,插入同步字符

四.实验内容

在本实验中,要求使用8251做异步方式串行传输。

数据帧格式规定为:

每一帧数据包括一个逻辑“0”的起始位,7位ASCII码数据位,1位逻辑“1”的停止位,传输波特率为2400baut,其波形如图2所示。

低位高位

起始位“0”7位字符奇偶停止位“1”间歇起始位“0”

图2串行传输的数据格式

1.数据信号的串行输出

按图3所示连接示波器,以观察串行输出的数据波形。

程序的功能是连续发送字符“7”到8251串口输出。

TXD

GND

图3系统的串口与示波器的连接

2.自发自收实验:

使8251工作在异步方式下,8253计数器用于产生发送和接收时钟,TxD和RxD连在一起构成自发自收的实验环境。

五.实验步骤:

1.实验连线。

2.连接示波器。

3.输入程序并运行,在示波器上观察数据波形并作记录。

4.改变发送的字符,运行程序,观察相应的波形并作记录。

5.在自发自收程序中,观察收发数据是否一致

六.思考题

6.分析实验程序,写出相应的流程图。

7.8251有几种工作方式,其数据格式如何?

8.8251对收发时钟有何特殊要求?

七.实验报告:

1.画出硬件原理图,说明各部分功能

2.画出程序框图,完成程序设计

3.分析调试运行结果

4.回答思考题

附录

附录一输入输出功能调用

1、带回显的单字符输入(1号功能)

功能:

等待键盘输入,直到按下一个字符,将字符的ASCII码送AL,并在屏幕上显示该字符。

若按下的是Ctrl-C(Break),则停止运行程序。

调用格式:

MOVAH,1

INT21H

2.单字符显示(2号功能--又称屏幕显示字符)

功能:

将字符送至屏幕上显示。

调用格式:

DL←待显示字符的ASCII码;

MOVAH,2

INT21H

例:

在屏幕上显示“$”。

MOVDL,‘$’

MOVAH,2

INT21H

3、字符串显示(9号功能--输出字符串)

在屏幕上显示一个字符串。

该字符串必须存放在内存的数据区中,并是以$为结尾的ASCII玛字符串。

调用前必须将字符串的首址送DS:

DX。

如:

BLOCKDB‘Thisisanexample.$’

…………

LEADX,BLOCK

MOVAH,9

4、字符串输入(0AH号功能)

从键盘接收一串字符,并将它们的ASCII码送入用户指定的缓冲区。

在调用0AH功能前,必须定义一个输入缓冲区。

调用时,DS:

DX必须指向输入缓冲区

DATASEGMENT

BUFFERDB100

DB?

DB100DUP(?

DATAENDS

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETBUFFER

MOVAH,0AH

附录二输出例程

;

*************ProceduretoGetaCharacter***********************************

Given:

Nothing

Process:

InputacharacterbyusingDOSfunction#1andinterrupt21h

:

Notethatnoregistersareprotectedinthisproceduresinceit

returnsthecharacterintheALregister.

Return:

TheinputcharacterinALregister

******************************************************************************

GETCHARPROC;

Defineprocedure

MOVAH,01H;

DOSprintcharacterfunction#1

INT21H;

Getthecharacter

RET;

Returntocallingprocedure

GETCHARENDP;

Endofprocedure

*********************Nearproceduretogetachar***************************

ThecharactertoprintinDLregister

PrintacharacterbyusingDOSfunction#2andinterrupt21h

PUTCHARPROC;

MOVAH,02H;

PUTCHARENDP

**********************ProceduretoInputtheNumber*************************

AcceptastringofASCIIdigitsandconvertthemtoaninteger

ReturntheintegerinAXregister

GETNUMPROC

PUSHBX;

Savethecontentsofallregisters

PUSHCX;

exceptforAX,whichwillcontainthe

PUSHDX;

numberwhichwasread

MOVBX,0H;

ZerotheBXregister

NEXTDIGIT:

MOVAH,1H;

DOSinputcharacterfunction#1hex

Getacharacter

CMPAL,'

0'

;

Ifthecharacterislessthan0,then

JLDONE;

wehaveallthenumberandareDone

9'

Ifthecharacterismorethan9,then

JGDONE;

SUBAL,30H;

ConvertASCIItointegervalue

XORAH,AH;

ZerothehighbyteofAX

PUSHAX;

Savethedigitonthestack

MOVAX,10D;

Place10decimalinAXtomultiplyby

MULBX;

Multiplythenumberby10

MOVBX,AX;

GetnumberfromAXandputinBX

POPAX;

Getthedigitbackfromthestack

ADDBX,AX;

Addthedigittothenumber

JMPNEXTDIGIT;

Getthenextdigit

DONE:

MOVAX,BX;

ReturntheNUMBERinAXregister

POPDX;

Restoretheregistersinreverseorder

POPCX;

POPBX;

ReturntoCallingprocedure

GETNUMENDP

**********************ProceduretoPrinttheNumber*************************

TheintegertobeprintedintheAXregister

ConverttheintegertoastringofASCIIdigitsandprintthem

oneatthetime,untilallareprinted

****************************

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

当前位置:首页 > 高等教育 > 文学

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

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