微机原理实验指导书

更新时间:2023-10-08 02:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

微机原理及其接口技术

实验 指 导 书

信息工程学院物理系

目 录

第一章 汇编语言程序上机实验快览 ......................... 1 1.1汇编语言程序上机应具备的工具软件 ................... 1 1.2 调试程序(DEBUG)功能简介 ......................... 1 1.3预习报告格式....................................... 3 1.4 实验报告格式 ...................................... 3 第二章 软件实验 ......................................... 4 实验一 Debug程序的使用 ................................ 4 实验二. 汇编语言上机环境及基本步骤 .................... 8 实验三 两个多位十进制数相加的实验 .................... 11 实验四 循环结构程序设计 .............................. 14 实验五 子程序设计 .................................... 16 第三章 硬件实验 ........................................ 18 3.1 DICE-8086K实验箱使用说明 ........................ 18 3.2 系统安装与使用 .................................. 19 实验一 存储器读写实验 ............................... 21 实验二 8259单级中断控制器实验 ....................... 24 实验三 8255A并行口实验 .............................. 29 实验四 定时器 / 计数器 .............................. 31 实验五 数码管显示实验 ............................... 33

第一章 汇编语言程序上机实验快览 微机原理及其接口技术实验

第一章 汇编语言程序上机实验快览

1.1汇编语言程序上机应具备的工具软件

汇编语言程序上机操作,必须经过文件的“建立-汇编-连接-执行”四个阶段。因此系统磁盘上还应具备下列工具软件。

1.全屏幕编辑程序。用以将程序键入内容,经编辑后生成源文件(.ASM)存盘。常用的编辑程序有EDIT.EXE,SK.EXE,WORD97。

2.宏汇编程序,如MS的MASM.EXE,用以将源文件(.ASM)汇编生成二进制代码的目标文件(.OBJ)、列表文件(.LST)、及符号交叉引用表文件(.CRF)。

3. 连接程序LINK.EXE。用以将目标文件(.OBJ)与欲使用的库文件(.LIB)及其它目标模块,连接装配生成一个可执行文件(.EXE)、及各段空间分配的列表文件(.MAP)。

4.调试程序DEBUG.COM。用以对.EXE或.COM文件进行调试,排错。

值得提出的是,人工输入的现成程序,或自编程序,难免不出现键入错误、疏漏错误、语法错误及逻辑错误。虽然在静态自查及汇编阶段均可被查出,但程序内在的逻辑功能性错误,还必须借助调试工具,在监测环境下动态运行程序时才能表露出来。因此程序调试这一环节必不可少。

1.2 调试程序(DEBUG)功能简介

<1>. A----行汇编

命令格式:A [起始地址]

(起始地址缺省时:前面未用过汇编命令,则从CS:100单元开始;前面已用过汇编命令,则仅紧接上述汇编的最后一个单元开始。) 退出A命令:+ 如:-A 0100 ↙

则可从CS:0100单元开始输入指令。

<2>. U----反汇编

命令格式:U [地址范围]

(如仅指定起始地址:则从指定的地址开始,反汇编32个字节;如未指定地址范围:则将上一个U命令的最后一个单元地址加1作为起始地址。) 如:-U 0030 ↙

则反汇编CS:0030单元开始的指令。

<3>. D----显示内存单元内容

(内容可为十六进制数或相应的ASCII 码字符) 命令格式:D [地址范围]

(显示指定内存单元中的十六进制数或相应的ASCII 码字符)。 如:-D 0010 ↙

则显示DS:0010单元的内容。 <4>. E----修改内存单元内容

1

第一章 汇编语言程序上机实验快览 微机原理及其接口技术实验

命令格式:E 始地址[字符串] 如:-E DS:100 AA BB ↙

则将AA、BB存入DS:0100――DS:0101单元。

<5>.R----检查修改寄存器内容 命令格式:R [寄存器名] 如:-R ↙

则显示所有寄存器内容、标志位状态及下一条指令。 如:-R AX ↙

则显示AX寄存器内容。如需修改,则输入1-4个十六进制数,再按回车。如不需修改,直接按回车。 如:-R F ↙

则显示八个标志位状态,如需修改,则输入此标志位的相应值,再按回车。如不需修改,直接按回车。

<6>.G----运行――连续运行或设断点运行

命令格式:G [=起始地址][断点地址] (断点地址必需是有效指令的第一个字节) 若缺省“=起始地址”,则以CS:IP(现行地址)为起始地址,程序执行到断点处,显示断点处所有寄存器内容和八个标志位状态,以及下一条指令。 如:-G 9 ↙

(断点地址为0009)若缺省“断定地址”,程序顺序执行完毕,显示:Program terminated normally (程序执行完毕)。 如:-G ↙

若前面已设过断点,然后程序再顺序执行完毕。

<7>.T----跟踪――单步运行 命令格式:T [=起始地址][N](指令条数)若缺省“=起始地址”,则以CS:IP(现行地址)为起始地址, 程序执行N条指令后,显示断点处所有寄存器内容和八个标志位状态,及下一条指令。 如:-T 5 ↙ 则执行5条指令。 如:-T ↙

则只执行一条指令。

