当前位置:文档之家› 51单片机资源扩展:扩展片外RAM

51单片机资源扩展:扩展片外RAM

51 单片机资源扩展:扩展片外RAM
上一文中扩展了单片机的程序存储器,4KB 存储空间提升到64KB。


实,4K 的代码空间还凑合,但是51 自带的256B 数据存储空间使用起来还
真紧张,其中留给用户的连128B 都不到,所以不得不扩展片外RAM。

扩展RAM 方法和扩展ROM 差不多,都是占用P0/P2 口做地址线,同时P0 用锁
存器74373 分时复用地址和数据信号。

以前扩展RAM 是用汇编语言访问存储器,好处是定位精准,指哪打哪,
坏处就是:程序规模一大就有点难维护了,所以还得改用C 实现。

对应于汇编语言用R1,R0/DPTR 访问外部RAM,keil C 扩展了存储类型,增加了如pdata(等同用movx @Rn 访问方式)/xdata(等同于movx @DPTR 访问方式)存储类型用于访问片外ram。

同时,还提供了绝对地址访问的宏,
如PBYTE/XBYTE,查看定义:
[cpp] view plain copy#define PBYTE((unsigned char volatile pdata*)0);
#define XBYTE((unsigned char volatile xdata*)0);。

相关主题