微机原理及应用实验报告Word文件下载.docx

上传人:b****5 文档编号:19670581 上传时间:2023-01-08 格式:DOCX 页数:24 大小:393.35KB
下载 相关 举报
微机原理及应用实验报告Word文件下载.docx_第1页
第1页 / 共24页
微机原理及应用实验报告Word文件下载.docx_第2页
第2页 / 共24页
微机原理及应用实验报告Word文件下载.docx_第3页
第3页 / 共24页
微机原理及应用实验报告Word文件下载.docx_第4页
第4页 / 共24页
微机原理及应用实验报告Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

微机原理及应用实验报告Word文件下载.docx

《微机原理及应用实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理及应用实验报告Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

微机原理及应用实验报告Word文件下载.docx

下面我们建立源文件,执行[主菜单»

文件»

新建],(或者点击图标

)打开窗口如下:

首先选择存放源文件的目录,输入文件名,注意:

一定要输入文件名后缀。

对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。

比如:

*.asm文件,使用TASM来对它编译。

本实例文件名为move.asm。

窗口如下:

按“确定”即可。

然后出现文件编辑窗口:

输入源程序,本实例的源程序如下:

.MODEL

TINY

;

memorymode:

tiny

.STACK

100

堆栈

.CODE

开始程序段

START:

MOV

AX,@DATA

DS,AX

ES,AX

NOP

CX,100H

SI,3000H

DX,2000H

START1:

AL,[SI]

OUT

DX,AL

INC

SI

DX

LOOP

START1

DI,6000H

START2:

IN

[DI],AL

DI

START2

SJMP

$

Move

ENDP

END

START

输入源程序,如下图:

这样一个源文件就建立好了。

3.编译、连接文件

首先选择一个源文件,然后可以编译、连接文件了。

对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、EXE文件)。

编译、连接文件的方法有如下二种:

(1)使用[主菜单»

项目»

编译、连接]或[主菜单»

重新编译、连接]”。

(2)点击图标

来“编译、连接”或“重新编译连接”。

“编译连接”与“重新编译、连接”区别:

“重新编译、连接”不管源文件是否修改、编译软件是否变化、编译控制项有无修改,对源文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、EXE文件)。

编译、连接过程中产生的信息显示在信息窗的“建立”视中。

编译没有错误的信息如下:

若有错误则出现如下信息框:

有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。

这时用户可以作相应的修改,直到编译、连接文件通过。

4.调试

在软件中选择对应的仿真器、实验仪型号,具体设置如下:

执行[主菜单»

仿真器、实验仪],对话框如下:

根据你所使用的机型作相应选择。

本实验在计算机上模拟,故选择模拟调试器。

如果编译、连接正确后,可以开始调试程序。

进入调试状态方法有:

a)执行[主菜单»

运行»

进入调试状态]

b)点击工具条的

c)执行[主菜单»

装载DOB、HEX、BIN文件]

进入后的窗口如下:

在整个图片中我们可以看到相对应的窗口信息。

在“工作区窗”的“CommonRegister”中我们可以了解通用寄存器的信息。

中间的窗口为源程序窗口,用户可在此设置断点,设置光标的运行处,编辑程序等。

寄存器窗我们可以看到一些常用的寄存器的数值。

存贮窗1、存贮窗2显示相应的程序段(CS)、数据段(DS)、IO设备区的数据,还有变量窗,自动收集变量显示其中。

反汇编窗显示对程序反汇编的信息代码、机器码、对应的源文件。

在信息窗的“装载”视中,显示装载的代码文件,装载的字节数,装载完毕后,显示启始地址,结束地址。

这种船坞化的窗口比通常的窗口显示的内容更多,移动非常方便。

用鼠标左键点住窗口左边或上方的标题条,移动鼠标,将窗口移到您认为合适的位置;

将鼠标移到窗口的边上,鼠标的图标变成可变化窗口时的形状,用鼠标左键点住,移动鼠标,变化一个或一组窗口的大小。

在调试过程中,可以根据您的需要,在[主菜单»

查看]中打开:

寄存器窗、存贮器窗1、2、3、观察窗、变量窗、反汇编窗。

您也可以通过[主菜单»

设置»

格式],设置每一种窗口使用的字体、大小、颜色。

移动窗口到您喜欢的位置、大小。

首先在“种类”中选择一个窗口,然后选择“字体”、“大小”,在“颜色”中选择某一类,在“前景”、“背景”中选择您喜欢的颜色。

对于高级语言,在您的程序前有一段库文件提供的初始化代码,