注意:若调试程序中有过程调用(包括软中断调用INT N 指令),则需使用P命令。(如用T命令,程序进入调用子程序内。 如:-P ↙

则执行一条指令或一个子程序。

<8>.Q----退出 如:-Q↙

退出DEBUG返回DOS状态。

2

第一章 汇编语言程序上机实验快览 微机原理及其接口技术实验

1.3预习报告格式

1. 2. 3. 4. 5. 6. 7.

实验目的与要求 实验内容 实验仪器

实验原理(软件实验画流程图,硬件实验画电路图) 实验步骤 实验源程序

实验现象或结果记录

1.4 实验报告格式

1. 2. 3. 4. 5. 6. 7.

实验目的与要求 实验内容 实验仪器

实验原理(软件实验画流程图,硬件实验画电路图) 实验步骤 实验源程序

实验总结(实验现象或实验结果;实验过程遇到的问题如何解决?实验体会,思考题解答等)

3

第二章 软件实验 微机原理及其接口技术实验

第二章 软件实验

实验一 Debug程序的使用

一、实验目的

1. 学习使用DEBUG调试命令。 2. 学习用DEBUG调试简单程序。

3. 通过程序验证码制及其对标志位的影响。 4. 通过调试熟悉和掌握个寄存器的作用与特点。 二、实验内容

用DEBUG调试简单程序。 三、实验仪器

微机一台 四、实验步骤

1.由DOS进入DEBUG调试环境。 (1) C:>DEBUG将调试程序装入内存

注意:当机器控制权由DOS成功地转移给调试程序后,将显示“-”号,它是DEBUG的状态提示符,表示可以接受调试子命令了。

(2) -R 显示CPU中各寄存器当前初始内容,请记录下列各项: AX= DS= OF BX= ES= DF IF CX= SS= SF DX= SP= ZF BP= CS= AF SI= IP= PF DI= CF FLAG寄存器中的8个标志位状态值是: 说明:

1) 此时,调试工作区的四个段值相同,指向同一起点,表明公用一个64KB空间;

2) SS:SP指向堆栈顶单元,SP为FFFE或FFEE,正好是本段的最高可用地址,表明堆

栈自动使用最高地址,栈区由底向上生长; 3) CS:IP为约定的调试工作区地点(IP=0100),可由此装入待调试程序代码,或汇编键

入的程序小段,工作区由低址往下使用;

4) DEBUG用符号给出标志寄存器中8个标志位的当前状态,其含义如下表所示。 标志位含义 OF溢出 DF方向 IF中断 SF符号 ZF全零 AF辅助进位 PF奇偶性 CF进位

‘1’的对应符号 OV有 DN递减 EI允许 NG负 ZR零 AC有 PE偶 CY有 4

‘0’的对应符号 NV无 UP递增 DI禁止 PL正 NZ非零 NA无 PO奇 NC无 第二章 软件实验 微机原理及其接口技术实验

(3) 结束程序,返回DOS。 -Q

2.用DEBUG调试简单程序

例1 -A CS:0106 MOV AX,1234

MOV BX,2345 MOV CX,0 ADD AX,BX MOV CX,AX INT 20

运行程序

(注:执行程序时IP应指向要执行的指令,需要修改时 -RIP 当前值

输入需要值 该处为0106

当然也可以在T或G命令中指出程序起始地址) -R 显示各寄存器当前内容及首条指令

-T3 跟踪执行三条赋值传送指令,记录寄存器及标志位变化 -T2跟踪执行相加及送和数指令,记录寄存器及标志位变化 -G 执行软件中断指令INT 20,机器将显示“程序正常终止”的信息,并显示“-”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H中断处理程序中去,P命令也可实现相同操作

实验现象记录:记录每条指令执行后各相关寄存器值及标志位状态

例2 -A CS:116

MOV AX,[0124] MOV BX ,[0126] ADD AX,BX MOV [0128],AX INT 20 DW 2222 DW 8888 DW 0

设置断点分段运行程序

-G=CS:116 11D 从指定入口运行程序,至断点11D停,可见两个数已取至AX,BX,但还没有求和

-G122 从上一断点运行至新断点停,已完成求和并存入指定结果单元 -G 完成程序 观看内存内容

-DCS:116 12A 显示本程序小段目标代码和数据单元内容 -UCS:116 12A 反汇编指定范围的内存内容-

5

第二章 软件实验 微机原理及其接口技术实验

实验现象记录:通过反汇编,记录程序执行前指定范围的内存内容,并记录每条指令执行后各相关寄存器值及指定范围的内存内容)

例3 -A CS:0192

MOV DX,19B MOV AH,9 INT 21 INT 20

DB ?HELLO,WORLD! $? -P 命令单步执行

实验现象记录:观察每条指令执行后各寄存器的变化,记录DX,AX的变化。

思考:根据程序输入情况,考虑‘HELLO,WORLD!$’在内存中的ASCⅡ码和地址范围

-D

ASCⅡ码为: ;

例4 自己设计一段小程序验证补码的加法、进位、溢出的概念; 参考程序(可对数据进行修改): -A CS:0100 MOV AL,74 ADD AL,70 MOV AL,7A ADD AL,94 MOV AL,43 ADC AL,65 INT 20

-P命令单步执行

实验现象记录:记录每条指令执行后AX及标志位变化

例5

1. 使用R命令,实现AX=0108,BX=F1AA -R -R

2.编辑下列程序 -A CS:0100 XCHG AL,BH SUB AX,BX AAS INT 20

