接口电路设计举例
! u2 D# f; O( p0 R7 A 下面举一个简单I/0接口电路设计的例子:为8086最小模式系统设计一个I/O接口,它包含4个字节型输入端口和4个字节型输出端口。要求采用部分译码(A9~A0),并让首地址为280H.
+ d( b" {; V# Z N 上面已经对I/0接口设计中的一些关键问题做了说明,这里再做如下考虑就可将接口
# |/ C. E/ V" [电路图画出来:
- {6 J8 t1 G* _7 p5 j# f/ V
①将所要设计的8个端口都和8086(或系统总线)的低8位数据线相连,所以口地址都应为偶地址,即A0应为0。
/ P) p& a/ Y0 `: W ②共占用8个口地址,用一片74LSl38进行译码。用A0作74LS138的一路允许控制,A1、A2、A3作译码输入信号。这样可保证译出8个相邻的偶地址译码信号。
% c( ^, T5 [; N5 j ③最小模式时,I/0读/写信号需和M/IO同时有效才表示I/0操作。为减少“负与”逻辑的输入端数目,将M/IO接74LSl38的另一路允许端,即部分“负与”功能由译码器完成。
# y% @0 E9 b- o! S1 d ④用门电路来实现首地址为固定值,当然也可采用上面所讲的可变地址电路,将开关作相应的设置即可。但成本要比前一种方案稍高。
" y4 W4 b7 w4 t
⑤用74LS244作输入端口的三态缓冲器,用74LS273作输出端口的数据寄存器。
m3 V, ]% X! V2 Q* B 图4.21所示是所要设计的接口电路。
3 p* { [( {' } \. n2 g6 k% W6 }
0 E" k% V8 ?9 o+ L4 x
4 ~7 [8 R# \" L4 _+ Y+ H图4.21 8086 CPU最小模式下4字节输入、4字节输出接口
4 m% i& ?! u$ u L2 U
端口地址也是计算机的资源,在可能的情况下应省着用。这里可让一个输入端口和一个输出端口共用一个端口地址,这样才需占用4个端口地址。图4.22所示表明了这种思路。
: q: ^( Q( w- i. j: \0 m$ ]8 n3 O# m* H5 @- W; a
