微机原理与应用实验指导书.docx

上传人:b****7 文档编号:9637337 上传时间:2023-02-05 格式:DOCX 页数:37 大小:257.79KB
下载 相关 举报
微机原理与应用实验指导书.docx_第1页
第1页 / 共37页
微机原理与应用实验指导书.docx_第2页
第2页 / 共37页
微机原理与应用实验指导书.docx_第3页
第3页 / 共37页
微机原理与应用实验指导书.docx_第4页
第4页 / 共37页
微机原理与应用实验指导书.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

微机原理与应用实验指导书.docx

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

微机原理与应用实验指导书.docx

微机原理与应用实验指导书

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

 

实验一程序的输入与执行

一、实验目的

1.熟悉键盘使用方法;

2.熟悉程序的输入与执行过程;

3.通过实验了解程序和数据在RAM中的位置。

二、主要仪器及试材

DSG一8086B实验系统一台

三、实验方法与步骤

将算式1AH+0FH+24H+4EH+18H+2DH=?

编程序上机。

参考程序如下:

MOVSI,3000H

MOVCX,0006H

XORAL,AL

AA:

ADDAL,[SI]

INCSI

DECCX

JNZAA

MOV[3040H],AL

HLT

实验步骤:

①将数据1AH,0FH,24H,4EH,18H,2DH输入数据区,即在提示符号>下按E3000

显示0000:

3000=CC_按1ASPACE

显示0000:

3001=CC_按0FSPACE

……….

②检查输入的数据:

方法一:

在>下按D3000

方法二:

在>下按E3000

③输入程序,在>下按A2000

,显示:

0000:

2000按MOVSI,3000

……

④执行程序:

在>下按G=2000

⑤检查结果:

在>下按E3040

四、实验注意事项

实验设备上的开关键不能随意拨动!

五、思考题

如果将数据区的地址与程序的地址共同用一个地址,其结果怎样?

 

实验二分支程序设计实验

一、实验目的

1.掌握分支程序的结构;

2.掌握分支程序的设计、调试方法。

二、主要仪器及试材

DSG一8086B实验系统一台

三、实验方法与步骤

设计一数据块间的搬移程序

实验原理:

程序要求把内存中一数据区(称为数据块)传送到另一存贮区(称为目的数据块)。

源数据块和目的数据块在存贮中可能有三种情况,如图2-1所示:

c

图2-1

实验程序如下(图2-1(a))

地址(H)助记符注释

MOVCX,0010

MOVSI,310O

MOVDI,3200

L1:

MOVAL,[SI]

MOV[DI],AL

INCSI

INCDI

DECCX

JNZL1

HLT

实验步骤

①输入程序并检查无误;

②用E命令,以SI为起址的单元中填入16个数;

③G=2000

,行实验程序

④用D命令,看以DI为起址的单元中的数据是否与SI单元中数据相同;

⑤试改变SI和DI的取值,察在三种不同的数据块情况下程序的运行。

四、思考题

图2-1(b)(c)中,源数据块的末地址小于目的块的首地址时,应怎样编程传送,并说明理由。

实验三循环程序设计实验

一、实验目的

1.加深以对循环结构的理解;

2.掌握循环结构程序设计的方法;

3.熟练掌握调试循环程序的方法。

二、主要仪器及试材

DSG一8086B实验系统一台

三、实验方法与步骤

1.根据条件求和

使S=1+2×3+3×4+4×5+…+N(N+1),直到N(N+1)项大于200为止。

参考程序如下:

地址(H)助记符注释

2000MOVDX,0001

2003MOVBL,02

2005MOVAL,BL

2007INCBL

2009MULBL

200BADDDX,AX

200DCMPAX,00C8;(AX)>200吗

2010JNA2005

2012INT

2.求某数据区内负数的个数

设数据区的第一个单元存放区内数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。

为统计数据区内负数的个数,需逐个判断区内的每一个数据,然后将所有数据中凡是符号为1的数据的个数累加起来,即得区内所包含负数的个数。