-P 命令执行单步执行

实验现象记录:记录每条指令执行后,AX、BX以及标志位的变化。

6

第二章 软件实验 微机原理及其接口技术实验

例6 执行下列程序,用P命令或T命令跟踪 -A CS:0100 MOV AX,0200 MOV DX,1E4F

CALL AX ;调用子程序 MOV DX,167C ADD DH,DL MOV [0300],DX INT 20

;********下面是子程序段******** -A CS:0200 PUSH AX MOV AX, 010B POP AX RET

实验现象记录:1)跟踪执行程序,观察在子程序调用过程中

IP SP 堆栈区域内容 2)程序运行完毕后DS:[0300]中的内容为 3)如果去掉POP AX,程序执行后DS:[0300]中内容为

7

第二章 软件实验 微机原理及其接口技术实验

实验二. 汇编语言上机环境及基本步骤

一、实验目的:

1. 掌握编写汇编源程序的基本格式。 2. 熟悉汇编语言上机环境。

3. 掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。

4. 掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。 二、实验内容:

在屏幕上显示并打印字符串“This is a sample program.” 三、实验仪器

微机一台 四、实验步骤:

1.在E盘以自己的名字的汉语拼音建立一个工作目录(文件夹,名称不要太长,不超过8个字符比如zhangsan),将文件MASM.EXE,LINK.EXE复制到该目录下,编辑的源文件也保存到该目录下。

从WINDOWS进入DOS环境:C:\\>

2.用EDIT编辑SW1.ASM源文件。 (1). 从当前目录进入自己的目录下,

C:\\>E: 回车

E:\\> CD zhangsan ↙回车 键入EDIT并回车: E:\\ zhangsan>EDIT

根据菜单提示进行各种操作。

(2)进入EDIT编辑------EDIT是一种全屏幕编辑软件,可输入、编辑、修改、保存、另存源程序非

常方便。

说明:也可在WIDNDOWS环境下用记事本编辑源文件,在保存时,保存类型应选择所有文件,不能选择文本文件(*.txt),否则在编译时会找不到源文件的。 (3).编辑新文件:

a、在EDIT编辑器中输入汇编源程序。 b、检查输入有无错误。

c、打开文件菜单FILE?选择另存为SAVE AS┅?输入文件名为:SW1.ASM?保存。 注意:保存到你自己的文件夹中

d、若需要修改此文件,用FILE菜单?选择打开OPEN?输入文件名SW1.ASM,即可修改。修改

后注意重新再存盘。

(4).编辑汇编源程序

a、在EDIT(或记事本)中输入源程序。 b、检查。

c、存盘。可保存为SW1.ASM

3.用汇编程序MASM将SW1.ASM文件汇编,生成SW1.OBJ目标文件。 (1).一般简单程序只需生成.OBJ文件,可键入简化命令: E:\\zhangsan>MASM SW1;↙

8

第二章 软件实验 微机原理及其接口技术实验

若有错误,则显示错误行号及错误性质,如:

SW1.ASM(5):error A2006:undefined symbor:xxxx

(2).若有错重新进入EDIT进行修改。修改后并再存盘,退出编辑,回到DOS,再汇编。 E:\\ zhangsan >MASM SW1;↙ (3).没有任何错误时,显示:

Assembling:SW1.asm

表示汇编成功,生成SW1.OBJ文件。

(4).用DIR命令查看应有SW1.OBJ: E:\\ zhangsan >DIR SW1.*

4.用连接程序LINK将SW1.OBJ文件连接,生成SW1.EXE可执行文件。 (1).一般仅生成SW1.EXE文件, 可键入简化命令: E:\\ zhangsan >LINK SW1;↙

若有错误,则显示错误信息,则应返回编辑、修改、存盘,再汇编、连接直到连接成功,生成SW1.EXE可执行文件。

(2).用DIR命令查看应有SW1.EXE: E:\\ zhangsan >DIR SW1.*↙

5.运行SW1.EXE文件 E:\\ zhangsan> SW1 ↙

执行SW1.EXE文件,屏幕应显示:“This is a sample program.”。由连接程序生成的.EXE,在DOS下,直接键入文件名(不要扩展名.EXE)就可以把文件装入内存,并立即执行。但有的程序没有直接显示结果;对于较复杂程序难免会出现错误,直接观察很难找到错误所在,这样就要借用调试程序进行调试。

实验现象记录:记录调试过程中出现的问题及修改措施,并记录程序执行结果。

五、实验源程序

;********定义数据段********* DATA SEGMENT

DA1 DB ?This is a sample program.?

DB 0DH,0AH,?$?

DATA ENDS

;********定义堆栈段********* STACK SEGMENT

ST1 DB 100 DUP(?) STACK ENDS

;********定义代码段********* CODE SEGMENT MAIN PROC FAR

ASSUME CS:CODE,DS:DATA,SS:STACK

START:MOV AX, STACK ;送堆栈段地址 MOV SS, AX

9

第二章 软件实验 微机原理及其接口技术实验

PUSH DS ;返回DOS作准备 MOV AX,0 PUSH AX

MOV AX, DATA ;送数据段段地址 MOV DS, AX

MOV AH, 9 ;DOS 9号功能调用,显示字符串 MOV DX, OFFSET DA1 INT 21H RET MAIN ENDP CODE ENDS

