单片机原理及应用-8.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:95 大小:2.9MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机原理及应用-8.ppt

单片机原理及应用-8.ppt

预览

免费试读已结束,剩余 85 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机原理及应用第8章单片机系统扩展第8章单片机系统扩展8.1扩展并行三总线8.1.1片外三总线结构ALEP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074HC573简介74HC573是有输出三态门的电平允许8位锁存器。引脚信号如下:OE:输出允许端,为0时芯片有效。LE:锁存控制端,高电平时,锁存器的数据输出端Q的状态,与数据输入端D相同,即锁存器是透明的;当LE端从高电平返回到低电平时(下降沿后),输入端的数据就被锁存在锁存器中,数据输入端D的变化不再影响Q端。一、地址总线地址总线(AddressBus,AB)用于传送单片机送出的地址信号,以便进行存储器单元和I/O端口的选择。地址总线是单向的,只能由单片机向外发送信息。地址总线的数目决定了可直接访问的存储单元的数目。二、数据总线数据总线(DataBus,DB)用于单片机与存储器或I/O端口之间的数据传送。一般数据总线的位数与CPU的字长一致,MCS-51单片机的数据总线是8位的。数据总线是双向的,可以进行两个方向的数据传送。三、控制总线控制总线(ControlBus,CB)是单片机发出的以控制片外ROM、RAM和I/O口读/写操作的一组控制线。8.1.2MCS-51系统扩展的实现二、以P2口作为高8位的地址总线P0口的低8位地址加上P2的高8位地址就可以形成16位的地址总线,达到64KB的寻址能力。实际应用中,往往不需要扩展那么多地址,扩展多少用多少口线,剩余的口线仍可作一般I/O口来使用。三、控制信号线ALE:地址锁存信号,用以实现对低8位地址的锁存。PSEN:片外程序存储器读选通信号。EA:程序存储器选择信号。为低电平时,访问外部程序存储器;为高电平时,访问内部程序存储器。WR:片外数据存储器写选通信号。RD:片外数据存储器读选通信号。8.1.3总线驱动总线驱动器的作用:对于单片机的I/O口只相当于增加了一个TTL负载,因此驱动器除了对后级电路驱动外,还能对负载的波动变化起隔离作用。在对TTL负载驱动时,只需考虑驱动电流的大小。在对MOS负载驱动时,MOS负载的输入电流很小,更多地要考虑对分布电容的电流驱动。总线驱动器的选择:系统总线中地址总线是单向的,因此驱动器可以选用单向的,如74LS244,还带有三态控制,能实现总线缓冲和隔离。数据总线是双向的,其驱动器也要选用双向的,如74LS245。74LS245也是三态的,有一个方向控制端DIR。DIR=1时输出(An→Bn),DIR=0时输入(An←Bn)。8.2扩展简单并行输入/输出口8.2扩展简单并行输入/输出口P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C52WRP2.0RDC语言程序清单:#include<reg52.h>voidmain(){unsignedchardatatmp1,tmp2=0;unsignedcharxdata*pt1;pt1=0xfeff;//给指针赋地址值0xfeffwhile(1)//循环{tmp1=*pt1;//从74HC244输入数据if(tmp1!=tmp2)//判断输入改变时,{*pt1=tmp1;//从74HC573输出数据tmp2=tmp1;}}}8.2扩展简单并行输入/输出口8.3扩展并行数据存储器8.3扩展并行数据存储器8.3.1扩展存储器概述一、地址线的译码存储器芯片的选择有两种方法:线选法和译码法。1、线选法。所谓线选法,就是直接以系统的地址线作为存储器芯片的片选信号,为此只需把用到的地址线与存储器芯片的片选端直接相连即可。2、译码法。所谓译码法,就是使用地址译码器对系统的片外地址进行译码,以其译码输出作为存储器芯片的片选信号。译码法又分为完全译码和部分译码两种。(1)完全译码。地址译码器使用了全部地址线,地址与存储单元一一对应,也就是1个存储单元只占用1个唯一的地址。(2)部分译码。地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而是1个存储单元占用了几个地址。二、扩展存储器所需芯片数目的确定若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:芯片数目=三、3—8译码器74LS1383—8译码器74LS138为一种常用的地址译码器芯片。其中,G1、G2A、G2B为控制端。只有当G1为“1”,且G2A、G2B均为“0”时,译码器才能进行译码输出。否则译码器的8个输出端全为高阻状态。译码输入端与输出端之间的译码关系如表8