STC8G系列存储结构RAM FLASH EEPROM

7 存储器
 
1、数据储存器——RAM

内部 RAM 【以STC8A8K为例:其中低128字节直接访问为CODE、高128字节间接访问为ICODE】
内部扩展RAM  【以STC8A8K为例:包括8192字节内部XCODE
外部扩展RAM
【外部XCODE最大可以扩展为64KB】
2、程序储存器——ROM 3、EEPROM

RAM用于存放程序执行的中间结果和过程数据(掉电后数据消失)变量定义时 如果不加 code stc8a8k 默认存放RAM。

内部 RAM

共 256 字节,可分为 2 个部分:

低 128 字节 RAM 【0x00H-0x7FH】,其中0x00H-0x1FH共32字节为4个寄存器组,通过PSW RS0 RS1进行选择。 20H-2FH共16个字节可以直接进行位寻址。【不用与或操作】

高 128 字节 RAM【0x80H-0xFFH】。

备注:

  rs0(1bit) rs1(1bit)各是PSW(8bit)中的一位,PSW是51单片机特殊功能寄存器 【20220619: sfr  PSW = 0xd0;  //程序状态字寄存器(0xd0=208)】。

(1)Cy(PSW.7)PSW.7是Cy即C,来源于最近一次算术指令或逻辑指令执行时软硬件的改。

(2)Ac(PSW.6) 辅助进位标志位,用于BCD码的十进制调整运算。当低四位向高四位借进位时Ac被置1,否则清0。此位也可和DA指令结合起来用。

(3)F0(PSW.5)用户使用的状态标志位。这个你可以任意使用。

(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。

(5)OV(PSW.2)溢出标志位 在执行算术指令时,指示运算是否产生溢出。

(6)PSW.1位: 保留位,未用。

(7)P(PSW.0)奇偶标志位。

 

比如     RS1=1等价于PSW |=0x10;        RS0=0 等价于PSW &=0xf7;

 

 

内部扩展RAM

STC8集成了内部的扩展RAM,单片机内部扩展 RAM 是否可以访问,受辅助寄存器 AUXR 中的 EXTRAM 位控制。

 

 

 

 

 
STC8G 系列单片机的程序存储器和数据存储器是各自独立编址的。由于没有提供访问外部程序存储
器的总线,单片机的所有程序存储器都是片上 Flash 存储器,不能访问外部程序存储器。
STC8G 系列单片机内部集成了大容量的数据存储器。STC8G 系列单片机内部的数据存储器在物理
和逻辑上都分为两个地址空间:内部 RAM(256 字节)和内部扩展 RAM。其中内部 RAM 的高 128 字节的
数据存储器与特殊功能寄存器(SFRs)地址重叠,实际使用时通过不同的寻址方式加以区分。
 
7.1 程序存储器
程序存储器用于存放用户程序、数据以及表格等信息。
 

 

 

       单片机复位后,程序计数器(PC)的内容为 0000H,从 0000H 单元开始执行程序。另外中断服务程序的入口
地址(又称中断向量)也位于程序存储器单元。在程序存储器中,每个中断都有一个固定的入口地址,当中断
发生并得到响应后,单片机就会自动跳转到相应的中断入口地址去执行程序。外部中断 0(INT0)的中断服务
程序的入口地址是 0003H,定时器/计数器 0(TIMER0)中断服务程序的入口地址是 000BH,外部中断 1(INT1)
的中断服务程序的入口地址是 0013H,定时器/计数器 1(TIMER1)的中断服务程序的入口地址是 001BH 等。
更多的中断服务程序的入口地址(中断向量)请参考中断介绍章节。 
 

 

 

 

 

 
posted @ 2022-06-18 09:25  流水江湖  阅读(1375)  评论(0编辑  收藏  举报