(当前可执行标志)不会出现在您的文件行上,如果您使用C语言,可将光标移到main函数上,按F4功能键,让CPU全速运行到main行上后停下;

如果您使用PL/M语言,按F7功能键,让CPU“单步进入”,运行到您的任何一个可执行行后停下。

您可以使用以下命令调试您的程序:

设置或清除断点(功能键为F2)

在当前光标行上设置或清除一个断点

单步进入(功能键F7)

单步执行当前行或当前指令,可进入函数或子程序。

连续单步进入(功能键Ctrl+F7)

连续执行“单步进入”,用鼠标点击

或按任意键后,停止运行。

单步(功能键F8)

单步执行当前行或当前指令,将函数或子程序作为一条指令来执行。

如果当前行中含有函数、子程序或发生中断,CPU将执行完整个函数、子程序或中断,停止于当前行或当前指令的下一有代码的行上。

连续单步(功能键Ctrl+F8)

连续执行“单步”,用鼠标点击

运行到光标行(功能键F4)

从当前地址开始全速运行用户程序,碰到光标行、断点或用鼠标点击

,停止运行。

全速断点(功能键F9)

从当前地址开始全速运行用户程序,碰到断点或用鼠标点击

全速运行(功能键Ctrl+F10)

从当前地址开始全速运行用户程序,此时,按用户系统的复位键,CPU从头开始执行用户程序,用鼠标点击

全速运行时,屏蔽了所有断点,即不会响应任何断点。

停止运行

终止微机与仿真器之间通信(功能键ESC)。

注意:

欲终止微机与仿真器之间通信,功能键ESC是一个很方便的键,它的效果比点击相应的图标的效果要好。

建议用户多用ESC键。

在系统运行“连续单步”或者“连续单步进入”时ESC键被禁止,这时用户可以按键盘的其他任意键停止其运行。

5.调试的方法及技巧

在调试状态的窗口中可以看到很多的窗口,用户只要熟练地应用这些窗口来观察、分析数据就会很快的调试好程序,达到事半功倍的效果。

进入调试界面后,由于我们本次操作需要观察三个数据块:

数据段3000H~30FFH,数据段6000H~60FFH,I/O区2000H~20FFH,可以打开二到三个存贮器窗口,具体操作是:

[主菜单»

查看]

然后根据你的需要打开不同的窗口。

调整后的调试界面为:

由于我们本次操作主要是观察存贮器窗口,所以我们拉大了这两个存贮器窗口的大小。

每个窗口设置了4个分页项:

,我们可以在不同的分页项设置不同的观察数据空间以及地址范围。

中可以选择CS:

Memory,DS:

Memory,I/O,根据需要可以做不同的选择。

中可以直接输入地址,然后按回车,就可以直接转到我们输入的地址的窗口上面观察数据。

由于我们在此程序中的写入数据的RAM空间分别为DS:

3000H~30FFH、DS:

6000H~60FFH、I/O区2000H~20FFH,故我们建立的分页项如下:

存贮0分页项:

存贮1分页项:

存贮2分页项:

我们这样设置界面的目的就是当用户要观察不同地址段的数据时,只要切换一下分页项就行了。

由于本次程序需要同时观察DS:

3000~30FFH、I/O:

2000~20FFH和I/O:

2000H~20FFH、DS:

6000H~60FFH,所以打开二个存贮器窗。

如图:

软件中总共存在3个存贮器窗。

可以同时观察三个不同的地址。

存贮器窗口支持数据的直接修改功能。

本软件的所有窗口中的数据都支持直接修改功能。

用户可以根据自己的需要在窗口中直接修改数据。

执行程序前,将DS:

3000H~300FH中的数据改为11、22、33、44、55、66、77、88、99、AA、BB、CC、DD、EE、FF、00,在相对应的地址中直接输入数据即可。

一般刚刚写好的程序,在进入调试状态后,执行“单步”或者“单步进入”,我们推荐您能记住这些操作的相对应的功能键,这样您就在调试程序的过程中很方便。

在刚才的调试程序中我们多次执行“单步(F8)”命令,在工作区窗口的CommonRegister视中查看通用的寄存器:

我们可以观察到在本程序中所使用的一些寄存器的变化,比如AX、CX、DX、SI的数值的变化,每一次循环,CX减一,DX、SI加一,AX寄存器的低字节AL暂存从DS:

[SI]取出的数值:

11、22、33、44、55、66……。

我们可以看到存贮器窗口中的相对应的RAM的数据的变化。

比如

其中右边为相应数据的ASCII码。

