第三部分 接口实验
接口实验需要用通用微机(运行在纯dos环境,并且安装有汇编、连接等软件)和TPC-H实验箱配合完成。实验电路连线在图中均用虚线表示,实线为已连接好电路。接口实验一般步骤为:
1、根据实验电路图在实验箱上连接好导线。
2、打开计算机输入汇编语言源程序,然后汇编,链接。
3、程序链接成功生成可执行文件后,打开实验箱电源(实验箱需要用专用扁平电缆和主机相连),通过计算机运行程序,通过实验箱查看实验结果是否正确。如果不正确则要从实验箱的连线和程序两个方面查找原因。
4、实验结束后,关闭实验箱电源,把实验箱的导线拆除,整理好实验箱,计算机关机。
实验三 I/O地址译码
1、实验目的
(1)掌握I/O地址译码电路的工作原理; (2)了解实验台上I/O译码电路的使用方法; 2、实验内容
实验电路如图12所示。其中74LS74为D触发器,可以直接使用试验台上数字电路实验区的D触发器,74LS138为地址译码器。译码器输出端Y0~Y7在实验台上“I/O”地址输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,??。当CPU执行有I/O指令且地址在280H~2BFH范围内,必有一根译码线输出负脉冲。
+5V +5V A E3 Y0 B Y1 C Y2 U3 Y3 74LS138 Y4 Y5 E2 Y6 E1 Y7 A3 A4 A5 。 。 。 。 。 。 。 。 。 。 D SD Q 。 2A0H~ 2A8H~ 74LS74 CLK RD Q L7 。 。 74LS00 A6 A7 A8 A9 +5V U2:D U2:C 。 。 。 。 +5V +5V U1 。 AEN IOW IOR +5V U2:B U2:A 图12 I/O地址译码原理图
18
例如执行下面两条指令时,Y4输出一个负脉冲。 MOV DX,2A0H OUT DX, AL
利用这个负脉冲,通过D触发器来控制L7灯闪烁发光(亮、灭、亮、灭??),时间间隔通过软件延时来实现。 3、编程提示
(1)要使译码器电路输出一个负脉冲,必须使用输入或输出指令,并且其地址为译码器输出的对应地址。对于Y4为2A0H,Y5是2A8H。
(4)实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平控制L7灯亮,CD端加低电平L7灯灭;
(5)为实现亮、灭、亮、灭??程序必须循环,而且亮和灭的间隔取决于软件延迟时间。 (6)程序中最好有检查是否有键按下,若有,则停止循环,返回DOS。 (7)可以通过改变连至D触发器的译码器输出线以检验译码电路的输出。 4、预习要求
(1)仔细阅读TPC-H实验介绍;(2)仔细阅读本实验指导; (3)复习译码器和D触发器的工作原理;(4)编写好实验程序。 5、报告要求
(1)小结实验台上的I/O地址译码电路的使用方法; (2)整理好延时子程序可以为以后使用。
实验四 中断
1、实验目的
(1)掌握PC机中断处理系统的基本原理;(2)学会编写中断服务程序。 2、实验原理与内容
(1)实验原理:PC机用户可使用的硬件中断只有可屏蔽中断。有8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别处理后向CPU发出可屏蔽中断请求。
IBM PC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源: IRQ 中断源 中断类型号 中断功能 IRQ0 08H 时钟 IRQ1 09H 键盘 IRQ2 0AH 保留 IRQ3 0BH 串行口2 IRQ4 0CH 串行口1 IRQ5 0DH 硬盘 IRQ6 0EH 软盘 IRQ7 0FH 并行打印机
图13 中断实验电路图
19
。 & 。 & R2 +5V R3 单脉冲
8个中断源的中断请求信号线IRQ0~IRQ7在主机的ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。对于286以上的微机又扩展了一片8259中断控制器,IRQ2已用于两片8259之间级连。考虑到仪器通用性,在接口卡上设有一个跳线开关(JP),可以选择IRQ2、IRQ3、IRQ4、IRQ7引到实验台上的IRQ插座上,跳线方法前面已经介绍(安装部分),出厂设置的是IRQ7。
(2)实验内容
实验电路如图如图13所示,直接用手动产生单脉冲作为中断请求信号(只需连接一根导线)。要求每按一次开关产生一次中断,在屏幕上显示一次“THIS IS A IRQ7 INTERRUPT!”,中断10次后程序退出。
(3)编程提示
(1)PC机中断控制器8259的地址为20H、21H,编程时要根据中断类型号设置中断矢量,8259中断屏蔽寄存器IMR对应位要清零(允许中断),中断服务结束返回前要使用中断结束命令:
MOV AL,20H OUT 20H,AL
中断结束返回DOS时应将IMR对应位置1,以关闭中断。 (2)流程图
程序分为主程序和中断服务程序两部分,其流程图分别为图14和图15所示。
开始 显示提示信息 开始 显示响应中断的提示信息 发出中断结束命令 计数器减1 N 设置IRQ7的中断矢量 关中断 允许IRQ7中断 设置中断次数计数器 为0吗? 关闭IRQ7中断 开中断 开中断 返回DOS 中断返回 循环等待 图14 主程序流程图
4、预习要求
(1)仔细阅读本实验指导; (2)复习中断的有关章节; (3)熟悉8259的工作方式及编程; (4)根据流程图编好程序。 5、报告要求
图15 中断服务程序流程图
20
(1)小结8259编程方法;
(2)小结主程序和中断服务程序的编程方法。
实验五 简单并行接口
1、实验目的
掌握简单并行接口的工作原理及使用方法。
2、实验内容
(1)按下面图16简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
(2)编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。
(3)按下面图17简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。
(4)用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。
图 16 图 17
3、编程提示
(1)上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令: MOV AL,数据
MOV DX,2A8H OUT DX,AL
通过上述并行接口输入数据需要2条指令: MOV DX,2ADH
21
IN AL,DX
3、参考流程图(见图18、19)
开 始等待键盘输入开 始自端口2A0H输入ASCII码Y保存输入ASCII码至DL显示ASCII码对应的字符N是ESC吗?N从端口2A8H输出其ASC码有键按下吗?Y结 束结 束
图 18 参考程序1 图 19 参考程序2
实验六 可编程并行接口
1、实验目的
(1)掌握可编程并行接口8255方式0的工作原理和使用方法; (2)掌握数码管显示数字的原理;
(3)了解通过并行接口8255A实现十字路口交通灯模拟控制的方法; (4)了解微机化竞赛抢答器的基本原理。 2、实验内容
(1)七段数码管显示
图21
+5V S0 dp U4 8255 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 CS a b c d e f g
S1 288H ~ 图20
22