微机实验指导书.docx
- 文档编号:27795116
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:62
- 大小:994.54KB
微机实验指导书.docx
《微机实验指导书.docx》由会员分享,可在线阅读,更多相关《微机实验指导书.docx(62页珍藏版)》请在冰豆网上搜索。
微机实验指导书
微型计算机原理及应用
――――实验指导书
编写:
梁亚玲
华南理工大学2006年8月
前言
结合当前电子类专业本科生微型计算机原理及应用理论课的教学我们编写了本实验指导书,旨在培养学生运用汇编语言程序进行编程及用汇编来实现硬件控制的能力。
本书分为两部分,软件部分和硬件部分。
软件实验部分
实验一
一、实验目的
1、学会如何建立汇编源文件ASM
2、学会调用MASM宏汇编程序对源文件进行汇编,获得目标程序OBJ及LST列表文件
3、学会调用LINK连接程序汇编后的目标文件OBJ连接成可执行的文件EXE
4、学会使用DEBUG调试程序把可执行文件装入内存并调试运行,用D命令显示目标程序,用U命令对可执行文件反汇编,用G命令运行调试。
二、实验设备
装有MASM软件的IBMPC机
三、实验内容
1、汇编程序对源程序进行翻译,生成扩展名为OBJ的目标文件;连接程序是将目标程序和库文件进行连接、定位,生成扩展名为EXE的可执行文件;调试程序是对目标文件进行调试,验证它的正确性。
2、DEBUG程序各种命令的使用方法
功能
命令格式
使用说明
显示内存单元内容
D地址
从指定地址开始显示40H个字节或80H个字节
修改内存单元内容
E地址
先显示地址和单元内容等待输入修改的内容
检查和修改寄
存器的内容
R
显示全部寄存器和标志位及下条指令单元十六进制数码和反汇编格式
反汇编
U地址
从指定地址开始反汇编16个或32个字节
汇编
A地址
从指定地址直接输入语句并从指定指定汇编装入内存
跟踪
T=地址
从指定地址开始逐条跟踪指令
运行
G=地址
无断点,执行正在调试的指令
退出
Q
退出DEBUG返回DOS
3、实验过程
①、在edit环境,写字板,记事本等中输入源程序。
或双击屏幕上“未来汇编”快捷方式进入编辑环境输入源程序。
②、保存,输入文件名如A1.asm,并将其与MASM的三个可执行文件放在同一目录下。
③、在DOS环境下,用MASM生成目标文件A1.OBJ
进入DOS环境,将当前目录设置为存放MASM的路径.如图所示:
如果MASM的软件放在C:
\TOOLS\WJYL则如上例进入该目录下,然后
输入MASM,可见屏幕上有四个提问,按如下格式回答:
Sourcefilename[.ASM]:
a1↙
Objectfilename[A1.OBJ]:
↙
Sourcelisting[NUL.LST]:
a1↙
Cross-reference[NUL.CRF]:
a1↙
④、键入DIR/W可见目标文件A1.OBJ和列表文件A1.LST。
⑤、在DOS环境下,用连接文件LINK连接程序生成可执行文件A1.EXE输入LINK,可见屏幕有四个提问,按一下格式回答:
ObjectModules[.OBJ]:
A1↙
RUNFile[A1.EXE]:
↙
ListFile[NUL.MAP]:
↙
Libraries[.LIB]:
A1↙
用DIR命令,查看生成的各文件
⑥、用TYPEA1.LST↙命令观看列表文件
⑦、在DOS环境下,用DEBUG跟踪程序来安装运行A1.EXE程序
1)输入DEBUGA1.EXE↙可见有提示符“—”
2)输入-R↙可见CPU内所有寄存器内容和标志位状态如下:
AX=0000BX=0000CX=0100DX=0000SP=0028BP=0000SI=0000DI=0000DS=1112ES=1112SS=1126CS=1129IP=0000NVUPDIPLNZNAPONC
1129:
0000B82211MOVAX,1122
3)输入-U,可看到11行指令,再用U命令可看到余下的各指令。
4)输入运行命令-G=0028可见程序执行到INT21H句便停下来,屏幕展示此刻各寄存器的内容如下:
AX=4C00BX=0007CX=0001DX=0000SP=0028BP=0000SI=0000DI=0000DS=1122ES=1112SS=1126CS=1129IP=0028NVUPDIPLZRACPECY
1129:
0028CD21INT21
5)输入-RIP可修改指令指针
6)输入-T↙可看到执行第一条指令的结果
输入-T=03↙可看到3条指令执行的过程
7)输入-Q↙退出DEBUG,回到DOS状态。
实验例程:
DATASEGMENT
ARRAY1DB2,5,0,3,-4,5,0,0AH,0FH
ARRAY2DB3,5,4,-2,0,8,3,-0AH,20H
COUNTDB$-ARRAY2
LENDB?
SUMDB20HDUP(0)
DATAENDS
STACK1SEGMENTPARASTACK'STACK'
DW20HDUP(0)
STACK1ENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1
START:
MOVAX,DATA
MOVDS,AX
MOVBX,-1
MOVCX,0
MOVCL,COUNT
NOZERO:
INCBX
MOVAL,ARRAY1[BX]
ADDAL,ARRAY2[BX]
MOVSUM[BX],AL
LOOPNENOZERO
JEENDO
INCBL
ENDO:
MOVLEN,BL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
实验二数码转码编程及程序调试
一.实验目的
1.掌握不同进程数及编码相互转换的程序设计方法,加深对数码转换的理解;
2.进一步熟悉键盘使用方法;
3.进一步熟悉调试程序的方法。
二.实验设备
装有汇编软件的IBMPC机一台
三.实验内容及步骤
计算机输入设备输入的信息一般ASCii码或BCD码表示的数据或字符,CPU处理信息一般均用二进制数进行计算或其它处理,处理结果输出的外设有必须一外设的要求变为ASCII码,BCD码或七段显示码等。
因此,在应用软件中各累数制的转换和代码的转换是必不可少的。
计算机于外设间的数码转换关系如图2-1所示,数码对应关系如表2-1所示。
1.将ASCII码表示的十进制数转换为二进制数
十进制数可表示为:
代表十进制1,2,3,···9,0;
由式
(2)可归纳十进制数转换为二进制数的方法:
从十进制的最高位Dn开始作乘10加次位的操作,将结果再乘10再加下一个次位,如此重复,则可求出二进制的数结果来。
程序流程图如图2-2。
这里我们规定:
被转换的ASCII码十进制数存放在3500h~3504h单位中。
而转换结果在3510~3511单位中。
实验步骤
(1)输入程序并检查无误。
(2)在3500~3504h单元存入十进制12的ASCII码,即e3500,并输入3030303132。
(3)g=2000,运行程序,并用CTR+C来中断程序返回监控态。
(4)用d3510查看结果,应为35100C00
(5)反复试几组数,考查程序的正确性。
(6)参考流程图如图2-2
2.将从键盘输入的五位十进制数的ASCII码已存在3500起始的内存单元中。
把它转换成BCD码后,再按位分别存入350A起始的内存单元内。
若输入的不是十进制的ASCII码,则显示FF.
程序流程图如图2-3
实验步骤
(1)输入程序并检查无误。
(2)在3500~3504H单元存入五位十进制数的ASCII码,即e3500
并输入31,32,33,34,35。
(3)G=2000,运行以上程序。
(4)D350A,显示结果为:
0000:
350A01020304CC…
(5)反复试几组数,考查程序的正确性。
(6)参考流程图如下
3.将十六为二进制数转换为ASCII码表示的十进制数。
十六进制数的值域为0~65535,最大可转换为五位十进制数。
实验步骤
(1)输入程序并检查无误。
(2)在3500~3501H单元中存放0C00,运行程序并检查结果,应看到3510~3514H单元中的数依次为3030303132。
(3)参考流程图见图2-4
4.十六进制数椟换为ASCII码
设经过CPU处理后的十六进制存放在起始地址为3500H的内存中,把它们转换成ASCII码之后,再分别存入起始地址为3510的内存单元中。
参考流程图如图2-5所示。
实验步骤
(1)输入程序并检查无误。
(2)在3500~3501H单元中存入四位16进制数203B,即:
e3500,并输入3B,20。
(3)G=2000,运行程序
(4)D350A,显示结果为:
0000:
350A42333032CC`
输入数与结果ASCII码对应顺序相反。
(5)参考流程图如下
5.BCD码转换为二进制码
设四个二位十进制的BCD码存放在起始地址为3500H的单元中,转换出的二进制数码存入起始为3510的内存单元中,程序流程图如图2-6。
实验步骤
(1)输入程序并检查无误
(2)在3500~3501H单元中存入四个十进制数(12,34,56,78)的BCD码,即e3500,输入01.02.03.04.05.06.07.08。
(3)G=2000,运行程序
(4)D3510,显示结果为35100C00220038004E00
(5)参考流程图见图2-6
四.程序及调试过程
图2-2
图2-3
图2-4
4、十六进制数转换为ASCII码
图2-5
5、BCD码转换为二进制码
图2-6
微机实验三分支和循环程序设计实验
一、分支程序设计实验
1.实验目的
1.掌握分支程序的结构。
2掌握分支程序的设计、调试方法。
2.实验设备
微机一台
3.内容
设计一数据块间的搬移程序
设计思想:
程序要求把内存中一数据区(称为源数据块)传送到另一存贮区(称为目的数据块)。
源数据块和目的数据块在存贮中可能有三种情况。
对于两个数据块分离的情况,数据的传送从数据块的首址开始,或者从数据块的末址开始均可,但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。
可以得出以下结论:
当源数据块首址〉目的块首址时,从数据块首址开始传送数据。
当源数据块首址〈目的块首址时,从数据块末地址开始传送数据。
流程图:
结果:
在源数据块中存入6个数,分别使SI大于、等于、小于DI均发觉数据正确传送。
可见程序正确。
二、循环程序设计实验
1.实验目的
(1)加深对循环结构的理解。
(2)掌握循环结构程序设计的方法。
(3)熟练掌握调试循环程序的方法。
2.实验设备
TDS-MD微机一台
3.内容
(1)编制程序使S=1+2*3+3*4+4*5+……N(N+1),直到N(N+1)项大于200为止。
流程图:
结果与分析:
运行结果为45FH,与实际相符,程序正确。
(2)求某个数据区内负数的个数
设数据区的第一单元存放区内数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。
为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。
流程图:
结果与分析:
输入数据个数为6
输入12、88、82、90、22、33得结果03
结果与实际相符,程序正确。
实验四 子程序设计
一.实验目的
1、学习子程序的定义和调用方法。
2、掌握子程序、子程序嵌套的结构。
3、掌握子程序的程序设计、编制及调试方法。
二.实验内容
程序采用菜单式选择,可接收用户输入的命令(1~5),各命令如下:
按1键完成字符串小写字母变大写字母
用户输入一由英文大小写字母或数字0~9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其它字符不变,并在屏幕上显示。
用户按任一键,重做,按ESC键,返回主菜单。
按2键完成找最大值(二选一)
1、接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来。
2、接收用户输入若干无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。
用户按任一键,重做,按ESC键,返回主菜单。
按3键完成排序(二选一)
1、接收用户输入的可显示字符串,以回车结束。
程序按ASCII码值大小由大到小排序并输出显示。
2、接收用户输入若干个有符号8位数(以空格逗号为分隔符,以回车结束)。
程序将其中最大的数显示出来。
用户按任一键,重做,按ESC键,返回主菜单。
按4键显示时间
首先提示用户对时,即用户输入时,分,秒(以空格或冒号分隔,以回车结束),然后,在屏幕上不断显示时间,格式为:
××(时):
××(分):
××(秒),最好定点显示。
用户按任一键,重新对时,按ESC键,返回主菜单。
按5键,结束程序运行,返回系统提示符。
三.程序与流程图
主程序的简略流程子程序一的简略流程图子程序二的简略流程图
子程序三的简略流程图子程序4,显示时间流程图
运行结果:
主菜单:
分支一(小写字母转大写字母):
分支二(找出ASCII码最大的字符):
分支三(按ASCII码把字符从大到小排列):
分支四(显示跳动的时间):
分支五(退出程序):
错误的输入:
硬件部分实验
一、概述
八十年代以来,国内大中专院校很多专业都相继开设了“微机原理及应用”方面的课程,讲授内容主要是8位机(Z80),实验设备多采用TP801单板机。
随着计算机技术的发展,讲授内容开始逐步转向16位或32位的PC系列微机,实验设备亦需更新,“TPC-2003A通用32位微机接口(PCI)实验系统”是我公司继“TPC-2003通用32位微机接口实验系统”的基础上,综合了各学校讲课及实验老师的意见之后推出的微机硬件实验教学设备的新产品。
该仪器增加了实验系统的开放能力和灵活性。
它不仅使一些典型的微机接口实验方便,而且对一些计算机硬件要求较高的专业提供了锻炼学生动手能力,发挥创造才能的平台。
该系统主要有以下特点:
★实验电路连接采用了国家专利、获奖产品“自锁紧”插座及导线,消除了连线接触不良的现象。
★电路设计中增加了多项保护措施,可有效的避免由于学生实验时错接、错编程损坏主机或接口集成电路的现象。
★接口实验增加了实用性、趣味性的项目,使用C语言进行实验的程序。
★实验台上增加了逻辑笔、通用IC插座等电路。
可作为数字电路实验仪器使用,也可以用于学生毕业设计、实验数据的采集及科研开发。
仪器硬件包括接口卡、实验台(箱)两部分组成,两者之间通过50线扁平电缆相连。
接口卡可以插入PC系列微机中任意一个PCI扩展插槽,它的主要功能是将与实验有关的总线信号加以驱动后引到实验台上,同时引出信号还有与“中断”和“DMA”实验操作有关的信号及+5V、+12V、-12V电源。
实验台上设有I/O地址译码电路、总线插孔、接口实验常用集成电路、外围电路及通用IC插座等部分组成。
外围电路包括逻辑电平开关电路、LED显示电路、时钟电路、单脉冲电路、逻辑笔、复位电路、七段数码管显示电路、基本门电路、继电器及步进电机、小直流电机的驱动电路。
使用说明书中介绍了四十多个微机接口实验。
覆盖了大中专院校微机接口实验教学大纲中的内容。
教师可以根据课时计划安排选作,也可以在此基础上重新设计新的实验项目。
二、安装
1、实验装置基本组成:
(1)、硬件:
PCI接口卡一块;实验台(箱)一个;50线扁平电缆一根;自锁紧导线50根;集成电路芯片(8251、74LS273、74LS244、6116)共4片。
该实验装置在PC系统中的位置如图所示(斜线标出):
(2)、软件:
光盘一张。
(3)、资料:
学生实验指导书一本。
(4)、附件:
话筒一个,测试表笔一只,50芯实验连接线。
(5)、可选附件:
(A)32位数据扩展实验套件(包括扩展卡及34线扁平电缆各一个)
(B)实验盒(包括:
步进电机、小直流电机、喇叭、指示灯各一个)
(C)TPC-H键盘显示控制器实验板
(D)总线扩展PCI卡
2、安装步骤:
(1)关上PC机电源,打开微机主机箱。
(2)将PC总线接口卡插在任意扩展槽中。
接口卡的结构如图1。
(3)用50芯线扁平电缆线连接接口卡和实验台。
(4)接上PC机电源,启动微机,Windows提示发现新硬件,请安装光盘“Disk驱动”目录里的安装配置文件(TPC.inf)
(5)重新启动计算机后,运行光盘里的Setup程序安装运行支持库文件
PLX9054PCI总线扩展卡结构,该卡使用PLX9054和CPLD把PCI总线时序转换成50芯ISA总线时序,提供给微机实验台使用。
三、实验台结构:
(见上页)
1、I/O地址译码电路
如图-3所示,地址空间:
280H~2BFH共分8条译码输出线:
Y0~Y7,其地址分别是280H~287H;288H~28FH;290H~297H;298H~29FH;2A0H~2A7H;2A8H~2AFH;2B0H~2B7H;2B8H~2BFH,8根译码输出线在实验台“I/O地址”处分别由“自锁紧”插孔引出,供实验选用。
2、总线插孔
采用“自锁紧”插座在标有“总线”区引出数据总线D7~D0;地址总线A9~A0;读、写信号IOR、IOW;中断请求信号IRQ;DMA请求信号DRQ1;DMA响应信号、DACK1;及AEN信号,供学生搭试各种接口实验电路使用。
3、时钟电路
如图-4所示,可以输出1MHZ、2MHZ两种信号,供A/D转换器、定时器/计数器、串行接口实验使用。
图4
4、逻辑电平开关电路
12
如图-5所示,实验台右下方设有8个开关K7~K0,开关拨到“1”位置时开关断开,输出高电平,向下打到“0”位置时开关接通输出低电平,电路中串接了保护电阻,使接口电路不直接同+5V、GND相连,可有效地防止学生因误操作、误编程损坏集成电路现象。
图5图6
5、LED显示电路
如图-6所示,实验台上设有8个发光二极管及相关驱动电路(输入端L7~L0),当输入信号为“1”时发光,为“0”时灭。
6、七段数码管显示电路
如图-7所示,实验台上设有两个共阴极七段数码管及驱动电路,段码为同相驱动器,位码为反相驱动器,从段码与位码的驱动器输入端(段码输入端:
a、b、c、d、e、f、g、dp,位码输入端:
s1、s2)输入不同的代码即可显示不同数字或符号。
图7
13
7、单脉冲电路
如图-8所示,采用RS触发器产生,实验者每按一次开关即可以从两个插座上分别输出一个正脉冲及负脉冲,供“中断”、“DMA”、“定时器/计数器”等实验使用。
图8图9
8、逻辑笔
如图-9所示,当输入端Ui接高电平时红灯(D2)亮;接低电平时绿灯亮。
9、继电器及驱动电路
如图-10所示,实验台上设有一个+5V直流继电器及相应的驱动电路,当其开关量输入端输入数字量“1”时,继电器动作:
常开触点闭合、常闭触点断开。
通过相应的实验使学生了解开关量控制的一般原理。
图10图11
10、复位电路
如图-11所示,能在上电时,或按下复位开关S2后产生一个高电平的复位信号供8255、8251等接口芯片使用。
14
11、接口集成电路
实验台上有微机原理硬件实验最常用接口电路芯片,包括:
可编程定时器/计数器(8253)、可编程并行接口(8255)、数/模转换器(DAC0832)、模/数转换器(ADC0809),这里芯片与CPU相连的引线除片选信号CS外都已连好,与外界连接的关键引脚在芯片周围用“自锁紧”插座引出,供学生实验时使用。
其中数/模转换器附有双极性输出,模/数转换器附有双极性输入插座。
具体电路可见下面实验说明。
12、跳线开关(JP)
实验台上共有5个跳线开关,其中Ja、Jb、Jc在实验台的左上角,50线总线插座的左方。
Ja用来选择用主机电源还是用外加电源的,当用主机电源时,应将JA上+5V、+12V、-12V三个短路片插好。
若想使用外加电源,必须首先将JA上的三个短路片全部拔掉,才能将外接电源加入。
JB和JC是在使用ISA卡时来选择实验类型的,I/O实验时JB、JC上的短路片都应插在标有“I/O”的位置。
做存储器实验时,短路片应插在标有“MEM”的位置。
做DMA实验时JB应插在“I/O”位置,JC应插在DMA位置。
实验台出厂时短路片在I/O实验位置。
实验台上另外两个跳线开关为JP2和JP3,在实验台的左下角,分别用于模/数转换器模拟量输入极性选择,将JP2的1、2短路时IN2(J2)可输入双极性电压(-5V~+5V),2、3短路为单极性(0~+5V),JP3用于选择IN1的输入极性,方法与JP2相同。
13、+5V电源插针
为了减少主机+5V电源的负担和各主要芯片的安全,在主要接口芯片的左上角都有相应的电源连接插针(标记为+5V),当实验需要该芯片时,用短路块短接插针即可接通+5V电源。
对用不到的芯片可将短路片拔掉,以确保芯片安全。
14、通用集成电路插座
实验台上设有4个通用数字集成电路插座,其中插座A、B为20P,插座D为40P,插座D可以插入一个24~40脚的集成电路芯片或者2个8~20脚的集成电路芯片。
每个插座引脚附近都有相应的“自锁紧”插座,部分实验(简单并行接口、DMA、串行通讯、集成电路测试)电路是利用这些插座搭试的。
要求高的学校可以让学生自己搭试更多的实验,以提高学生动手能力。
利用这些插座可以开发新的实验,也可以进行数字电路实验,及学生毕业设计。
自锁紧插座插入导线时,应稍加力并延顺时针方向旋转一下,才能保证接触良好,拔出时,应先逆时针方向旋转待插头完全松开后,再向上拔出。
15、数字电路实验区
实验台上有一块数字电路实验区,设有三种基本门电路(与、或、非)及D触发器,供学生在接口实验或数字电路实验时直接使用。
16、接线端子
如图-2所示实验台上设有J7,J8共2个接线端子。
J7用于外接用户开发的实验板,J7是一个20芯通用插座,用于外接用户开发的实验板,本系统中8279键盘显示实验板就从此插头引出。
J8为用户外接开发实验板时外接板的片选信号端。
J7各引脚信号安排如下:
15
191715131197531
D0
D1
D2
D3
D4
D5
D6
D7
IRQ
CS
RES
+5V
+5V
IOR
IOW
A0
A1
CLK
GND
GND
201816
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 实验 指导书