参考程序如下:

地址(H)助记符注释

2000MOVDI,3000

2003MOVCL,B[DI];送数据个数

2005XORCH,CH;CH清0

2007MOVBL,CH;Bl清0

2009INCDI;指针指向第一个数据

200ATESTB[DI],80;数据首位是否为1

200DJE2011

200FINCBL

2011INCDI

2012LOOP200A

2014MOVB[DI],BL;存结果

2016INT

实验步骤

1.输入程序并检查无误;

2.E3000

,输入数据如下:

3000=06(数据个数)

3001=12、88、82、90、22、33;

3.G=2000

;运行实验程序;

4.D3007

,显示结果03。

四、思考题

修改以上程序,使其能分别求出数据区中正数、零、负数的个数。

 

实验四子程序设计实验

一、实验目的

1.学习子程序的定义和调用方法;

2.掌握子程序、子程序的嵌套、递归子程序的结构;

3.掌握子程序设计、编制及调试。

二、主要仪器及试材

DSG一8086B实验系统一台

三、实验方法与步骤

1.求无符号字节序列中的最大值最小值

设有一字节型序列,其存贮首址为300OH,字节数为08H,利用子程序的方法编程求出该序列中的最大值与最小值。

参考程序下所示:

地址(H)助记符

2000MOVSI,3000

2003MOVCX,0008

2006CALL2010

2009INT

地址(H)助记符

2010JCXZ202F

2011PUSHSI

2013PUSHCX

2014PUSHBX

2015MOVBH,B[SI]

2017MOVBL,BH

2019LODS

201ACMPAL,BH

201CJNA2022

201EMOVBH,AL

2020JMP2028

2022CMPAL,BL

2024JNB2028

2026MOVBL,AL

2028LOOP2019

202AMOVAX,BX

202CPOPBX

202DPOPCX

202EPOPSI

202FRET

图1

实验步骤

1.输入实验程序并检查无误;

2.E3000

输入8个字节的数据:

D9、07、8B、C5、EB、04、9D、F9;

3.G=2000

运行实验程序;

4.5RAX

显示结果,AX=F9,04,AH中为最大值,AL中为最小值。

程序说明:

该程序使用BH和BL暂存现行的最大值和最小值,开始时初始化成首字节的内容。

然后进入循环操作,从字节列中逐个取出一个字节的内容与BH和BL比较,若取出的字节内容比BH的内容大或比BL的内容小,则修改之。

当循环操作结束时,将BH送AH,BL送AL,作为返回值,并恢复BX原先的内容。

2.求N!

利用子程序的嵌套和子程序的递归调用,实现N!

的运算。

根据阶乘运算,我们有:

N!

=N*(N-1)!

=N*(N,1)*(N-2)!

=…

O!

=1

由此我们可以想到,欲求N的阶乘,可以用一递归子程序来实现,每次调用时应将调用参数减1,即求(N,1)阶乘,并且当调用参数为0时,应停止递归调用,且用01=1的中间结果。

最后将每次调用的参数相乘得到最后结果;因每次递归调用时参数都送入栈中,当N减为0而程序开始返回时,应按嵌套的方式逐层返回,并逐层取出相应的调用参数。

实现此算法的参考程序下所示,N放在3000H-3001H单元中,N!

的结果放再3010H起的单元中,N在0FH-FH间取数,且(3000H)中放低位。

地址(H)助记符地址(H)助记符

2000MOVAX,30102020DECAX

2003PUSHAX2021PUSHAX

2006MOVAX,W[3000]2022CALL200F

2007PUSHAX2025MOVBX,W[BP+DI+06]

2008MOVDI,00002028MOVAX,W[BX]

200EINT202BMOVBX,W[BP+DI+04]

200FPUSHBP202EMULBX

2010MOVBP,SP2030POPBX

2012PUSHBX2031JMP2036

2013PUSHAX2033MOVAX,0001

2014MOVBX,W[BP+DI+06]2036MOVW[BX],AX

2017MOVAX,W[BP+DI+04]2038POPAX