END START

六、思考题

1 试用另外一种方式返回DOS操作系统。

2在屏幕上显示并打印字符串“My name is XXX!”XXX为自己姓名汉语拼音。

10

第二章 软件实验 微机原理及其接口技术实验

实验三 两个多位十进制数相加的实验

一、实验目的

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

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

二、实验内容

将两个多位十进制数相加,要求被加数均以ASCⅡ码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。

三、实验仪器

微机一台 四、实验原理

程序流程图:

五、实验步骤

1.编辑、汇编、连接生成可执行文件LW.EXE; 2.在DOS状态下启动该程序;

3.在DEBUG状态下调试研究程序工作过程. 六、实验源程序(LW.ASM)

11

第二章 软件实验 微机原理及其接口技术实验

CRLF MACRO

MOV DL, 0DH MOV AH, 02H INT 21H

MOV DL, 0AH MOV AH, 02H INT 21H

ENDM

DATA SEGMENT

DATA1 DB 33H,39H,31H,37H,34H DATA2 DB 36H,35H,30H,38H,32H DATA ENDS

STACK SEGMENT

STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATA START: MOV AX, DATA

MOV DS, AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

MOV SI,OFFSET DATA2 MOV BX,05 CALL DISPL CRLF

MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL CRLF

MOV DI,OFFSET DATA2 CALL ADDA

MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL CRLF

MOV AX,4C00H INT 21H

DISPL PROC NEAR

12

第二章 软件实验 微机原理及其接口技术实验

DS1: MOV AH,02

MOV DL, [SI+BX-1] INT 21H DEC BX JNZ DS1 RET

DISPL ENDP

ADDA PROC NEAR

MOV DX,SI MOV BP,DI MOV BX,05

AD1: SUB BYTE PTR[SI+BX-1], 30H

SUB BYTE PTR[DI+BX-1], 30H DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05 CLC

AD2: MOV AL,[SI]

MOV BL,[DI] ADC AL,BL AAA

MOV [SI],AL INC SI INC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05

AD3: ADD BYTE PTR[SI+BX-1],30H

ADD BYTE PTR[DI+BX-1],30H DEC BX JNZ AD3 RET

ADDA ENDP CODE ENDS END START

13

第二章 软件实验 微机原理及其接口技术实验

实验四 循环结构程序设计

一 、实验目的

1. 掌握循环程序的结构及执行过程; 2. 掌握循环控制指令的功能;

3. 掌握循环程序设计方法与调试方法。 二、实验内容

1.单重循环程序设计。

已知当前数据段中DATA1和DATA2开始分别存放若干字节数据,数据个数相同,编制程序检查数据块中的数据是否相同,若相同,则在屏幕上显示1;否则显示0。 三、实验仪器

微机一台 四、实验原理

五、实验步骤

1.编辑、汇编、连接生成可执行文件; 2.在DOS状态下启动该程序;

3.在DEBUG状态下调试研究程序工作过程. 六、实验源程序 参考程序

;************EXAM.ASM***************** DSEG SEGMENT

DATA1 DB ?ABCDEFG3? DATA2 DB ?ABCDEF4G? CNT DW 8 DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG , DS:DSEG START: MOV AX, DSEG MOV DS, AX

MOV DL, 31H ;1的ASCII码送DL LEA SI, DATA1 LEA DI, DATA2 MOV CX, CNT DEC SI DEC DI AGAIN: INC SI INC DI

MOV AL, [SI] CMP AL, [DI] LOOPZ AGAIN JZ DISP DEC DL DISP: MOV AH, 2

14

第二章 软件实验 微机原理及其接口技术实验

INT 21H

MOV AH, 4CH ;返回DOS INT 21H CSEG ENDS

END START

2.双重循环程序设计

见教材p179 例题4-72

15

第二章 软件实验 微机原理及其接口技术实验

实验五 子程序设计

一、实验目的

1. 掌握子程序的结构和设计方法;

2. 掌握子程序的调用和返回指令的用法及执行情况; 3. 掌握在子程序调用时堆栈的变化情况; 4. 掌握主程序与子程序间参数传递的方法; 5. 掌握现场的保护与恢复方法。 二、实验内容

已知当前数据段中BUF开始分别存放若干二进制字节数据,编制程序将这些数据分别转换为十六进制数据在屏幕上显示出来,要求十六进制转换ASCII码用子程序实现。 三、实验仪器

微机一台 四、实验原理

五、实验步骤

1.编辑、汇编、连接生成可执行文件; 2.在DOS状态下启动该程序;

3.在DEBUG状态下调试研究程序工作过程. 六、实验源程序 ;CONV.ASM

DATA SEGMENT

BUF DB 0ABH,0CDH,0DEH,01H,02H,03H DB 3AH,4BH,5CH,6FH DATA ENDS

;***************************** CODE SEGMENT

ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUF AGAIN: MOV AL, [BX]

CALL HEX2ASC ;调用十六进制转换ASCII码子程序 ;******显示ASCII码******* PUSH CX MOV CX, DX

MOV DL, CH ;显示高位 MOV AH, 2 INT 21H

MOV DL,CL ;显示低位 MOV AH, 2 INT 21H

16

第二章 软件实验 微机原理及其接口技术实验

