预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共148页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

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

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

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

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

8.1系统扩展结构STC89C52单片机与外部设备连接有两种方式:STC89C52单片机的存储器扩展即包括程序存储器扩展又包括数据存储器扩展。AT89S51单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。数据总线——P0口地址总线——P0+P2控制总线——P3口+控制引脚8.2地址锁存与地址空间分配8.2.1地址锁存目前,常用的地址锁存器芯片有74LS373、74HC373,74LS573等。在每个机器周期,ALE两次有效,可以利用地址锁存器在ALE的下降沿将P0口输出的地址信息锁存,当ALE转为低电平时,P0输出8位数据信息。1.锁存器74LS373----带有三态输出门的8D触发器结构:内部由8路D触发器和8个三态缓冲器组成。74LS373的引脚373的工作过程:1、P0口先将低8位地址信号锁存在373中;2、373的输出端与输入端(P0口)隔离;3、P0口输出8位数据信号+P2口输出高8位地址信号+373输出低8位地址信号→同时产生16位地址信号+8位数据信号STC89C52单片机P0口与74LS373的连接2.锁存器74LS573是一种带有三态门的8D锁存器,功能及内部结构与74LS373完全一样,只是其引脚排列与74LS373不同。与74LS373相比,74LS573的输入D端和输出Q端依次排列在芯片两侧,为绘制印制电路板提供方便。8.2.2地址空间分配常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法)。2.译码法---适合于多芯片扩展.使用译码器对AT89S51单片机的高位地址进行译码,译码输出作为存储器芯片的片选信号。译码法的优点是能够有效地利用存储器空间.常用的译码器芯片有74LS138、74LS139和74LS154。若全部高位地址线都参加译码,称为全译码;若仅部分高位地址线参加译码,称为部分译码。部分译码存在着部分存储器地址空间相重叠的情况。(1)74LS1383线-8线译码器,有3个数据输入端,经译码产生8种状态。138真值表(2)74LS139例:若需外扩8片8KB的RAM6264,如何通过74LS138把64KB空间分配给各个芯片?在本例中,如果将接到一片6116,芯片容量只有2KB,那么E000H~E7FFH,E800H~EFFFH,F000H~F7FFH,F800H~FFFFH这4个2KB空间都对应6116芯片,也就是说,即使采用全地址译码法,也仍然会有地址重叠现象。8.3程序存储器的扩展外部程序存储器的种类单一,常采用只读存储器。只读存储器简称ROM(ReadOnlyMemory)。ROM中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容。ROM在电源关断后,仍能保存程序(我们称此特性为非易失性的),在系统上电后,CPU可取出这些指令重新执行。向ROM中写入信息称为ROM编程。根据编程方式不同,分为以下几种。(1)掩模ROM。在制造过程中编程,是以掩模工艺实现的,因此称为掩模ROM。这种芯片存储结构简单,集成度高,但由于掩模工艺成本较高,因此只适合于大批量生产。(2)可编程ROM(PROM)。芯片出厂时没有任何程序信息,用独立的编程器写入。但PROM只能写一次,写入内容后,就不能再修改。(3)EPROM。用紫外线擦除,用电信号编程。在芯片外壳的中间位置有一个圆形窗口,对该窗口照射紫外线就可擦除原有的信息。使用编程器可将调试完毕的程序写入。(4)E2PROM(EEPROM)。一种用电信号编程,也用电信号擦除的ROM芯片。对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速度慢一些,但断电后仍能保存信息。由于超大规模集成电路制造工艺的发展,芯片集成度愈来愈高,扩展程序存储器时使用的ROM芯片数量越来越少,因此芯片的选择多采用线选法,而地址译码法用的渐少。并且目前许多单片机生产厂家生产的8051内核的单片机,在芯片内部集成了数量不等的FlashROM,如STC89C51RC/RD+系列单片机内部集成了8KB~64KB的FlashROM,能满足绝大多数用户的需要,性价比高。在片内集成的FlashROM满足要求的情况下,用户没有必要再扩展外部程序存储器。STC89C52对片外ROM的操作时序分两种,即执行非MOVX指令的时序和执行MOVX指令的时序。1.应用系统无片外RAM1001H:M0VA,R0;E8H1002H:MOVR1,A;F9H不执行MOVX类指令时不执行MOVX指令:P2口专门用于输出PCH中的内容,它可直接与外部存储器的地址线相连。P0口除了输出PCL中的内容外,还要输入指令。所以,必须用ALE信号锁存PCL。同时,PSEN也是每个机器周期中两次有效,用于选通片