201ACMPAX,00002039POPBX

201DJE2033203APOPBP

201FPUSHBX203BRET0004

实验步骤

输入程序并上机通过,随意给定一些正整数,运行程序,验证结果

四、思考题

1.若求有符号字节型列中的最大值与最小值,如何修改程序?

2.子程序执行完毕后要返回调用程序,它返回调用程序的什么地方,是靠什么指令、什么方法返回的?

 

实验五显示程序设计实验

一、实验目的

1.了解INT10各功能块的作用及用法;

2.掌握字符方式下液晶显示器的显示过程;

二、主要仪器及试材

DSG一8086B实验系统一台

三、实验原理

本系统采用了DMC型液晶显示器作为基本输出设备,该显示器可显示40列×2行(5×7)点阵字符,可实现光标控制、字符运行方向控制,清除等功能。

显示器I/O功能调用使用说明如下:

INT10使用说明

入口:

AH=OOH,AL=OlH功能:

清屏

入口:

AH=01H,AL=数据功能:

写AL中的数据到屏上

入口:

AH=02H,AL=功能设置指令

功能:

设置显示屏,有关功能设置指令参见液晶使用手册

入口:

AH=03H,BL=列,BH=行功能:

光标控制

入口:

Mf=04H,AL=方式设置指令

功能:

设置显示屏,有关功能设置指令参见液晶使用手册

入口:

AH=05H功能:

读当前DDRAM数据字符到AL中

入口:

AH=06H,DS:

BX=字串首址,且字符串尾用OOH填充

功能:

显示一字串,直到遇到OOH为止

四、实验内容

在显示器的第一行显示A-Z26个英文字母。

参考程序如下:

地址(H)助记符注释

2000MOVCX,001A;显示字符个数(26)->CX

2003MOVBL,41;显示字符(A)

2005MOVAH,01;显示一个字符

2007MOVAL,BL

2009INT10

200BINCBL

200DDECCX

200EJNE2007

2010PUSHAX

2011MOVCX,0700

2014MOVAX,015A

2017DECAX

2018JNE2017

201ALOOP2014

201CPOPAX

201DINT

五、实验步骤

1.输入程序并检查无误,(2011中0700连PC机时改为0100)。

2.G=2000

运行实验程序,并观察结果。

六、思考题

修改程序,在显示器上显示"GOODAFTERNOON“。

要求:

分别用

(一)AH=01(写一字符到屏上功能块),

(二)AH=06(显示一字符串功能块)来完成。

 

硬件实验

硬件部分共编了五个硬件实验,通过这些实验可使学生进一步掌握微机系统的接口技术,了解微机的中断系统、输入/输出系统、定时/计数器、串行接口、A/D、D/A转换等接口的硬件设计与编程技术

 

实验六中断特性及8259应用编程实验

一、实验目的

1.认识实验系统的中断特性;

2.掌握8259中断控制器的工作原理;

3.掌握8259可编程中断控制器的应用编程;

4.学习掌握8259级连方式的使用方法。

二、主要仪器及试材

1.DSG一8086B实验系统一台

2.级连实验用8259芯片(从片)自备一片,导线若干。

三、实验系统中的8259芯片介绍

1.8259介绍:

中断控制器8259A是专为控制优先级中断而设计开发的芯片。

它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。

因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。

同时,在不需要增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。

2.实验系统中8259A芯片

DSG,8086B实验系统中的8259A芯片工作子单片方式,但可由用户扩展接成级连方式。

实验系统中8259A的线路如图6-l所示。

图6-1实验系统中的8259

实验系统启动时,8259A被初始化,其初始化是通过系统中的初始化程序设置初始化命令字ICWrICW4来完成的。

8259A初始化程序流程图如图6-2所示。

 

 

图6-28259A的初始化编程

系统初始化时,规定0#和1#中断源分别提供给实时钟和键盘中断:

用户可以使用2-7号中断源,其中6-7两个中断请求线已接到用户板实验接口上,其余可用中断源在圆孔信号插座上可引出。