MOV DL,' ' ;显示空格 MOV AH,2 INT 21H POP CX INC BX

LOOP AGAIN

;******************************** MOV AH, 4CH ;返回dos INT 21H

;*******十六进制转换ASCII码子程序******** HEX2ASC PROC NEAR MOV DH,AL PUSH CX MOV CL,4 SHR DH,CL CMP DH,9 JBE NEXT1 ADD DH,7 NEXT1: ADD DH,30H MOV DL,AL AND DL,0FH CMP DL,9 JBE NEXT2 ADD DL,7

NEXT2: ADD DL,30H POP CX RET

HEX2ASC ENDP

;******************************** CODE ENDS

END START

17

第三章 硬件实验 微机原理及其接口技术实验

第三章 硬件实验

3.1 DICE-8086K实验箱使用说明

为了更好地满足微机原理与接口的教学与实验,启动计算机总厂有限公司成功开发了DICE-8086K超强型实验系统。8086K实验系统软、硬件配置完善,实验内容丰富,可进行四十多个实验项目。实验电路采用分模块、开放性设计,使实验电路配置灵活,所有实验程序全部调试通过,用户可直接运用。 3.1.1系统主要特点

1.采用主频为14.77MHZ的8088CPU为主CPU,并以最小工作方式构成系统。

2.配有二片61C256静态RAM构成系统的64K基本内存,地址范围为00000H-0FFFFH,其中00000H-0FFFFH监控占用。另配一片W27C512(64K)EP1存放监控程序,地址范围F0000H-FFFFF。

还配有一片W27C512 EP2存放实验程序,为实验系统独立运行进下载实验程序提供方便。 3.自带键盘、显示器,能独立运行,为实验程序调试带来方便。

4.配备Windows仿真调试软件,支持机器码、汇编、C等三种评议的开发和调试。 5.提供RS232异步通讯口,以连接IBM-PC机。

6.配有各种微机常用I/O接口芯片,定时/计数接口芯片8253、A/D转换接口芯片0809、D/A转换接口芯片0832、中断控制器8259、键盘显示接口8279、并行I/O接口芯片8255、通讯接口芯片8250、8251、485和DMA控制器8237等。

7.配备键盘、数码显示、发光二极管显示、开关量、LED16×16、LCD12864、温度压力、步进电机、直流电机、扬声器等入输出设备。

8.带有脉冲发生器、计数器电路、单脉冲发生器等常用电路。 9.可以单步、断点、全速调试各实验程序。

10.内置开关电源,为实验提供+5V/3A、±12V/0.5A直流稳压电源。 11.使用环境:环境温度0~+40℃ ,无明显潮湿,无明显振动碰撞。

12.配备USB接口的电子实验演示装置,通过编制程序,对模拟控制对象进行实时控制。 3.1.2 系统资源分配

8088有1兆存储空间,系统提供用户使用空间为00000H-OFFFFH,用于存放、调试实验程序。具体分配如下:

(1) 存贮器地址分配 系统监控程序区 监控/用户中断矢量 用户中断矢量 监控数据区 默认用户栈 用户数据/程序区

18

F0000H~FFFFFH 00000H~0000FH 00010H~OOOFFH 00100H~00FFFH 00683H 01000H~0FFFFH

第三章 硬件实验 微机原理及其接口技术实验

四、实验程序框图

五、实验步骤

1. 在PC机和实验系统联机状态

下,编辑源程序。

2. 3. 4. 5.

对源程序进行编译和调试。 装载并运行实验程序。 观察和记录实验现象

对显示延时时间常数进行修改,将“MOV CX,00A0H”改为“MOV CX,0FFFFH”,并对源程序重新编译和运行,观察和记录实验现象。 6. 对两次实验现象进行比较和

分析,解释出现不同现象的原因。

六、实验程序清单

;*********** LED_DIS.ASM 显示\

CODE SEGMENT

ASSUME CS:CODE ORG 2DF0H START: JMP START0 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 BUF DB ?,?,?,?,?,? ;显示缓冲区

DATA1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH ;段码区 START0: CALL BUF1 ;调用子程序,给显示缓冲区送”DICE88”字符 CON1: CALL DISP ;调用显示子程序,显示”DICE88” JMP CON1

DISP: MOV AL,0FFH ; 熄灭段码送AL MOV DX,PA ; 字位口地址送DX OUT DX,AL ;关LED显示 MOV CL,0DFH ;字位码送CL

MOV BX,OFFSET BUF ;显示缓冲区首地址送BX DIS1: MOV AL,[BX] MOV AH,00H

34

第三章 硬件实验 微机原理及其接口技术实验

PUSH BX

MOV BX,OFFSET DATA1 ;段码区首地址送BX ADD BX,AX

MOV AL,[BX] ;形成对应字符的段码 POP BX

MOV DX,PB ;字形口地址 OUT DX,AL ;PB口送字形 MOV AL,CL MOV DX,PA

OUT DX,AL ;向字位口送字位码 PUSH CX

DIS2: MOV CX,00A0H ;显示时间常数送CX LOOP $ ;显示延时 POP CX

CMP CL,0FEH ;01H ;六位是否显示完 JZ LX1

MOV AL, OFFH ;关显示 MOV DX, PA OUT DX, AL INC BX

ROR CL,1 ;字位码循环移位 JMP DIS1

