C51单片机教案内部数据存储器是最灵活的地址空间。其中内部数据RAM:128B(字节)。7FH数据缓冲器30H2FH位寻址区(00H~7FH)20H1FH工作寄存器区3(R0~R7)18H17H工作寄存器区2(R0~R7)10HOFH工作寄存器区1(R0~R7)08H07H工作寄存器区0(R0~R7)00H1.00H-1FH:32个单元用作工作寄存器,分为四个区,每区8个单元:用R0-R7表示。使用说明:同一程序中,RO-R7不能重复使用,若要重复使用,则必须设定区间。设定方法是通过PSW的D4,D3位来表示。若程序中未设定PSW,则出现的R0~R7默认为0区。区号由PSW.4和PSW.3提供:PSW. 3PSW.400→0区01≥1区≥2区10>3区11设定工作区时,通过CLR和SET两个指令来完成。例如:要设定0区,则方法如下:CLRPSW.4;CLRPSW.3;要设定为1区,则:CLRPSW.4;SETPSW.3;思考:如要设定为2区和3区该如何完成?2.20H-2F:16个单元用作位寻址区。16
C51 单片机教案 16 内部数据存储器是最灵活的地址空间。 其中内部数据 RAM:128B(字节)。 1. 00H-1FH:32 个单元用作工作寄存器,分为四个区,每区 8 个单元:用 R0-R7 表示。 使用说明:同一程序中,R0-R7 不能重复使用,若要重复使用,则必须设定区间。设定 方法是通过 PSW 的 D4,D3 位来表示。若程序中未设定 PSW,则出现的 R0~R7 默认为 0 区。 区号由 PSW.4 和 PSW.3 提供: PSW.4 PSW.3 0 0 0 1 1 0 1 1 设定工作区时,通过 CLR 和 SET 两个指令来完成。 例如:要设定 0 区,则方法如下: CLR PSW.4; CLR PSW.3; 要设定为 1 区,则: CLR PSW.4; SET PSW.3; 思考:如要设定为 2 区和 3 区该如何完成? 2.20H-2F:16 个单元用作位寻址区。 数据缓冲器 位寻址区(00H~7FH) 工作寄存器区 3(R0~R7) 工作寄存器区 2(R0~R7) 工作寄存器区 1(R0~R7) 工作寄存器区 0(R0~R7) 08H 7FH 30H 2FH 20H 1FH 07H 00H 10H 0FH 17H 18H →0 区 →1 区 →2 区 →3 区
C51单片机教案每一位都有一个位地址,位地址范围:00H~7FH。字节位地址地址D7D6D5D4D3D2D1DO2FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23HIFHIEH1DHICHIBH1AH19H18H22H17H16H15H14H13H12H11H10H21HOFHOEHODHOCHOBHOAH09H08H20H07H06H05H04H03H02H01H00H表示方法:1.直接用位地址表示。2.字节地址与位数相结合的表示法。如:21H.3位的作用:作记号。例如:比较两个数是否相等,“位”作为是否相等的标记号,若相等,“位”值为0,不相等“位”值是1,则最后只要判断这“位”的值是0.还是1就能判断出这两个数是否相等了。3.30H-7FH:一般的缓冲区后进先出的缓冲器区,堆栈一般设在该区。三、SFR(特殊功能寄存器)地址空间为80H-FFH。51子系列单片机中共定义了21个特殊功能寄存器,它们离散地分布在80H~FFH的128个特殊功能寄存器地址空间中,其名称和字节地址见表2-6。注意:这128字节的SFR区中只有21个字节是有定义的,若访问的是这个区中没有定义的单元,则得到的是一个随机数。有定义的21个单元中,其中有11个特殊功能的寄存器可以位寻址,它们字节地址的低半字节都为OH或8H(即可位寻址的特殊功能寄存器的字节地址具有能被8整除的特征)。17
C51 单片机教案 17 每一位都有一个位地址,位地址范围:00H~7FH。 表示方法:1.直接用位地址表示。 2.字节地址与位数相结合的表示法。如:21H.3 位的作用:作记号。 例如:比较两个数是否相等,“位”作为是否相等的标记号,若相等,“位”值为 0, 不相等“位”值是 1,则最后只要判断这“位”的值是 0.还是 1 就能判断出这两个数是否 相等了。 3.30H-7FH:一般的缓冲区。 后进先出的缓冲器区,堆栈一般设在该区。 三、SFR(特殊功能寄存器) 地址空间为 80H-FFH。 51 子系列单片机中共定义了 21 个特殊功能寄存器,它们离散地分布在 80H~FFH 的 128 个特殊功能寄存器地址空间中,其名称和字节地址见表 2-6。 注意:这 128 字节的 SFR 区中只有 21 个字节是有定义的,若访问的是这个区中没 有定义的单元,则得到的是一个随机数。有定义的 21 个单元中,其中有 11 个特殊功能的 寄存器可以位寻址,它们字节地址的低半字节都为 0H 或 8H(即可位寻址的特殊功能寄存器 的字节地址具有能被 8 整除的特征)