微机原理实验指导书 何小海 严华.docx

上传人:b****6 文档编号:3925669 上传时间:2022-11-26 格式:DOCX 页数:19 大小:44.41KB
下载 相关 举报
微机原理实验指导书 何小海 严华.docx_第1页
第1页 / 共19页
微机原理实验指导书 何小海 严华.docx_第2页
第2页 / 共19页
微机原理实验指导书 何小海 严华.docx_第3页
第3页 / 共19页
微机原理实验指导书 何小海 严华.docx_第4页
第4页 / 共19页
微机原理实验指导书 何小海 严华.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

微机原理实验指导书 何小海 严华.docx

《微机原理实验指导书 何小海 严华.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导书 何小海 严华.docx(19页珍藏版)》请在冰豆网上搜索。

微机原理实验指导书 何小海 严华.docx

微机原理实验指导书何小海严华

实验一数据传送

一、实验目的

熟悉星研集成环境软件的使用方法。

熟悉Borland公司的TASM编译器

熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。

二、实验内容

1、熟悉星研集成环境软件。

2、编写程序,实现数据段的传送、校验。

使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256在I/O设备区,使用

读写;再将它传送回数据段的6000H~60FFH中。

三、程序流程图(学生根据实验内容设计)

四、实验步骤

在DS段内3000H~30FFH中输入数据;使用单步、断点方式等调试程序,检测DS段内6000H~60FFH中的内容。

熟悉查看特殊功能寄存器、CS段、DS段的各种方法。

五、程序清单(参考)

本实例的源程序如下:

.MODEL

TINY

;memorymode:

tiny

.STACK

100

;堆栈

.CODE

;开始程序段

START:

MOV

AX,@DATA

MOV

DS,AX

MOV

ES,AX

NOP

MOV

CX,100H

MOV

SI,3000H

MOV

DX,2000H

START1:

MOV

AL,[SI]

OUT

DX,AL

INC

SI

INC

DX

LOOP

START1

MOV

DI,6000H

MOV

DX,2000H

MOV

CX,100H

START2:

IN

DX,AL

MOV

[DI],AL

INC

DI

INC

DX

LOOP

START2

SJMP

$

Move

ENDP

END

START

六、思考题

编写一个程序,将数据段中2000H~20FFH单元的内容传送给数据段的6000H~60FFH中。

 

实验内容:

1、用所学过的寻址方式编程实现将存储单元DS:

1000H单元的内容送到DS:

2020H单元。

2、设各寄存器及存储单元的内容如下:

(DS)=0500H,(BX)=0010H,(SI)=0001H,(05010)=12H,(05011)=34H,(05012)=56H,

(05013)=78H,(05120)=ABH,(05121)=CDH,(05122)=EFH,说明下列各条指令执行完后

AX寄存器中的内容。

(1)MOVAX,1200H

(2)MOVAX,BX

(3)MOVAX,DS:

[0120H]

(4)MOVAX,[BX]

(5)MOVAX,0110H[BX]

(6)MOVAX,[BX][SI]

(7)MOVAX,0110H[BX][SI]

 

实验二基本算术与逻辑运算

一、实验目的

1、熟悉算数和逻辑运算指令的功能。

2、进一步了解标志寄存器各标志位的意义和指令执行对它的影响。

二、实验内容

1、将寄存器BX作地址指针,自BX所指的内存单元(0010H)开始连续存放着三个无符号数(10H、04H、30H)。

编写程序求三个数的和与积,并将结果存放在这三个数之后的单元中。

2、写出完成下述功能的程序段

(1)传送15H到AL寄存器。

(2)将AL的内容乘以2。

(3)传送15H到BL寄存器。

(4)AL的内容乘以BL的内容。

最后结果(AX)=?

3、写出完成下述功能的程序段

(1)从地址DS:

0000H单元中,传送一个数据58H到AL寄存器

(2)把AL寄存器的内容右移二位。

(3)再把AL寄存器的内容与字节单元DS:

0001H中的数据12H相乘。

(4)将乘积存入字单元DS:

0002H中。

三、程序流程图(学生根据实验内容设计)

四、实验步骤

