8086微机原理及接口技术实验教程.docx
- 文档编号:10953069
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:27
- 大小:580.30KB
8086微机原理及接口技术实验教程.docx
《8086微机原理及接口技术实验教程.docx》由会员分享,可在线阅读,更多相关《8086微机原理及接口技术实验教程.docx(27页珍藏版)》请在冰点文库上搜索。
8086微机原理及接口技术实验教程
8086微机原理及接口技术
实验教程
合肥工业大学电气与自动化系
实验一系统认识与存储器扩展实验
1.1TD-PITE实验装置简介
1.1TD-PITE功能特点
系统以具有PC104总线接口的i386EX单板机和一个开放的微机接口教学实验平台,通
过PC104总线组合插接方式构成的高性能80x86微机原理与接口技术教学实验系统,全面支
持80x86实模式和保护模式的16/32位微机原理及接口技术的实验教学。
开放的80386系
统总线,不仅可以进行各种接口实验的学习,还可以进行基于386微处理器的嵌入式应用开发。
I386EX是一款嵌入式微处理器,其在Intel386SX微处理器的基础上集成了丰富的外围接口
(如8259、8254、16C450和8237等),内部为32位总线,外部为16位数据总线,具有64MB的寻址能力,保持与标准的32位80386CPU相同的指令系统,可完全支持80X86微机原理及接口技术课程的教学,使教学内容与主流技术相一致,达到学以致用的目的。
系统提供开放的386系统总线,使用户可以充分学习并掌握系统总线的特点及操作方法。
实验平台上提供丰富的实验单元,如中断控制器8259、DMA控制器8237、定时/计数器8254、
并行接口8255、串行通信接口8251、SRAM、ADC0809、DAC0832、单次脉冲、键盘扫描及数码管显示、开关输入及发光管显示、电子发声器、点阵LED显示、图形LCD显示、步
进电机、直流电机及温度控制单元电路。
1.2TD-PITE系统构成
TD-PITE是一套80X86微机原理及接口技术实验教学系统,其主要系统构成如表1.1所
示O
表1.1TD-PITE系统构成
CPU
Intd386EX
存储器
系统程痔存储器:
FhShROM<128KB)
数据存储器:
SRAM(128KB)
信号源
单次脉冲:
消抖动脉冲2组
逻辑电平开关与显示
16⅛⅛平开关,M组电平显示LED灯(IE逻辑)
接口实验单元
取5矢⅛237.S254>S25S825kDACoSΛUCOS09.SfLAM>f⅛盘扫描辰数码管显示、电子发声、点阵LED.液晶LCD(可选八步进电机(可选)、直说电机、隘度控制
窝验扩展单元
2组40线通用集成电路扩展单元.扩展模块总线单
系统电源
+5V∙'2Al-±12V0.2A
系统硬件结构如图1.1所示。
图1.1TD-PlTE系统硬件结构图
1.3TD-PITE系统配置
TD-PITE实验教学系统由I386EX系统板和接口实验平台两部分组合而成。
TD-PITE主
要系统配置如表1.2所示。
表1.2TD-PITE系统的主要配置
项目
内容
数量
项目
内容
数塑
B86EX系统板
I
键盘
1×4⅛^
L
基本接口芯片
8254
I
数码显示
共阴极数码管
4
8255
I
电子音响
畅声器
1
8237
I
单次睢冲
微动开关
2
8251
1
逻辑开接
拨动开关
16
DAC0832
I
显示灯
LED
16
ADCoSO9
I
驱动播LJ
ULN2SO3
1
74LS245
6
步进电机
35BYJ46型
L
74LS573
L
直流电机
DC12V,IlW
1
实验扩展存睛器
62256SILAM
r
通讯接Ll
DE9座(^USB⅛)
L
机内电源
5V,±12V
L
点阵「
16X16LED点挪
I
P通讯庖缆
RS-232
1
液晶(可选)
图形液晶
I
1
51菜统板I可选)
I
实验用连线
TD-PITE实验箱布局如图1.2所示。
电源
时弊源
扩展实验区
586CpV
说控单无
⅛⅛⅛⅛⅛单无
無换率元
8237单元
⅛DH1⅛Φ元
DA转撫单
SpK歩进电机单元
SRAM樂元
82S5单阮
«251串行通宿单元
腔54单Tt
逊盘M码管显示韭元
开关及LEDffi示虽元
驰动单元
直流电机单
图1.2TD-PITE试验箱布局图
1.4系统总线
TD-PITE采用组合式结构,即I386EX系统板加实验接口平台的形式。
将I386EX系统
板扣在实验接口平台上便构成80X86微机原理及接口技术教学实验系统,系统总线以排针和
锥孔两种形式引出,实验时,与实验单元相连可完成相应的实验。
系统引出信号线说明见表1.3
所示。
表1.380X86微机系统信号线说明
信⅛⅛⅛
说明
倍号线
说明
XDO-XD15
系统数据线(输入瀚出)
MIR⅛λMIRr7
主備阳中断请求信号(输入)
XAl-XA20
系统地址线(输出)
SIRl
⅛8259中断请求信号(输入)
BHE#.BLE#
字节使能信号f输出)
MWR#、MRD#
存储務读、写信号f输出)
ADS#
地址状态信号(输岀)
IOW#>IOR#
IO读、写信号(输出}
XfYO.MYl
存睛器待扩展信号(输岀)
RST.
复位信号(正输出)
IOYO-IOY3
ιo⅛口待扩展信号(输出)
RST#
复位信号(倩输出》
HOLD
总线保持请求(输入)
CLK
LMHZ时钟输出
HLDA
总线保持应容(输出)
12λfflZ时钟输岀 注: #号表示该信号低电平有效 1.5TD-PlTE系统实验平台与PC机的连接 如图1.3所示,通过RS-232C通讯电缆将PC微机的串口与系统实验平台的串口连在一起,完成系统实验平台与PC机的硬件连接。 R⅛-2Λ2电缆 PClIi机 图1.3TD-PITE实验系统与PC机连接 Wmd86具备可视化源语言调试界面,支持80X86汇编语言及C语言程序设计,并具有单 步、跳过、断点、连续、变量跟踪等调试功能,支持实验程序的动态调试。 1.2系统认识实验 1.2.1实验目的 掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试 软件的操作环境。 122实验设备 PC机一台,TD-PITE实验装置一套。 1.2.3实验内容 编写实验程序,将OoH〜OFH共16个数写入内存3000H开始的连续16个存储单元中。 1.2.4实验步骤 1.运行Wmd86软件,进入Wmd86集成开发环境。 2.根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存 器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1.4、图1.5所示。 设置选择 后,下次再启动软件,语言环境保持这次的修改不变。 本章选择16位寄存器。 图1.6新建文件界面 4.编写实验程序,如图1.7所示,并保存,此时系统会提示输入新的文件名,输完后点击 保存。 SEr^iENTSTACK DfW32DUPL? ) : ⅛5C⅛栈段 GJrACK ENDg CQLE SEGMENT AE! SIIdECStCODE,SEsSSTTiCK START; PUSHDΞ XelRAXrAXMQVDΞrAX HoVSI「3∪JCH ;萍立数根起始加址 MOVCX,1& ;循环疔魏 AA1: MQV[SI],AL IHC31 : 堆址g⅛- INCAL匚OdPAAL i⅛r⅛≡E⅛π1 HUVAX,4C0UH INT2IH : 程悴止 COrE EtlDS ELNLI≡TAWI 图1.7程序编辑界面 匚进行链接,链接无误后方可 5•点击编译文件,若程序编译无误,则可以继续点击以加载程序。 编译、链接后输出如图1.8所示的输出信息。 L⅛ π XΓΛNIANGDUINSIRUMtNrSCO.,LlDrWmd(C]C⅞yRiuhi2! 0i2 WbId861.obj-QPrrar[tj,0Warnling(? ] W⅛nd861.exe-Derror(c)jOIVarnIng[⅞] W⅛⅛⅞t⅛≠i: 图1.8编译输岀信息界面 6.连接PC与实验系统的通讯电缆,打开实验系统电源。 7.编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。 可以通过 端口列表中的“端口测试”来检查通讯是否正常。 点击也下载程序。 I为编译、链接、下载组 合按钮,通过该按钮可以将编译、链接、下载一次完成。 下载成功后,在输出区的结果窗中会 显示“加载成功! ”,表示程序已正确下载。 起始运行语句下会有一条绿色的背景。 如图1.9所 示。 图1.9加载成功显示界面 8.将输出区切换到调试窗口,使用Doooo: 3000命令查看内存3000H起始地址的数据, 如图1.10所示。 存储器在初始状态时,默认数据为CC。 >DQOOD: 3OOD >00UOl: 3lJlIO CC CC CC CC CC CC CC CC >nnnO: HD(IR CiC CC CC GC CC CC CC CC >0000: 3010 CC CC CC CC CC CC CC CC >0000: 3018 CC CC Ce CC CC CC CC CC >UUUD∣=3UZU CC CC CC CC Cc CC 匚C CC 图1.10内存地址单元数据显示 9.点击按钮口运行程序,待程序运行停止后,通过D0000: 3000命令来观察程序运行结果。 如图1.11所示。 10. >00000: 3000 > >0000: 3000DO01OZ0304D5OIB07>l>□∏υ: ]IK)IIl>BIl! ]I>Δl>l>HCOD(HIII >0000: 3010CCCCCCCCCCCCCCCC>uτj∏ll! JIHtICCCCCCCCCCCCCCCC >00∪0=30ZQCCCCCCCCCCCCCCCC I►jrλ∣⅛⅛i≡;: inuA≠fl≠-/ 图1.11运行程序后数据变化显示 实验例程文件名为Wmd861.asm 1.1.5操作练习 编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。 通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看 3600H单元开始的数据。 1.3数制转换实验 1.3.1实验目的 1.掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解。 2.熟悉程序调试的方法。 1.3.2实验设备 PC机一台,TD-PITE实验装置一套。 1.3.3实验内容及步骤 计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、 BCD码或七段显示码等。 因此,在应用软件中,各类数制的转换是必不可少的。 计算机与外设间的数制转换关系如图1.14所示,数制对应关系如表1.4所示。 二进制 图1.14数制转换关系 1.将ASCII码表示的十进制数转换为二进制数 十进制表示为: n Dn10nDnJ10n°Do10°='Di10i (1) izΘ Di代表十进制数0,1,2,…,9; 上式转换为: n XDi10i^(((Dn10Dn4)10Dnm)10亠亠D1)10Do (2) i=0 由式 (2)可归纳十进制数转换为二进制数的方法: 从十进制数的最高位Dn开始作乘10 加次位的操作,依次类推,则可求出二进制数的结果。 表1.4数制对应关系表 十八进制 BCD码 二进制 机器码 ASCII码 七段码 共阳 共阴 0 OOOO 0000 30H 40H 3FH 1 0001 0001 31H 79H 06H 2 0010 0010 32H 24H 5BH 3 0011 0011 33H 30H 4FH 4 0100 0100 34H 19H 66H 5 0101 0101 35H 12H 6DH 6 0110 0110 36H 02H 7DH 7 0111 0111 37H 78H 07H 8 1000 1000 38H 00H 7FH 9 1001 1001 39H 18H 67H A 1010 41H 08H 77H B 1011 42H 03H 7CH C 1100 43H 46H 39H D 1101 44H 21H 5EH E 1110 45H 06H 79H F 1111 46H 0EH 71H 程序流程图如图1.15所示。 实验参考程序如下。 实验程序清单(例程文件名: A2-1.ASM) SSTACKSEGMENTSTACK DW64DUP(? ) SSTACKENDS DATASEGMENT SADDDB30H,30H,32H,35H,36H;十进制数: 00256 DATAENDS CODESEGMENT ASSUMECS: CODE,DS: DATA START: MoVAX,DATA MoVDS,AX MOVAX,OFFSETSADD MOVSI,AX MOVBX,000AH MOVCX,0004H MOVAH,00H MOVAL,[SI] SUBAL,30H A1: IMULBX MOVDX,[SI+01] ANDDX,00FFH ADCAX,DXSBBAX,30HINCSILooPAI A2: JMPA2 CODEENDS ENDSTART 实验步骤: (1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。 (2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。 (3)运行程序,然后停止程序。 (4)查看AX寄存器,即为转换结果,应为: 0100H (5)反复试几组数据,验证程序的正确性。 2.将十进制数的ASCII码转换为BCD码 从键盘输入五位十进制数的ASCII码,存放于3500H 起始的内存单元中,将其转换为BCD码后,再按位分别存 入350AH起始的内存单元内。 若输入的不是十进制的ASCII (1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统。 (2)在3500H〜3504H单元中存放五位十进制数的ASCIl码,即: 键入E3500后, 输入31,32,33,34,35。 (3)运行程序,待程序运行停止。 (4)在调试窗口键入D350A,显示运行结果,应为: 0000: 350A0102030405CC… (5)反复测试几组数据,验证程序功能。 3.将十六位二进制数转换为ASCII码表示的十进制数 十六位二进制数的值域为O〜65535,最大可转换为五位十进制数。 五位十进制数可表示为: N=D4104D3103D2102Di10D。 Di: 表示十进制数O〜9 将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1〜D4,并将它们转换为ASCII码。 自行绘制程序流程图,编写程序可参考例程。 例程中源数存放于3500H、3501H中,转换结果存放于3510H〜3514H单元中。 实验程序清单(例程文件名: A2-3.ASM) SSTACK SEGMENTSTACK DW64DUP(? ) SSTACK ENDS CODE SEGMENT ASSUMECS: CoDE START: MoVSI,3500H MOVDX,[SI] ;源数据地址 MOVSI,3515H ;目标数据地址 A1: DECSI MOVAX,DX MOVDX,OOOOH MOVCX,OOOAH ;除数10 DIVCX XCHGAX,DX ;得商送AX,得余数送DX ADDAL,30H ;得Di的ASCII码 MOV[SI],ALCMPDX,OOOOH ;存入目标地址 JNEA1 ;判断转换结束否,未结束则转A1 A2: CMPSI,3510H ;与目标地址得首地址比较 JZA3 DECSI MOVAL,30H MOV[SI],AL JMPA2 ;等于首地址则转A3,否则将剩余地址中填30H A3: MOVAX,4C00H INT21H ;程序终止 CODE ENDS ENDSTART 实验步骤: (1)编写程序,经编译、链接无误后,装入系统。 (2)在3500H、3501H中存入0C00。 (3)运行程序,待程序运行停止。 (4)检查运行结果,键入D3510,结果应为: 3030303132。 (5)可反复测试几组数据,验证程序的正确性。 4.十六进制数转换为ASCII码 由表1.1中十六进制数与ASCIl码的对应关系可知: 将十六进制数OH〜09H加上30H 后得到相应的ASCII码,AH〜FH加上37H可得到相应的ASCII码。 将四位十六进制数存放于起始地址为35OOH的内存单元中,把它们转换为ASCII码后存入起始地址为35OAH的内存单元中。 自行绘制流程图。 实验程序清单(例程文件名为A2-4.ASM) SSTACK SEGMENTSTACK DW64DUP(? ) SSTACK ENDS CODE SEGMENT ASSUMECS: CODE START: MOVCX,0004H MOVDI,3500H MOVDX,[DI] ;十六进制数源地址 A1: MOVAX,DX ANDAX,000FH CMPAL,0AH ;取低4位 JBA2 ;小于0AH则转A2 ADDAL,07H ;在A〜FH之间,需多加上7H A2: ADDAL,30H ;转换为相应ASCII码 MOV[DI+0DH],AL DECDI PUSHCX MOVCL,04H ;结果存入目标地址 SHRDX,CL POPCX LOOPA1 MOVAX,4C00H ;将十六进制数右移4位 INT21H ;程序终止 CODE ENDS ENDSTART 实验步骤: (1)编写程序,经编译、链接无误后装入系统。 (2)在35OOH、35O1H中存入四位十六进制数2O3B,即键入E35OO,然后输入3B2O。 (3)先运行程序,待程序运行停止。 (4)键入D350A,显示结果为: 0000: 350A32303342CC…。 (5)反复输入几组数据,验证程序功能。 5.BCD码转换为二进制数 将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。 实验程序清单(例程文件名为: A2-5.ASM) SSTACK SEGMENTSTACK DW64DUP(? ) SSTACK CODE ENDS SEGMENT ASSUMECS: CODE START: XORAX,AX MOVCX,0004H MOVSI,3500H MOVDI,3510H A1: MOVAL,[SI] ADDAL,AL MOVBL,AL ADDAL,AL ADDAL,AL ADDAL,BL INCSI ADDAL,[SI] MOV[DI],AL INCSI INCDI LOOPA1 MOVAX,4C00H INT21H;程序终止 CODE ENDS ENDSTART 实验步骤: 1)编写程序,经编译、链接无误后装入系统。 (2)将四个二位十进制数的BCD码存入 3500H- 3507H中,即: 先键入E3500,然后输入01020304 05 06 0708。 (3)先运行程序,待程序运行停止。 (4)键入D3510显示转换结果,应为: 0C 22 384E。 5)反复输入几组数据,验证程序功能。 1.2.4思考题 1.实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少? 为什么? 2.将一个十六位二进制数转换为ASCIl码十进制数时,如何确定Di的值? 3.在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次? 4.自编ASCII码转换十六进制、二进制转换BCD码的程序,并调试运行。 1.3静态存储器扩展实验 1.3.1实验目的 1.了解存储器扩展的方法和存储器的读/写。 2.掌握CPU对16位存储器的访问方法。 1.3.2实验设备 PC机一台,TD-PITE实验装置一套,示波器一台。 1.3.3 实验内容 中,然后通过系统命令查看该存储空间,检测写入数据是否正确。 1.3.4 实验原理 本系统采用准32位CPU,具有16位外部数据总线,即为BHE#(#表示该信号低电平有效)、BLE#、A1、A2、…、A20。 存储器分为奇体和偶体,分别由字节允许线BHE#和BLE#选通。 存储器中,从偶地址开始存放的字称为规则字,从奇地址开始存放的字称为非规则字。 处 理器访问规则字只需要一个时钟周期,BHE#和BLE#同时有效,从而同时选通存储器奇体 和偶体。 处理器访问非规则字却需要两个时钟周期,第一个时钟周期BHE#有效,访问奇字 节;第二个时钟周期BLE#有效,访问偶字节。 处理器访问字节只需要一个时钟周期,视其存放单元为奇或偶,而BHE#或BLE#有效,从而选通奇体或偶体。 写规则字和非规则字的简单时序图如图1.17所示。 图1.17写规则字(左)和非规则字(右)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 微机 原理 接口 技术 实验 教程