8086微机原理.docx
- 文档编号:27591461
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:80
- 大小:622.54KB
8086微机原理.docx
《8086微机原理.docx》由会员分享,可在线阅读,更多相关《8086微机原理.docx(80页珍藏版)》请在冰豆网上搜索。
8086微机原理
微型计算机原理
实验指导书
陆晓燕编
西华师范大学物理与电子信息学院
目录
第一部分EL实验系统的结构
第一章EL-微机实验教学系统结构...................................................
(2)
第二章通用接口板实验电路介绍......................................................
(2)
第三章8086CPU系统资源说明……...........................................….(5)
第四章软件的安装……………………………………..……………(6)
第二部分实验指导
一、DEBUG动态调试程序................................(12)
二、汇编语言程序上机过程................................(21)
三、分支程序设计........................................(23)
四、多重循环程序........................................(25)
五、子程序设计..........................................(26)
六、简单I/O口扩展实验..................................(30)
七、8255并行口实验.....................................(33)
八、8253定时器/计数器接口实验...........................(35)
九、A/D0809实验........................................(38)
十、DAC0832实验.........................................(41)
十一、8250串口实验......................................(45)
十二、RAM实验..........................................(54)
十三、8259中断控制器实验...............................(57)
十四、DMA实验..........................................(60)
第一部分EL实验系统的结构
第一章EL-微机实验教学系统结构
EL-微机实验教学实验开发系统由功能实验板、可选的CPU板、二块小面包板三部分构成,可安装在45×30×10CM的实验箱内。
总框图如下:
面包板CPU板
功能实验板
面包板:
1)通用面包板
2)金属圆孔组成的通用实验板
CPU板:
1)8086PC总线板
2)8086CPU板
3)8051CPU板
4)8098CPU板
5)80C198/C196CPU板
1.1通用接口板结构
通用接口板由若干相对独立的功能接口电路组成,它们是:
D/A电路、A/D电路、发光二极管电路、开关量输入电路、RAM/ROM电路、简单I/O电路、8253可编程定时器/计数器电路、8255并行接口电路、总线驱动电路、8279接口电路、单脉冲发生器、LED显示电路、键盘电路、复位电路、8250串行接口电路。
第二章通用接口板实验电路介绍
2.1输出显示电路
1)数码显示电路。
该电路由6位共阴极数码管,3片75452,2片74SL07组成,74LS07为段驱动器,相应输入插孔为CZ4,75452为位驱动器,相应输入插孔为CZ3(LD1,LD2,LD3,LD4,LD5,LD6).
2)LED灯显示电路。
该电路由2片74LS04,12支绿色二极管组成。
12只红、黄、绿色二极管相应的输入CZ2(LI1,LI2,LI3,LI4,LI5,LI6,LI7,LI8,LI9,LI10,LI11,LI12).
2.2信号发生电路
1)开关量输入电路:
该电路由8只开关组成,每只开关有两个位置,一个位置代表高电平,一个位置代表低电。
该电路的输出插CZ1(K1,K2,K3,K4,K5,K6,K7,K8).
2)时钟输入电路:
该电路由1片74LS161组成。
当CPU为8086时,CLK是2MZ
输出时钟为该CLK的2分频(CLK0),4分频(CLK1),8分频(CLK2),16分频(CLK3),相应输出插孔CZ47(CLK0,CLK1,CLK2,CLK3)
3)单脉冲发生器电路
该单脉冲发生器由一个按纽,1片74LS04,74LS132组成,具有消颤功能,正反相脉冲,相应输出插孔CZ35(P0,P1).
4)模拟量输入电路
该电路由3只可变电位器组成,输出为0…5V连续可调。
相应的输出插孔CZ29,CZ28,CZ27(KB1,KB2,KB3).
5)键盘输入电路
该电路由28只通用键1只SHFT键,1只CTRL键组成,28只通键采用8根列扫线,4根行扫线,无外部信号输入时,均为高电平,有外部信号输入时,电平状态由外部输入信号决定,作键盘实验时,一般行、列扫描线分别定义为输入、输出,即8根列扫线的插孔为CZ6(KA0,KA1,KA2,KA3,KA4,KA5,KA6,KA7),4根行扫线的插孔为CZ5(KB0,KB1,KB2,KB3).
6)复位电路;
按动复位键,将对8255,8279,8250复位,对8051,80C198,8086CPU板起复位作用。
2.3可编程定时器8253电路:
该电路由1片8253组成,8253的片选输入端插孔CS8253\,数据口,地址,读写线均已接好,T0,T1时钟输入为CLK3,T2的时钟用户可自己接。
定时器输出,GATE控制孔对应如下:
OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。
2.4可编程并行口8255电路:
该电路由1片8255组成,8255的数据口,地址,读写线,复位控制线均已接好,片选输入端插孔为CS8255\,A,B,C三端口的插孔分别为
A:
CZ16(PA0,PA1,PA2,PA3,PA4,PA5,PA6,PA7)
B:
CZ15(PB0,PB1,PB2,PB3,PB4,PB5,PB6,PB7).
C:
CZ17(PC0,PC1,PC2,PC3,PC4,PC5,PC6,PC7)
2.5可编程键盘显示控制器
a.该电路由1片8279,74LS138组成,8279的数据口,地址,读写线,复位,时钟,片选都已经接好,显示输出,键盘行列扫描线均有插孔输出。
b.两组显示输出的插孔标号与芯片标号一致。
键盘行扫描线译码线插孔标号为CZ21,CZ25(完全相同)相应标号为(KS0,KS1,KS2,KS3,KS4,KS5,KS6,KS7)。
c.另外该电路在进行实验还要用到一组反相器,该反相器是输入插孔标号CZ24(S0,S1,S2,S3,S4,S5)。
输出插孔标号CZ23(S0\,S1\,S2\,S3\,S4\,S5\)
2.6可编程串行口8250电路:
该电路由一片8250,一片1488,1489组成,该电路中8250的输入线均已接好,串行口输入输出插座为J1,T为发送,R为接收。
2.7简单数字量输出缓存实验电路
该电路由2片74LS273及一片74LS04,74LS02组成,该电路中74LS273的输入均已接好数据线,锁存端片选输入控制,两片74LS273的片选输入插孔标号分别为CSU8\,CSU9\,输出插孔标号分别为(SO0,SO1,SO2,SO3,SO4,SO5,SO6,SO7,SO8,SO9,S10,SO11,SO12,SO13,SO14,SO15)。
2.8简单数字量输入缓冲实验电路
该电路由一片74LS244,一片74LS02构成,该电路中,74LS244的输入均已接在数据总线上,输入端接着插线孔,其标号CZ9(SI0,SI1,SI2,SI3,SI4,SI5,SI6,SI7),片选控制端插孔标号(CSU10\)。
2.9八路八位A/D实验电路
该电路由一片ADC0809,一片74LS02组成,该电路中,ADC0809的参考电压,数据总线输出,通道控制线均已接好,其它信号线由插孔接入,ADC0809的片选控制插孔标号为CZ31(CS0809\),转换结束标志输出插孔标号为CZ26(EOC),模拟量输入通道孔标号为(IN0,IN1,IN2,IN3,IN4,IN5,IN6,IN7)
2.10八位双缓冲D/A实验电路0832
该电路由一片DAC0832。
一片74LS00,一片LM324组成,该电路中除DAC0832的片选未接好外,其他信号均已接好,片选插孔标号CZ32(CS0832\)。
输出插孔标号CZ33(VOUT)。
该电路为非偏移二进制D/A转换电路,通过调节KB4,可调节D/A转换器的满偏值,调节KB5,可调节D/A转换器的零偏值。
2.11存储器扩展实验电路:
该电路由一片62256和一片6264组成,该电路的所有信号线均已接好,可直接进行存储器读写实验。
对8051和8098实验来说,62256的起使地址为:
4000H,长度为32K,6264系统已使用。
8051和8098的数据与程序存储区都为统一编址64K,其中0…16K为系统使用,后48K用户使用作为仿真或实验用。
第三章8086CPU系统资源说明
系统监控:
6264仿真高八位0~03FFF奇地址DMA传送奇地址0~3FFFH
实验程序用RAM
6264仿真低八位0~03FFF偶地址DMA传送偶地址0~3FFFH
实验程序用RAM
2764监控高八位FFFFF~FC000奇地址有效
2764监控低八位FFFFF~FC000偶地址有效
CS004A0~04AF偶地址有效实验程序I/O口地址
CS104B0~04BF偶地址有效实验程序I/O口地址
CS204C0~04CF偶地址有效实验程序I/O口地址
CS304D0~04DF偶地址有效实验程序I/O口地址
CS404E0~04EF偶地址有效实验程序I/O口地址
CS504F0~04FF偶地址有效实验程序I/O口地址
CS60000~01FF偶地址有效实验程序I/O口地址
CS70200~03FF偶地址有效实验程序I/O口地址
CS82500480~048F偶地址有效8250专用I/O口地址
CS82790490~049F偶地址有效8279专用I/O口地址
2.8086CPU系统的硬件实验
(1)CS0~CS7的口地址以以上说明为准。
I/O口访问可按字或字节进行,低八位有效。
例如:
INAX,DX;OUTDX,AX;INAL,DX;通用实验板的芯片必须都用偶地址、低八位仿问。
(2)所有实验程序的起始地址位01100H,CS=0100H,IP=0100H,代码段、数据段、堆栈段在同一个64K的地址空间中。
第四章软件的安装及使用
一、软件安装
1.实验箱自带的光盘放入计算机光驱,进入软件安目录:
光盘驱动器:
\微机原理单片机\Ctrl86。
2.动软件安装程序setup.exe,如下图1:
图1,2进入安装界面
3.单击图2的next按钮进入图。
的选择安装路径界面.
图3选择安装路径
在图3中你可以选择安装路径,也可以按默认路径安装。
4.按照软件提示,一步一步完成安装,如下图
图4显示安装进程
图5安装完毕界面
5.软件安装完毕后,会在桌面上和“开始----程序”中自动生成“8086实验系统”快捷方式。
二、软件的启动与使用说明
1.启动
在Windows的桌面上或“开始----程序”中双击“8086实验系统”快捷方式,便可启动软件如图6。
图6软件启动界面
2.实验前计算机与实验箱的通讯设置和测试。
用实验箱自带的串口线将实验箱的串口与计算机的串口连接,启动“8086实验系统”软件。
实验前通讯端口的设置设置方法:
a.启动软件之后,如图6所示在设置串口对话框选择相应的串口和波特率。
b.以在8086对话框菜单工具栏选择运行/连接设置中设置
3.使用说明
本实验软件界面共分流个区域如图7:
A.菜单工具栏区域;
B.寄存器窗口;
C.内存窗口;
D.代码编辑区;
E.消息窗口;
F.变量观察窗口;
寄存器窗口
内存窗口
消息窗口
变量观察窗口
代码编辑区
菜单工具栏
图7软件界面分配
下面是实验的具体步骤:
新建
图9新建代码窗口
图10代码编辑窗口
1.如图9所示用鼠标点击“文件”下拉菜单的“新建”也可以点击工具条上的“新建”图标,就生成了图10的对话框在图中所标注的地方编写实验所需程序代码。
2.当编写完程序代码后,如图11所示编译连接程序,在消息映射查看是否有错误,如果有修改后继续编译连接指导没有为止,然后点击“运行”如图12就可以看到实验结果了,运行可以是全速、单步(f8)、跟踪(f9)、也可以是她形式的,根据你的具体情况定,结果可以从寄存器窗口、内存窗口、变量窗口查看。
编译连接
图11编译连接图
运行程序
图12运行程序
第二部分实验指导
实验一DEBUG动态调试程序
一、实验目的
熟悉DEBUG动态调试程序的使用方法,理解汇编指令、存储单元和寄存器等有关概念,能够对简单的汇编语言程序进行调试。
二、实验内容
1、DEBUG动态调试程序的启动与退出
DEBLJG必须在DOS环境下运行。
安装’Win98的机器,开机后按F8键,进入选择设置界面,选择6项,即可进入纯DOS,也可在进入Win98后,再进入DOS模式运行。
如果机器安装了Win2000或XP,由于其已经不支持DOS,因此需要使用DOS启动盘,并将DEBUG
(1)DEBUG动态调试程序的启动
DEBUG<文件说明>[参数]
其中,文件说明指被调试程序的全名,参数是该程序所涉及的参数。
命令的使用中注意:
① 字母不分大小写;
② 只使用16进制数,没有后缀字母;
③ 分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符;
④ 每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行;
⑤ 命令如果不符合Debug的规则,则将以“error”提示,并用“^”指示错误位置。
DEBUG命令中使用的地址格式约定如下:
[<段地址>:
]<位移量>
其中,<段地址>可以是段寄存器名,或者是十六进制数,也可以是默认。
而地址范围的格式是:
<段地址>:
<位移量><末位移量>或<段地址>:
<始位移量>L<长度>
(2)、退出DEBUG
当完成动态调试任务时,可使用Q命令退出并返回操作系统。
-Q
(2)汇编与反汇编命令
汇编命令A和反汇编命令U是常使用的DEBUG命令。
①汇编命令A
格式:
A[<起始地址>]
功能:
逐行汇编程序,主要用于小段程序的汇编。
说明:
使用A命令汇编程序,不允许程序中出现标号和伪指令,但MS-DOS的DEBUG允许使用DB和DW这两条伪指令。
如果未给出起始地址,汇编后的程序代码从指令指针寄存器IP的值指定的地址开始存放。
按两次回车键可退出汇编命令A的状态。
例1-1汇编一段程序,该程序的功能是在屏幕上输出一个大写字母A。
-A100
1141:
0100MOVDL,41
1141:
0102MOVAH,02
1141:
0104INT21
1141:
0106INT20
②反汇编命令U
格式:
U[<地址范围>]
功能:
在指定的地址范围内,将二进制机器指令逐条翻译为汇编语言符号指令。
例1-2将例1-1中汇编的程序进行反汇编
-U100107
1141:
0100B241MOVDL,41
1141:
0102B402MOVAH,02
1141:
0104CD21INT21
1141:
0106CD20INT20
(3)执行程序命令
在DEBUG下,可以完整地执行程序、分段执行程序或单步执行程序。
①执行程序命令G
格式:
G[=<程序起始地址>][<断点>…]
功能:
完整地或分段执行程序。
说明:
G命令可以从头至尾完整地执行程序,如果G命令带有有断点参数,则执行到断点地址时暂停并显示当前各寄存器状态,断点最多允许设置100个。
程序正常结束时显示“Programterminatednormally”。
例1-3执行例1-1中汇编的程序。
-G=100
A
Programterminatednormally
②跟踪执行命令P和T
格式:
P[=<地址>][<跟踪条数>]
T[=<地址>][<跟踪条数>]
功能:
跟踪命令P和T可以逐条跟踪指令的执行,以便调试程序。
说明:
每条指令执行后都将显示各寄存器的当前值。
P命令与T命令的差别是,P命令按程序书写的指令为单位,一次跟踪完一条书写指令(执行一组相关的指令),而T命令按存储单元中存放的指令为单位,一次跟踪一条指令的执行。
例1-4用P命令跟踪例1-1中的程序。
设程序执行前的各寄存器初值如下,然后开始用P命令跟踪例1-1程序:
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=1141ES=1141SS=1141CS=1141IP=0100NVUPEIPLNZNAPONC
1141:
0100B241MOVDL,41
-P=100
AX=0000BX=0000CX=0000DX=0041SP=FFEEBP=0000SI=0000DI=0000
DS=1141ES=1141SS=1141CS=1141IP=0102NVUPEIPLNZNAPONC
1141:
0102B402MOVAH,02
-P
AX=0200BX=0000CX=0000DX=0041SP=FFEEBP=0000SI=0000DI=0000
DS=1141ES=1141SS=1141CS=1141IP=0104NVUPEIPLNZNAPONC
1141:
0104CD21INT21
-P
A
AX=0241BX=0000CX=0000DX=0041SP=FFEEBP=0000SI=0000DI=0000
DS=1141ES=1141SS=1141CS=1141IP=0106NVUPEIPLNZNAPONC
1141:
0106CD20INT20
-P
Programterminatednormally
用P命令只需跟踪执行4次,程序就执行完毕。
如果用T命令逐条指令跟踪执行,则将跟踪进入DOS功能调用的软中断服务程序中。
(4)显示寄存器命令R
格式:
R[<寄存器>]
功能:
显示或修改寄存器内容。
说明:
当R命令后面不指定寄存器时,显示所有寄存器的内容。
例1-5显示所有寄存器内容
-R
AX=0100XB=0000CX=2000DX=00000SP=FFEEBP=0000SI=0000DI=0000
DS=07E1ES=07E1SS=07E1CS=07E1IP=0114NVUPDIPLNZNAPONC
例1-6修改寄存器内容
要修改某寄存器内容,可在R命令后键入寄存器名,DEBUG将显示出这个寄存器的值,然后键入新值就可修改该寄存器内容。
例如修改AX寄存器的内容:
-RAX
AX4500
:
3000
用RF命令可显示和修改标志寄存器FR中的标志位,无论修改哪一位标志位,只需要键入该标志位的表示符号(各标志位的符号表示如表1.1所示),并且标志位值的键入顺序可任意。
例1-7修改FR寄存器的零标志位和进位标志位。
-RF
NVUPEIPLZRNAPECY-NZNC(修改零标志和进位标志)
-RF
NVUPEIPLNZNAPENC-(显示修改结果)
表1.1标志寄存器各标志位符号及意义
标志位符号表示
=1=0
OF溢出(是/否)OVNV
DF方向(减/增)DNUP
IF中断(开/关)EIDI
SF符号(负/正)NGPL
ZF零(是/否)ZRNZ
AF辅助进位(是/否ACNA
PF奇偶(偶/奇)PEPO
CF进位(是/否)CYNC
(5)存储器单元访问命令
①显示存储器单元命令D
格式:
D[<地址范围>]
功能:
显示指定地址范围内的存储区数据,包括十六进制数据形式及其对应的ASCII码字符显示。
例1-8显示110H到116H存储器单元的内容。
-D110116
1540:
01107365676D656E74segment
②写存储器单元命令E
格式:
E<地址>[<字符串>]
功能:
逐个修改指定单元内容或将字节串写入指定的一组连续单元。
例1-9将字节串string写入以142H为起始地址的存储器区。
-E142string
例1-10逐个单元向彩显视频缓冲区写入41H、42H、41H、42H,彩显视频缓冲区的段地址为B800H,数据写入后立即显示出大写的ABAB。
-EB800:
70
B800:
007030.4107.0030.4207.0030.4107.f030.4207.f0
B800:
007820.
注意,“.”前为存储器单元原内容,“.”后为键入的数据,按空格键继续修改下一个存储器单元。
例中前两个AB为正常显示,后两个AB为反相、闪烁显示。
③填充命令F
格式:
F<地址范围><要填入的字节或字节串>
功能:
在指定地址范围内写入数据。
例1-11联用R命令和F命令在彩显视频缓冲区中写入一串小写字母a。
-RDS(修改DS,使DS指向彩显缓冲区B8000H)
DS0000
:
B800
-F0000005061(在0到50H单元内填满a)
④比较命令C
格式:
C[源地址范围],[目标地址]
其中[范围]是由[起始地址][终止地址]或者是由[起始地址]L[长度]指出的一片连续单元。
功能:
从[源地址范围]的起始地址单元起逐个与目标起始地址以后的单元顺序比较单元的内容,直至源终止地址为止。
遇有不一致时,以[源地址][源内容][目标内容][目
标地址]的形式显示不一致单元及内容。
⑤内存移动命令M
格式:
M[源地址范围][目标起始地址]
其中源及目标地址若仅输入偏移量,则隐含DS。
功能:
把[源地址范围]中的内容顺序搬至[目标起始地址]起的一片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 微机 原理