微机接口实验讲义.docx

上传人:b****8 文档编号:10796029 上传时间:2023-02-23 格式:DOCX 页数:59 大小:1.46MB
下载 相关 举报
微机接口实验讲义.docx_第1页
第1页 / 共59页
微机接口实验讲义.docx_第2页
第2页 / 共59页
微机接口实验讲义.docx_第3页
第3页 / 共59页
微机接口实验讲义.docx_第4页
第4页 / 共59页
微机接口实验讲义.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

微机接口实验讲义.docx

《微机接口实验讲义.docx》由会员分享,可在线阅读,更多相关《微机接口实验讲义.docx(59页珍藏版)》请在冰豆网上搜索。

微机接口实验讲义.docx

微机接口实验讲义

第一章汇编语言编程环境熟悉

1.1汇编语言环境练习

一、汇编程序功能:

三、为了运行汇编语言程序在磁盘上要存在以下文件:

1.编辑程序,如EDIT.EXE。

2.编译程序,如MASM.EXE。

3.连接程序,如LINK.EXE。

4.调试程序,如DEBUG.EXE。

四、汇编过程中各个文件的作用

1、ASM汇编语言源文件?

用汇编语言编写的源程序。

2、MASM5.0汇编程序?

将源文件转换成目标文件的程序(是一种工具)。

3、OBJ目标文件?

二进制的目标文件。

4、LIST列表文件?

同时列出源程序和机器语言程序清单,同时给出了符号表,便于调试,可有可无。

5、CRF交叉文件?

给出了用户定义的所有符号,及其所在行号和引用行号。

6、MAP映像文件?

给出了每个段在存储器中的分配情况。

7、LIB库文件?

给出程序中调用子程序的库文件。

五、DEBUG调试程序。

在DOS的提示符下,可键入命令:

C:

\DEBUG[D:

][PATH][FILENAME[.EXT][PARM1][PARM2]

其中,文件名是被调试文件的名字。

如用户键入文件,则DEBUG将指定的文件装入存储器中,用户可对其进行调试。

如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。

命令中的D指定驱动器PATH为路径,PARM1和PARM2则为运行被调试文件时所需要的命令参数。

在DEBUG程序调入后,将出现提示符,此时就可用DEBUG命令来调试程序。

DEBUG的主要命令:

1、显示存储单元的命令D(DUMP),格式为:

_D[address]或_D[range]

例如,按指定范围显示存储单元内容的方法为:

-d100120

18E4:

0100C70604023801C706-06020002C7060802G...8.G....G..

18E4:

01100202BB0402E80200-CD20505156578B37.;..h..MPQVW.7

18E4:

01208B

其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,”·”表示不可显示的字符。

这里没有指定段地址,D命令自动显示DS段的内容。

如果只指定首地址,则显示从首地址开始的80个字节的内容。

如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。

2、修改存储单元内容的命令有两种。

·输入命令E(ENTER),有两种格式如下:

第一种格式可以用给定的内容表来替代指定范围的存储单元内容。

命令格式为:

-Eaddress[list]

例如,-EDS:

100F3'XYZ'8D

其中F3,'X','Y','Z'和各占一个字节,该命令可以用这五个字节来替代存储单元DS:

0100到0104的原先的内容。

第二种格式则是采用逐个单元相继修改的方法。

命令格式为:

-Eaddress

例如,-EDS:

100

则可能显示为:

18E4:

010089.-

如果需要把该单元的内容修改为78,则用户可以直接键入78,再按“空格”键可接着显示下一个单元的内容,如下:

18E4:

010089.781B.-

这样,用户可以不断修改相继单元的内容,直到用ENTER键结束该命令为止。

·填写命令F(FILL),其格式为:

-Frangelist

例如:

-F4BA:

01005F3'XYZ'8D

使04BA:

0100~0104单元包含指定的五个字节的内容。

如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定的范围,则重复使用list填入,直到填满指定的所有单元为止。

3)检查和修改寄存器内容的命令R(register),它有三种格式如下:

·显示CPU内所有寄存器内容和标志位状态,其格式为:

-R

例如,-r

AX=0000BX=0000CX=010ADX=0000SP=FFFEBP=0000SI=0000DI=0000

DS=18E4ES=18E4SS=18E4CS=18E4IP=0100NVUPDIPLNZNAPONC

18E4:

0100C70604023801MOVWORDPTR[0204],0138DS:

0204=0000

·显示和修改某个寄存器内容,其格式为:

-Rregistername

例如,键入

-RAX

系统将响应如下:

AXF1F4

即AX寄存器的当前内容为F1F4,如不修改则按ENTER键,否则,可键入欲修改的内容,如:

-Rbx

BX0369

059F

则把BX寄存器的内容修改为059F。

·显示和修改标志位状态,命令格式为:

-RF系统将响应,如:

