搜索
您的当前位置:首页正文

微机原理与接口技术实验指导书

来源:二三四教育网


微机原理与接口技术实验指导书

微机原理及接口技术 实 验 指 导 书

贵阳学院物电系 2009

实验一 清零程序

一、实验目的

掌握8088汇编语言程序设计和调试方法,熟悉键盘操作。

二、实验内容

把RAM区(数据段)内4000H~40FFH单元的内容清零。

三、实验步骤

1、画出程序流程框图。 2、编写汇编源程序。

3、将源程序编译为可执行文件。

4、使用DEBUG用连续或单步方式运行程序,检查4000~40FFH内容执行程序前后的变化。

四、数据记录

1、程序流程图。

2、源程序。 3、实验结果。

五、思考

假使4000H~40FFH中内容改成FF,如何修改程序?

附:参考程序框图

参考程序

DATA SEGMENT ORG 4000H DB 256 DUP(?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA MOV DS,AX

MOV BX,4000H

MOV AX,0000H MOV CX,0080H L1: MOV [BX],AX INC BX INC BX LOOP L1 MOV AH,4CH INT 21H CODE ENDS END START

实验二 数据区移动

一、实验目的

掌握RAM中的数据操作。 二、实验内容

把(数据段)4100H源RAM区首址内的16字节数据传送到(数据段)4200H目标RAM区。

程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。源数据块和目的数据块在存储器中可能有三种情况,如下图:

对于两个数据块分离的情况,如图(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。可以得出如下结论:当源数据首址 > 目的块首址时,从数据块首址开始传送数据。当源数据块首址 < 目的块首址时,从数据块末地址开始传送数据。

三、实验步骤

1、画出程序流程框图。 2、编写汇编源程序。

3、将源程序编译为可执行文件。

4、使用DEBUG用连续或单步方式运行程序,检查4200~420FH内容执行程序前后的变化。

四、数据记录

1、程序流程图。 2、源程序。 3、实验结果。

五、思考

采用串操作指令实现程序。

附:参考程序框图

参考程序

DATA SEGMENT ORG 4100H

STRING1 DB 16 DUP(7) ORG 4200H

STRING2 DB 16 DUP(6) DATA ENDS

CODE SEGMENT

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

MOV CX,0010H MOV SI,4100H

MOV DI,4200H CMP SI,DI JA A42 ADD SI,CX ADD DI,CX A41: DEC SI

DEC DI

MOV AL, [SI] MOV [DI],AL LOOP A41 JMP EXIT

A42: MOV AL,[SI]

MOV [DI],AL INC SI INC DI LOOP A42

EXIT: MOV AH,4CH

CODE ENDS INT 21H

END START

实验三 数据排序实验

一、实验目的

熟悉8088指令系统,掌握程序设计方法。

二、实验内容

编写并调试一个排序子程序,其方法为用冒泡法将(数据段)RAM中4000H~400AH单节字节无符号的正整数,按从大到小的次序重新排列。

(1)从第一个数开始,依次把相邻的两个数进行比较,即第(N-2)

个数与第(N-1)个数比较,第(N-1)个数与N个数比较等等;若第(N-1)个数不大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时,N个数中的最小数被排在N个数的最后。

(2)对剩下的(N-1)个数重复第(1)步,找到(N-1)个数中

的最小数。

(3)重复第(2)步,直到N个数全部排序好为止。

三、实验步骤

1、画出程序流程框图。 2、编写汇编源程序。

3、将源程序编译为可执行文件。

4、使用DEBUG用连续或单步方式运行程序,检查内容执行程序前后的变化。

四、数据记录

1、程序流程图。 2、源程序。 3、实验结果。

五、思考

在4000H~400AH中通过键盘命令输入不等的10个数,运行本实验程序后检查4000H~400AH中内容是否按从大到小排列。

附:参考程序框图

参考程序

DATA SEGMENT ORG 4000H

DB 10 DUP (?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV CX,0009H

A53: MOV BX,4000H

PUSH CX

A52: MOV AX,[BX]

CMP AL,AH JC A5l A54: INC BX

LOOP A52 POP CX LOOP A53 JMP EXIT A51: XCHG AL,AH

AX MOV [BX], JMP A54 EXIT:MOV AH,4CH INT 21H CODE ENDS

END START

实验四 多分支程序设计

一、实验目的

掌握汇编语言的编程,熟悉程序散转的设计方法。

二、实验内容

变量x的符号函数如下所示:

1 当x>0 y= 0 当x=0 -1 当x<0 编程程序,根据x的值给y赋值。

三、实验步骤

1、画出程序流程框图。 2、编写汇编源程序。

3、将源程序编译为可执行文件。

4、使用DEBUG用连续或单步方式运行程序,检查内容执行程序前后的变化。

四、数据记录

1、程序流程图。 2、源程序。 3、实验结果。

附: 参考程序

DATA SEGMENT x DW ? y DW ? DATA ENDS

STACK SEGMENT STACK ‘STACK’ DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME

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

MOV AX,STACK MOV SS,AX

MOV AX,x AND AX,AX

JZ ZERO

JNS PLUS MOV BX,0FFFFH JMP DONE

ZERO: MOV BX,0 JMP DONE PLUS: MOV BX,1

DONE: MOV y,BX MOV AH,4CH INT 21H CODE ENDS

END START

一、实验目的

实验五 显示子程序

掌握显示器的显示过程。 二、实验内容

编写程序,依次闪动显示“dais88”“good”。 三、实验步骤

1、画出程序流程框图。 2、编写汇编源程序。

3、将源程序编译为可执行文件。 4、观察屏幕显示情况。

四、数据记录

1、程序流程图。 2、源程序。 3、实验结果。

附:参考程序框图

实验六:A/D转换实验

一、 实验目的

了解模/数转换基本原理,掌握ADC0809(ADC0804)的使用方法、熟悉PROTEUS仿真平台的使用。

二、 实验内容

将5V的直流电经过电阻分压后送入ADC0809(ADC0804),经过转换以后的8位数值由CPU送到8个LED显示。

三、实验步骤

1、搭建实验仿真用电路。 2、编写汇编源程序。 3、将源程序编译。

4、调节可变电阻,观察LED变化。

四、数据记录

1、电路原理图。 2、程序流程图。 3、实验结果。

实验七:D/A转换实验

一、 实验目的

了解数/模转换基本原理,掌握DAC0832的使用方法、熟悉PROTEUS仿真平台的使用。

二、 实验内容

由CPU依次送出数值为0-255(进制)的8位二进制数到DAC0832,经过转换后送示波器显示。

三、实验步骤

1、搭建实验仿真用电路。 2、编写汇编源程序。 3、将源程序编译。

4、运行程序观察示波器显示。

四、数据记录

1、电路原理图。 2、程序流程图。 3、实验结果。

实验八:8255A并行口实验

一、 实验目的

了解数字接口芯片基本原理,掌握8255A的使用方法、熟悉PROTEUS仿真平台的使用。

二、 实验内容

由8255A的A口输入开关量,经过CPU处理后送8255A的B口。由B口接的LED显示开关量。

三、实验步骤

1、搭建实验仿真用电路。 2、编写汇编源程序。 3、将源程序编译。

4、运行程序改变开关量的输入,观查LED显示。

四、数据记录

1、电路原理图。 2、程序流程图。

3、实验结果。

实验九:中断控制器实验

一、 实验目的

了解数字接口芯片基本原理,掌握中断子程序的编写方法、熟悉PROTEUS仿真平台的使用。

二、 实验内容

由一外接点平信号触发非可屏蔽中断,调用相应的中断子程序。由LED显示。

三、实验步骤

1、搭建实验仿真用电路。 2、编写汇编源程序。 3、将源程序编译。

4、运行程序观查LED显示。

四、数据记录

1、电路原理图。 2、程序流程图。

3、实验结果。

因篇幅问题不能全部显示,请点此查看更多更全内容

热门图文

Top