在进入监控后,只有l#中断源处于开启状态,其它中断源都被屏蔽了。

中断矢量地址与中断号之间的关系如下表所示:

中断序号

0

1

2

3

4

5

6

7

功能调用

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

矢量地址

20H

~

23H

24H

~

27H

28H

~

2BH

2CH

~

2FH

30H

~

33H

234H

~

37H

38H

~

3BH

3CH

~

3FH

说明

实时钟

键盘

可用

可用

串行口

可用

可用

可用

3.8259A芯片的初始化编程框图

四、实验内容及步骤

1.8259应用实验

(一)一一单一中断源

按图6-3所示的实验线路,编写程序,使主机每次响应外部中断IRQ7时,显示字符“7”,中断10次后,按〈RESET〉退出程序。

图6-3实验

(1)线路

参考程序如下所示:

地址(H)助记符

2000MOVAX,2026

2003MOVW[003C],AX

2006MOVAX,0000

2009MOVW[003E],AX

200CCLI

200DINAL,21

200FANDAL,7F

2011OUT21,AL

2013MOVCX,000A

2016CMPCX,0000

2019JNE2023

201BINAL,21

201DORAL,80

201FOUT21,AL

2021STI

2022HLT

2023STI

2024JMP2016

2026MOVAX,0137

2029INT10

202BMOVAX,0120

202EINT10

2030DECCX

2031MOVAL,20

20330UT20,AL

2035CLI

2036IRET

实验步骤

①按图6-3在DSG-8086B实验区连接实验线路;

②输入程序并检查无误后,G=2000←」.运丘实验程序;

③重复拨KK2微动开关,显示屏上位用"7"来响应,直到拨10次后,系统处于停机状态,按[RESET]返回监控。

2.8259应用实验

(2)一一优先级中断

按图6-4所示实验线路,编写程序,完成下面的要求:

当无中断请求时,执行主程序,延时显示"MIMN",若有中断请求,则执行其中断服务程序,显示该中断号"6"或"7";若正在执行较低级的中断服务程序,则允许比它优先级高的中断被响应(IRQ6)IRQ7)。

主程序在执行过程中,每显示一个"MAIN"空一格。

实验参考程序如下:

〈对应目标文件:

A82593.HEX〉

地址(H)助记符注释地址(H)助记符注释

2000CALL2049;字程序2038IRET

2003NOP2039PUSHCX;字程序

2004MOVAL,08203APUSHAX

20060OUT21,AL203BMOVCX,0040

2008MOVAL,09203EMOVAX,056C

20OAOUT21,AL2041DECAX

200CMOVAL,3D2042JNE2041

200EOUT21,AL2044LOOP203E

2010STI2046POPAX

2011MOVAH,062047POPCX

2013MOVBX,20662048RET

2016INT102049MOVAX,201D

2018CALL2039204CMOVW[0038],AX

201BJMP201B204FMOVAX,0000

201DSTI;IRQ6中断处理2052MOVW[003A],AX

201ECALL20392055MOVAX,202B

202lMOVAX,01362058MOVW[003C],AX

20241NT10205BMOVAX,0000

2026MOVAL,20205EMOVW[003E],AX

20280UT20,AL2061MOVAL,13

202AIRET2063OUT20,AL

202BSTI;IRQ7中断处理2065RET

202CCALL20392066DB4D

202FMOVAX,01372067DB41

2032INT102068DB49

2034MOVAL,202069DB4E

2036OUT20,AL206ADB20

206BDB00

图6-4实验

(2)线路图

实验步骤

①画出以上程序的流程图;

②按图6-4在DSG-8086B上连接实验线路;

③输入程序并检查无误;

④G=2000

,运行实验程序,先后拨动KK1和KK2微动开关来模拟中断请求信号,则显示"MAIN"和中断号“6”或“7”,记录请求顺序及显示结果。

3.8259级连实验

本实验旨在掌握8259级连方案的硬件接线及编程。

