2.1 硬件规划
硬件规划便是建立适宜的接口电路,将SST39SF040衔接到MCS-51的体系总线上。依据SST39SF040和MCS-51系列单片机的结构特性,咱们发现SST39SF040的数据线和读、写信号线能够很容易地衔接到MCS-51的体系总线上,所以要考虑的首要问题是SST39SF040地址线的衔接。因为其容量现已超出了MCS-51的寻址规模,19根地址线无法悉数衔接到MCS-51的地址总线上,因而必须在该体系中进跋涉一步的存储器扩展。存储器扩展一般可利用单片机闲暇的I/O口线作为页面地址输出引脚来完结。可是许多使用体系傍边,单片机的I/O口线都是十分严重的,在没有剩余的I/O口线时,页面地址就必须提早从数据总线输出并存放在锁存器中备用。详细做法是:将锁存器直接挂在数据总线上,为其组织一个I/O地址,然后构成页面寄存器,在拜访存储器时,提早将页面地址作为数据写入页面寄存器即可。
依据以上剖析可规划出SST39SF040与MCS-51之间的接口电路,如图4所示。本体系中,将512 KB的存储器分为32页面,每页巨细为16 KB。由此可得,页面地址需求5位,页内偏移量需求14位。页面地址的给出是在进行存储器拜访之前完结的,详细的办法是:用一条“MOVX”’指令将页面地址输出到锁存器74LS374中,再由74LS374将页面地址坚持在存储器的地址引脚A14~A18上。页内偏移量则直接在存储器的读写指令中给出,执行指令时,低8位地址A0~A7从P0口输出到74LS373中坚持;地址A8~A13则由单片机的P2.0~P2.5直接供给。以上分时输出的地址信号A0~A18将在读/写操控信号开端作用后,一起有用,以完结对SST39SF040的512KB全地址空间的拜访。P2.6和P2.7别离用作SKT39SF040和锁存器74LS374的片选信号,SST39SF040的片选信号地址规模是8000H~BFFFH,74LS374的片选信号地址规模是4000H~7FFFH。
2.2 软件规划
软件规划便是编写对SST39SF040的操作程序,包含字节读出、扇区或整片擦除以及字节编程等。下面给出第1个扇区的擦除程序,其间DELAY25为25 ms延时子程序,其他操作程序可参照编写。
程序编写过程中的难点是,如何将SST39SF040中待拜访的单元地址进行分化并对应到读写指令中去。以扇区擦除操作的第1个指令为例,该指令的功用是将数据AAH写入地址5555H中。关于地址5555H,其最高5位A18~A14是01H,低14位A13~A0为1555H。最高5位地址决议的页面号必须先作为数据写入锁存器74LS374中,再将数据AAH写入该页中由低14位地址决议的单元。写入页面号时,指令中的地址可在4000H~7FFFH规模内任选一个,即选中锁存器74LS374;写人数据AAH时,指令中的地址可由低14位地址1555H加上8000H得到,其值为9555H。
第1扇区擦除程序代码如下:
结 语
本文从硬件和软件两个方面对大容量NOR Flash存储器与8位单片机的接口技能进行了剖析、讨论,给出了详细的规划方案。其思维和办法对嵌入式体系的使用规划具有较高的参考价值,笔者已将它使用到一款考勤机产品的规划开发傍边