①在微机仿真实验系统下输入源程序并存盘;②对源程序进行编译、链接形成目标代码,同时排除源程序中的错误;③将编译、链接形成的目标文件下载到仿真实验系统中;④利用单步、运行到光标所在行等方式进行程序调试;⑤检查程序运行结果并进行分析

五、思考题

1、假设要清除偏移地址从0010H到0020H字存储单元中的内容,应该如何实现?

2、简要说明ADD指令和AND指令对标志位的影响。

 

实验三直线程序的设计

一、实验目的

熟悉8086汇编指令,学会使用星研集成环境软件,能自己编写简单的程序,熟悉BCD码。

二、实验内容

设a,b,c,d四个数分别以单字节压缩BCD码形式存放在内存NUM开始的四个单元。

计算(a+b)-(c+d)并观察结果。

熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、CS段、DS段存贮器的各种方法。

三、程序流程图(学生根据实验内容设计)

四、实验步骤

①在微机仿真实验系统下输入源程序并存盘;②对源程序进行编译、链接形成目标代码,同时排除源程序中的错误;③将编译、链接形成的目标文件下载到仿真实验系统中;④利用单步、运行到光标所在行等方式进行程序调试;⑤检查程序运行结果并进行分析

五、思考题

1、BCD码如何表示?

请举例说明压缩BCD码和非压缩BCD码的区别。

2、带符号的十进制数加法程序如何编写?

实验四分支程序的设计

一、实验目的

熟悉使用8086指令,掌握汇编语言的设计和调试方法;理解并能运用散转指令,掌握分支程序结构的设计方法。

二、实验内容

编写程序,根据接收到的键值,作不同的处理。

三、程序流程图(学生根据实验内容设计)

四、实验步骤

四、实验步骤

1、连线说明:

E5区:

CLK

——

B2区:

2M

E5区:

CS

——

A3区:

CS5

E5区:

A0

——

A3区:

A1

E5区:

A、B、C、D

——

G5区:

A、B、C、D

2、在G5区的键盘上输入1位数

3、使用各种手段调试程序

3、结果显示在G5区的数码管上

五、程序清单

;调用GetKeyB返回键值,根据键值执行相应的程序

.MODEL

TINY

EXTRN

Display8:

NEAR,GetKeyB:

NEAR

.STACK

100

.DATA

BUFFER

DB

