- 898.47 KB
- 28页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'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显示、步进电机、直流电机及温度控制单元电路。26
1.2TD-PITE系统构成TD-PITE是一套80X86微机原理及接口技术实验教学系统,其主要系统构成如表1.1所示。表1.1TD-PITE系统构成系统硬件结构如图1.1所示。图1.1TD-PITE系统硬件结构图26
1.3TD-PITE系统配置TD-PITE实验教学系统由I386EX系统板和接口实验平台两部分组合而成。TD-PITE主要系统配置如表1.2所示。表1.2TD-PITE系统的主要配置TD-PITE实验箱布局如图1.2所示。26
图1.2TD-PITE试验箱布局图1.4系统总线TD-PITE采用组合式结构,即I386EX系统板加实验接口平台的形式。将I386EX系统板扣在实验接口平台上便构成80X86微机原理及接口技术教学实验系统,系统总线以排针和锥孔两种形式引出,实验时,与实验单元相连可完成相应的实验。系统引出信号线说明见表1.3所示。表1.380X86微机系统信号线说明26
1.5TD-PITE系统实验平台与PC机的连接如图1.3所示,通过RS-232C通讯电缆将PC微机的串口与系统实验平台的串口连在一起,完成系统实验平台与PC机的硬件连接。图1.3TD-PITE实验系统与PC机连接Wmd86具备可视化源语言调试界面,支持80X86汇编语言及C语言程序设计,并具有单步、跳过、断点、连续、变量跟踪等调试功能,支持实验程序的动态调试。26
1.2系统认识实验1.2.1实验目的掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。1.2.2实验设备PC机一台,TD-PITE实验装置一套。1.2.3实验内容编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。1.2.4实验步骤1.运行Wmd86软件,进入Wmd86集成开发环境。2.根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1.4、图1.5所示。设置选择后,下次再启动软件,语言环境保持这次的修改不变。本章选择16位寄存器。图1.4语言环境设置界面图图1.5寄存器设置界面26
3.语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1.6所示。默认文件名为Wmd861。图1.6新建文件界面4.编写实验程序,如图1.7所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。图1.7程序编辑界面5.点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方可以加载程序。编译、链接后输出如图1.8所示的输出信息。26
图1.8编译输出信息界面6.连接PC与实验系统的通讯电缆,打开实验系统电源。7.编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。可以通过端口列表中的“端口测试”来检查通讯是否正常。点击下载程序。为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的背景。如图1.9所示。26
图1.9加载成功显示界面8.将输出区切换到调试窗口,使用D0000:3000命令查看内存3000H起始地址的数据,如图1.10所示。存储器在初始状态时,默认数据为CC。图1.10内存地址单元数据显示9.点击按钮运行程序,待程序运行停止后,通过D0000:3000命令来观察程序运行结果。如图1.11所示。26
图1.11运行程序后数据变化显示10.也可以通过设置断点,断点显示如图1.12所示,然后运行程序,当遇到断点时程序会停下来,然后观察数据。可以使用E0000:3000来改变该地址单元的数据,如图1.13所示,输入11后,按“空格”键,可以接着输入第二个数,如22,结束输入按“回车”键。图1.12断点设置显示图1.13修改内存单元数据显示界面实验例程文件名为Wmd861.asm。1.1.5操作练习编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。26
26
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码表示的十进制数转换为二进制数十进制表示为:26
(1)Di代表十进制数0,1,2,…,9;上式转换为:(2)由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。表1.4数制对应关系表十六进制BCD码二进制机器码ASCII码七段码共阳共阴00000000030H40H3FH10001000131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH26
91001100139H18H67HA101041H08H77HB101142H03H7CHC110043H46H39HD110144H21H5EHE111045H06H79HF111146H0EH71H程序流程图如图1.15所示。实验参考程序如下。实验程序清单(例程文件名:A2-1.ASM)SSTACKSEGMENTSTACKDW64DUP(?)SSTACKENDSDATASEGMENTSADDDB30H,30H,32H,35H,36H;十进制数:00256DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,OFFSETSADDMOVSI,AXMOVBX,000AHMOVCX,0004HMOVAH,00HMOVAL,[SI]SUBAL,30HA1:IMULBXMOVDX,[SI+01]ANDDX,00FFH图1.15ASCII码表示的十进制数转换二进制数程序流程图ADCAX,DXSBBAX,30HINCSILOOPA1A2:JMPA2CODEENDSENDSTART26
实验步骤:(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。(3)运行程序,然后停止程序。(4)查看AX寄存器,即为转换结果,应为:0100H。(5)反复试几组数据,验证程序的正确性。2.将十进制数的ASCII码转换为BCD码从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表1.4可知,一字节ASCII码取其低四位即变为BCD码。实验程序清单(例程文件名:A2-2.ASM)SSTACKSEGMENTSTACKDW64DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:MOVCX,0005H;转换位数MOVDI,3500H;ASCII码首地址A1:MOVBL,0FFH;将错误标志存入BLMOVAL,[DI]CMPAL,3AHJNBA2;不低于3AH则转A2SUBAL,30HJBA2;低于30H则转A2MOVBL,ALA2:MOVAL,BL;结果或错误标志送入ALMOV[DI+0AH],AL;结果存入目标地址INCDILOOPA1MOVAX,4C00HINT21H;程序终止CODEENDSENDSTART26
实验步骤:(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统。(2)在3500H~3504H单元中存放五位十进制数的ASCII码,即:键入E3500后,输入31,32,33,34,35。(3)运行程序,待程序运行停止。(4)在调试窗口键入D350A,显示运行结果,应为:0000:350A0102030405CC…(5)反复测试几组数据,验证程序功能。3.将十六位二进制数转换为ASCII码表示的十进制数十六位二进制数的值域为0~65535,最大可转换为五位十进制数。五位十进制数可表示为:Di:表示十进制数0~9将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H中,转换结果存放于3510H~3514H单元中。实验程序清单(例程文件名:A2-3.ASM)SSTACKSEGMENTSTACKDW64DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:MOVSI,3500H;源数据地址MOVDX,[SI]MOVSI,3515H;目标数据地址A1:DECSIMOVAX,DX26
MOVDX,0000HMOVCX,000AH;除数10DIVCX;得商送AX,得余数送DXXCHGAX,DXADDAL,30H;得Di的ASCII码MOV[SI],AL;存入目标地址CMPDX,0000HJNEA1;判断转换结束否,未结束则转A1A2:CMPSI,3510H;与目标地址得首地址比较JZA3;等于首地址则转A3,否则将剩余地址中填30HDECSIMOVAL,30HMOV[SI],ALJMPA2A3:MOVAX,4C00HINT21H;程序终止CODEENDSENDSTART实验步骤:(1)编写程序,经编译、链接无误后,装入系统。(2)在3500H、3501H中存入0C00。(3)运行程序,待程序运行停止。(4)检查运行结果,键入D3510,结果应为:3030303132。(5)可反复测试几组数据,验证程序的正确性。4.十六进制数转换为ASCII码由表1.1中十六进制数与ASCII码的对应关系可知:将十六进制数0H~09H加上30H后得到相应的ASCII码,AH~FH加上37H可得到相应的ASCII码。将四位十六进制数存放于起始地址为3500H的内存单元中,把它们转换为ASCII码后存入起始地址为350AH的内存单元中。自行绘制流程图。实验程序清单(例程文件名为A2-4.ASM)SSTACKSEGMENTSTACKDW64DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODE26
START:MOVCX,0004HMOVDI,3500H;十六进制数源地址MOVDX,[DI]A1:MOVAX,DXANDAX,000FH;取低4位CMPAL,0AHJBA2;小于0AH则转A2ADDAL,07H;在A~FH之间,需多加上7HA2:ADDAL,30H;转换为相应ASCII码MOV[DI+0DH],AL;结果存入目标地址DECDIPUSHCXMOVCL,04HSHRDX,CL;将十六进制数右移4位POPCXLOOPA1MOVAX,4C00HINT21H;程序终止CODEENDSENDSTART实验步骤:(1)编写程序,经编译、链接无误后装入系统。(2)在3500H、3501H中存入四位十六进制数203B,即键入E3500,然后输入3B20。(3)先运行程序,待程序运行停止。(4)键入D350A,显示结果为:0000:350A32303342CC…。(5)反复输入几组数据,验证程序功能。5.BCD码转换为二进制数将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。实验程序清单(例程文件名为:A2-5.ASM)SSTACKSEGMENTSTACKDW64DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:XORAX,AXMOVCX,0004HMOVSI,3500H26
MOVDI,3510HA1:MOVAL,[SI]ADDAL,ALMOVBL,ALADDAL,ALADDAL,ALADDAL,BLINCSIADDAL,[SI]MOV[DI],ALINCSIINCDILOOPA1MOVAX,4C00HINT21H;程序终止CODEENDSENDSTART实验步骤:(1)编写程序,经编译、链接无误后装入系统。(2)将四个二位十进制数的BCD码存入3500H~3507H中,即:先键入E3500,然后输入0102030405060708。(3)先运行程序,待程序运行停止。(4)键入D3510显示转换结果,应为:0C22384E。(5)反复输入几组数据,验证程序功能。1.2.4思考题1.实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么?2.将一个十六位二进制数转换为ASCII码十进制数时,如何确定Di的值?3.在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次?4.自编ASCII码转换十六进制、二进制转换BCD码的程序,并调试运行。26
26
1.3静态存储器扩展实验1.3.1实验目的1.了解存储器扩展的方法和存储器的读/写。2.掌握CPU对16位存储器的访问方法。1.3.2实验设备PC机一台,TD-PITE实验装置一套,示波器一台。1.3.3实验内容编写实验程序,将0000H~000FH共16个数写入SRAM的从0000H起始的一段空间中,然后通过系统命令查看该存储空间,检测写入数据是否正确。1.3.4实验原理图1.1662256引脚图存储器是用来存储信息的部件,是计算机的重要组成部分,静态RAM是由MOS管组成的触发器电路,每个触发器可以存放1位信息。只要不掉电,所储存的信息就不会丢失。因此,静态RAM工作稳定,不要外加刷新电路,使用方便。但一般SRAM的每一个触发器是由6个晶体管组成,SRAM芯片的集成度不会太高,目前较常用的有6116(2K×8位),6264(8K×8位)和62256(32K×8位)。本实验平台上选用的是62256,两片组成32K×16位的形式,共64K字节。62256的外部引脚图如图1.1626
所示。本系统采用准32位CPU,具有16位外部数据总线,即D0、D1、…、D15,地址总线为BHE#(#表示该信号低电平有效)、BLE#、A1、A2、…、A20。存储器分为奇体和偶体,分别由字节允许线BHE#和BLE#选通。存储器中,从偶地址开始存放的字称为规则字,从奇地址开始存放的字称为非规则字。处理器访问规则字只需要一个时钟周期,BHE#和BLE#同时有效,从而同时选通存储器奇体和偶体。处理器访问非规则字却需要两个时钟周期,第一个时钟周期BHE#有效,访问奇字节;第二个时钟周期BLE#有效,访问偶字节。处理器访问字节只需要一个时钟周期,视其存放单元为奇或偶,而BHE#或BLE#有效,从而选通奇体或偶体。写规则字和非规则字的简单时序图如图1.17所示。图1.17写规则字(左)和非规则字(右)简单时序图26
实验单元电路图如下所示。图1.18SRAM单元电路图1.3.5实验装置地址分配1.系统内存分配系统内存分配情况如图1.19所示。图1.19系统内存分配系统内存分为程序存储器和数据存储器,程序存储器为一片128KB的FLASHROM,数据存储器为一片128KB的SRAM。(程序存储器可以扩展到256KB,数据存储器可以扩展到26
512KB)。2.系统存储器编址系统存储器编址如表1.5所示。表1.5存储器编址表系统SRAM空间:00000H~1FFFFH共128K其中:00000H~00FFFH为4K系统区01000H~1FFFFH为124K用户使用区系统FALSH空间:0E0000H~0FFFFFH共128K其中:0E0000H~0EFFFFH为64K供用户使用区0F0000H~0FFFFFH为64K系统监控区系统扩展存储器空间:80000H~0BFFFFH共256K其中:80000H~9FFFFH为MY0选通的128K0A0000H~0BFFFFH为MY1选通的128K1.3.5实验程序清单(MEM1.ASM)SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTSTARTPROCFAR26
ASSUMECS:CODEMOVAX,8000H;存储器扩展空间段地址MOVDS,AXAA0:MOVSI,0000H;数据首地址MOVCX,0010HMOVAX,0000HAA1:MOV[SI],AXINCAXINCSIINCSILOOPAA1MOVAX,4C00HINT21H;程序终止STARTENDPCODEENDSENDSTART1.3.5实验步骤(注:本章实验选择16位寄存器)1.实验接线图如图1.20所示,按图接线。2.编写实验程序,经编译、链接无误后装入系统。3.先运行程序,待程序运行停止。4.通过D命令查看写入存储器中的数据:D8000:0000回车,即可看到存储器中的数据,应为0000、0001、0002、…、000F共16个字。5.改变实验程序,按非规则字写存储器,观察实验结果。图1.20SRAM实验接线图6.改变实验程序,按字节方式写存储器,观察实验现象。26
7.将实验程序改为死循环程序,分别按规则字与非规则字的方式写存储器,并使用示波器观察WR#信号的波形,分析实验现象,掌握16位外部数据总线的操作方法。1.3.8思考题选用74LS138译码器,按表1.5中MY0、MY1选通存储器的地址范围,设计系统扩展存储器的片选电路,并说明采用的是何种方法产生片选信号。26'