LX1: MOV AL,0FFH ;关显示 MOV DX,PB OUT DX,AL RET

BUF1: MOV BUF,0DH ;子程序,给显示缓冲区送”DICE88”字符 MOV BUF+1,01H MOV BUF+2,0CH MOV BUF+3,0EH MOV BUF+4,08H MOV BUF+5,08H RET CODE ENDS END START

35

第三章 硬件实验 微机原理及其接口技术实验

(2) I/O地址分配 地址 8000H~8FFFH 9000H~9FFFH 0FF20H 0FF21H 0FF22H 0FF23H 0FF28H 0FF29H 0FF2AH 0FF2BH 60H 70H 80H 扩展名称 自定义 自定义 8255PA口 8255PB口 8255PC口 8255控制口 8255PA口 8255PB口 8255PC口 8255控制口 EX1 EX4 EX6 用途 实验用口地址 实验用口地址 字位口 字形口 键入口 写方式字 扩展用 扩展用 扩展用 写方式字 实验用口地址 实验用口地址 实验用口地址 监控占用00004H-0000FH作为单步(T)、断点(INT3)、无条件暂停(NM1)中断矢量区,用户也可以更改这些矢量,指向用户的处理,但失去了相应的单步、断点、暂停等监控功能。 F0000H-FFFFFH监控程序区系统占用。 3.1.3系统配置

系统内含串行通讯和键盘显示监控的全部软硬件设施,典型配置如下: (1) 主机板+PC机 (2) 主机板

二种配置的使用特点如下:

配置一:主机板和PC机通过RS232串行口相连。这种配置形式可以充分利用 IBM PC机的软硬件资源,实现源程序的编辑、汇编和链接和调试。实验程序源文件(·ASM)、执行文件(·EXE)、都在随机光盘上,你可以利用PC机的键盘显示等输入输出设备完成各种软硬件实验。

配置二:为最经济配置,它不需要和IBM PC机联机,自成一体,通过一组键盘命令完成所有软硬件实验,每个实验程序固化在实验监控中。这种配置为没有PC机的用户带来极大方便。

3.2 系统安装与使用

1、把系统开关设置为出厂模式

(1)SW3、SW4、SW5:为键盘/显示选择开关,开关置ON(出厂模式),键盘/显示控制选择系统配置的8255接口芯片,反之由用户选择自定义的I/O接口芯片控制,在本机实验中,除8279实验外,键盘/显示为出厂模式。

(2)KB6:通讯选择开关,KB6->SYC-C为系统通讯(出厂模式),KB6-> EXT-C为扩展通讯。

2、将随机本着的串行通讯线,一端与实验仪的RS232D型控插座CZ1相连,另一端与PC机COM1或COM2串行口相连。

3、接通实验系统电源的,+5V LED指示灯应正常发光,实验仪数码应显示闪动P.,说明实验仪初始化成功,处于待命状态.(否则应及时关闭电源,等修正常后使用。)

19

第三章 硬件实验 微机原理及其接口技术实验

4、打开PC机电源,执行8086K的集成调试软件,关于该软件的详细说明参阅《第五章 8086K实验系统与PC机联机操作》。

20

第三章 硬件实验 微机原理及其接口技术实验

实验一 存储器读写实验

一、实验目的

1. 熟悉实验箱及集成开发环境的使用方法;

2. 熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法; 3. 掌握静态RAM读写数据编程方法。 二、实验内容

