深圳大学微机及接口实验指导书最新版.docx
- 文档编号:18246772
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:111
- 大小:1.42MB
深圳大学微机及接口实验指导书最新版.docx
《深圳大学微机及接口实验指导书最新版.docx》由会员分享,可在线阅读,更多相关《深圳大学微机及接口实验指导书最新版.docx(111页珍藏版)》请在冰豆网上搜索。
深圳大学微机及接口实验指导书最新版
微机原理与接口技术
实验指导书
深圳大学电子科学与技术学院
2008年12月
《微机原理与接口技术》实验
《微机原理与接口技术》实验课是计算机科学与技术专业本科生(或相关信息类专业)教学的必修课程,是重要的专业技术基础课。
在理论教学基础上通过实验教学,使学生加深对所学知识的理解,熟练掌握各接口器件的特征和使用方法;熟悉系统设计方法和系统调试方法。
一、制定本大纲的依据
本大纲根据《微机原理与应用》教学大纲对学生试验能力培养要求而制定。
二、对本门课程的实验具体安排
教学大纲要求总学时72。
根据课程的特点,需要加强实验环节,提高学生的认识。
理论教学54学时,实验课共开设18个学时,其中认识型实验12学时,综合设计型专业实验6学时。
学生按照实验指导书的要求,完成指定的实验任务,并按时提交实验报告。
实验课分班进行,每个实验班80人左右,配备一名实验指导教师。
实验分为微机原理和接口两个部分。
计算机科学与技术专业、实验名称及学时分配
序号
实验内容
计划学时
教学大纲要求
微机原理部分
1
DOS常用命令及8086指令使用
2
必做
2
内存操作数及寻址方法
2
必做
3
汇编程序上机过程
2
必做
4
分支程序
2
选做
5
多重循环程序
2
必做
6
子程序
2
必做
微机接口部分
1
系统认识及内存扩展实验
2
必做
2
并行口8255A的应用实验
2
必做
3
定时/计算器8253应用实验
2
必做
4
8251A串行接口应用实验
2
必做
5
8259A中断控制应用实验
2
选做
6
A/D转换0809应用试验
2
选做
7
综合实验
(一)
8
综合实验
(二)
合计
18
四、学生应达到的实验能力与标准
1.学会DEBUG调试软件的应用,熟悉计算机指令和内存数据存储方式;
2.掌握汇编语言的循序、分支、循环结构的编程思想;
3.对微机原理中的各个硬件环节有初步的认识及实际操作能力;
五、实验成绩的考核与评定办法
根据学生的实验预习、实验纪律、实验动手能力及实验报告结果进行综合评定,给出优、良、中、及格、不及格。
要求:
完成实验后,收拾现场,分析总结新生儿湿疹写出报告。
主要仪器设备:
DVCC-5286JH+教学实验系统一台和PC机一台。
六、实验中注意事项:
1.分组领出仪器设备,自行连接系统,编程上机实验;
2.注意安全,防止破坏系统;
3.实验完成后,收拾现场,交还仪器设备,登记销帐。
本实验指导书由曹建民等老师编写,由于时间仓促、水平有限,不尽之处,敬请指正。
目录
微机原理部分6
实验1DOS常用命令及8088/86指令使用6
1.1实验目的6
1.2实验类型6
1.3内容及步骤6
1.3.1DOS常用命令练习6
1.3.2DEBUG命令使用7
1.3.38088常用指令练习8
1.4实验报告10
附1:
动态调试器DEBUG使用10
实验2内存操作数及寻址方法12
2.1实验目的12
2.2实验类型12
2.3实验内容和步骤12
2.3.1内存操作数及各种寻址方式使用12
2.3.2求累加和程序13
2.3.3多字节加法程序14
2.4自编程序14
2.5实验报告14
实验3汇编语言程序上机过程15
3.1实验目的15
3.2实验类型15
3.3实验内容15
3.4实验步骤16
3.5实验报告16
实验4分支程序(选做)17
4.1实验目的17
4.2实验类型17
4.3实验内容17
4.4实验步骤18
4.5实验报告18
实验5多重循环程序19
5.1实验目的19
5.2实验类型19
5.3实验内容19
5.4实验步骤20
5.5实验报告20
实验6子程序21
6.1实验目的21
6.2实验类型21
6.3实验内容及步骤21
6.3.1利用堆栈传递参数的子程序调用(求累加和)21
6.4实验报告23
接口实验部分24
实验1系统认知及内存扩充实验24
1.1实验目的24
1.2实验类型24
1.3实验设备24
1.4实验内容及步骤24
1.4.1进入系统24
1.4.2内存扩容验证内容25
1.4.3系统操作练习
(1)25
1.4.4系统操作练习
(2)26
1.5实验报告及思考题27
实验2中断特性及8259应用编程实验28
2.1实验目的28
2.2实验类型28
2.3实验内容及步骤28
2.3.1预备知识28
2.3.28259应用实验31
2.4实验报告和思考题36
实验38255A并行接口应用实验37
3.1实验目的37
3.2实验类型37
3.3实验内容及步骤37
3.3.1预备知识37
3.3.2实验内容39
3.4实验报告和思考题42
实验48253定时/计数器应用实验43
4.1实验目的43
4.2实验类型43
4.3实验内容及实验步骤43
4.3.1预备知识43
4.3.28253计数器应用实验内容
(1)45
4.4实验报告和思考题46
实验58251串行接口应用实验48
5.1实验目的48
5.2实验类型48
5.3实验内容及步骤48
5.3.1预备知识48
5.3.28251串行接口应用实验49
5.4实验报告和思考题56
实验6ADC0809的A/D转换实验57
6.1实验目的57
6.2实验类型57
6.3实验内容及步骤57
6.3.1准备知识57
6.3.2实验内容57
6.4实验报告和思考题60
附录61
附录1汇编语言常用出错信息62
附录2动态调试工具软件DEBUG命令表66
附录3常用DOS功能调用(INT21H)67
附录4BIOS调用72
微机原理部分
实验1DOS常用命令及8088/86指令使用
1.1实验目的
通过实验掌握下列知识:
①DOS命令:
CD,DIR,MD。
②8088指令:
MOV,ADD,ADC,SUB,SBB,DAA,XCHG。
③DEBUG命令:
A,D,E,F,H,R,T,U。
④BCD码,ASCII码及用十六进制数表示二进制码的方法。
⑤8088寄存器:
AX,BX,CX,DX,F,IP。
⑥指令和数据的十六进制储存方式。
1.2实验类型
验证型实验
1.3内容及步骤
1.3.1DOS常用命令练习
①开机后,用鼠标左键单击“开始→程序→附件→C:
\”切换到命令提示符窗口下,操作过程见图1-1。
图1-1切换到命令提示符窗口的操作步骤
②出现提示符后(此时按下ALT+Enter将得到全屏显示界面)键入命令DIR,查看此目录下所有文件,见图1-2。
③键入命令E:
↙进入E盘,再键入DIR↙查看E盘的所有文件。
说明:
公共计算机房为了防止学生误操作,一些C和D磁盘或子目录是设置为只读属性的,E盘目录下面及其下面的子目录是完全开放的。
为了防止学生所作文件因不能存盘而丢失,建议一般操作练习在E盘目录下运行。
④键入MDMASM↙在E盘根目录下创建一个MASM的文件夹,键入CDMASM↙进入该文件夹,再健入DIR差看该目录里的文件(应该是空文件夹)。
⑤键入EXIT↙,退出DOS返回windows,利用资源管理器差看E盘目录下自己创建的MASM文件夹及其内容,和在DOS下差看的结果比较。
图1-2切换到命令提示符窗口的界面
在操作时要注意提示信息,并按提示操作。
1.3.2DEBUG命令使用
①在DOS环境,键入DEBUG进入DEBUG控制状态,显示提示符'-'。
②用命令F1001LF'A'将'A'的ASCII码填入内存。
③用命令D1001LF观察内存中的十六进制码及屏幕右边的ASCII字符。
④用命令F1101LF41重复上二项实验,观察结果并比较。
⑤用命令E100303132……3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码?
⑥用H命令检查下列各组十六进制数加减结果并和你的手算结果比较:
(1)34H,22H
(2)56H,78H(3)A5,79H(4)1284H,5678H(5)A758H,347FH
⑦用R命令检查各寄存器内容,注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。
⑧用R命令将AX,BX内容改写为1050H及23A8H。
DEBUG工具软件的执行界面示意见图1-3,其中标志寄存器的内容含义见表1-1。
图1-3执行debug以及其“t”“r”“d”命令的界面
表1-1标志寄存器显示内容一览表
标志位显示
1
0
CF
CY()
NC()
ZF
ZR()
NZ()
SF
NG()
PL()
AF
AC()
NA()
OF
OV()
NV()
PF
PE()
PO()
DF
DN()
UP()
IF
EI()
DI()
1.3.38088常用指令练习
1.传送指令
用A命令在内存100H处键入下列内容:
-A0100↙
****:
0100MOVAX,1234↙
****:
0103MOVBX,5678↙
****:
0106XCHGAX,BX↙
****:
0108MOVAH,35↙
****:
010AMOVAL,48↙
****:
010DMOVDX,75AB↙
****:
010FXCHGAX,DX↙
****:
0111↙
-
注:
****为段寄存器CS的值,是由计算机随机产生的;↙为回车操作。
用U命令检查键入的程序并记录,特别注意左边的机器码。
-U0100↙
用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。
并注意标志位有无变化。
-T=0100↙
-T↙
-T↙
┇
2.加减法指令
1)用A命令在内存100H处键入下列内容:
MOVAH,34
MOVAL,22
ADDAL,AH
SUBAL,78
MOVCX,1284
MOVDX,5678
ADDCX,DX
SUBCX,AX
SUBCX,CX
2)用U命令检查键入的程序及对应的机器码。
3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。
思考:
这次运行还是键入T,行不行?
怎么办?
用R命令检查一下IP的内容。
注意T命令与IP的关系。
3.带进位加减法
1)用A命令在内存200H处键入下列内容,并用U命令检查:
MOVAH,12
MOVAL,84
MOVCH,56
MOVCL,78
ADDAL,CL
ADCAH,CH
MOVDH,A7
MOVDL,58
SUBDL,7F
SBBDH,34
2)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。
3)上面这段程序若改用16位操作指令达到同样结果,怎么改?
试修改并运行之。
4.BCD码加减法
1)内容:
MOVAL,58
ADDAL,25
DAA
2)要求:
用A命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。
1.4实验报告
1分别比较2/3/4小节内容中各条指令运行结果和手算结果,注释程序。
2比较H命令十六进制数加减法手算结果及实验结果。
3思考2小节中,为什么要修改IP指令的内容?
4在3小节中自编程序运行记录(列出自编程序)。
5实验体会和建议。
附1:
动态调试器DEBUG使用
DEBUG.COM是DOS的外部命令,也是一个非常方便的汇编程序分析工具。
该程序的使用方式和其他系统程序类似。
其特点是:
1每个功能都用一个字符作为命令来实现;
2默认采用十六进制表示;
3操作格式灵活。
4命令提示符为“-”
1.DEBUG的启动
DEBUG的启动格式如下:
DEBUG[<文件说明>][<参数>]
其中,文件说明指被调试的程序的全名,参数是该程序所涉及的参数,下面是几个启动DEBUG的例子。
CD>DEBUGDISKCOPY.COMA:
B:
↙
CD>DEBUGTT.COM↙
CD>DEBUG↙
第一句是启动DISKCOPY文件,监督执行从A:
拷贝到B:
的操作。
第二句是调试TT.COM程序。
第三句是启动DEBUG,不装入文件。
DEBUG装入内存后,接着就从磁盘上查找被调试的程序,找到后将其装入内存(对于后缀为EXE的文件,DEBUG将它装入到最低可用的区段中,并从100H开始装入),然后显示出提示符“-”。
等待用户进一步输入命令。
DEBUG命令中使用的地址格式约定如下:
[<段地址>:
]<位移量>
其中<段地址>可以是段寄存器名,或者是十六进制数,也可以默认。
例如:
CS:
0100
2212:
0100
而地址范围的格式为:
<段地址>:
<始位移量><末位移量>
或
<段地址>:
<始位移量>L<长度>
例如:
列写地址范围。
CS:
100110
2123:
100L10
2.退出DEBUG
当完成动态调试任务时,可使用Q命令退出并返回操作系统。
格式如下:
-Q↙
DEBUG的其他命令及其格式见附录3动态调试工具软件DEBUG命令表。
实验2内存操作数及寻址方法
2.1实验目的
通过实验掌握下列知识:
①DEBUG命令:
G,N,W,L及Q。
②8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。
③8088指令:
INC,DEC,LOOP,INT3,INT20H,寄存器SI,DI。
④8088汇编语言伪操作:
BYTEPTR,WORDPTR。
⑤求累加和程序和多字节加减法程序。
2.2实验类型
验证型实验
2.3实验内容和步骤
2.3.1内存操作数及各种寻址方式使用
1.程序内容
MOVAX,1234
MOV[1000],AX
MOVBX,1002
MOVBYTEPTR[BX],20
MOVDL,39
INCBX
MOV[BX],DL
DECDL
MOVSI,3
MOV[BX+SI],DL
MOV[BX+SI+1],DL
MOVWORDPTR[BX+SI+2],2846
2.操作步骤
1)用A命令键入上述程序,并用T命令逐条运行。
2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。
3.注意
D命令显示结果中右边的ASCII字符及双字节数存放法。
4.思考
有关指令中BYTEPTR及WORDPTR伪操作不加行不行?
试一试。
2.3.2求累加和程序
1.程序内容
MOVBX,1000
MOVCX,10
SUBAX,AX
LOP:
ADDAL,[BX]
ADCAH,0
INCBX
J:
LOOPLOP
INT3
2.操作步骤
1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。
2)用命令NAA将此程序命名为文件AA(文件名可任取)。
3)用R命令将BX:
CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。
4)用命令W100将此程序存到AA命名的磁盘文件中。
5)用命令Q退出DEBUG。
6)用命令DEBUGAA再次调入DEBUG和文件AA,可用U命令检查调入程序。
若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。
7)用E命令在内存地址1000H处键入16个数字
8)用命令G=10J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。
9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。
10)重复GJ与T,再检查AX是否正确。
11)用G命令使程序运行到结束,检查AX值是否正确。
2.3.3多字节加法程序
1.程序内容
MOVDI,1000
MOVCX,8
MOVSI,2000
CLC
LOP:
MOVAL,[SI]
ADC[DI],AL
INCSI
INCDI
LOOPLOP
INT20
2.操作步骤
1)用命令键入此程序。
2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。
3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?
),是否正确?
4)将INT20H指令改为INT3,有何区别?
若这条指令不加,行不行?
试一试。
2.4自编程序
用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。
调试并做记录。
2.5实验报告
1说明2.3.1中各条指令的寻址方式,并注释各有关单元数据的察看方式,注释程序。
2说明2.3.2中的手算结果,并和AX内容比较是否正确?
3说明2.3.3中的结果保存在哪里?
并验算结果是否正确?
4)将INT20H指令改为INT3,有何区别?
若这条指令不加,行不行?
5自编程序记录及运行结果。
6实验体会和建议。
实验3汇编语言程序上机过程
3.1实验目的
①掌握常用工具软件EDIT,MASM和LINK的使用。
②伪指令:
SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。
③利用INT21H的1号功能实现键盘输入的方法。
④了解.EXE文件和.COM文件的区别及用INT21H4C号功能返回系统的方法。
3.2实验类型
验证型实验
3.3实验内容
DATASEGMENT
MESSAGEDB'THISISASAMPLEPROGRAMOFKEYBOARDANDDISPLAY'
DB0DH,0AH,'PLEASESTRIKETHEKEY!
',0DH,0AH,'$'
DATAENDS
STACKSEGMENTPARASTACK'STACK'
DB50DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMESSAGE
MOVAH,9
INT21H
AGAIN:
MOVAH,1
INT21H
CMPAL,1BH
JEEXIT
CMPAL,61H
JCND
CMPAL,7AH
JAND
ANDAL,11011111B
ND:
MOVDL,AL
MOVAH,2
INT21H
JMPAGAIN
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.4实验步骤
①用用文字编辑工具(常用EDIT或记事本)将源程序输入,其扩展名为.ASM。
②用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。
若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。
③用TYPE命令显示产生的.LST文件。
④用LINK将.OBJ文件连接成可执行的.EXE文件。
⑤在DOS状态下运行LINK产生的.EXE文件。
即在屏幕上显示标题并提示你按键。
每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。
按ESC键可返回DOS。
若未出现预期结果,用DEBUG检查程序。
⑥调试通过后,修改并自编程序,使得输入“T”,在屏幕上显示“TEST”,不影响其它。
上机试验过程参见图3-1。
图3-1汇编语言程序的建立及汇编过程
3.5实验报告
⑴汇编,连接及调试时产生的错误,其原因及解决办法。
⑵思考
①若在源程序中把INT21H的'H'省去,会产生什么现象?
②把INT21H4CH号功能改为INT20H,行不行?
⑶写出自编的程序,并注释。
⑷实验体会和建议。
实验4分支程序(选做)
4.1实验目的
①掌握利用间接转移指令JMPBX实现多岔分支的方法。
②宏替换指令MACRO及ENDM,符号扩展指令CBW。
4.2实验类型
验证型实验
4.3实验内容
DISPMACROMSG
LEADX,MSG
MOVAH,9
INT21H
MOVAH,4CH
INT21H
ENDM
STACKSEGMENTSTACK
DB256DUP(0)
STACKENDS
DATASEGMENT
PARMDB16DUP(?
)
BRTABLEDWOFFSETBRA,OFFSETBRB,OFFSETBRC
DWOFFSETBRD,OFFSETBRE,OFFSETBRF
MSGADB'ILIKEMYIBM-PC!
$'
MSGBDB'HOWAREYOU!
$'
MSGCDB'NIBAOCOLLEGE$'
MSGDDB'THISISASAMPLE$'
MSGEDB'WELLCOMEUSEMYCOMPUTER!
$'
MSGFDB'THEASSEMBLERLANGUAGEOF8088$'
ERRMSDB'ERROR!
!
INVALIDPARAMETER!
!
$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVES,AX
MOVSI,80H
LEADI,PARM
MOVCX,16
CLD
REPMOVSB
MOVDS,AX
CMPPARM,2
JCERR
MOVAL,PARM+2
SUBAL,30H
JCERR
CMPAL,6
JNCERR
LEABX,BRTABLE
CBW
ADDAX,AX
ADDBX,AX
JMP[BX]
ERR:
DISPERRMS
BRA:
DISPMSGA
BRB:
DISPMSGB
BRC:
DISPMSGC
BRD:
DISPMSGD
BRE:
DISPMSGE
BRF:
DISPMSGF
CODEENDS
ENDSTART
4.4实验步骤
①输入并汇编此程序。
要求生成一个.LST文件。
用TYPE命令检查.LST文件,观察宏替换命令产生的指令集。
②将OBJ文件连接成EXE文件(假设为AA.EXE)。
③用命令DEBUGAA.EXEXXX(XXX为任意字符串)将AA.EXE带参数调入DEBUG用D命令观察DS:
0080处的命令行,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深圳大学 微机 接口 实验 指导书 最新版