OVDNEINGZRACPECY-

此时,如不修改其内容可按ENTER键,否则,可键入欲修改的内容,如:

OVDNEINGZRACPECY-PONZDINV

即可,可见键入的顺序可以是任意的。

4)运行命令G,其格式为:

-G[=address1][address2[address3…]

其中,地址1指定了运行的起始地址,如不指定则从当前的CS:

IP开始运行。

后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令。

5)跟踪命令T(Trace),有两种格式:

·逐条指令跟踪

-T[=address]

从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。

如未指定地址则从当前的CS:

IP开始执行。

·多条指令跟踪

-T[=address][values]

从指定地址起执行n条指令后停下来,n由values指定。

6)汇编命令A(Assemble),其格式为:

-A[address]

该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。

必须注意:

DEBUG把键入的数字均看成十六进制数,所以如要键入十进制数,则其后应加以说明,如100D。

7)反汇编命令U(Unassemble)有两种格式。

·从指定地址开始,反汇编32个字节,其格式为:

-U[address]

例如:

-u100

18E4:

0100C70604023801MOVWORDPTR[0204],0138

18E4:

0106C70606020002MOVWORDPTR[0206],0200

18E4:

010CC70606020202MOVWORDPTR[0208],0202

18E4:

0112BBO4O2MOVBX,0204

18E4:

0115E80200CALL011A

18E4:

0118CD20INT20

18E4:

011A50PUSHAX

18E4:

011B51PUSHCX

18E4:

011C56PUSHSI

18E4:

011D57PUSHDI

18E4:

011E8B37MOVSI,[BX]

如果地址被省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。

·对指定范围内的存储单元进行反汇编,格式为:

-U[range]

例如:

-u10010c

18E4:

0100C70604023801MOVWORDPTR[0204],0138

18E4:

0106C70606020002MOVWORDPTR[0206],0200

18E4:

010CC70606020202MOVWORDPTR[0208],0202

-u100112

18E4:

0100C70604023801MOVWORDPTR[0204],0138

18E4:

0106C70606020002MOVWORDPTR[0206],0200

18E4:

010CC70606020202MOVWORDPTR[0208],0202

可见这两种格式是等效的。

8)命名命令N(Name),其格式为:

-Nfilespecs[filespecs]

命令把两个文件标识符格式化在CS:

5CH和CS:

6CH的两个文件控制块中,以便在其后用L或W命令把文件装入存盘。

filespecs的格式可以是:

[d:

][path]filename[.ext]

例如,

-Nmyprog

-L

-

可把文件myprog装入存储器。

9)装入命令(Load),有两种功能。

·把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中。

其格式为:

-L[address[drivesectorsector]

·装入指定文件,其格式为:

-L[address]

此命令装入已在CS:

5CH中格式化了文件控制块所指定的文件。

如未指定地址,则装入CS:

0100开始的存储区中。

10)写命令W(Write),有两种功能。

·把数据写入磁盘的指定扇区。

其格式为:

-Waddressdrivesectorsector

·把数据写入指定的文件中。

其格式为:

-W[address]

此命令把指定的存储区中的数据写入由CS:

5CH处的文件控制块所指定的文件中。

如未指定地址则数据从CS:

0100

开始。

要写入文件的字节数应先放入BX和CX中。

11)退出DEBUG命令Q(quit),其格式为:

-Q

它退出DEBUG,返回DOS。

本命令并无存盘功能,如需存盘应先使用W命令。

六、汇编语言初级程序主要包括下列的程序模式:

简单程序——程序一统到底,中间没有任何分支和跳转。

分支程序——程序进行中,根据判断程序执行的不同结果而分别跳转至其他子程序去。

循环程序——程序进行过程中,在某一循环体进行若干次循环运行,然后再继续前进。

1.2汇编语言程序设计

实验一、顺序程序设计,计算2^3。

一、汇编语言编程步骤:

1.定义一个段;

2.实现处理任务;

3.程序结束;

4.段与段寄存器的关联。

二、程序:

assumecs:

abc

abcsegment

movax,2

addax,ax

addax,ax

abcends

end

三、实验要求:

1.完成汇编语言编写、编译、连接、运行、调试过程。

2.验证编写程序功能正确。

3.练习单步调试程序,观察各个寄存器内容,尤其是CS,IP寄存器的变化。

4.写实验报告记录。

实验报告应包括实验目的、实验内容、实验步骤、记录观察现象、实验体会等。

实验二、二进制拆分实验

一、实验程序:

DATASEGMENT

DATDW0101101000111100B

DA1DB0

DA2DB0

DA3DB0

DA4DB0

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,DAT

MOVCL,04H

MOVBL,AL

ANDAL,0FH

MOVDA1,AL

SHRBL,CL

MOVDA2,BL

MOVBH,AH

ANDAH,0FH

MOVDA3,AH

