新闻中心

EEPW首页>嵌入式系统>设计应用> STC89系列高性能单片机及其应用

STC89系列高性能单片机及其应用

作者: 时间:2012-03-30 来源:网络 收藏

一、 1k bit片内RAM(数据存储器)

普通8051单片及片内RAM只有128(8051)或256(8052)字节,

1、低128字节(地址:00H~7FH),可直接或间接寻址;

2、高128字节(地址:80H~FFH),只可间接寻址;

另外增加了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,刚刚接触此类的技术人员最容易在这里犯错误。

二、 64/32/16/8K片内Flash(程序存储器)与ISP功能

单片机按芯片型号分别有64/32/16/8K片内Flash,分为2个Flash存储块:Block0和Block1。2个 Flash存储块在物理上Block0在前,Block1在后。通过REMAP功能可以将Flash块重定位。下图显示的是C58的程序存储器结构

13.jpg

使用过SST89系列单片机的用户要注意与STC89区别:
①、Block1大小不同;
②、Block扇区大小不同;
③、指令及SFR的不同。

STC89有2个配置位SC0,SC1控制上电复位/外部复位后程序是从Block0还是Block1启动。

①对于STC89C58,SC0,SC1同时起作用:

SC1,SC0=0,0 程序是从Block0启动;

SC1,SC0=1,1 程序是从Block1启动,这时Block1物理上在后8K(E000H~FFFFH),逻辑上又影象到前8K(0000H~1FFFH),Block0前8K对于PC指针不可见。

②对于STC89C16,只有SC0起作用:

SC0=0 程序是从Block0启动;

SC0=1 程序是从Block1启动,这时Block1逻辑上影象到前8K(0000H~1FFFH),将Block0前8K单元覆盖。

14.jpg



评论


相关推荐

技术专区

关闭