微机原理与接口技术实验讲义.docx
- 文档编号:4006914
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:83
- 大小:791.07KB
微机原理与接口技术实验讲义.docx
《微机原理与接口技术实验讲义.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验讲义.docx(83页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术实验讲义
实验一熟悉汇编语言环境及建立汇编的过程
一、实验目的
1.熟悉汇编语言环境。
2.掌握汇编语言的上机过程。
3.了解汇编语言程序的编程格式。
二、实验要求
通过一个小程序的编写达到以上的实验目的。
三、实验原理
1.汇编语言程序的上机过程
用汇编语言编写的程序称为源程序,源程序也不能由机器直接执行,而必须翻译成机器代码组成的目标程序,这个翻译过程称为汇编。
在微型机中,当前绝大多数情况下,汇编过程是通过软件自动完成的,用来把汇编语言编写的程序自动翻译成目标的软件叫汇编程序,汇编过程如下:
2.汇编、连接过程
四、实验步骤
1、打开编辑环境
2、输入程序
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAL,01H
MOVBL,40H
ADDAL,BL
MOVDL,AL
MOVAH,02H
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3、保存源程序,以.ASM为扩展名。
C:
\MASM\1.ASM
4、建立汇编过程
(1)用宏汇编程序汇编源程序C:
\MASM>MASM1.ASM
汇编程序有3个输出文件【.obj】文件,【.LST】文件,【.CRF】文件,.OBJ文件是我们所需要的文件。
汇编程序还有另外一个重要功能:
可以给出源程序中的错误信息。
(2)用连接程序将OBJ文件转换为可执行的EXE文件C:
\MASM>LINK1.OBJ
5、执行程序:
C:
\MASM>1.EXE
实验二两个多位十进制数相加的实验
一、实验目的:
1.学习数据传送和算术运算指令的用法。
2.熟悉在PC机上建立汇编链接调试和运行汇编语言程序的过程。
二、实验内容:
将两个多位十进制数相加。
要求加数和被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
三、程序框图
四、实验原理
1.ADC带进位相加指令的功能和指令格式
2.AAA、DAA、AAS、DAS指令的功能和指令格式
3.伪指令SEGMENT、ENDS、ASSUME、MACRO、ENDM的使用
4.子程序的定义(PROCNEAR/FARENDP),以及子程序调用和返回指令:
CALL、RET的使用
5.循环指令LOOP的格式以及退出循环的条件
6.中断指令的使用
五、实验参考程序
CRLFMACRO;建立回车换行宏
MOVDL,0DH
MOVAH,02H
INT21H
MOVDL,0AH
MOVAH,02H
INT21H
ENDM;宏定义结束
DATASEGMENT;数据段
DATA1DB33H,39H,31H,37H,34H;第一个数据(作为加数)
DATA2DB36H,35H,30H,38H,32H;第二个数据(作为被加数)
DATAENDS
CODESEGMENT;代码段
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVSI,OFFSETDATA2
MOVBX,05
CALLDISPL;显示被加数
CRLF
MOVSI,OFFSETDATA1
MOVBX,05
CALLDISPL;显示加数
CRLF
MOVDI,OFFSETDATA2
CALLADDA;加法运算
MOVSI,OFFSETDATA1
MOVBX,05
CALLDISPL;显示结果
CRLF
MOVAX,4C00H
INT21H
DISPL PROCNEAR;显示子程序段
DS1:
MOVAH,02H
MOVDL,[SI+BX-1];显示字符串中的一个字符
INT21H
DECBX;修改偏移量
JNZDS1
RET
DISPL ENDP
ADDA PROCNEAR
MOVDX,SI
MOVBP,DI
MOVBX,05
AD1:
SUBBYTEPTR[SI+BX-1],30H;将ASCII码表示的数字串
SUBBYTEPTR[DI+BX-1],30H;转化位十六进制的字符串
DECBX
JNZAD1
MOVSI,DX
MOVDI,BP
MOVCX,05;包括进位位共5位
CLC;清进位位
AD2:
MOVAL,[SI]
MOVBL,[DI]
ADCAL,BL;带进位相加
AAA;非组合BCD码的加法调整
MOV[SI],AL;结果送加数区
INCSI
INCDI;指向下一位
LOOPAD2;循环
MOVSI,DX
MOVDI,BP
MOVBX,05
AD3:
ADDBYTEPTR[SI+BX-1],30H;十六进制的数字串转化
ADDBYTEPTR[DI+BX-1],30H;为ASCII码表示的数字串
DECBX
JNZAD3
RET
ADDAENDP
CODEENDS
ENDSTART
六、实验步骤
1.按实验要求编写程序
2.汇编连接程序生成可执行文件
3. 执行程序观察结果
七、拓展练习
编写程序完成两个多位十进制数相减。
要求显示结果格式为:
被减数
减数
相减结果
实验三字符串匹配程序
一、实验目的:
掌握显示提示信息的方法及接收键盘输入信息的方法。
二、实验内容:
编写程序,实现两个字符串的比较。
如相同,则显示“MATCH”,否则,显示”NOMATCH”。
三、程序框图
四、实验原理
1、DB、DUP、EQU等伪指令的功能以及使用格式
INT21H的09H子功能的功能、工作情况以及使用格式
2、INT21H的0AH子功能的功能、工作情况以及使用格式
3、串扫描指令SCASB的功能以及使用格式
4、入栈、出栈指令PUSH、POP的使用情况
五、实验参考程序
CRLFMACRO
MOVAH,02H
MOVDL,0DH
INT21H
MOVAH,02H
MOVDL,0AH
INT21H
ENDM
DATASEGMENT
MESS1DB'MATCH',0DH,0AH,'$'
MESS2DB'NOMATCH',0DH,0AH,'$'
MESS3DB'INPUTSTRING1:
',0DH,0AH,'$'
MESS4DB'INPUTSTRING2:
',0DH,0AH,'$'
MAXLEN1DB81
ACTLEN1DB?
STRING1DB81DUP(?
)
MAXLEN2DB81
ACTLEN2DB?
STRING2DB81DUP(?
)
DATAENDS
STACKSEGMENT
STADB20DUP(?
)
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,DATA
MOVES,AX
MOVAX,STACK
MOVSS,AX
MOVSP,TOP;段寄存器及堆栈初始化
MOVAH,09H
MOVDX,OFFSETMESS3
INT21H;显示输入提示1
MOVAH,0AH
MOVDX,OFFSETMAXLEN1
INT21H;接收键入的字符串1
CRLF;回车换行
MOVAH,09H
MOVDX,OFFSETMESS4
INT21H;显示输入提示2
MOVAH,0AH
MOVDX,OFFSETMAXLEN2
INT21H;接收键入的字符串2
CRLF
CLD
MOVSI,OFFSETSTRING1
MOVCL,[SI-1]
MOVCH,00H;字符串1的实际字符数送CX
KKK:
MOVDI,OFFSETSTRING2
PUSHCX
MOVCL,[DI-1]
MOVCH,00H;字符串2的实际字符数送CX
MOVAL,[SI]
MOVDX,DI
REPNZSCASB;将串1中的一个字符和串2中的所有字符作比较
JZGGG;比较相等转GGG
INCSI;从串1中取下一个字符
POPCX
LOOPKKK
MOVAH,09H
MOVDX,OFFSETMESS2
INT21H;显示’NOMATCH'
JMPPPP
GGG:
MOVAH,09H
MOVDX,OFFSETMESS1
INT21H;显示'MATCH'
PPP:
MOVAX,4C00H
INT21H;返回DOS
CODEENDS
ENDSTART
六实验步骤
1.按实验要求编写程序
2.汇编连接程序生成可执行文件
3.执行程序观察结果
七、拓展练习
编写程序,实现两个字符串的比较。
如字符长度相同并且对应字符顺序相同,则显示“MATCH”,否则,显示“NOMATCH”。
实验四字符和数据的显示程序
一、实验目的
掌握字符和数据的显示方法。
二、实验内容
先显示信息“INPUTSTRING,THEENDFLAGIS$”,再接收字符。
如为非数字字符即非“0——9”,则计数器加1,并显示字符。
如为数字,则直接显示,但不计数。
三、程序框图
Y
NY
N
四、实验原理
1.程序跳转指令JMP的功能及用法
2.比较指令CMP、JB、JBE等指令的功能及用法
3.循环移位指令ROL的用法及功能
4.逻辑指令AND的功能及用法
五、实验参考程序
CRLFMACRO
MOVAH,02H
MOVDL,0DH
INT21H
MOVAH,02H
MOVDL,0AH
INT21H
ENDM
DATASEGMENT
MESS1DB‘INPUTSTRING,THEENDFLAGIS$’
MESS2DB‘NON-DIGITALCHARCOUNT=$’
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX;初始化
MOVBX,0000H;计数值清0
MOVAH,09H
MOVDX,OFFSETMESS1
INT21H
MOVAH,02H
MOVDL,’$’
INT21H;显示提示信息
CRLF
XXX:
MOVAH,01H
INT21H;接收键入字符
CMPAL,’$’
JZUUU;是’$’字符则转UUU
CMPAL,0DH
JNZIII
CRLF;是回车则回车换行
JMPVVV
III:
CMPAL,30H
JBYYY
CMPAL,39H
JBEVVV;非’0’——’9’转YYY
YYY:
INCBX;计数值加1
VVV:
JMPXXX
UUU:
CRLF
MOVAH,09H
MOVDX,OFFSETMESS2
INT21H;显示表头
MOVAX,BX
CALLDISP;显示结果
MOVAH,02H
MOVDL,’H’
INT21H;十六进制数标志
MOVAH,4CH
INT21H
DISPPPROCNEAR;显示子程序,按十六进制数方式显示AL中的数
MOVBL,AL;AL中数送BL
KKK:
MOVDL,BL
MOVCL,04
ROLDL,CL
ANDDL,0FH
CALLDISPL;显示字节高位
MOVDL,BL
ANDDL,0FH
CALLDISPL;显示字节低位
RET
DISPPENDP
DISPLPROCNEAR
ADDDL,30H;将数值转为对应的ASCII码
CMPDL,3AH
JBDDD;是’0’——’9’转DDD
ADDDL,27H;是’A’——’F’
DDD:
MOVAH,02H
INT21H;显示DL中字符
RET
DISPLENDP
DISPPROCNEAR;显示子程序,按十六进制数方式显示AX中的数
PUSHAX;入栈保存
MOVAL,AH
CALLDISPP;显示高字节
POPAX
CALLDISPP;显示低字节
RET
DISPENDP
CODEENDS
ENDSTART
六、实验步骤
1.按实验要求编写程序
2.汇编连接程序生成可执行文件
3.执行程序观察结果
七、拓展练习
编写程序,先显示信息“INPUTSTRING,THEENDFLAGIS$”,再接收字符。
如为数字字符即为“0——9”,则计数器加1,并显示数据。
如为数字,则直接显示,但不计数。
实验五将键盘输入的小写字母转换成大写字母
一、实验目的
了解小写字母和大写字母在计算机内的表示方法,并掌握如何进行转换。
二、实验内容
接收键盘字符(以^-C为结束),并将其中的小写字母转变为大写字母,然后进行显示。
三、程序框图
N
Y
N
N
Y
四、实验原理
1.比较指令JA的功能及用法
2.减法指令SUB的功能及用法
五、实验参考程序
DATASEGMENT
BUFDB82DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX;段寄存器初始化
MOVBX,OFFSETBUF;BX指向字符行缓冲区首址
KKK:
MOVSI,00H;指针SI清0
GGG:
MOVAH,01H;接收键入字符
INT21H
CMPAL,03H
JZPPP;是CTRL-C键则转结束
CMPAL,0DH
JZBBB;是回车键则转BBB
CMPAL,61H
JBTTT
CMPAL,7AH
JATTT;不是小写字母转TTT
SUBAL,20H;小写字母转化为大写字母
TTT:
MOV[BX+SI],AL;存入字符行缓冲区中
INCSI;指针加1
JMPGGG
BBB:
MOV[BX+SI],AL
MOVAL,0AH
MOV[BX+SI+1],AL;加入换行符
MOVAL,'$'
MOV[BX+SI+2],AL;再加一个'$'标志字符
MOVAH,09H
MOVDX,BX
INT21H;显示转换后的字符串
JMPKKK
PPP:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
六、实验步骤
1、按实验要求编写程序
2、汇编连接程序生成可执行文件
3、执行程序观察结果
七、拓展练习
编写程序,接收键盘字符(以^-C为结束),并将其中的大写字母转变为小写字母,然后进行显示。
实验六认识实验系统
一、实验目的
1、熟悉实验设备,了解实验箱的工作情况。
2、熟悉实验的软件系统,能对该实验平台进行熟练的操作。
3、了解实验中的连线方法。
二、实验要求
通过完成交通灯实验了解实验设备、软件操作以及连线方法。
三、实验原理
1、系统概述
1.1系统主要特点
1、8086实验系统采用主频为14.7MHZ的8088CPU为CPU,并以最小工作方式构成系统。
2、配有二片61C256静态RAM构成系统的64K基本内存,存放用户程序/数据,地址范围为00000H-0FFFFH,其中00000H-00FFFH监控占用。
配有二片W27C512EEPROM(64K),EP1存放监控程序,地址范围F0000H-FFFFFH;EP2存放实验程序,为实验系统独立运行时下载实验程序提供方便。
3、自带键盘、显示器,能独立运行。
4、配备Windows/XP仿真调试软件,支持机器码、汇编、C等三种语言的开发和调试。
5、提供标准RS232异步通讯口,以连接PC机。
6、配有各种微机常用I/O接口芯片,定时/计数接口芯片8253、A/D转换接口芯片0809、D/A转换接口芯片0832、中断控制器8259、键盘显示接口8279、并行I/O接口芯片8255、通讯接口芯片8250、8251、485和DMA控制器8237等。
7、配备键盘、数码显示、发光二极管显示、开关量、LED16×16、LCD12864、温度压力、步进电机、直流电机、扬声器等输入输出设备。
8、带有脉冲发生器、计数器电路、单脉冲发生器等常用电路。
9、可以单步、断点、全速调试各实验程序。
10、内置稳压电源,为实验提供+5V/3A、±l2V/0.5A直流稳压电源。
1.2系统资源分配
8088有1兆存储空间,系统提供用户使用的空间为00000H-0FFFFH,用于存放、调试实验程序。
具体分配如下:
⑴存贮器地址分配
⑵I/O地址分配
(一):
I/O地址分配
(二):
监控占用00004H-0000FH作为单步(T)、断点(INT3)、无条件暂停(NMI)中断矢量区,用户也可以更改这些矢量,指向用户的处理,但失去了相应的单步、断点、暂停等监控功能。
F0000H-FFFFFH监控程序区系统占用。
2、系统组成和结构
2.1系统接口定义
(1)CZ11:
用户实验通讯接口;
(2)CZ4:
打印接口;
(3)JX0,JX17为系统提供的数据总线接口;
(4)CZ7:
系统提供的扩展接口;
(5)
JX12、JX14:
液晶显示接口。
LCD1602引脚定义:
通过JX12、JX14接口,DJ8086系列实验仪可以驱动一个标准的点阵字符液晶显示屏(16*1行、16*2行、16*4行)等,引脚信号如下图:
LCD12864引脚定义:
通过JX12、JX14接口,DJ8086系列实验仪可以驱动显示一个标准的点阵液晶显示屏(128*64)等。
(6)开关及跳线:
JK:
为键盘/显示选择开关。
JK置系统,键盘/显示选择系统配置的8255接口芯片,进入监控状态;JK置外接,由用户选择自定义的I/O接口芯片控制。
JXT:
为ISP单元晶振选择跳线器。
跳线器短接XT,锁紧插座18,19脚和晶振源相连,反之,锁紧插座18,19脚和晶振源断开。
2.2系统硬件组成
(1)LED发光二极管指示电路:
实验台上包括16只发光二极管及相应驱动电路。
见图2-6,Ll-L16为相应发光二极管驱动信号输入端,该输入端为低电平“0”时发光二极管亮。
(箱式实验机简化为12只发光二极管)
图2-1
(2)逻辑电平开关电路:
见图2-7。
实验台上有8只开关Kl-K8,与之相对应的K1-K8各引线孔为逻辑电平输出端。
开关向上拨相应插孔输出高电平“l”,向下拨相应插孔输出低电平“0”。
图2-2
(3)单脉冲电路:
实验台上单脉冲产生电路如图2-8,标有“
”和“
”的两个引线插孔为正负单脉冲输出端。
AN0为单脉冲产生开关,每拨动一次来回产生一个单脉冲。
图2-3
(4)分频电路:
该电路由一片74LS393组成,见图2-9。
T0-T7为分频输出插孔。
该计数器在加电时由RESET信号清零。
当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。
图2-4
(5)脉冲发生电路:
实验台上提供8MHZ的脉冲源,见图2-10,实验台上标有8MHZ的插孔,即为脉冲的输出端。
图2-5
(6)485接口电路:
图2-6
(7)系统通讯接口电路
图2-7
(8)数码管显示电路
图2-8
(9)键盘电路
图2-9
3、键盘监控程序的功能和操作方法
3.1键盘显示
⑴ 系统配备6位LED显示器,左边4位显示地址,右边2位显示该地址内容。
⑵ 系统具有24个注塑键盘,左边l6个是数字键,右边8个是功能键。
在键盘监控状态下用户可以通过一组键命令完成下列操作
· 读写寄存器内容
· 读写存储器内容
· EPROM传送
· 断点设置/清除
· 通过单步、断点、连续等功能来调试运行实验程序。
3.2功能键操作说明一缆表
3.3 监控程序命令及操作
⑴ 存贮器单元内容显示修改
操作:
××××ME即在提示符“P.”下,先输入四位存贮单元地址,再按ME键,显示器左边4位显示地址,右边2位显示该单元的内容。
此时
·按NX键使地址加1再显示。
·按LS键使地址减l再显示。
·键入十六进制数据,则将改写现行地址单元的内容。
·按MON键则返回监控,显示提示符“P.”。
⑵ 寄存器内容显示修改
操作:
×RG即在“P.”提示符下,先输入寄存器代号,再按RG键,显示器右边4位显示寄存器中内容,左1、2位显示寄存器名。
此时:
·按NX键,则依次循环显示下一个寄存器中的内容。
·按LS键,则依次显示上一个寄存器中的内容。
·输入十六进制数字,则该寄存器中的内容被修改。
·按MON键则返回监控,显示提示符“P.”。
⑶ EPROM传送
操作:
在提示符“P.”状态下,按SCAL键,开始EPROM传送,把EPROM中1000H~FFFFH内容传送到相应的内存中,传送时数码管显示闪动的“——”,传送完毕返回监控,显示提示符“P.”。
⑷ 单步运行
操作:
有三种状态都可以进入单步操作(段地址固定为0000H)
·在监控提示符“P.”状态下,按STEP键,从默认的起始地址IP=1000H单元开始单步运行一条指令语句。
·在存贮器单元读写状态(即左边4位显示存贮器地址,右边2位显示存贮器单元内容)下,从当前存贮器地址开始单步运行一条指令语句。
·先输入四位起始地址,再按STEP键,则从输入的起始地址开始运行一条指令语句。
每运行一条语句,显示器显示下一条指令语句的地址及其内容。
⑸ 连续运行
操作:
有三种状态可以进入连续运行
·在监控提示符“P.”状态下,按EX/FV键,从默认起始地址CS=0000H,IP=1000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 讲义