微机原理与接口技术实验指导16学时.docx
《微机原理与接口技术实验指导16学时.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验指导16学时.docx(25页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术实验指导16学时
《微机原理与接口技术》
实验讲义
(第四版)
编写:
微机原理课程组
单位:
信息工程学院
时间:
2011年9月
第一章 系统概述
引言本《实验指导书》适用于DJ系列8086/88微机实验开发系统,本书就DJ-598K实验开发系统的8086部分作详细介绍,其它机型均可参考。
在使用DJ系列单片机、微机实验开发系统之前,请务必先阅读本章内容,以便对实验系统的硬件结构、硬件信息有个全面了解,对后面实验有必不可少的帮助。
1.1系统主要特点
1、598K是集51、96、8088(以下简称88)三大系列CPU于一体的三合一实验系统。
内置5196仿真器和8086实验系统。
该系统以8086实验系统作为基板,自成一体,可单独作为8086微机原理和接口实验使用,也可分别叠插51或96CPU卡,构成51/96单片机实验开发系统,598K系统结构紧凑,资源充分共享,无总线开关切换,自动识别CPU的类型。
2、8086实验系统采用主频为14.7MHZ的8088CPU为CPU,并以最小工作方式构成系统。
3、配有二片61C256静态RAM构成系统的64K基本内存,存放用户程序/数据,地址范围为00000H-0FFFFH,其中00000H-00FFFH监控占用。
配有二片W27C512EEPROM(64K),EP1存放监控程序,地址范围F0000H-FFFFFH;EP2存放实验程序,为实验系统独立运行时下载实验程序提供方便。
4、自带键盘、显示器,能独立运行,为实验程序调试带来方便。
5、配备Windows/XP仿真调试软件,支持机器码、汇编、C等三种语言的开发和调试。
6、提供标准RS232异步通讯口,以连接IBM-PC机。
7、配有各种微机常用I/O接口芯片,定时/计数接口芯片8253、A/D转换接口芯片0809、D/A转换接口芯片0832、中断控制器8259、键盘显示接口8279、并行I/O接口芯片8255、通讯接口芯片8250、8251、485和DMA控制器8237等。
8、配备键盘、数码显示、发光二极管显示、开关量、LED16×16、LCD12864、温度压力、步进电机、直流电机、扬声器等输入输出设备。
9、带有脉冲发生器、计数器电路、单脉冲发生器等常用电路。
10、可以单步、断点、全速调试各实验程序。
11、内置稳压电源,为实验提供+5V/3A、±l2V/0.5A直流稳压电源。
12、使用环境:
环境温度0~+40℃,无明显潮湿,无明显振动碰撞。
1.2系统资源分配
8088有1兆存储空间,系统提供用户使用的空间为00000H-0FFFFH,用于存放、调试实验程序。
具体分配如下:
⑴存贮器地址分配
⑵I/O地址分配
(一):
I/O地址分配
(二):
监控占用00004H-0000FH作为单步(T)、断点(INT3)、无条件暂停(NMI)中断矢量区,用户也可以更改这些矢量,指向用户的处理,但失去了相应的单步、断点、暂停等监控功能。
F0000H-FFFFFH监控程序区系统占用。
1.3系统配置
系统内含串行通讯和键盘显示监控的全部软硬件设施,典型配置如下:
⑴主机板+PC机
⑵主机板
二种配置的使用特点如下:
配置一:
主机板和PC机通过RS232串行口相连。
这种配置形式可以充分利用PC机的软硬件资源,实现源程序的编辑、汇编和链接和调试。
实验程序源文件(·ASM)在随机光盘598K8ASM文件夹,你可以利用PC机的键盘显示等输入输出设备完成各种软硬件实验。
配置二:
为最经济型配置,它不需要和PC机联机,自成一体,通过一组键盘命令完成所有软硬件实验,每个实验程序固化在实验监控中。
这种配置为没有PC机的用户带来极大方便。
第二章8086K实验系统与PC机联机操作
5.1 DJ-8086k软件概述
⑴ 该软件适用于DJ-8086K、DJ-8086KP、DJ-598K等实验仪。
⑵ 该软件运行环境:
该软件适宜在安装Windows98/2000/XP操作系统的PC机上运行。
5.2 DJ-8086k软件安装
运行随机光盘上“DJ-8086k.EXE”安装文件,根据提示完成软件安装,然后双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件。
5.3 DJ-8086k软件启动和联机
5.3.1启动和联机
双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件,屏幕显示DJ-8086k软件的工作窗口,底边状态栏由“下位机没有连接…”变成“连接上下位机”,说明联机成功,否则会弹出对话框提示:
“下位机没有连接…”,此时单击“OK”,实验系统和PC机处于脱机状态,然后用户根据连接硬件实际情况来设定COMl或COM2,设定方法如下:
依次单击菜单栏:
“设置(X)、通讯口设置(Z)、COM1或COM2”确定,然后点击‘打开端口’,状态设定后,系统会自动检测连接。
如果此时确定端口正确,但系统仍然没有连接,可按以下两种方法解决:
(1)单击工具栏上的“重新连接”按钮,即可联机;
(2)复位实验系统,使得数码管上显示监控提示符“P.”,然后关闭DJ-8086k软件,重新运行,故障即可排除。
5.3.2 联机失败原因及解决办法
⑴ 实验系统与PC机没有连接;
⑵ 实验系统电源没有打开;
⑶ 串口实际位置与软件设置不一致;
⑷ 通讯开关位置不正确,检查实验系统各状态设置开关是否正确;
⑸ 软件有病毒;
⑹ 实验系统或PC机处于非正常状态。
对于⑴⑵⑷⑸的错误,只要在硬件上检查一下,或用杀毒软件清毒一下即可:
如文件已被破坏或需软件升级,可到本公司网站下载,网址:
WWW.QD-DJ.CN。
对于第⑶种错误,重复5.3.1操作,对第⑹种错误,联机之前先按一下实验系统RST复位按钮,使实验系统处于P态,否则说明实验系统不正常,应送当地销售部门或返厂维修。
如PC机工作失常也会引起联机失败,可关闭DJ-8086k软件,重新运行或调换PC机试一下。
5.4 DJ-8086k软件主窗口
① 顶部为菜单栏和工具栏,提供调试全部命令和功能。
② 中间部分为工作窗口区,提供软件调试、寄存器、标志位、存储器、汇编代码对照、编译信息显示等窗口。
③ 底部为状态栏,提示软件联机状态等信息。
5.5 菜单栏和工具栏命令简介
工具栏使用:
只要移动鼠标,指向工具栏中选定的图标,即会提示该图标所执行的命令。
5.5.1 文件菜单栏
● 新建文件
单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序编辑窗口,此时可在此窗口编辑、输入源程序。
●F3打开文件
单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。
● 关闭
单击菜单栏“文件”下的“关闭”即可关闭源程序编辑窗口。
● 保存
单击菜单栏“文件”下的“保存”或按CTRL+S,即可保存文件。
●N建立新文件
分别单击“F文件”、“建立新文件”即可创建新文件,再选择“换名存盘”填入所存文件名即可。
● 另存为
单击菜单栏“文件”下的“另存为”,可弹出另存为对话框,在此可选择新的文件名和保存文件夹,单击“保存”完成保存操作。
●退出
依次单击“文件”、“退出”或单击菜单栏上的最后一个门形按钮“关闭按钮”即可退出DJ-8086k软件调试环境。
5.5.2 编辑菜单栏
剪贴CTRL+X
删除程序中选定的正文,同时将它复制到剪贴板中
复制CTRL+C
保留选定的正文,同时将它复制到剪贴板中
粘贴CTRL|+V
将剪贴板中内容复制在光标处
删除DEL
删除选中的正文
全选CTRL+A
选中源程序编辑窗口中所有的正文
ALT+BackSpace
可恢复上几次误操作
5.5.3 调试菜单栏
● 编译装载F9
打开源文件,依次单击:
调试”\“编译装载F9”或工具栏上的编译装载图标,状态栏会提示正在编译、编译成功、正在装载数据、装载数据结束,几秒钟后便会弹出‘源文件调试窗口’,如编译出错,会提示错误信息,待修改源文件正确后,重新编译装载即可。
● 连续运行
单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即全速连续运行程序。
● 程序单步
单击菜单栏“调试”下的“程序单步”或单击工具栏的程序单步图标,即可单步运行程序。
● 重新连接
可单击菜单栏中“重新连接“,也可单击工具栏的”重新连接“图标,即可重新连接上下位机。
● 复位
菜单栏中“复位”无效,可单击工具栏的“复位”图标,即可复位软件,寄存器置初值,指令指针返回到程序首地址。
5.5.4 设置
● 单击“设置”下的“通讯口设置”或工具栏上的“通讯口设置”即可打开“通讯设置”对话框,在此可设置端口。
5.5.5窗口
在此菜单可设置窗口的排列顺序,可打开相应的工作窗口。
具体详见中文菜单。
实验1二进制多位加法运算
一、实验目的
1、熟悉实验系统键盘显示的使用。
2、掌握使用加法类运算指令编程及调试方法。
3、掌握加法类指令对状态标志位的影响。
二、实验内容
计算X+Y+Z=?
(X、Y、Z为16位二制数)
三、编程指南
由于本实验是三个十六位二制数相加运算,因此,当X+Y时要考虑用ADC指令,把进位C加到结果的高16位中,当(X+Y)+Z时,再把进位C加到结果的高16位中,本实验设定三个加数0FFFFH,计算结果应为2FFFDH。
四、实验步骤
联机模式:
(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598k8Asm文件夹,点击S1.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)运算结果保留在内存4100H~4102H单元中,点击DJ-8086K软件中存贮器RAM窗口,输入RAM的起始地址4100、4101、4102,单元内容应为FD、FF、02。
脱机模式:
⑴在P.态下,按SCAL键,输入2CA0,按EXEC键。
⑵复位RST键,运算结果保留在内存4100H~4102H单元中,共内容分别为:
FD、FF、02,低位在前,高位在后,具体操作方法:
输入键[4100]→[ME]→[NX]→[NX]。
五、实验程序清单
CODESEGMENT;S1.ASM-->BINADD
ASSUMECS:
CODE
ORG2CA0H;thisisaprogramofadd
START:
CLC
MOVSI,4000H;resultin[4100]
MOV[SI],0ffffH
MOV[SI+2],0ffffH
MOV[SI+4],0ffffH
MOVAX,0000H
MOV[SI+102H],AX
MOVAX,[SI]
ADDAX,[SI+2]
ADC[SI+102H],0000
ADDAX,[SI+4]
MOV[SI+100H],AX
ADC[SI+102H],0000
JMP$
CODEENDS
ENDSTART
六、思考题
1试编程实现四个十六位二进制数的加法运算,结果存在相同位置。
2试实现X+Y-Z=?
的程序,结果存在相同位置。
实验2求最大值和最小值
一、实验目的
1、学习子程序的定义和调用方法。
2、掌握子程序设计、调试。
二、实验内容
对内存中给定的几个无符号字节数,求其最大值和最小值并在数码管上显示。
三、实验程序框图
四、实验步骤
联机模式:
(1)在内存4000H~4007H中写入任意八个字节的数,按下MON键,返回P状态。
(2)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击S7.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(3)数码管显示为:
“XX——XX”,最左两位为最大值,最右两位为最小值。
脱机模式:
1、在P.态下,按SCAL键,然后在内存4000H~4007H中写入任意八个字节的数,按下MON键,返回P状态。
2、在P.态下,输入2E70,按EXEC键。
3、数码管显示为:
“XX——XX”,最左两位为最大值,最右两位为最小值。
五、实验程序清单
CODESEGMENT;S7.ASM,LOOKFORMAX&MIN
ASSUMECS:
CODE
ORG2E70H;INPUTDATA4000H--4007H
START:
JMPSTART0
PAEQU0FF20H;字位口
PBEQU0FF21H;字形口
PCEQU0FF22H;键入口
BUFDB?
?
?
?
?
?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH
START0:
MOVSI,4000H
MOVCX,0008H
CALLMAXMIN
CALLBUF1
CON1:
CALLDISP
JMPCON1
MAXMIN:
JCXZEXIT
PUSHSI
PUSHCX
PUSHBX
MOVBH,[SI]
MOVBL,BH
CON2:
LODSB
CMPAL,BH
JNAX1
MOVBH,AL
JMPX2
X1:
CMPAL,BL
JNBX2
MOVBL,AL
X2:
LOOPCON2
MOVAX,BX
POPBX
POPCX
POPSI
EXIT:
RET
DISP:
MOVAL,0FFH;00H
MOVDX,PA
OUTDX,AL
MOVCL,0DFH;显示子程序,5ms
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
MOVAH,00H
PUSHBX
MOVBX,OFFSETDATA1
ADDBX,AX
MOVAL,[BX]
POPBX
MOVDX,PB
OUTDX,AL
MOVAL,CL
MOVDX,PA
OUTDX,AL
PUSHCX
DIS2:
MOVCX,00A0H
LOOP$
POPCX
CMPCL,0FEH;01H
JZLX1
MOVAL,0FFH;00H
MOVDX,PA
OUTDX,AL
INCBX
RORCL,1;SHRCL,1
JMPDIS1
LX1:
MOVAL,0FFH
MOVDX,PB
OUTDX,AL
RET
BUF1:
MOVBH,AH
CALLZH
MOVBUF+5,AL
MOVBUF+4,AH
MOVAL,BH
CALLZH
MOVBUF,AH
MOVBUF+1,AL
MOVBUF+2,17H
MOVBUF+3,17H
RET
;--------------------------------------------------------
ZH:
MOVBL,AL
MOVCL,4
ROLAL,CL
ANDAL,0FH
MOVAH,AL
MOVAL,BL
ANDAL,0FH
RET
;-------------------------------------------------------
CODEENDS
ENDSTART
六、思考题
1将数码管显示改为“左边显示最小值,右边显示最大值”,试编程实现。
2试用JBE/JAE(或JC/JNC)指令改写“求最大最小值子程序”。
数码管显示器内部电路图
实验3 8255A并行口实验
(一)
一、实验目的
1.了解实验箱的组成及实验系统软件的使用。
2.掌握8255A的工作方式、编程原理和与微机的接口方法。
二、实验内容
用8255PA口控制PB口。
三、实验接线图
四、编程指南
⒈ 8255A芯片简介:
8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:
方式0:
基本输入/输出方式方式l:
选通输入/输出方式方式2:
双向选通工作方式
⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB口工作在方式0作为输出口。
8255端口地址见第一章表“I/O地址分配
(二)”
五、实验程序框图
六、实验步骤
18255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。
28255A芯片B口的PB0-PB7依次接Ll-L8。
3运行实验程序。
七、思考题
1由8255PA口接发光二极管,PB口接开关,该如何编程?
2由8255控制发光二极管顺序循环点亮,即“流水灯”过程,该如何编程?
3利用8255在方式0下工作,令其在PB1和PB2产生如图所示的波形,试编程实现。
(将图中的延时时间单位为ms的地方均改为s)
实验4串行接口和应用
一、实验目的
利用实验机内的8251芯片,实现与PC机通讯。
二、实验内容
(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。
(2)PC机键盘所按键值(串口调试助手发送)通过RS232串口及8251A后送入8088,然后将所接收键值的ASCII码显示在数码管上(十六进制显示),并将该键值同时回送至PC机显示。
三、实验接线图
图4-1接线图
四、编程指导
(1)8251状态口地址:
03F9H,8251数据口地址:
03F8H;
(2)8253命令口地址:
43H,8253计数器#1口地址:
41H;
(3)8255命令口地址:
0FF23H,键扫口/字位口:
0FF20H,键入口PC:
0FF22H,字形口PB:
0FF21H;
(4)通讯约定:
异步方式,字符8位,一个起始位,一个停止位,波特率因子为16,波特率为9600;
(5)计算T/RXC,收发时钟fc,fc=16*9600=153.6K;
(6)8253分频系数:
1843.2K/153.6K=12。
五、实验步骤
(1)8251单元:
T/RXC→OUT1,TXD→EX-TXD,RXD→EX-RXD,JX20→JX17;
(2)8253单元:
GATE1→+5V,CLK1→1.8432MHZ;
(3)CZ11用户通信口→PC机串口;
(4)按EXEC键运行程序;
(5)运行“串口调试助手”,通过PC键盘输入任意一个字符至发送区,在点击“手动发送”后,在实验箱数码管上显示“XXH”(ASCII码),并在“串口调试助手”接收区能看到由实验箱回送的该字符。
按RST键,返回P.态。
六、实验程序(自己编写)
七、思考题
1实现将“Howareyou!
”字符串通过8251A送至PC机并显示的程序,要求字符串每隔1s输出一次。
2利用实验机内小键盘,每按动一次任一数字键,就把该键值通过8251发送给PC机接收,并在PC机屏幕上显示出该键值。
实验58259单级中断控制器实验
一、实验目的
⒈ 掌握8259中断控制器的接口方法。
⒉ 掌握8259单级中断控制器的应用编程。
二、实验内容
利用8259实现对外部中断的响应和处理,要求按键以后使发光二极管按照每次加1的方式进行亮灭。
三、实验接线图
四、编程指南
⑴ 8259芯片介绍
中断控制器8259A是专为控制优先级中断而设计的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。
即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵ 本实验中使用3号中断源IR3,“
”插孔和IR3相连,中断方式为全嵌套、边沿触发、非级联、普通中断结束,中断类型码根据上表分析,每按一次开关触发一次中断请求。
此时发光二极管按照加1方式亮灭,延时用软件延时的方式。
端口地址见连线图。
五、实验程序框图
IR3中断服务程序:
六、实验步骤
1、按图连好实验线路图。
⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“
”插孔和8259的3号中断IR3插孔相连,“
”端初始为低电平;⑷8259的CS端接FF80H孔;⑸8255A芯片的PA0-PA7依次和发光二极管L1~L8相连。
2、运行实验程序并观察结果。
七、思考题
1另由开关K1接IR0,K2接IR1,开关K1拨动使发光二极管从左往右循环点亮一遍,开关K2拨动则使发光二极管从右往左循环点亮一遍,最多实现三重中断嵌套,并可回到断点处继续运行。
试编程实现该功能。
2利用8253每1S产生一次中断请求,送8259的IR3,通过该信号控制使得8255PA口连接的发光二极管每秒加1的方式亮灭。
试编程实现该功能。
3利用8253、8259和数码LED显示器构建一个能准确计时的数字时钟,要求能显示时、分、秒。
试编程实现该功能。
(显示电路如下图所示,字型口和字位口端口地址分别为FF21H和FF20H)
实验6定时器/计数器
一、实验目的
⒈ 学会8253芯片和微机接口的原理和方法。
⒉.掌握8253定时器/计数器的工作方式和编程原理。
二、实验内容
用8253的0通道工作在方式3,产生方波,其输出作为1通道的输入信号;1通道工作在方式2,产生分频信号。
通过2个发光二极管分别观察OUT0和OUT1的输出信号。
三、实验接线图
四、编程指南
⒈ 8253芯片介绍
8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。
端口地址为0040H~0043H。
8253的功能用途:
⑴ 延时中断⑸ 实时时钟
⑵ 可编程频率发生器⑹ 数字单稳
⑶ 事件计数器⑺ 复杂的电机控制器
⑷ 二进制倍频器
2,8253的六种工作方式:
⑴ 方式0:
计数结束中断 ⑷ 方式3:
方波频率发生