SHRBH,CL

MOVDA4,BH

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

二、实验要求:

1.分析程序功能,给程序加注释,画出程序流程图。

2.编辑源文件、编译、连接、调试、运行文件。

3.修改源文件,实验拆分数据的高位存储。

4.写实验报告记录。

实验报告应包括实验目的、实验内容、实验步骤、记录观察现象、实验体会等。

实验三、分支程序设计

一、实验程序:

DATASEGMENT

NUM1DB02H

NUM2DB02H

NUM3DB55H

DA1DB99H

DA2DW8888H

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,NUM1

CMPAL,NUM2

JEPRO1

CMPAL,NUM3

JEPRO2

MOVDA1,AL

LEABX,NUM1

MOVDA2,BX

CLOSE:

MOVAX,4C00H

INT21H

PRO1:

MOVCL,NUM3

MOVDA1,CL

LEABX,NUM3

MOVDA2,BX

JMPCLOSE

PRO2:

MOVCL,NUM2

MOVDA1,CL

LEABX,NUM2

MOVDA2,BX

JMPCLOSE

CODEENDS

ENDSTART

二、实验要求:

1.分析程序功能,给程序加注释,画出程序流程图。

2.编辑源文件、编译、连接、调试、运行文件。

3.修改源程序,实现在三个数中找到最大的数,存储在相应内存单元。

4.写实验报告记录。

实验报告应包括实验目的、实验内容、实验步骤、记录观察现象、实验体会等。

实验四、循环程序设计

一、实验程序:

DATASEGMENT

ADRDB'ABC12345DE'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEASI,ADR

MOVCX,10

BEG:

MOVAL,[SI]

CMPAL,30H

JCNEXT

CMPAL,39H

JANEXT

MOVAL,0FFH

MOV[SI],AL

NEXT:

INCSI

LOOPBEG

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

二、实验要求:

1.分析程序功能,给程序加注释,画出程序流程图。

2.编辑源文件、编译、连接、调试、运行文件。

3.修改源程序,实现在字符串中找到大写字母,存在对应内存单元。

4.写实验报告记录。

实验报告应包括实验目的、实验内容、实验步骤、记录观察现象、实验体会等。

第二章超想-3000TB实验系统

2.1概述

超想-3000TB综合实验/仿真系统全面支持8086系列的实验仿真开发。

8688技术应用于超想-3000TB综合实验仪,采用了超大规模定制芯片的通用仿真器,利用综合实验仪上的硬件资源,结合8086/88仿真技术,推出的新一代微机教学实验系统。

HK8688教学实验系统集微处理器8088和外配PC/80286/386/486/586及其兼容机于一体的高科技实验系统,具有实验、开发、自诊断等功能。

该实验系统自带键盘、八位七段数码管、微处理器8088和RS-232通讯接口,可以接PC机做实验,也可以无须任何辅助设备而独立做实验。

实验机上提供32KBRAM的程序和数据空间,具有无条件暂停等功能。

在实验系统资源分配方面:

8088有1兆寻址空间,在单板机和串行监控方式下,实验系统提供给用户使用空间:

00000H-6FFFFH,80000H-FFFFFH,包括总清入口共960K存储空间。

其中80000H-87FFFH是实验机提供的RAM空间,可供用户系统存放实验程序。

监控占用80000H-80013H作为单步、断点、无条件暂停。

系统00000H-000FFH与80000H-800FFH是重合的,总是访问实验内部RAM,所以,此区间用户的其他中断矢量可存放于此。

另外,80100H-802FFH为监控数据区或用户堆栈区,在实验程序加载时,起始地址要大于80300H也就是这个道理。

70000H-7FFFFH为实验机提供的64KEPROM地址空间,存放实验机监控程序,用户不可占用。

80000H-87FFFH为实验机提供的32KRAM地址空间,用户可以存放实验程序和数据。

0000H-FFFFH共64KI/O空间全提供给用户使用。

实验机已译码200H-23FH地址空间给用户使用。

2.2实验系统配置与运行

2.2.1立运行的单板机配置方式的安装与运行

独立运行的单板机配置方式是在脱离PC机的情况下,直接利用实验机上的微处理器8088做微机外围接口实验。

2.2.2串行监控配置方式的安装与运行

串行监控配置方式是利用微机向实验机发送串行监控命令,实验机上的微处理器8088根据监控命令做相应的动作。

在该配置方式下,做实验时用到的微处理器是仿真器上的微处理器。

2.3实验机模块原理

实验机主板由许多独立的实验模块组成,可用它们组成多个硬件实验。

主要包括8255并行口模块、单色灯模块、分频器模块、A/D转换模块、D/A转换模块、串行通讯8251A模块、定时/计数器8253模块、8259中断控制器模块、单脉冲触发模块等模块。

下面介绍各个模块的功能与用途:

