现 表8-174LS138真值表 输入端 输出端 G1 G2A G2B C B A 7 Y6 巧 函 丽 2 i 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 1 A 0 0 1 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 其他状态 × X X 1 1 1 1 1 1 1 1 注:1表示高电平,0表示低电平,×表示任意 16
16 G2AB Y765432 Y10
(2)74LS139 双2线-4线译码器。这两个译码器完全独立,分别有各自的 数据输入端、译码状态输出端以及数据输入允许端,其引脚 如图8-4所示,真值表见表8-2(只给出其中一组)。 A 1G 654 16 Vcc B 2 1A 2 2G 3 1B 543 G2A 4 1Y0 B G2B 74LS138 5 12 1Y1 74LS139 5 2 2Y0 G1 6 110 1Y2 6 27 Yi 7 1西 7 110 22 GND 8 9 GND 8 9 图8-374LS138引脚图 图8-474LS139引脚图 17
17 (2)74LS139 双2线-4线译码器。这两个译码器完全独立,分别有各自的 数据输入端、译码状态输出端以及数据输入允许端,其引脚 如图8-4所示,真值表见表8-2(只给出其中一组)。 17 图8-3 74LS138引脚图 图8-4 74LS139引脚图
表8-2 74红S139真值表 输入端 输出端 允许 选择 G B A 3 2 i YO 0 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 X X 1 1 1 1 注:1表示高电平,0表示低电平,×表示任意 网 18
18
以74LS138为例,如何进行地址分配。 例如,要扩8片8KB的RAM6264,如何通过74LS138把64KB空 间分配给各个芯片? 由74LS138真值表可知,把G1接到+5V, G2A*、G2B* 接地,P2.7、P2.6、P2.5(高3位地址线)分别接74LS138的C、 B、A端,由于对高3位地址译码,这样译码器有8个输出Y7*~ Y0*,分别接到8片6264的各“片选”端,实现8选1的片选。 低13位地址(P2.4~P2.0,P0.7~P0.0)完成对选中的6264芯 片中的各个存储单元的“单元选择”。这样就把64KB存储器空 间分成8个8KB空间了。 19
19 以74LS138为例,如何进行地址分配。 例如,要扩8片8KB的RAM 6264,如何通过74LS138把64KB空 间分配给各个芯片? 由74LS138真值表可知,把G1接到+5V,G2A*、G2B* 接地,P2.7、P2.6、P2.5(高3位地址线)分别接74LS138的C、 B、A端,由于对高3位地址译码,这样译码器有8个输出Y7*~ Y0*,分别接到8片6264的各“片选”端,实现8选1的片选。 低13位地址(P2.4~P2.0,P0.7~P0.0)完成对选中的6264芯 片中的各个存储单元的“单元选择”。这样就把64KB存储器空 间分成8个8KB空间了。 19
64KB地址空间分配如图8-5所示。 这里采用全地址译码方式。因此,AT89S51发出16位地址时, 每次只能选中某一芯片及该芯片的一个存储单元 P2.7引脚P2.6引脚P2.5引脚) A15A14A13 0 00 0 0000H~1FFFH AT89S52 +5V G1 0 0 1 2000H~3FFFH G2元 亚 1 0 4000H~5FFH G2A 0 1 6000H~7FFFH 0 0 8000H~9FFFH P2.7 C 0 1 A000H~BFFFH P2.6 B 1 0 COOOH~DFFFH P2.5 1 1 EOOOH~FFFFH 74LS138 译码器 图8-5 64KB地址空间划分成8个8KB空间 20
20 64KB地址空间分配如图8-5所示。 这里采用全地址译码方式。因此,AT89S51发出16位地址时, 每次只能选中某一芯片及该芯片的一个存储单元 20 图8-5 64KB地址空间划分成8个8KB空间