微机原理实验报告50794.docx

上传人:b****8 文档编号:28021182 上传时间:2023-07-07 格式:DOCX 页数:28 大小:1.29MB
下载 相关 举报
微机原理实验报告50794.docx_第1页
第1页 / 共28页
微机原理实验报告50794.docx_第2页
第2页 / 共28页
微机原理实验报告50794.docx_第3页
第3页 / 共28页
微机原理实验报告50794.docx_第4页
第4页 / 共28页
微机原理实验报告50794.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

微机原理实验报告50794.docx

《微机原理实验报告50794.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告50794.docx(28页珍藏版)》请在冰豆网上搜索。

微机原理实验报告50794.docx

微机原理实验报告50794

班级:

指导老师:

学号:

姓名:

 

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

一、实验目的

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

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

二、实验内容

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

三、程序框图

图3-1

4、参考程序清单

DATASEGMENT

DATA1DB33H,39H,31H,37H,34H;被加数

DATA1ENDEQU$-1

DATA2DB34H,35H,30H,38H,32H;加数

DATA2ENDEQU$-1

SUMDB5DUP(?

DATAENDS

STACKSEGMENT

STADB20DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVAX,TOP

MOVSP,AX

MOVSI,OFFSETDATA1END

MOVDI,OFFSETDATA2END

CALLADDA

MOVAX,4C00H

INT21H

ADDAPROCNEAR

MOVDX,SI

MOVBP,DI

MOVBX,05H

AD1:

SUBBYTEPTR[SI],30H

SUBBYTEPTR[DI],30H

DECSI

DECDI

DECBX

JNZAD1

MOVSI,DX

MOVDI,BP

MOVCX,05H

CLC

AD2:

MOVAL,[SI]

MOVBL,[DI]

ADCAL,BL

AAA

MOV[SI],AL

DECSI

DECDI

LOOPAD2

MOVSI,DX

MOVDI,BP

MOVBX,05H

AD3:

ADDBYTEPTR[SI],30H

ADDBYTEPTR[DI],30H

DECSI

DECDI

DECBX

JNZAD3

RET

ADDAENDP

CODEENDS

ENDSTART

 

5、实验结果与分析

 

这次实验依次将相加数与被加数存入AL,BL,依次从低位向高位相加,然后把结果放在内存中。

6、实验体会

这次实验是微机原理课的第一次实验,主要是为了通过这次的实验,让我们对这个软件的编程有更深的了解、知道如何运行程序。

在实验中误把C00H,写成了COOH.从中,我学到了许多课本里学不到的东西,有些意外,有些收获。

 

实验二排序实验

一、实验目的

掌握用汇编语言编写排序程序的思路和方法。

二、实验内容

将指定内存出开始的数据(最多为4位数)按从大到小的顺序排列。

第一个数字表示数据的个数(不是要比较的数值!

)。

三、程序流程图

图3-2

4、程序清单

DATASEGMENT

ADDRDW8,234,35,67,876,54,39,765,237

DATAENDS

STACKSEGMENT

STADW32DUP(?

TOPDW?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

MOVSP,TOP

MOVCX,WORDPTRADDR[0]

DECCX

LOOP1:

MOVDI,CX

MOVBX,2

LOOP2:

MOVAX,WORDPTRADDR[BX]

CMPAX,WORDPTRADDR[BX+2]

JGECCC

XCHGAX,WORDPTRADDR[BX+2]

MOVWORDPTRADDR[BX],AX

CCC:

ADDBX,2

LOOPLOOP2

MOVCX,DI

LOOPLOOP1

EXIT:

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

5、实验结果与分析

 

这次实验是给我们8个数字,按从大到小的顺序排列出来,定义的数字中8是一个指示数字的个数量。

6、实验体会

通过此次的实验,懂得了用汇编语言编写排序程序的思路和方法,知道义的数字中8是一个指示数字的个数量,不是一个数。

更加加强了我对程序的操作的熟练程度。

 

实验三字符串按ASCII值的查找

1、实验目的

1.掌握字符串按ASCII值查找的方法。

二、实验设备

计算机一台。

预装WindowsXP、宏汇编MASM5。

三、实验内容

编写能够实现以下要求的汇编语言程序,并上机实现。

1.对一个给定的字符串,统计其中0~9的个数,并在屏幕上显示这个字符串和0~9的个数(3位十进制数)。

四、实验框图

程序开始

DB定义一个字符串

将字符串的长度转换成十进制

符串按ASCII值查找、执行

INT21H

结束

 

五、程序清单

DATASEGMENT

STRINGDB'GFDsfgfdsGDA0935J/:

@[]`{}KO6ASD78','$'

L1DB?

DATAENDS

STACKSEGMENTPARASTACK'STACK'

DB100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

STARTPROCFAR

BEGIN:

PUSHDS

MOVAX,0

PUSHAX

MOVAX,DATA

MOVDS,AX

LEABX,STRING

MOVDL,0

LP2:

MOVAL,[BX]

CMPAL,30H

JBLP3

CMPAL,39H

JALP3

INCDL

LP3:

CMPAL,'$'

JELP4

INCBX

JMPLP2

LP4:

MOVL1,DL

LEADX,STRING

MOVAH,9

INT21H

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

MOVAL,L1

MOVAH,0

CALLB_D

RET

STARTENDP

B_DPROC;二——十进制转换及显示

MOVCL,100

DIVCL

PUSHAX

MOVDL,AL

ADDDL,30H

MOVAH,2

INT21H

POPAX

MOVAL,AH

MOVAH,0

MOVCL,10

DIVCL

PUSHAX

MOVDL,AL

ADDDL,30H

MOVAH,2

INT21H

POPAX

MOVDL,AH

ADDDL,30H

MOVAH,2

INT21H

RET

B_DENDP

CODEENDS

ENDBEGIN

 

六、实验结果与分析

大写的英文字符A~Z的ASCII码是41H~5AH,小写的英文字符a~z的ASCII码是61H~7AH,如果一个字符的ASCII码在这两个范围内,则满足要求。

7、实验体会

通过此次的实验更加加强了我对ASCII码转换的应用,以后可以对这个问题,有更深的了解,而且我能很快的用它进行查找,很有收获。

 

实验四DOS输入输出功能的使用

一、实验目的

1.掌握8086汇编语言程序的汇编、链接、运行的方法。

2.掌握用软中断调用DOS输入输出功能的方法。

3.掌握将二进制数转换成十进制数的编程方法。

二、实验设备

计算机一台。

预装WindowsXP、宏汇编MASM5。

3、实验内容

程序开始

DB定义一个字符串

将字符串的长度转换成十进制

MOVDL,字符ASCII码

MOVAH,2

INT21H

“$”结束

 

四、程序清单

datasegment

string1db'1234567890abcdefg','$';准备显示的字符串

countdb$-string1-1;上面字符串的长度

dataends

stacksegmentparastack'stack'

db100dup(100)

stackends

codesegment

startprocfar

assumecs:

code,SS:

STACK,ds:

data

begin:

pushds

movax,0

pushax

movax,data

movds,ax

leadx,string1;输出字符串

movah,9

int21h

;输出回车和换行符,以实现另起一行

movdl,0dh;输出回车命令

movah,2

int21h

movdl,0ah;输出换行命令

movah,2

int21h

moval,count;将字符串长度转换成3位十进制数输出

movah,0;高8位补0

movcl,100

divcl;除以100获得百位数

pushax;暂存结果和余数

movdl,al

adddl,30h;换成ASCII码

movah,2;输出字符到屏幕

int21h

popax;恢复结果和余数

moval,ah;余数作为被除数

movah,0

movcl,10

divcl;除以10获得十位数

pushax

movdl,al

adddl,30h

movah,2

int21h

popax

movdl,ah

adddl,30h

movah,2

int21h

movdl,0dh;输出回车命令

movah,2

int21h

movdl,0ah;输出换行命令

movah,2

int21h

ret

startendp

codeends

endbegin

五、实验结果及分析

这就是二进制转为十进制的结果

六、实验体会

这次实验,我基本掌握8086汇编语言程序的汇编、链接、运行的方法。

同时也学会了用软中断调用DOS输入输出功能的方法,还有基本的掌握将二进制数转换成十进制数的编程方法。

这次实验学到了很多,希望以后更有进步。

 

实验五8255并行I/O口实验

一、实验要求

利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输入,PB口作输出。

二、实验目的

1、了解8255芯片结构及编程方法。

2、了解8255输入/输出实验方法。

三、预备知识

8255是Intel公司生产的与Intel8080/8085系列的MPU配套的可编程外围接口电路,简称PPI。

它有A、B、C三个八位端口寄存器,通过24位端口线与外部设备相连,基中C口可分为上半部和下半部。

这24根端口线全部为双向三态。

三个端口可分二组来使用,可分别工作于三种不同的工作方式。

四、实验原理图及连线

1、本实验主要用到的模块:

8255模块、开关量输出模块、0-1指示模块、实验译码单元等;

2、PA0-PA7分别接开关量输出模块S0-S7对应的插座;

3、PB0-PB7分别接0-1指示模块DO71-DO78对应的插座;

4、8255A的片选/CS接地址译码单元的2A0-2A7;

5、数据线XD0—XD7接系统数据线区的任一插座。

图3-3

五、实验内容

将实验的线路连接好后,编程,将8255的A口作为输入,输入信号由8个逻辑电平开关提供,B口作为输出,其内容由发光二极管来显示。

六、程序清单

L8255_CMDEQU2A3H

L8255_PAEQU2A0H

L8255_PBEQU2A1H

L8255_PCEQU2A2H

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

BEGIN:

MOVCX,0FFH

AA:

LOOPAA

MOVDX,L8255_CMD

MOVAL,9CH;10011000

OUTDX,AL

NOP

NOP

NOP

NOP

NOP

BB:

MOVDX,L8255_PA

INAL,DX

XORAL,0FFH

MOVDX,L8255_PB

OUTDX,AL

JMPBB

CODEENDS

ENDBEGIN

七、程序框图

开始

延时

置8255工作方式

读8255PA口

置8255PB口

 

图3-4

八、实验步骤

1、参照图中的内容连好线;

2、运行上位机软件,装载并运行相应程序即可(联机请参考程序8255.asm)。

注意:

同学们自己编写程序时,8255的/CS连线可以接地址译码单元的其他信号,其它连线相同。

如果用的端口与本实验不一样,也可以改变IO口的连线。

九、仪器配置

ZY15MicInt12BB微机原理及接口实验箱一台。

十、实验现象

当读到某个开关处于高电平时,对应的发光二极管就会亮。

11、思考题

根据程序列出实验中8255的各个端口的地址,如果8255的/CS改接译码信号280H,其它信号不变,那么对应的端口地址又是多少?

答:

8255命令-2A3H

PA-2A0HPB-2A1HPC-2A2H;

8255的/CS改接译码信号280H后对应的端口地址是8255命令-283H

PA-280HPB-281HPC-282H

12、实验结果与分析

按照实验指导连接电路后,将所有的开关都置于高电平,会发现所有的灯都亮了。

然后所有的开关置于低电平,所有的灯都熄了。

 

13、实验体会

本次实验是按照老师要求和讲解做的,刚开始时,按照老师说的步骤,将线路连接好后,通过众友连接,发现连接不上电路,最后换了一个串口线,最终成功的连上了,通过了编译但又在运行的时候出现了问题,和其他人做了比较,依旧没有发现问题,最后经过自己耐心的检查,发现有根线接错了,改正之后重新编译运行,最后所有的LED灯亮了。

此次实验也让我收获颇多,做实验的时候我们应该仔细认真。

 

实验六ADC0809A/D转换实验

一、实验目的

1、加深理解逐次逼近法模数转换器的特征和工作原理;

2、掌握A/D转换芯片与8088/86的接口方法;

3、了解A/D芯片ADC0809转换性能及编程方法。

二、预备知识

A/D转换器大致有三类:

一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。

实验用的ADC0809属第二类,是八位A/D转换器。

每采集一次一般需100us。

本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,做为转换完成的信号。

三、实验原理说明及连线

1、本实验的位置在实验箱的“ADC0809模块”;

2、本实验用芯片ADC0809的片选地址为2B8H,实验箱上已固定好,不需要再连线;

3、将该实验模块的CLOCK和“信号源模块”的1MHz信号连接起来;

4、用排线将“系统数据总线输出单元”中的任意一组数据线和本实验模块的“ADC0809:

XD0-XD7”连接起来;

5、将通道0模拟量输入端IN0接模拟信号产生电路模块中的电位器R093的中心抽头,然后将R093的两端一端接地,另一端接VCC(+5V)。

图3-8

四、实验内容

利用电位器输出一个幅值可调的直流电压信号,送入ADC0809的通道0,将转换后的结果在屏幕上显示出来,并验证它与输入电压的关系。

五、实验步骤

1、确认连接好线路;

2、装载运行程序。

六、实验框图

图3-9

七、仪器配置

ZY15MicInt12BB微机原理及接口实验箱一台

八、实验现象

当用户扭动电阻器时,屏幕将显示相应的数值。

九、思考题

按图中的连接线路,输入一个3V的模拟信号,输出的数字信号的理论值是多少,在实验箱上验证该值的正确性。

实验中用的ADC0809的IN0的地址是什么?

答:

3V的模拟信号转化成数字信号后的理论值是99H.

实验中用的ADC0809的IN0的地址是2B8H。

10、程序清单

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,2B8H;2B0H-2B7H

MOVAL,00H

OUTDX,AL

CALLDELAY

INAL,DX

CALLSHOW

CALLDELAY

JMPSTART

 

SHOWPROCNEAR

PUSHDX

PUSHAX

MOVCL,4

SHRAL,CL

ANDAL,0FH

CALLH2C

JCSHOW_OUT

MOVDX,88H

OUTDX,AL

POPAX

ANDAL,0FH

CALLH2C

JCSHOW_OUT

MOVDX,88H

OUTDX,AL

MOVCX,0FFH

DELA:

LOOPDELA

SHOW_OUT:

POPDX

RET

SHOWENDP

 

H2CPROCNEAR

CMPAL,0

JAEN0_9

JMPH2C_ERR

N0_9:

CMPAL,9

JBEN0_9_OK

CMPAL,0AH

JAEHEX_CMP

JMPH2C_ERR

HEX_CMP:

CMPAL,0FH

JBEHEX_CMP_OK

JMPH2C_ERR

HEX_CMP_OK:

CLC

ADDAL,37H

JMPCMP_OUT

N0_9_OK:

CLC

ADDAL,30H

JMPCMP_OUT

H2C_ERR:

STC

CMP_OUT:

RET

H2CENDP

DELAYPROCNEAR

MOVCX,0FFH

DELEA:

LOOPDELEA

RET

DELAYENDP

CODEENDS

ENDSTART

11、实验结果与分析

 

接好电路后,微调电位器,我们就会看到显示屏上的数字从00到FF的变换。

最后通过询问我们班的学霸才知道,这是将模拟电转换为数字信号,而且还可以通过显示的数字知道电压是多少。

12、实验体会

这次实验,因为有了上次实验的经验,所以做的格外的顺利。

但是要能完全理解,需要下功夫。

 

Welcome!

!

!

欢迎您的下载,

资料仅供参考!

 

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

当前位置:首页 > 解决方案 > 学习计划

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

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