本实验是以DSG-8086B上的8259(l)级连方式的中断实验线路,按图6-5所示。

其中规定主片的IRQ7上挂接一片从片,从片上的IRQ7外接中断申请电路(R-S触发器消抖),并规定从片的中断矢量编号为3OH-37H。

图6-58259级连实验接线图

地址(H)助记符地址(H)助记符注释

2000CLI2023OUT01,AL

2001MOVAL,112025MOVAL,7F

2003OUT20,AL2027OUT01,AL

2005MOVAL,082029MOVAX,2039

2007OUT21,AL202CMOVW[00DC],AX

2009MOVAL,80202FMOVAX,0000

200BOUT21,AL2032MOVW[00DE],AX

200DMOVAL,1D2035STI

200FOUT21,AL2036HLT

2011MOVAL,7D2037JMP2035

2013OUT21,AL2039MOVAX,0137

2015MOVAL,11203CINT10

2017OUT01,AL203EMOVAX,0120

2019MOVAL,302041INT10

201BOUT01,AL2043MOVAL,20

201DMOVAL,072045OUT00,AL

201FOUT01,AL2047OUT00,AL

2021MOVAL,092049IRET

实验步骤

①画出以上程序的流程图;

②按图6-5在DSG-8086B上连接实验线路,数据线等已连好;

③输入程序并检查无误;

④G=2000

,运行实验程序,并通过拨动KKl微动开关向从片申请中断,每按动一次,显示屏上显示一个"7"字符,表明CPU响应了一次中断。

六、思考题

在实验

(2)中,若先拨动KK2再拨动KKl(此时尚未显示叩“7”),显示结果会是什么?

为什么?

 

实验七8255并行接口应用实验

一、实验目的

学习并掌握8255的各种工作方式及其应用。

二、主要仪器及试材

DSG-8086B实验系统

三、实验内容及步骤

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:

方式0——基本输入/输出万式

方式1——选通输入输出方式

方式2——双向选通工作方式

1.8255接口应用实验(l)(单口方式0输出)

图7-1实验

(1)线路

按图7-1所示实验线路,编写程序,使8255端口A工作在方式0并作为输出口将其PA0-PA3通过74LS48BCD码七段显示驱动器,在数码管上循环显示“0-9”10个数。

参考程序下所示:

(对应目标文件:

A8255-1.HEX)

地址(H)助记符

2000MOVAL,82

2002OUT63,AL

2004MOVAL,00

2006CMPAL,0A

2008JE2004

200AOUT60,AL

200CINCAX

200DCALL2012

2010JMP2006

2012PUSHAX

2013MOVCX,0100

2016MOVAX,0560

2019DECAX

201AJNE2019

201CLOOP2016

201EPOPAX

201FRET

实验步骤

①按图7-l在DSG-8086B上连接实验线路;

②输入源程序并运行,可观察到七段数码循环显示"0-9"10个数;

③按[RESET]中止程序运行,停止显示;

2.8255接口应用

(2)〈双向方式0输入输出〉

按指导书图7-2所示实验线路,编定之一,使8255端口A工作在方式。

并作为输出口,端口B工作在方式0并作为输入口。

用一组开关信号接入端口B,端口A输出线接至一组发光二级管上,然后通过对8255芯片编程来实现输入/输出功能。

参考程序下所示:

(对应目标文件:

A8255-2.HEX)

图7-2实验

(2)线路及参考程序

地址(H)助记符

2000MOVAL,82

2002OUT63,AL

2004INAL,61

2006OUT60,AL

2008JMP2004

实验步骤

①按图7-2在DSG-8086B上连接实验线路;

②输入源程序并运行,拨动开关K1~K8。

观察发光二极管组应一一对应。

3.8255接口应用(3)(方式1输入和方式0输出)

按图7-3所示实验线路,编写程序,使8255端口A工作在方式0作为输出口,端口B工作在方式1并作为输入口,则端口C的PC2成为选通信号输入端STBB,CO成为中断请求信号输出端INRTB,当B口数据就绪后,通过发STB

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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