8DUP(?

.CODE

START:

MOV

AX,@DATA

MOV

DS,AX

MOV

ES,AX

NOP

START1:

CALL

GetKeyB

;键值存放在AL中

CMP

AL,8

JB

START2

XOR

AL,AL

;大于7,作0处理

START2:

XOR

AH,AH

MOV

BX,AX

SHL

BX,1

LEA

DI,Table_1

JMP

CS:

[DI][BX]

Table_1:

DW

Key0,Key1,Key2,Key3,Key4,Key5,Key6,Key7

Key0:

MOV

AL,1

JMP

Key

Key1:

MOV

AL,2

JMP

Key

Key2:

MOV

AL,3

JMP

Key

Key3:

MOV

AL,4

JMP

Key

Key4:

MOVAL,5

JMP

Key

Key5:

MOV

AL,6

JMP

Key

Key6:

MOV

AL,7

JMP

Key

Key7:

MOV

AL,8

JMP

Key

Key:

MOV

CX,8

LEA

DI,BUFFER

REP

STOSB

LEA

SI,BUFFER

CALL

Display8

MOV

CX,60000

LOOP

$

;延时

JMP

START1

END

START

六、思考题

程序中为什么要把输入的值作乘以2处理?

 

实验五8255控制交通灯实验

一、实验目的与要求

1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。

学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。

2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。

3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。

二、实验设备

STAR系列实验仪一套、PC机一台

三、实验内容

1、编写程序:

使用8255的PA0..2、PA4..6控制LED指示灯,实现交通灯功能。

2、连接线路验证8255的功能,熟悉它的使用方法。

四、实验程序流程图(学生根据实验内容设计)

五、实验原理图

六、实验步骤

1、连线说明:

B4区:

CS、A0、A1

——

A3区:

CS1、A1、A2

B4区:

JP56(PA口)

——

G6区:

JP65

2、观察实验结果,是否能看到模拟的交通灯控制过程。

七、演示程序

.MODEL

TINY

COM_ADD

EQU

0F006H

PA_ADD

EQU

0F000H

PB_ADD

EQU

0F002H

PC_ADD

EQU

0F004H

.STACK

100

.DATA

LED_Data

DB

01111110B

;东西绿灯,南北红灯

DB

01111111B

;东西绿灯闪烁,南北红灯

DB

01111101B

;东西黄灯亮,南北红灯

DB

11011011B

;东西红灯,南北绿灯

DB

11111011B

;东西红灯,南北绿灯闪烁

DB

10111011B

;东西红灯,南北黄灯亮

.CODE

START:

MOV

AX,@DATA

MOV

DS,AX

NOP

MOV

DX,COM_ADD

MOV

AL,80H

;PA、PB、PC为基本输出模式

OUT

DX,AL

MOV

DX,PA_ADD

;灯全熄灭

MOV

AL,0FFH

OUT

DX,AL

LEA

BX,LED_Data

START1:

MOV

AL,0

XLAT

OUT

DX,AL

;东西绿灯,南北红灯

CALL

DL5S

MOV

CX,6

START2:

MOVAL,1

XLAT

OUT

DX,AL

;东西绿灯闪烁,南北红灯

CALL

DL500ms

MOV

AL,0

XLAT

OUT

DX,AL

CALL

DL500ms

LOOP

START2

MOV

AL,2

;东西黄灯亮,南北红灯

XLAT

OUT

DX,AL

CALL

DL3S

MOV

AL,3

;东西红灯,南北绿灯

XLAT

OUT

DX,AL

CALL

DL5S

MOV

CX,6

START3:

MOV

AL,4

;东西红灯,南北绿灯闪烁

XLAT

OUT

DX,AL

CALL

DL500ms

MOV

AL,3

XLAT

OUT

DX,AL

CALL

DL500ms

LOOP

START3

MOV

AL,5

;东西红灯,南北黄灯亮

XLAT

OUT

DX,AL

CALL

DL3S

JMP

START1

DL500ms

PROC

NEAR

PUSH

CX

MOV

CX,60000

DL500ms1:

LOOP

DL500ms1

POP

CX

RET

DL500ms

ENDP

DL3S

PROC

NEAR

PUSH

CX

MOV

CX,6

DL3S1:

CALL

DL500ms

LOOP

DL3S1

POP

CX

RET

ENDP

DL5S

PROC

NEAR

PUSH

CX

MOV

CX,10

DL5S1:

CALL

DL500ms

LOOP

DL5S1

POP

CX

RET

ENDP

END

START

七、实验扩展及思考

1、如何对8255的PC口进行位操作?

 

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

一、实验目的与要求

了解8259A的内部结构、工作原理;了解8259A与8088的接口逻辑;掌握对8259A的初始化编程方法,了解8088是如何响应中断、退出中断的。

复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。

二、实验设备

STAR系列实验仪一套、PC机一台

三、实验内容

1、编制程序:

拨动单脉冲开关,“

”送给8259A的IR0,触发中断,8088计数中断次数,显示于G5区的数码管上

四、实验程序流程图(学生根据实验内容设计)

五、实验原理图

六、实验步骤

1、连线说明:

B3区:

CS、A0

——

A3区:

CS1、A1

B3区:

INT、INTA

——

EMU598+:

INTR、INTA

B3区:

IR0

——

B2区:

单脉冲

E5区:

CS、A0

——

A3区:

CS5、A1

E5区:

CLK

——

B2区:

2M

E5区:

A、B、C、D

——

G5区:

A、B、C、D

2、运行程序

3、上下拨动单脉冲开关,拨动二次,产生一个“

”,观察结果,数码管上显示的次数与拨动开关次数是否对应。

七、演示程序

.MODEL

TINY

EXTRN

Display8:

NEAR

IO8259_0

EQU

0F000H

IO8259_1

EQU

0F002H

.STACK

100

.DATA

BUFFER

DB

8DUP(?

Counter

DB

?

ReDisplayFlag

DB

0

.CODE

START:

MOV

AX,@DATA

MOV

DS,AX

MOV

ES,AX

NOP

CALL

Init8259

CALL

WriIntver

MOV

Counter,0

;中断次数

MOV

ReDisplayFlag,1

;需要显示

STI

;开中断

START1:

CMP

ReDisplayFlag,0

JZ

START1

CALL

LedDisplay

MOV

ReDisplayFlag,0

JMP

START1

Init8259

PROC

NEAR

MOV

DX,IO8259_0

MOV

AL,13H

OUT

DX,AL

MOV

DX,IO8259_1

MOV

AL,08H

OUT

DX,AL

MOV

AL,09H

OUT

DX,AL

MOV

AL,0FEH

OUT

DX,AL

RET

Init8259

ENDP

WriIntver

PROC

NEAR

PUSH

ES

MOV

AX,0

MOV

ES,AX

MOV

DI,20H

LEA

AX,INT_0

STOSW

MOV

AX,CS

STOSW

POP

ES

RET

WriIntver

ENDP

LedDisplay

PROC

NEAR

MOV

AL,Counter

MOV

AH,AL

AND

AL,0FH

MOV

Buffer,AL

AND

AH,0F0H

ROR

AH,4

MOV

Buffer+1,AH

MOV

Buffer+2,10H

;高六位不需要显示

MOV

Buffer+3,10H

MOV

Buffer+4,10H

MOV

Buffer+5,10H

MOV

Buffer+6,10H

MOV

Buffer+7,10H

LEA

SI,Buffer

CALL

Display8

RET

LedDisplay

ENDP

INT_0:

PUSH

DX

PUSH

AX

MOV

AL,Counter

ADD

AL,1

DAA

MOV

Counter,AL

MOV

ReDisplayFlag,1

MOV

DX,IO8259_0

MOV

AL,20H

OUT

DX,AL

POP

AX

POP

DX

IRET

END

START

八、实验扩展及思考

1、从8259A收到上升沿,到8086响应中断,试画这个过程的时序图。

 

实验七8253方波实验

一、实验目的与要求

了解8253的内部结构、工作原理;了解8253与8088的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。

二、实验设备

STAR系列实验仪一套、PC机一台

三、实验内容

1、编写程序:

使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。

2、连接线路,验证8253的功能,熟悉它的使用方法。

四、实验程序流程图(学生根据实验内容设计)

五、实验原理图

六、实验步骤

1、连线说明:

C5区:

CS、A0、A1

——

A3区:

CS5、A1、A2

C5区:

CLK0

——

B2区:

2M

C5区:

OUT0

——

C5区:

CLK1

C5区:

OUT1

——

D1区:

Ctrl(蜂鸣器)

C5区:

GATE0、GATE1

——

C1区的VCC

2、测试实验结果:

蜂鸣器发出时有时无的声音;用逻辑笔测试蜂鸣器的输入端口,红绿灯交替点亮。

七、演示程序

.MODEL

TINY

COM_ADDR

EQU

0B006H

T0_ADDR

EQU

0B000H

T1_ADDR

EQU

0B002H

.STACK

100

.CODE

START:

MOV

DX,COM_ADDR

MOV

AL,35H

OUT

DX,AL

;计数器T0设置在模式2状态,BCD码计数

MOV

DX,T0_ADDR

MOV

AL,00H

OUT

DX,AL

MOV

AL,10H

OUT

DX,AL

;CLK0/1000

MOV

DX,COM_ADDR

MOV

AL,77H

OUT

DX,AL

;计数器T1为模式3状态,输出方波,BCD码计数

MOV

DX,T1_ADDR

MOV

AL,00H

OUT

DX,AL

MOV

AL,10H

OUT

DX,AL

;CLK1/1000

JMP

$

;OUT1输出1S的方波

END

START

八、实验扩展及思考

1、8253还有其它五种工作方式,其它工作模式下,硬件如何设计?

程序如何编写?

2、使用8253,编写一个实时钟程序。

 

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

当前位置:首页 > PPT模板 > 中国风

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

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