切换分页项我们可以观察到其它地址的数据。

把光标移动到MOVDI,6000H行上,点击图标

(功能键F4),全速运行到光标行,检查IO:

2000H~20FFH内容,是否与DS:

3000H~30FFH相同,如果完全一样,说明以上程序没有任何问题。

切换分页项,存贮器窗显示DS:

6000H开始的单元内容,将光标移到JMP$行的左边,鼠标变为

,点击鼠标,在该行上设置了一个断点,也可以用鼠标点击该行,将光标移到鼠标处,点击图标

(功能键为F2),设置断点,重复操作,清除断点。

点击图标

(功能键F9),CPU全速断点运行到光标处停下,检查DS:

6000H~60FFH内容,与I/O:

2000H~20FFH内容是否一样,相同表示程序没问题;

如果不相同,将光标移到MOVDI,6000H行上(具体操作是:

用鼠标点击该行,然后再点击图标

),使用单步进入命令F7或连续单步进入命令Ctrl+F7,检查结果,判断程序出错原因。

实验二系统中断调用

通过人机会话可以获取程序运行所需要的数据,本实验应用系统中断功能的调用来实现人机对话。

首先计算机询问用户姓名,等待用户输入姓名的汉语拼音,然后将输入的汉语拼音显示在屏幕上,请用户认可,用户输入“Y”,程序结束,否则再次询问用户名。

实验涉及DOS中断的INT21H和BIOS中断的INT10H。

通过阅读并调试示例程序,掌握程序中所涉及的系统中断功能,以及利用系统中断功能的编程方法。

系统中断调用。

五、参考程序

.MODELTINY

.STACK100

.DATA

MESG1DB'

Whatisyourname?

$'

MESG2DB'

(Y/N)$'

BUFDB30DUP(?

.CODE

MOVAX,@DATA

MOVDS,AX

AGAIN:

MOVAH,0;

设置光标

MOVAL,19

INT10H

MOVAX,0600H

MOVBH,7

MOVCX,0

MOVDX,184FH

INT10H

MOVAH,9

MOVDX,OFFSETMESG1

INT21H;

询问“Whatisyourname?

MOVDL,0AH

MOVAH,2

INT21H

MOVAH,0AH

MOVDX,OFFSETBUF

键入名字,换行结束

MOVBL,BUF+1

MOVBH,0

MOVSI,OFFSETBUF+2

MOVBYTEPTR[BX+SI],'

;

字节类型,在键入字符串后加'

MOVAH,9

MOVDX,OFFSETMESG2

显示'

Y/N'

MOVAH,1

CMPAL,'

Y'

JNZAGAIN

MOVAH,4CH

ENDSTART

六、实验步骤

1.仔细阅读实验内容及要求,根据要求编写汇编语言源程序。

2.上机编辑、调试源程序。

3.在线调试源程序,观查运行结果。

十一、思考问题

如何修改程序使用户的确认信息“Y”无论大小写均可使程序结束?

实验三8255控制交通灯

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

输入程序,连接线路验证8255的功能,熟悉它的使用方法。

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

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

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

8255与8086接口应用。

五、实验原理图

1、连线说明:

B4区:

CS(8255)、A0、A1

——

A3区:

CS1、A0、A1

JP56(PA口)

F5区:

JP65

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

七、演示程序

COM_ADD

EQU

0F003H

PA_ADD

0F000H

PB_ADD

EQU

0F001H

PC_ADD

0F002H

.STACK

.DATA

LED_Data

DB

01111101B

东西绿灯,南北红灯

11111101B

东西绿灯闪烁,南北红灯

10111101B

东西黄灯亮,南北红灯

11010111B

东西红灯,南北绿灯

11011111B

东西红灯,南北绿灯闪烁

11011011B

东西红灯,南北黄灯亮

DX,COM_ADD

AL,80H

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

DX,PA_ADD

灯全熄灭

MOV

AL,0FFH

LEA

BX,LED_Data

AL,0

XLAT

CALL

DL5S

CX,6

MOVAL,1

OUT

DL500ms

AL,2

CALL

DL3S

AL,3

START3:

AL,4

AL,3

LOOP

START3

AL,5

JMP

DL500ms

PROC

NEAR

PUSH

CX

CX,60000

DL500ms1:

DL500ms1

POP

RET

DL3S

PROC

DL3S1:

DL3S1

CX,10

DL5S1:

DL5S1

END

八、思考问题

如何改变红绿灯的延时时间?

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

当前位置:首页 > 医药卫生 > 基础医学

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

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