微机接口技术实验指导书04.docx
- 文档编号:7400262
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:107
- 大小:430.33KB
微机接口技术实验指导书04.docx
《微机接口技术实验指导书04.docx》由会员分享,可在线阅读,更多相关《微机接口技术实验指导书04.docx(107页珍藏版)》请在冰豆网上搜索。
微机接口技术实验指导书04
微机原理与接口技术
实验指导书
编著杜呈透叶夏虎
审稿叶富乐林卫星
宁波大学
信息科学与工程学院
2003年9月
前言
《微机原理与接口技术》是一门实践性很强的信息类专业技术基础课。
在课堂教学的基础上必须配以足够的实验或实践教学环节,以便理论联系实际,加深学生对课堂教学的理解和掌握,并能提高学生的实践动手能力,提高学生分析问题、解决问题的能力。
本指导书适合《微机原理》、《微机原理与接口技术》、《微机接口技术》等课程的实验教学。
结合由清华大学计算机系开发的“TPC-2003通用微机接口(PCI)实验系统”,合理地安排了微机实验。
全书共分为四个章节,软、硬件实验共30个,根据不同专业的需求,可分别选择实验项目。
第一章TPC-2003通用微机接口(PCI)实验系统
第二章实验前准备知识
第三章软件部分实验
第四章硬件部分实验
对于每个实验我们提供了供学生参考的实验提示与实验流程。
主张学生在做实验前做好充分的预习准备,依靠自己在实验前编出的实验程序,经过实验调试改正程序,得出正确结果。
由于编者水平有限,谬误之处在所难免,欢迎各位专家批评指正。
编者
第一章
TPC-2003通用微机接口(PCI)实验系统
一、TPC-2003通用微机接口(PCI)实验系统概况
本实验台系统硬件包括接口卡、实验台(箱)两部分组成,两者之间通过50线扁平电缆相连。
接口卡可以插入PC系列微机中任意一个PCI扩展插槽,它的主要功能是将与实验有关的总线信号加以驱动后引到实验台上,同时引出与“中断”和“DMA”实验操作有关的信号及+5V、+12V、-12V电源。
该实验装置在PC系统中的位置如图1-1所示(虚框部分):
图1-1实验台在PC机中的位置
实验台上设有I/O地址译码电路、总线插孔、接口实验常用集成电路、外围电路及通用IC插座等部分组成。
外围电路包括逻辑电平开关电路、LED显示电路、时钟电路、单脉冲电路、逻辑笔、复位电路、七段数码管显示电路、基本门电路、继电器及步进电机、小直流电机的驱动电路。
实验台结构如图1-3所示:
接口卡采用PLX9054PCI总线扩展卡结构,该卡使用PLX9054和CPLD把PCI总线时序转换成50芯ISA总线时序,提供给微机实验台使用。
接口卡线路布局如图1-2所示:
图1-2
ADC0809
图1-3实验台结构
二、实验台结构
1、I/O地址译码电路
如图1-4所示,地址空间:
280H~2BFH共分8条译码输出线:
Y0~Y7,其地址分别是280H~287H;288H~28FH;290H~297H;298H~29FH;2A0H~2A7H;2A8H~2AFH;2B0H~2B7H;2B8H~2BFH,8根译码输出线在实验台“I/O地址”处分别由“自锁紧”插孔引出,供实验选用。
图1-4
2、总线插孔
采用“自锁紧”插座,在标有“总线”区引出数据总线D7~D0;地址总线A19~A0;读、写信号
、
;中断请求信号IRQ;DMA请求信号DRQ1;DMA响应信号、
;及AEN信号,供学生搭试各种接口实验电路使用。
3、时钟电路
如图1-5所示,可以输出1MHZ、2MHZ两种信号,供A/D转换器、定时器/计数器、串行接口实验使用。
图1-5
4、逻辑电平开关电路
如图1-6所示,实验台右下方设有8个开关K7~K0,开关拨到“1”位置时开关断开,输出高电平,向下打到“0”位置时开关接通输出低电平,电路中串接了保护电阻,使接口电路不直接同+5V、GND相连,可有效地防止学生因误操作、误编程损坏集成电路现象。
图1-6图1-7
5、LED显示电路
如图1-7所示,实验台上设有8个发光二极管及相关驱动电路(输入端L7~L0),当输入信号为“1”时发光,为“0”时灭。
6、七段数码管显示电路
如图1-8所示,实验台上设有两个共阴极七段数码管及驱动电路,段码为同相驱动器,位码为反相驱动器,从段码与位码的驱动器输入端(段码输入端:
a、b、c、d、e、f、g、dp,位码输入端:
s1、s2)输入不同的代码即可显示不同数字或符号。
图1-8
7、单脉冲电路
如图1-9所示,采用RS触发器产生,实验者每按一次开关即可以从两个插座上分别输出一个正脉冲及负脉冲,供“中断”、“DMA”、“定时器/计数器”等实验使用。
图1-9图1-10
8、逻辑笔
如图1-10所示,当输入端Ui接高电平时红灯(D2)亮;接低电平时绿灯亮。
9、继电器及驱动电路
如图1-11所示,实验台上设有一个+5V直流继电器及相应的驱动电路,当其开关量输入端输入数字量“1”时,继电器动作:
常开触点闭合、常闭触点断开。
通过相应的实验使学生了解开关量控制的一般原理。
图1-11图12
10、复位电路
如图1-12所示,能在上电时,或按下复位开关S2后产生一个高电平的复位信号供8255、8251等接口芯片使用。
11、接口集成电路
实验台上有微机原理硬件实验最常用接口电路芯片,包括:
可编程定时器/计数器(8253)、可编程并行接口(8255)、数/模转换器(DAC0832)、模/数转换器(ADC0809),这里芯片与CPU相连的引线除片选信号
外都已连好,与外界连接的关键引脚在芯片周围用“自锁紧”插座引出,供学生实验时使用。
其中数/模转换器附有双极性输出,模/数转换器附有双极性输入插座。
具体电路可见下面实验说明。
12、跳线开关(JP)
实验台上共有5个跳线开关,其中Ja、Jb、Jc在实验台的左上角,50线总线插座的左方。
Ja用来选择用主机电源还是用外加电源的,当用主机电源时,应将JA上+5V、+12V、-12V三个短路片插好。
用户若想使用外加电源,必须首先将JA上的三个短路片全部拔掉,才能将外接电源加入。
JB和JC是用来选择实验类型的,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、接线端子
如图1-2所示实验台上设有7个接线端子,标号为J1-J7。
J1用于外接喇叭,J2是一个立体声插孔用于外接话筒。
J4为继电器触点,其中1接+5V,2、3为常闭触点,3、4为常开触点。
5接地线。
J5用于接步进电机。
J6用于接小直流电机。
J7是一个20芯通用插座,用于外接用户开发的实验板,本系统中8279键盘显示实验板就从此插头引出。
J7各引脚信号安排如下所示:
19
17
15
13
11
9
7
5
3
1
D0
D1
D2
D3
D4
D5
D6
D7
IRQ
CS
RES
+5V
+5V
IOR
IOW
A0
A1
CLK
GND
GND
20
18
16
14
12
10
8
6
4
2
17、50线总线插座信号安排
18、直流电源开关(K1)和存储器地址选择开关(K2)
实验台上有一直流电源开关(K1),在实验台的左上角。
在主机电源打开后,再打开实验台上开关K1,实验台才会加电。
另外,实验台上还有一个四位拨动开关K2,在实验台8255芯片的右方。
K2是在做存储器实验时选择存储器地址使用的。
19、使用外加直流电源注意事项:
1)用户可以使用主机电源,也可以使用外加直流电源,主机电源通过总线扩展卡引入到实验台的50芯插座上,再通过短路子JA接到电源开关上。
该实验台出厂时是按使用主机电源连接的。
2)用户若想使用外加电源。
必须首先将JA上的三个短路片全部拔掉,将主机电源断开,才能将外部电源接入。
3)用户电源通过外接电源插座J0接到实验台上。
插入以前应仔细检查电源插头上各路电源与J0上标注的是否相同,如不相同应修改电源插头,否则会损坏实验台。
4)外接电源插入以前,应检查各路电源输出是否正确,如不正确应修改或更换电源。
5)以上各项都正常后,打开电源即可进行实验。
第二章
实验前准备知识
一、软件上机过程简述
当用户编制好汇编语言源程序之后,要在机器上运行,必须经过以下几个步骤:
1、系统盘上应该有如文件:
TURBOC或EDIT.COM文件编辑器
ASM.EXE或基本汇编程序
MASM..EXE宏汇编程序
LINK.EXE链接程序
DEBUG.COM调试程序
基中ASM.EXE是基本汇编程序,它不支持宏汇编,如果要用宏汇编,则必须用MASM..EXE。
2、调用文件编辑程序。
在仅有一种编辑程序的情况下,通常用键盘打入源程序,此时源程序以ASCII码字符形式存放在内存缓冲区。
若输入过程有错,可用有关命令修正。
修正后,可以用命令使源程序存盘,于是盘上就建立了源程序文件。
注意:
文件扩展名必须为.asm。
3、源程序必须经过汇编,变成机器码的目标文件,机器才可运行。
汇编是通过调用PC-DOS下的宏汇编程序MASM或基本ASM来实现的。
4、必须经过连接,把程序的各个模块连接在一起,或把要调用的子程序与主程序连接在一起,把相对地址变成绝对地址,形成可执行的文件。
连接是由调用PC-DOS下的LINK程序来实现的。
汇编语言程序
编辑程序
用TC或EDIT编辑程序
汇编程序
MASM或ASM
连接程序
LINK
调试程序
DEBUG
Y
有错吗?
N
运行程序
图2-1汇编语言程序上机过程流程
5、调试程序。
经过以上过程,在盘上有了可执行文件,则可在DOS提示符下,直接打入文件名(可不用扩展名),就可以把执行文件从盘上装入内存,且立即执行此程序。
然而通常一个较复杂、较长的汇编语言源程序,希望一点错误也没有,一次通过的可能性是很小的,这样就需要调用PC-DOS支持下的DEBUG程序,来调试我们的目标程序。
被调试程序在DEBUG管理下,可以单步执行程序,也可以设置断点,可以显示和修改CPU内部寄存器和标志位的内容等,这样就便于寻找程序中的错误。
在发现了错误以后,通常还要重复上述的编辑、汇编、连接和调试程序的全过程,直至程序运行正确为止。
已调试的目标程序,任何时候都可在PC-DOS下,通过打入文件名即可运行它。
上机过程如2-1示意图所示。
二、DOS基本命令摘要
1、CLS:
清除显示屏幕。
命令格式:
C:
\masm\>CLS
2、DIR:
列当前目录。
命令格式:
C:
\masm\>DIR或
C:
\masm\>DIR/P(分页显示)或
C:
\masm\>DIR/W(紧凑格式显示)
3、COPY:
文件拷贝。
命令格式:
C:
\masm\>copyfilename[d:
][path]
(把当前目录下的文件拷贝到其它目录下)
4、DEL:
删除指定文件。
命令格式:
C:
\masm\>delfilename
(删除当前目录下的文件)
5、REN:
文件更名。
命令格式:
C:
\masm\>renfilename1filename2
(在当前目录下更文件名)
6、MD:
建立子目录。
命令格式:
C:
\masm\>md子目录名
(在当前目录下建子目录)
7、CD改变工作目录。
命令格式:
C:
\masm\>cd[d:
][path]子目录名
三、汇编与宏汇编程序
经过编辑命令建立和修改后存盘的汇编语言源程序(扩展名为.ASM),要在机器上运行,必须先由汇编程序把它汇编为机器码的目标程序。
汇编程序与宏汇编程序的区别在于宏汇编程序有宏处理功能,而汇编程序没有,但它比较简单。
经过IBM汇编程序汇编后的程序在盘上建立三个文件:
一个是扩展名为.OBJ的目标程序。
在此程序中,操作码部分已变为机器码,但操作数地址只是一个可浮动的相对地址,而不是内存中的绝对地址。
第二个是扩展名为.LST的可打印文件,它把源程序(包括注释)和汇编后的目标程序都制表,可以打印出来供检查用。
第三个是扩展名为.CRF的可以对符号进行前后对照的文件。
在汇编时,汇编程序对要不要这些文件,有如下提示:
例如对exam.asm文件进行汇编:
在DOS状态下,打入MASM(或ASM)调用宏汇编程序(或汇编程序),屏幕显示与操作如下:
A>MASMexam.asm
TheIBMPersonalComporterMACROAssemble.
1.0(C)Copyright.IBMCorp1981.
Sourcelilename[.ASM]:
exam
ObjectLilename[exam.obj]:
SourceListing[Nul.lst]:
Crossreierence[Nul.crf]
WarningErrors
SevereErrors
从上面操作过程中可以见到,汇编程序的输入文件就是:
用户编写的源程序,它必须以ASM为文件扩展名,在汇编调入后,先显示版本号,然后出现第一行提示,询问要汇编的原文件名。
用户输入文件名,则出现第二个提示,询问目标程序的文件名,括号内的为机器规定默认的(delault)文件名,通常直接按回车,表示采用默认文件名,接着出现第三个提示,问是否要建立可打印文件,若要,打入文件名,若不要,可直接回车。
最后出现第四个提示,询问是否要建立交叉索引文件,若需要则打入文件名,若不要直接回车。
在回答了第四个询问后。
汇编程序就对源程序进行汇编。
汇编过程结束时,如果程序有错误会给出源程序的警告性错误(warningerrors)和严重错误(severeerrors)。
前者指出一般性错误,后者指出语法性错误。
当存在这两类错误时,屏幕上除指出错误个数外,还给出错误信息代号。
程序员可以通过代号码手册弄清楚错误的性质。
如果汇编过程中,发现有错误,则程序员应该重新用编辑命令修改错误,再进行汇编,最终直到汇编正确通过。
要指出的是汇编过程只能指出源程序中的语法错误,并不能指出算法错误和其它错误。
四、连接程序(Link)及程序执行
由汇编程序建立的目标码文件必须经过连接以后,才能成为可执行文件。
连接程序并不是专为汇编语言设计的。
利用它可以把若干个模块连接在一起,这些模块可以是汇编程序产生的目标码文件,也可以其它高级语言编译程序产生的目标文件。
汇编后的目标文件(.OBJ)中的操作地址是可浮动的相对地址,经过连接后的文件成为可执行的(.EXE)文件。
同时在连接过程中,又建立了几个文件。
具体操作如下(以eame.OBJ进行连接为例):
A>LINKeame
此时,屏幕上出现如下信息:
IBM5552multisdalionLinker2.00(C)CopyrightIBMCorp.1985.
Corp.1985
RunFile[eame.EXE]:
LiskFile[Nul.map]:
Libraries[.LIB]:
首先询问要连接的目标文件,一般直接回车就采用了括号内规定的默认文件名。
当用户用到库函数时,对于提示信息Librariesraries[.LIB],要输入库名。
LINK过程产生两个输出文件,一个是扩展名为EXE的执行文件,产生此文件当然是LINK过程的主要目的,另一个是扩展名为MAP列表分配文件,有人也称它为映象文件,它给出每个段在内存中的分配情况。
比如某个列表分配文件为如下内容:
A>TYPEeame.map
Warning:
NoSTACKSegment
STARTSTOPLENGINNAMECLASS
00000H0012H0013HBUF-DAT
00020H0042H0022HCOSOG
00050H00B3H0064HSTACKSTACK
PragrameEntrypointat0002:
0000
由上面看出,变量BUF-DAT的起始地址是0000H,结果地址是0012H,字节数是13H,以此类推。
另外从LINK过程提示信息中,可看到最后给出一个“无堆栈段”的警告性错误(屏幕显示:
Warning:
NOSTACKSegment)这并不影响程序的执行。
当然源程序中设置了堆栈段,则无此提示信息。
程序执行
有了EXE文件后,就可以执行程序,此时,只要打入文件名即可。
以eame为例:
A>eame
实际上。
大部分程序必须经过调式阶段才能纠正程序设置中的错误,从而得到正确的结果。
所谓调式阶段,就是用调式程序(DEBUG程序)发现错误,再经过编辑汇编、链接纠正错误,对于DEBUG程序中的各种命令,可参阅DOS手册。
五、DEBUG的使用
调试程序DEBUG是DOS支持的又一种系统软件,虽然高级语言的源程序经过编译和连接得到的可执行程序也可以用DEBUG程序调试,但实际上这样应用的不多。
DEBUG程序主要用于汇编语言程序的调试。
许多初学者认识不到用DEBUG程序调试的重要性,常常希望自己的程序编好后经过汇编和连接得到的可执行程序一运行成功,这几乎是不可能的。
只是在多次的教训中才体会到熟练的掌握DEBUG使用方法的重要性。
汇编和连接过程只能查出源程序的语法错误,不能查出功能上的错误和程序不完善的地方,因此调试过程必须逐段,有时逐条指令的执行,来观察是否是预期的结果,从而发现程序语句编排的错误。
具体的说,DEBUG程序为用户提供多种命令,大致有:
显示和修改寄存器和存储单元的存储单元的内容;执行程序中任意一段或一条指令;汇编单条源语句和反汇编机器码指令;查找字符代码;端口的输入和输出;文件装入内存和写入磁盘等。
用户利用这些命令可以查出任何程序功能上的错误。
下面说明DEBUG程序的启动方法和主要命令意义。
1、DEBUG程序的启动
DEBUG程序有两种启动方法。
DEBUG程序是在DOS盘上的一个独立的可执行程序(扩展名为.COM),所以,DEBUG程序的第一种启动方法就是把它看作和一般的可执行程序一样,只要打入DEBUG和回车键,就可以把它装入内存。
但是这样启动只把DEBUG程序本身装入内存并进入等待DEBUG命令状态,还没有把要调试的程序装入内存。
第二种启动DEBUG的程序的方法是一次相继装入DEBUG程序和要调试的程序。
打入的命令格式如下:
DEBUG[d:
][path]filename[.ext][parml][parm2]
其中的Filename是要调试程序的文件名,可选项[d:
][path]和[.ext]分别是要调试程序的所在盘符、路径和扩展名。
可选项[parm]和[parm2]是DEBUG程序为要调试程序准备的参数(一般不用)。
例进入DEBUG程序并装入要调试程序,要调试程序在A驱动器中。
其操作如下:
A>DEBUGABC.EXE(进入DEBUG,并装配ABC.EXE)
此时屏幕上出现一个短线,这表示可以使用DEBUG命令了。
2、调试命令
在说明每个命令之前,先说明一些共同信息:
■任何命令都以一个英文字母开头,后面跟一个或多个参数。
■命令字母和参数可用大写或小写或混合形式。
■命令字母和参数中,相邻两个十六进制之间必须用逗号或空格分开,其它各部分之间有无空格或逗号都可以。
■执行任何命令期间都可用Ctrl+Break或CTRL+C键方法结束命令的执行。
■打入命令字母和参数后必须打入回车键才能使命令有效。
■如果执行某种命令期间在显示器或打印机上的很长的输出,可以按Ctrl+Numlock键暂停继续显示,使显示屏幕停下来供观察。
在按任何其它键。
则继续显示输出。
■在DEBUG程序状态下,控制键和DOS支持的编辑键继续有效。
■如果输入的命令有错误,将显示出来。
例如:
dcs:
100cs:
110
error
这说明d命令的第二个address参数格式不对,它只能包括偏移地址部分,不能再有段地址部分。
它发现S不是十六进制数字符。
DEBUG程序状态光标提示符为“-”。
下面按命令功能相近关系分组说明几个主要命令功能和使用方法。
1)显示和修改寄存器或存贮的单元有关命令
(1)R(Register)命令
用途:
有三中用途。
(i)显示单个寄存器内容并等待修改这个寄存器内容。
(ii)显示所有寄存器内容、PSW内的8个状态标志位的状态和下一条要执行的指令。
(iii)显示PSW内的8个状态标志位的状态。
格式:
R[registername]
说明:
显示单个寄存内容。
R之后输入寄存器名符。
例如命令
.RAX
将显示出AX的内容和在下一行显示出冒号。
AXFIE4
:
-
上面的F1E4是AX的当前内容。
如果在冒号后打入要修改的内容,然后打回车键,这时AX即修改为新值;如果不输入新值只打回车键,则不改变原值。
显示所有寄存器和标志位值,只打命令字母R,例如:
.R
系统响应给出格式如(值是假设的):
AX=0E00BX=00FFCX=0007DX=01FF
SP=0390BP=0000SI=0050DI=0000
DS=04BAES=04BASS=04BACS=04BA
IP=011ANVUPDINGNZACPENC
04BA:
0HACD211NT21
前四行显示的是寄存器内容和8个状态标志位的状态,最后一行显示是下面将要执行的指令地址,它对应的机器码和汇编语句形式。
8位状态标志位的状态不是以0或1的形式显示的,而是用两个字母显示的。
字母和状态对应关系如表所示:
标志位名
为1对应符
为0对应符
OF
OV
NV
DF
DN
UP
IF
EI
DI
SF
NG
PL
ZF
ZR
NZ
AF
AC
NA
PF
PE
PO
CF
CY
NC
为了显示上述8个状态标志位的状态并等待重新设置,可键入.RF
系统响应是显示8个状态位。
例如:
OVDNEINGZRACPECY-(最后为光标位置)如果打入回车键,将不改变标志位的状态;也可以打入一个或多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 技术 实验 指导书 04