2.3.1可编程并行口8255模块

8255地址是PA口CS+0H,PB口CS+1H,PC口CS+2H,命令控制口CS+3H,

2.3.2单色LED灯模块

单色LED灯输入DL1-DL8可由8255来驱动,用来完成单色灯实验。

2.3.3分频器模块

将JP0插至RAM端,可以从Q0~Q15输出不同频率的时钟信号,可作为8253的输入时钟。

2.3.4可编程定时/计数器模块

本电路模块可用于产生定时中断,实现实时时钟实验等,具体接法请参照实验。

本电路口地址为CS。

2.3.58259中断控制器实验模块

本模块为8259中断实验模块,仅在单板机和串行监控方式下,做8259中断实验。

2.3.68251A可编程串行通讯模块

这里用MAX232作输入、输出驱动,可与RS232兼容。

其优点是,芯片内部有升压电路,只要单一+5V电源就可输出满足RS232要求的电平。

8251A的波特率由8284及74LS393分频后,通过波特率开关选择提供,一般选择波特率为9600。

8251A口基地址为CS51,命令口地址为CS51+2,数据口地址为CS51

2.3.7D/A转换器模块

该电路可以用于做D/A转换实验和驱动直流电机实验。

0832口地址为CS。

2.3.8A/D转换器模块

0809各通道的口地址是CS+0H,CS+1H,CS+2H,CS+3H,CS+4H,CS+5H,CS+6H,CS+7H。

用于A/D转换实验。

 

第三章串行方式下的硬件实验以及调试软件

3.1串行方式下的硬件实验

做88实验时,一定要注意以下接线:

●将8088CPU适配板的DC34芯插座与超想3000仿真器上的DC34插座用扁平电缆连接起来。

●将8088CPU适配板上的18芯显示器接口与实验平台上的18芯JLED连接起来。

●将8088CPU适配板上的A0、A1、A2分别与实验平台上的地址总线A0、A1、A2连接,数码管右上角的短路帽做51、96实验时右插,做8086实验时插向左边。

操作步骤:

1、启动WINDOWS环境下串行监控调试软件HK8688。

2、编辑、连接硬件实验程序。

3、连机。

连机成功,数码管出现“86882.1”字样。

然后加载编译连接后的文件。

4、在调试选项下,选择单步调试、设置断点、全速执行等方法动态调试实验程序。

5、如实验结果不符合设置要求,重新操作3~5步骤。

3.2串口通信实验

串口通信8251A芯片介绍:

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

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

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

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

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

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

1、8251A内部工作原理

2、8251A工作初始化流程图

3、8251A模式字格式

4、8251A控制字格式

5、8251A状态字格式

实验一8251A可编程串行通讯实验

一、实验连线:

C553接200-20T

0uT1接8251A的Txclk和RXclk

GATE1接+5V

CS51接208-20F

CLK接频率为1M

RXD接通信接口的RXI

TXD接通信接口的TDX

二、实验说明

本实验需要一根串口线将实验箱右侧的串口与PC机串口相连。

由8253提供8251A所需频率,用串口调试助手接收从8251A发送的数据。

操作步骤:

首先将串口线仿真器与PC机连接好,各实验连线连接完毕,打开程序,编译连接运行后,打开“串口调试助手”设置好串口,波特率等。

可看到,接收区接收到从8251A发来的数据。

三、实验内容

1.设计程序,实现实验要求内容。

3.3并行接口

一、芯片介绍

8255A可编程并行通信接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电。

1.8255A的内部结构图:

 

(1)8255A有三种基本工作方式:

方式0:

基本的输入/输出方式

方式1:

选通的输入/输出方式

方式2:

双向传输方式

2、8255A的控制字与初始化编程

8255A的控制字有两类:

方式选择控制字和端口C按位置位/复位控制字。

1.方式选择控制字格式:

 

2.端口C按位置位/复位控制字格式

实验一开关状态显示实验

一、实验要求

编写程序,设定8255的PB口为开关量输入,PC口为开关量输出,要求能随时将PB口的开关状态通过PC口的发光二极管显示出来。

二、实验目的

学习使用8255各个口的不同工作方式

三、实验电路及连接图

将K0~K7分别连接至8255的PB0~PB7,将L0~L7分别连线连至8255的PC0~PC7,8255CS55连至译码处的200~207插孔。

将8088CPU适配板上的A0、A1、A2分别与实验平台上的地址总线A0、A1、A2连接。

四、实验说明

本实验要求8255工作方式0,PB口设置为输入,PC口设置为输出,输入量为开关量,通过8255可实时显示在LED灯上。

按下RST键则返回监控。

五、实验程序(SWITCH.ASM)

DATASEGMENT

DATAENDS

STACKSEGMENTSTACK

STADW50DUP(?

TOPEQULENGTHSTA

STACKENDS

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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