目录
8.1.1实验目的
1.掌握基本 I/O 接口电路的设计方法。
2.熟悉I/O 操作指令及 8 /16 位I/O 口的操作方法
3.通过观测时序图,掌握 I/0 操作时各信号的时序关系。
8.1.2实验设备
PC 机一台,TDX-PITE 实验装置一套。
8.1.3实验内容
1.利用一组三态缓冲器 245、锁存器 374 或 574 构成的 8 位0 接口,实现微机对外部输入数据的读取和对输出数据的输出。用拨动开关和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。
2.利用两组三态缓冲器 245、锁存器 374 或 574 构成的16 位/0 接口实现微机对外部输入数据的读取和对输出数据的输出。用拨动开关和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。
3.利用两组三态缓冲器 245、锁存器 374 或 574 构成的 16 位的/0 接口,按照 16 位的/0操作方式,在开关及 LED 显示单元实现 16 位流水灯。
8.1.4实验原理
1输入口设计
输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。74LS245 是一种 8 通道双向的三态缓冲器,其管脚结构如图 8.1.1 所示。DIR 引脚控制缓冲器数据方向,DIR 为 1表示数据由 A[7:0]至 BI7:0],DIR 为 0 表示数据由 B[7:0]至 A[7:0]。G 引脚为缓冲器的片选信号,低电平有效。
8.1.5实验代码
;Io-8.asm
;8位I/O接口电路设计实验
IOY0 EQU 0600H ;片选IOY0对应的端口始地址
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,IOY0 ;读写基本I/O单元8位的端口
IN AL,DX
OUT DX,AL
JMP START
CODE ENDS
END START
8.1.6实验说明及步骤
1.8位I/0 操作实验
本实验实现的是将开关 K[7:0]的数据通过输入数据通道读入 CPU 的存器,然后再通过输出数据通道将该数据输出到数据灯显示,该程序循环运行。实验步骤如下。
(1) 实验接线图如图 8.1.5 所示,按图连接实验线路图
图 8.1.5 8位1/0 接口设计实验参考接线图
(2) 编写实验程序(例程文件名为: IO-8.ASM) ,经编译、连接无误后装入系统。
(3) 单击按打开“时序观测窗”,在窗内右键调出“选择观察信号”界面,勾选要观测的信号“IOY0、IOW#、IOR#、XA19..0、XD7..0”,点击确定。
(4) 拨动开关 K7..K0 为 12H,即 0001 0010B。
(5) 单击 “单步”按两次,“时序观测窗”显示结果如图 8.1.6 所示,通过时序图可以看出 CPU 在IOYO 片选有效期间,对 0600H 地址进行了 / 读操作,读取了上一步开关置的 12H 数据。
(6)单击“单步”按钮一次,“时序观测窗”显示结果如图8.1.7所示,通过时序图可以看出CPU在IOYO片选有效期间,对0600H地址进行了IО写操作,写入了上一步读取的12H数据。
(7) 观看数据灯显示与开关是否一致