C51,RAM 用C51操作片内扩展RAM
很多工程师都遇到过的“怪现象”
问
答 1:
一句话概括:在使能片内扩展RAM之前对XRAM进行的任何操作都无效因此,相关使能片内扩展RAM的指令必须位于全局变量初始化操作之前。
关于STC单片机内部扩展ram的使用
高128字节(地址:80H~FFH),只可间接寻址;
STC89系列单片机另外增加了768字节的片内扩展RAM,以解决众多技术人员在编程时的RAM资源严重缺乏的问题。
768字节的片内扩展RAM(地址:000H~2FFH)与外部扩展RAM地址重叠,单片机可通过软件设置AUXR.1,决定是否使用片内扩展RAM,以防止可
能的与外部扩展RAM的冲突,默认为使用片内扩展RAM。
片内扩展RAM的访问采用间接寻址,可通过
①、MOVX A,@DPTR 或 MOVX @DPTR ,A 指令访问片内扩展RAM(00H~2FFH,共768字节);
②、MOVX A,@Ri 或 MOVX @Ri,A 指令访问片内扩展RAM(00H~FFH,共256字节)。
当DPTR≥300H时,系统访问外部扩展RAM。
注意:在使用第二种指令时,特别要注意是使用MOV还是MOVX,MOV访问的是片内RAM,MOVX访问的是片内扩展RAM,刚刚接触此类单片机的技
术人员最容易在这里犯错误。
评论