1 引言
MCS-51单片机系统扩展时,一般使用P0口作为地址低8位(与数据口分时复用),而P2口作为地址高8位,它共有16根地址总线,寻址空间为64KB。但在实际应用中,有一些特殊场合,例如,语音信号的采集,程控交换机话单的存储,地形图信号的收取等,需要有大于64KB的数据存储器。文章根据作者实际使用的应用系统,介绍一种大容量数据存储器的扩展系统。该系统主机采用8031,扩展了三片62256,共96KB的动态数据存储器,上面介绍其硬件组成及软件处理方法。
2 系统的硬件组成
62256是32K×8位的数据存储器,共有15根地址线,扩展96KB数据存储器的硬件连接原理如图1所示:为了给系统进行其它外设的扩展,占用了系统14根地址线。三片62256的第15根地址线都与8031的I/O口P1.0相连,而62256(1)的片选端与P1.1相连,62256(2)的片选端与P1.2相连,62256(2)的片选端与P1.3相连,这样的连接方式使96KB的存储空间分为6页,每片62256都占用2页存储空间。各片地的地址分配如下:
3 软件处理方法
当访问数据存储器时,采用分页查找的方法,首取找到要访问的页数,再打开该页,在该页内查找某一单元。软件上打开某页都事先编好子程序。要访问96KB的存储空间,即地址范围为00000H-17FFFH,显然16位地址寄存器DPTR是无法寄存的,这里将地址装入PAM的起始三个连续单元中,即62256(1)起始三个单元中的内容(即要访问的某单元地址),将该数据除以4000H,得商即为该单元的页数,余数即为该页中的地址,然后利用MCS-51指令中的散转指令打开页,访问页中的单元。具体软件实现见下面的程序清单。
4 结束语
在作者设计的某工业电视图像监控系统中,由于需要通过主键盘可编程菜单,以及收集现场的各种信息,如报警,解码盒状态等等,所需的PAM远远超出64KB的容量,因此,采用了上述硬件设计方法及软件处理方法,使用起来非常方便。根据上述处理方法可以扩展更大的PAM容量。 |