对指定地址区间的RAM(4000H~43FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~53FFH中。 三、实验接线图(系统中已连接好) 四、实验步骤

1. 2. 3. 4.

在PC机和实验系统联机状态下,编辑源程序。

从存储器窗口检查和记录4000H~43FFH中的内容和5000~53FFH中的内容。 对源程序进行编译和装载,生成可执行文件。

对可执行文件进行调试,调试方法有:单步,宏单步,自动单步,自动宏单步,注

意这些方法之间的区别。

5. 连续运行实验程序。

6. 从存储器窗口检查和记录4000H~43FFH中的内容和5000~53FFH中的内容,比

较程序运行前、后存储器内容的变化情况。 五、实验程序清单

CODE SEGMENT ;RAM.ASM ASSUME CS:CODE

PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 1850h

START: JMP START0 BUF DB ?,?,?,?,?,?

data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH ;共阳极段码 START0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200H RAMW1: MOV DS:[BX],AX

21

第三章 硬件实验 微机原理及其接口技术实验

ADD BX,0002H LOOP RAMW1 MOV AX,4000H MOV SI,AX MOV AX,5000H MOV DI,AX MOV CX,0400H CLD REP MOVSB call buf1 mov cx,0ffh con1: push cx call disp pop cx loop con1 call buf2 con2: call disp jmp con2

DISP: MOV AL,0FFH MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H MOV BX,OFFSET BUF DIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX

DIS2: MOV CX,00A0H LOOP $ POP CX CMP CL,0FEH ;01H JZ LX1 INC BX ROR CL,1 ;SHR CL,1 JMP DIS1

;00H ;显示子程序 ,5ms 22

第三章 硬件实验 微机原理及其接口技术实验

LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET

BUF1: MOV BUF,06H ; 显示“6” MOV BUF+1,02H ; 显示“2” MOV BUF+2,02H ; 显示“2” MOV BUF+3,05H ; 显示“5” MOV BUF+4,06H ; 显示“6” MOV BUF+5,17H ; 显示“-” RET

BUF2: MOV BUF,17H ;显示“-” MOV BUF+1,17H ;显示“-” MOV BUF+2,09H ;显示“g” MOV BUF+3,00H ;显示“o” MOV BUF+4,00H ; 显示“o” MOV BUF+5,0dH ; 显示“d” RET CODE ENDS END START

附:LED数码管接口电路

1. 8255口地址为:A口,

字位口,地址为0FF20H; B口,字形码(段码)口,地址为0FF21H; 控制口,地址为0FF23H 2. LED显示接口采用动

态显示方式。段码采用74LS240反向驱动,数码管为共阴极结构,故应向PB口送共阳极段码;字位口采用与门75451驱动,故字位码送PA口(0电平选通) 3. 共阳极段码如下表所示。 字形 段码

C0 F9 A4 B0 99 92 82 F8 80 90 88 83 C6 A1 86 8E FF 0C 89 7F BF 0 1 2 3 4 5 6 7 8 9 A B C D E F 灭 P. H . - 23

第三章 硬件实验 微机原理及其接口技术实验

实验二 8259单级中断控制器实验

一、实验目的

⒈ 掌握8259中断控制器的接口方法。 ⒉ 掌握8259中断控制器的应用编程。 二、实验内容

利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。 三、实验接线图

四、编程指南 ⑴ 8259芯片介绍

中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。

⑵ 本实验中使用3号中断源IR3, “

”插孔和IR3相连,中断方式为边沿触发方

式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。

24

第三章 硬件实验 微机原理及其接口技术实验

五、 程序框图

IR3中断服务

六、实验步骤

1、按接线图连好实验线路图。 ⑴8259的INT连8088的INTR(Xl5); ⑵8259的INTA连8088的INTA(Xl2);

⑶“ ”插孔和8259的3号中断IR3插孔相连,“ ”端初始为低电平; ⑷8259的CS端接EX1;

⑸连JX4→JX17。

2、在系统处于命令提示符“P.”状态下,运行实验程序,系统显示8259-1。 3、来回拨动AN开关按钮, 按满l0次显示good。

七、实验程序清单

CODE SEGMENT ;H8259.ASM ASSUME CS:CODE

INTPORT1 EQU 0060H ;8259命令字偶地址 INTPORT2 EQU 0061H ;8259命令字奇地址 INTQ3 EQU INTREEUP3 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口

25

第三章 硬件实验 微机原理及其接口技术实验

ORG 12D0H

START: JMP START0

BUF DB ?,?,?,?,?,? ;要显示的字符送缓冲区 intcnt db ? ;中断次数

data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h

db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH ;数码管LED段码表 START0: CLD CALL BUF1 CALL WRINTVER ;写中断向量 MOV AL,13H ;写初始化命令字ICW1 MOV DX,INTPORT1 OUT DX,AL MOV AL,08H ;写初始化命令字ICW2,确定中断类型号 MOV DX,INTPORT2 OUT DX,AL MOV AL,09H ;写初始化命令字ICW4 OUT DX,AL MOV AL,0F7H ;写操作命令字OCW1,允许IR3中断,屏蔽其它中断 OUT DX,AL MOV intcnt,01H ;中断次数赋初值 STI ;开中断 WATING: CALL DISP ;显示字符 8259-1 JMP WATING

WRINTVER:MOV AX,0H ;向中断向量表写中断向量 MOV ES,AX MOV DI,002CH LEA AX,INTQ3 STOSW MOV AX,0000h STOSW RET

INTREEUP3:CLI ;中断IR3服务程序 push ax push bx push cx push dx MOV AL,INTCNT CALL CONVERS ;中断次数送BUF MOV BX,OFFSET BUF MOV AL,10H MOV CX,05H

INTRE0: MOV [BX],AL INC BX LOOP INTRE0

26

第三章 硬件实验 微机原理及其接口技术实验

MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ADD INTCNT,01H CMP INTCNT,06H JNA INTRE2

CALL BUF2 ;显示:good INTRE1: CALL DISP JMP INTRE1

CONVERS: AND AL,0FH MOV BX,offset buf ;077AH MOV [BX+5],AL RET

INTRE2: MOV AL,20H MOV DX,INTPORT1 OUT DX,AL pop dx pop cx pop bx pop ax STI IRET

;*********显示子程序********** DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H MOV BX,OFFSET BUF DIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX

DIS2: MOV CX,00A0H

;显示子程序 ,5ms 27

第三章 硬件实验 微机原理及其接口技术实验

LOOP $ POP CX CMP CL,0FEH ;01H JZ LX1 INC BX ROR CL,1 ;SHR CL,1 JMP DIS1

LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET

;***********显示8259-1字符送BUF************* BUF1: MOV BUF,08H MOV BUF+1,02H MOV BUF+2,05H MOV BUF+3,09H MOV BUF+4,17H MOV BUF+5,01H RET

;***********显示good字符送BUF*********** BUF2: MOV BUF,09H MOV BUF+1,00H MOV BUF+2,00H MOV BUF+3,0dH MOV BUF+4,10H MOV BUF+5,10H RET

CODE ENDS END START

28

第三章 硬件实验 微机原理及其接口技术实验

实验三 8255A并行口实验

一、实验目的

⒈ 掌握实验箱和集成开发环境的使用方法。 2. 掌握8255A和微机接口方法。

3. 掌握8255A的工作方式和编程原理。 二、实验内容

用8255PA口控制PB口。 三、实验接线图

四、编程指南

⒈ 8255A芯片简介: 8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作: 方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式 方式2:双向选通工作方式

⒉ 使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB口工作在方式0作为输出口。 五、实验程序框图如右图所示 六、实验步骤

⒈ 在集成开发环境编辑源程序。

⒉ 8255A芯片A口的PA0-PA7依次和开关量输 入Kl-K8相连,开关Ki拨到下面接低电平,拨到上面接高电平。

⒊ 8255A芯片B口的PB0-PB7依次接Ll-L8。 ⒋ 编译,调试,运行实验程序。 5. 拨动K1-K8, LI-L8会跟着亮灭。

说明:接线图中,细实线在实验箱内部已经连接好,粗实线才是需要连的线。 8255A的控制口地址为:0FF2BH

PA口地址为:0FF28H PB口地址为:0FF29H PC口地址为:0FF2AH

29

第三章 硬件实验 微机原理及其接口技术实验

七、实验程序清单

CODE SEGMENT ;H8255-1.ASM ASSUME CS:CODE IOCONPT EQU 0FF2BH IOBPT EQU 0FF29H IOAPT EQU 0FF28H ORG 11B0H

START: MOV AL,90H MOV DX,IOCONPT OUT DX,AL NOP NOP NOP

IOLED1: MOV DX,IOAPT IN AL,DX MOV DX,IOBPT OUT DX,AL MOV CX,0FFFFH DELAY: LOOP DELAY JMP IOLED1 CODE ENDS END START

30

第三章 硬件实验 微机原理及其接口技术实验

实验四 定时器 / 计数器

一、实验目的

⒈ 学会8253芯片和微机接口的原理和方法。

⒉. 掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容

用8253的0通道工作在方式3,产生方波。 三、实验接线图

四、编程指南

⒈ 8253芯片介绍

8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz, 用+5V单电源供电。

8253的功能用途: ⑴ 延时中断 ⑸ 实时时钟 ⑵ 可编程频率发生器 ⑹ 数字单稳 ⑶ 事件计数器 ⑺ 复杂的电机控制器 ⑷ 二进制倍频器 8253的六种工作方式: ⑴ 方式0:计数结束中断 ⑵ 方式l:可编程频率发生器 ⑶ 方式2:频率发生器 ⑷ 方式3:方波频率发生器 ⑸ 方式4:软件触发的选通信号 ⑹ 方式5:硬件触发的选通信号 五、实验程序框图如右图所示

31

第三章 硬件实验 微机原理及其接口技术实验

六、实验步骤

⒈ 按图接线图连好实验线路 ⑴ 8253的GATE0接+5V。

⑵ 8253的CLK0插孔接分频器74LS393(左下方)的T2插孔,分频器的频率源为8.0MHZ,

(3) T→8.0MHZ。

⒉ 在集成开发环境编辑源程序,编译并运行实验程序 ⒊ 用示波器测量8253的OUT0输出插孔有方波产生。

4.保持输入到CLK0引脚的脉冲频率不变,分别改变计数器的初值为:0002H,0004H,0008H, 测量OUT0输出引脚的波形;保持计数器的初值不变,改变输入到CLK0引脚的脉冲频率, 测量OUT0输出引脚的波形,根据测量结果,分析方波频率同哪些因素有关。

说明:8253的控制口地址为:0043H

通道0地址为:0040H 通道1地址为:0041H 通道2地址为:0042H 七、实验程序清单

CODE SEGMENT ;H8253.ASM ASSUME CS:CODE ORG 1290H

START: JMP TCONT TCONTRO EQU 0043H TCON0 EQU 0040H

TCONT: MOV DX,TCONTRO MOV AL,36H OUT DX,AL MOV DX,TCON0 MOV AL,00H OUT DX,AL MOV AL,04H OUT DX,AL MOV DX,TCONTRO MOV AL,36H OUT DX,AL MOV DX,TCON0 MOV AL,00H OUT DX,AL MOV AL,02H OUT DX,AL JMP $ CODE ENDS END START

32

第三章 硬件实验 微机原理及其接口技术实验

实验五 数码管显示实验

一、实验目的

1. 掌握LED数码管动态显示的工作原理。 2. 掌握LED数码管的接口方法。

3. 掌握LED数码管动态显示的编程方法。 二、实验内容

编制程序,使数码管显示“DICE88”字样。

三、实验接线图(系统中已连接好)

4. 8255口地址为:A口,字位口,地址为0FF20H; B口,字形码(段码)口,地址为0FF21H;

控制口,地址为0FF23H

5. LED显示接口采用动态显示方式。段码采用74LS240反向驱动,数码管为共阴极结构,

故应向PB口送共阳极段码;字位口采用与门75451驱动,故字位码送PA口(0电平选通)

6. 共阳极段码如下表所示。 字形 段码

C0 F9 A4 B0 99 92 82 F8 80 90 88 83 C6 A1 86 8E FF 0C 89 7F BF 0 1 2 3 4 5 6 7 8 9 A B C D E F 灭 P. H . - 33

本文来源:https://www.bwwdw.com/article/ciud.html

Top