单片机课件3

更新时间:2023-10-14 10:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第7章 MCS-51系列单片机系统总线扩展方法

单片机总线分内部总线和外部总线。 外部总线包括:数据总线DB(Data Bus), 地址总线 AB(Address Bus)和控制总线 CB(Control Bus)

数据总线:P0兼作数据和地址总线的低8位A0~A7;

地址总线:P0口兼作地址总线的低8位A0~A7,P2口为地址总线的高8位A8~A15; 控制总线: PSEN :外部程序存储器读选通信号输出端;ALE地址锁存信号输出端;RST:复位信号输入端;EA /VPP为内部或外部程序存储器读选择输入端: RD (P3.7)为外部数据存储器读选通输出端;(P3.6)WR 为外部数据存储器写选通输出端。

总线设计时还需考虑如下几个问题: ① CPU三总线(地址总线、数据总线、控制总线)的负载能力。

② CPU读写时序与接口芯片,如存储器的存取速度的匹配问题。存储器的读写速度应与CPU要求的读写速度相同或更快

三总线的基本构架

由于51采用地址/数据分时复用技术,低8位地址A7~A0与数据总线D7~D0分时使用P0口引脚,因此需要在P0口上接一个地址锁存器芯片,P0口的直通端为8位数据总线,通过锁存器的为低8位地址A7~A0。

常用的锁存器是74LS373(现在常用74HC373)、74HC573。 8D锁存器74LS373、74HC573是带输出三态门的8D锁存器

1D~8D为8个输入端; 1Q~8Q为8个输出端; G为数据打入端:当G为“1”时,锁存器输出状态(1Q~8Q)同输入状态(1D~8D);当G由“1”变“0”时, 数据打入锁存器中。并且在G保持“0”时输出保持不变,输入为

高阻。

2.总线驱动器74LS244, 74LS245 译码电路的设计原则是:在任意时刻只有一个芯片的数据口开放,其他芯片的数据口均为高阻状态。学习译码技术要达到以下水平: ① 电路的设计者要能指出系统上每个芯片的地址范围。

② 在参考别人设计电路时,只要硬件不加密,要能从译码电路看出系统上每个芯片的地址范围。

单片机系统中,外部程序存储器一般使用EPROM、EEPROM、Flash ROM;27系列为EPROM

型存储器,其上带有一个石英窗,可透射紫外线擦除内部数据,反复使用。27系列芯片有多种工作方式。对51系统设计者来说,最重要的是读、输出禁止和维持三种工作方式的运用

结论1:使器件工作的必要充分条件是,OE 、CE 上的电平均为低;

结论2:即使片选(或称选片)端为低电平,只要输出允许端为逻辑高电平,数据线仍保持 高阻状态。

7.2 MCS-51系列单片机外部程序存储器扩展

【例7-1】 设计一个具有64K程序存储器容量的8031系统。 解:由于8031构成最小应用系统时, 必须在片外扩展程序存储器,根据题意选用单片27512即能满足要求。对一片程序存储器系统,可采用常选通方式,故将其选片端接地。系统不需要地址译码。 一般用作程序存储器的EPROM芯片不能锁存地址, 故扩展时还应加1个锁存器, 构成一个3片最小系统,如图7-12所示。

【例7-2】 问扩展64K外部程序存储器空间,需要多少片2764芯片?设计这个8031系统的电路,并为每个2764芯片分配的地址。 解:64K外部程序存储器空间正好是51机的最大程序存储器的寻址范围。因此,本例必须采用完全译码的方法:即所有地址线全部连接的地址译码方法。这种译码每个存储器单元只占用唯一的1个地址。 ① 扩展64K外部程序存储器正好需要8片2764。 本例采用译码器芯片的设计方法,具体采用3-8译码器74LS138。系统设计如图7-13所示。

② 确定每个2764芯片的地址范围 片内译码地址范围的确定方法:每一地址位可为0、1两种情况,用×表示。最低地址为各地址位均为0的编码,最高地址是各地址位全为1的编码,因此每个芯片的片内地址变化范围为从最低到最高地址编码连续变化;片外译码由采用的译码电路决定,分析入手点是芯片的选片线是否有效。 ③ 各个芯片的地址范围的确定 实际解题时,综合①、②确定地址范围用表7-8表明。图7-13中8个2764芯片的地址范围如表7-8所示。

【例7-3】用27128芯片设计一个32K外部程序存储器的8031系统,并为每个27128芯片分配地址。 解:32K程序存储器空间没有达到51机的最大程序存储器的寻址范围。因此,可采用完全译码法也可采用部分译码法为27128分配地址。本例采用部分译码法:即用部分地址线译码方法。这种译码法为每个存储器分配的地址范围可以不止一个,因此有地址范围重复的情况,究其原因,是因为部分译码空出了部分地址线而不用。部分译码的方法,只能用于小于64K存储器空间的系统(对51机来说)。

① 扩展32K外部程序存储器正好需要2片27128。 ② 确定每个27128芯片的地址范围: 本例译码方法是线选法,电路采用反相器7404设计,如图7-14所示。确定地址范围如表7-9所示。

本文来源:https://www.bwwdw.com/article/vvmf.html

Top