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

  • 格式:doc
  • 大小:1.04 MB
  • 文档页数:41

微机原理与接口技术

实验指导书

微机原理与接口技术实验室

目 录

实验0 将ASCII表示的十进制数转换为二进制数 ……………………… 1

实验一 8086汇编语言程序设计初步……………………………………… 3

实验二 8086汇编语言程序设计…………………………………………… 6

实验三 DOS系统功能调用 ……………………………………………… 10

实验四 8255A并行接口实验……………………………………………… 12

实验五 8253定时器/计数器接口实验 ……………………………………

16

实验六 8259A中断控制器实验…………………………………………… 19

实验七 步进电机控制实验………………………………………………… 23

实验八 电子琴的设计……………………………………………………… 26

实验九 七段数码管实验…………………………………………………… 30

实验十 3~8译码实验 …………………………………………………… 31

实验十一 A/D 转换实验………………………………………………… 32

实验十二 D/A 转换实验………………………………………………… 34

附录:实验报告模版………………………………………………………… 35

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

实验0 将ASCII表示的十进制数转换为二进制数

一. 实验目的:观察ASCII表示的十进制与二进制的区别;

二. 实验步骤:

(一)、输入源程序

1.建一个文本文档d.text。输入程序把后缀名改成.asm的形式。把该文件放在D盘masm文件下。

2.打开命令提示符。

3.输入D:回车

4.cd masm 回车。

5.masm d.asm回车。

6.link d.obj回车。

7.d.exe回车,生成exe可执行文件。

(二)、在3500-3504单元输入十进制数12的ASCII码,即E3500 30 30 30 31 32

1.把生成的d.exe文件复制到D盘下。

2.debug 回车

3.n d.exe回车

L回车

U 0000回车

4.E3500回车

30 30 30 31 32回车

(三)、用G运行程序

(四)、用D3510查看结果,应为:3510 0C 00 精品文档

。 2欢迎下载

(五)、反复试几组数,考察程序的正确性

精品文档

。 3欢迎下载 实验一 8086汇编语言程序设计初步

一、实验目的

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

2、熟悉8086指令系统中一些常用指令的功能和使用。

3、学习数据传送和算术运算指令的使用方法。

二、实验内容

详细阅读汇编语言程序的上机过程。

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

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型微机原理实验开发系统一台

四、程序参考流程图

实验一参考程序清单

CRLF MACRO

MOV DL, 0DH

MOV AH, 02H

INT 21H

MOV DL, 0AH

MOV AH, 02H

INT 21H 精品文档

。 4欢迎下载 ENDM

DATA SEGMENT

DATA1 DB 33H, 39H, 31H, 37H, 34H

DATA2 DB 36H, 35H, 30H, 38H, 32H

DATA ENDS

STACK SEGMENT PARA STACK 'STACK'

STA DB 100 DUP (?)

STACK ENDS

CODE SEGMENT

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

START: MOV AX, DATA

MOV DS, 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

DS1: MOV AH, 02H

MOV DL, [SI+BX-1]

INT 21H

DEC BX

JNZ DS1

RET

DISPL ENDP

ADDA PROC NEAR

MOV DX, SI

MOV BX, 05

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

SUB BYTE PTR [DI+BX-1], 30H

DEC BX

JNZ AD1

MOV CX, 05

CLC

AD2: MOV AL, [SI]

MOV BL, [DI] 精品文档

。 5欢迎下载 ADC AL, BL

AAA

MOV [SI], AL

INC SI

INC DI

LOOP AD2

MOV SI, DX

MOV BX, 05

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

DEC BX

JNZ AD3

RET

ADDA ENDP

CODE ENDS

END START

精品文档

。 6欢迎下载 实验二 8086汇编语言程序设计

一、实验目的

1、熟悉8086指令系统,学习基本的8086汇编语言程序设计方法。

2、掌握提示信息的使用方法及8086串操作指令的使用方法。

3、初步掌握调试修改程序的方法。

二、实验内容

用串操作指令设计一个搜索关键字程序,实现在存储区(长度为100H)中寻找关键字空格字符(20H),退出时给出是否找到的信息。

三、实验设备

1、微型计算机一台

2、EL-Ⅱ型微机原理实验开发系统一台

四、编程提示

1、8086中用于字符串检索的指令为SCASB/SCASW,用AL中的字节或者AX中的字与位于ES段由DI寄存器所指的内存单元的字节或字相比较。通过前缀的控制,可以实现在DI所指的字符串中,寻找第一个与AL(或AX)的内容相同的字节或字。

2、对于所有的串操作指令,都要注意方向标志的设置。指令CLD使方向标志DF清0,SI和DI自动增量修改,指令STD使DF置1,SI和DI自动减量修改。

五、程序参考流程图

1、主程序参考流程图

2、子程序GETNUM参考流程图 精品文档

。 7欢迎下载

实验二参考程序清单

CRLF MACRO

MOV DL,0DH

MOV AH,02H

INT 21H

MOV DL,0AH

MOV AH,02H

INT 21H

ENDM

DATA SEGMENT

MESS1 DB ‘INPUT THE SEGMENT ADDR:$’

MESS2 DB ‘INPUT THE OFFSET ADDR:$’

MESS3 DB ‘OK! HAS FOUND!’,0DH,0AH,’$’

MESS4 DB ‘NO SPACE CHARACTER!’,0DH,0AH,’$’

ERROR DB ‘INPUT ERROR!’,0DH,0AH,’INPUT THE ADDR:$’

DATA ENDS

STACK SEGMENT PARA STACK ‘STACK’

STA DW 32 DUP (?)

STACK ENDS

CODE SEGMENT