当单片机内部功能不能满足应用系统的要求,经需要在片外连接相应的外围芯片以满足应用系统的要求的过程,叫做系统扩展。
通过外围接口技术,可以通过单片机来控制LED数码管、键盘、LCD显示屏等外部设备以及进行A/D、D/A转换,使单片机应用在更为广泛的领域。
系统扩展51单片机中集成了CPU、I/O口、定时器、中断系统、存储器等计算机的基本部件,外加电源、复位电路和时钟单路等简单的辅助电路即构成一个能够正常工作的最小系统,电路如下图所示:
51单片机有很强外部拓展能力,大部分常规芯片都可作为单片机的外围扩展电路,可进行的拓展有存储器扩展、I/O口扩展、串行总线接口存储器扩展等。
总线(Bus)是计算机内部CPU、内存、输入、输出等设备传递信息的公用通道,它是由导线组成的传输线束, 主机的各个部件通过它相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。按照计算机所传输的信息种类,计算机的总线可以划分为地址总线(Address Bus)、数据总线(Data Bus)及控制总线(Control Bus),分别用来传输数据、数据地址和控制信号。
单片机的系统扩展法有并行扩展法及串行扩展法,并行扩展法是用单片机的地址总线、数据总线及控制总线进行系统扩展,而串行扩展法是用SPI(Serial Peripheral Interface)总线或者I2C(Inter-Integrated Circuit)总线进行系统扩展。
系统总线扩展 总线信号 对应引脚 扩展总线信号名 信号含义P0口锁存输出 A0~A7 地址总线低8位
P2口 A8~A15 地址总线高8位
P0口 D0~D7 8位数据总线
ALE ALE 控制信号,地址锁存使能
PSEN PSEN 控制信号,程序存储器ROM使能,低电平有效
EA EA/VPP 控制信号,外部访问使能,低电平有效
RD RD(P3.7) 控制信号,读信号,低电平有效
WR WR(P3.8) 控制信号,写信号,低电平有效
51单片机包含的系统总线信号如上表所示,为了减少引脚数量,51系列单片机的扩展总线中,数据线和地址线采用了分时复用技术。
P0口除了作一般I/O口外,还可以分时复用传送地址总线信号的低8位(A0~A7)和数据总线信号(D0~D7),它在某一时刻传送的是低8位地址信号还是数据信号由ALE引脚的电平状态指明。 P2口除了作一般I/O口外,还可传输地址总线信号的高8位(A8~A15)。其他系统总线信号都为控制信号,在执行不同指令时,随硬件产生。
实际使用时,通过外接一个8位锁存器,可以实现地址信号和数据信号分离,如下图中使用74LS373实现信号分离电路原理图:
进行总线扩展时,由于地址总线的宽度为16位,故外部ROM或RAM的最大直接寻址范围都为64KB,同时它们的地址可以重叠使用。
地址译码法进行总线扩展时,首先要进行的是分配地址空间,就是把64KB的寻址空间通过地址译码的方法分成若干个大小相同的页面,其中低位地址线用来选择页内单元,高位地址线则用于页面的选择,不同的外部设备占用不同的页面。分配完成后,就要想办法进行地址译码,以方便单片机进行寻址。常用的地址译码方法有全地址译码法及“部分地址译码法”。
全地址译码是指所有的地址线都参与译码,所得到的地址空间是连续的,每一个数据单元与地址是一一对应的,其电路的结构一般比较复杂。例如一个存储页面大小为8KB,要把64KB的存储空间分成8个页面,则所有高位地址A13~A15都必须参与译码,产生8个独立的页面选择信号,形成一个连续的地址段,一般采用3-8译码器来实现,如下图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)