《51单片机1.4.ppt》由会员分享,可在线阅读,更多相关《51单片机1.4.ppt(27页珍藏版)》请在优知文库上搜索。
1、1 1.4.4 单片机的存储器配置单片机的存储器配置80C51存储器配置存储器配置程序存储器程序存储器内部数据存储器内部数据存储器外部数据存储器外部数据存储器主要内容:主要内容:0 00 0H H8 80 0H HRAM内内部部F FF FH H能能寄寄存存器器特特殊殊功功F FF FF FF FH H)(外部外部K64RAM 数据存储器数据存储器F FF FF FF FH H0 0F FF FF FH H1 1E EA A内内部部R RO OM M0 0E EA A外外部部R RO OM M0 00 00 00 0H H 程序存储器程序存储器H00001000H1000H 80C51内部集成
2、有一定容量的程序存储器和数据存储器。内部集成有一定容量的程序存储器和数据存储器。如果不能满足设计需要如果不能满足设计需要ROM和和RAM都可以进行外部扩展。都可以进行外部扩展。 其存储器的配置情况可以表示为:其存储器的配置情况可以表示为:7FH7FH0000H0000H0FFFH0FFFH外部外部ROM物理上分为物理上分为4个空间个空间80C51单片机的存储器配置情况:单片机的存储器配置情况:逻辑上分为逻辑上分为 3个空间个空间 片内片内ROM、片外片外ROM 片内片内RAM、片外片外RAM片内、外统一编址的程序存储器片内、外统一编址的程序存储器内部数据数据存储器内部数据数据存储器外部数据存储
3、器外部数据存储器64KB256B64KB 下面就分别介绍下面就分别介绍80C51单片机程序存储器和数据存储器单片机程序存储器和数据存储器的配置及特点:的配置及特点:一、程序存储器一、程序存储器程序存储器用于存放编好的程序和表格常数。程序存储器用于存放编好的程序和表格常数。寻址范围:寻址范围:0000H FFFFH 容量容量64KB,即即地址长度:地址长度:16位位 1EA ,先寻址内部先寻址内部ROM;0EA ,只寻址外部只寻址外部ROM。 当当PC值超过片内值超过片内ROM容量时会自动转向容量时会自动转向 外部外部存储器空间。存储器空间。引脚、 EA1对于有内部对于有内部ROM的单片机(如的
4、单片机(如8051),在正常运行时,),在正常运行时,此引脚接高电平;此引脚接高电平; 该引脚接低电平时,单片机工作在调试状态。该引脚接低电平时,单片机工作在调试状态。对于内部没有对于内部没有ROM的单片机(如的单片机(如8031)此引脚始终接低)此引脚始终接低电平。电平。2 2、一些关键的存储单元、一些关键的存储单元(1 1)0000H0000H单元单元系统的启动地址系统的启动地址 系统复位后,程序计数器系统复位后,程序计数器PCPC的值为的值为0000H0000H,所以系统必,所以系统必须从须从0000H0000H单元开始执行程序。单元开始执行程序。 0000H 0000H是系统的启动地址
5、,一般在此单元放一条跳转指是系统的启动地址,一般在此单元放一条跳转指令,用户的主程序从跳转后的地址开始存放。令,用户的主程序从跳转后的地址开始存放。0003H 外部中断外部中断0入口入口000BH T0溢出中断入口溢出中断入口 0013H 外中断外中断1入口入口001BH T1溢出中断入口溢出中断入口0023H 串口中断入口串口中断入口(2)5个特殊的单元个特殊的单元中断服务程序的入口地址中断服务程序的入口地址 每两个相邻入口地址每两个相邻入口地址间仅有间仅有8 8个存储单元,个存储单元,这是不可能存放中断服这是不可能存放中断服务程序的,所以在入口务程序的,所以在入口地址处通常都存放一条地址处
6、通常都存放一条跳转指令,跳转后的地跳转指令,跳转后的地址即为中断服务程序的址即为中断服务程序的实际入口地址。实际入口地址。二、内部数据存储器二、内部数据存储器物理上分为两个不同的存储空间:物理上分为两个不同的存储空间:00H 7FH:低:低128B80H FFH:高:高128B,又叫特殊功能寄存器(,又叫特殊功能寄存器(SFR)区。)区。由由SFR构成构成0 00 0H H8 80 0H HRAM内内部部F FF FH H7 7F FH H能能寄寄存存器器特特殊殊功功内部内部RAM数据存储区数据存储区)(位位地地址址位位寻寻址址区区FH7H00区区用用户户 RAMH00FHH120FHH230
7、FH70 00 0H H8 80 0H HRAM内内部部F FF FH H7 7F FH H能能寄寄存存器器特特殊殊功功内部内部RAM)(位地址通用寄存器区FHH1001、数据存储区(低、数据存储区(低128单元)单元) 数据存储区又分为三个区域:通用寄存器区、位寻址区数据存储区又分为三个区域:通用寄存器区、位寻址区和用户和用户RAM区。区。组组通通用用寄寄存存器器区区第第0组组通通用用寄寄存存器器区区第第1组组通通用用寄寄存存器器区区第第2组组通通用用寄寄存存器器区区第第3(1)通用寄存器区)通用寄存器区 00H1FH共共32个单元是个单元是4个通用个通用工作寄存器区。工作寄存器区。 每个区
8、有每个区有8个个8位的寄存器:位的寄存器:R0R7,可以用来存放操作数,可以用来存放操作数及中间结果等。及中间结果等。)(位位地地址址位位寻寻址址区区FH7H00区区用用户户 RAMH00FHH120FHH230FH7内部内部RAM低低128单元单元08H10H18H80C51的内部的内部RAM低低128B中共中共有多少个工作寄存器?有多少个工作寄存器? CPU当前使用的寄存器区叫做当前工作寄存器区,编当前使用的寄存器区叫做当前工作寄存器区,编程时可以在当前工作寄存器程时可以在当前工作寄存器R0R7中选择合适的寄存器使中选择合适的寄存器使用。用。 其中选择这其中选择这4组寄存器区的哪一组是由用
9、户在程序中通组寄存器区的哪一组是由用户在程序中通过设定专门的寄存器事先写明的。过设定专门的寄存器事先写明的。(2)位寻址区)位寻址区 20H2FH的的16个单元可以进个单元可以进行位寻址,也可以作为一般行位寻址,也可以作为一般的的RAM单元进行字节寻址。单元进行字节寻址。 各寻址位都有各自的位地址,各寻址位都有各自的位地址,范围为:范围为:00H7FH 。)(位位地地址址位位寻寻址址区区FH7H00区区用用户户 RAMH00FHH120FHH230FH7位寻址区位寻址区单单元元地地址址位位地地址址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H
10、71H79H70H78H07FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H08 80C51具有位处理机功能,可以进行位寻址的存储空具有位处理机功能,可以进行位寻址的存储空间包括位寻址区和间包括位寻址区和SFR的的11个专用寄存器。个专用寄存器。(3)用户)用户RAM区区 共共80个单元个单元30H7FH,这部分的使用不作限制,堆栈一,这部分的使用不作限制,堆栈一般开设在此区。般开设在此区。2、特殊功能寄存器区(高、特殊功能寄存器区(高128单元)单元) 特 殊 功 能 寄 存 器 又 称 为 专 用 寄 存 器 , 单 元 地 址 为特 殊 功 能 寄
11、存 器 又 称 为 专 用 寄 存 器 , 单 元 地 址 为80HFFH。 51子系列子系列SFR的地址分配及位地址见下表,表中给出了特的地址分配及位地址见下表,表中给出了特殊功能寄存器的符号、名称和地址。殊功能寄存器的符号、名称和地址。 寄存器寄存器 位地址位地址 / /位定义位定义 地址地址 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F0F0 B B F0HF0H E7E7 E6E6 E5E5 E4E4 E3E3 E2E2 E1E1 E0E0 ACCACC E0E0 D7D7 D6D6 D5D5 D4D4 D3D3 D2D2 D1D1 D0D0 PSWPSW
12、CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV / / P P D0HD0H BFBF BEBE BDBD BCBC BBBB BABA B9B9 B8B8 IPIP B8HB8H B7B7 B6B6 B5B5 B4B4 B3B3 B2B2 B1B1 B0B0 P3P3 P3.7P3.7 P3.6P3.6 P3.5P3.5 P3.P3.4 4 P3.3P3.3 P3.2P3.2 P3.1P3.1 P3.0P3.0 B0HB0H IEIE A8HA8H A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 P2P2 P2.7P2.7 P2.6P2.6
13、 P2.5P2.5 P2.4P2.4 P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0 A0HA0H SBUFSBUF 9999H H + 注意:注意: 表中共有表中共有4个双字节寄存器。个双字节寄存器。 PC为双字节寄存器,但是为双字节寄存器,但是不在不在80H FFH 范围内。范围内。 表中,凡地址能被表中,凡地址能被8整除的寄存器都是可位整除的寄存器都是可位 寻址的寄存器寻址的寄存器。 通过观察上表,可以得到如下结论:通过观察上表,可以得到如下结论: 80C51内部共有内部共有21(22)个)个SFR。 这这21个特殊功能寄存器在内部个特殊功能寄存器在内部RAM高高
14、128单元中的分布单元中的分布是不连续的。是不连续的。 虽然其中还有空闲的地址,但用户不能使用。虽然其中还有空闲的地址,但用户不能使用。程序存储器程序存储器PC是独立于是独立于SFR之外唯一一个不可寻址的专之外唯一一个不可寻址的专用寄存器,它不占用用寄存器,它不占用RAM单元,物理上独立,编程时可直单元,物理上独立,编程时可直接利用。接利用。在在21个个SFR中有中有11个寄存器可以进行字节寻址的同时还个寄存器可以进行字节寻址的同时还可以进行位寻址。可以进行位寻址。这这11个可以进行位寻址的寄存器原则上有个可以进行位寻址的寄存器原则上有88位可寻址位可寻址位,但由于有些寄存器中的个别位没有意义
15、,所以共有位,但由于有些寄存器中的个别位没有意义,所以共有82位可寻址位。位可寻址位。80C5180C51单片机共有多少位可单片机共有多少位可寻址位寻址位各寄存器的名称及主要功能:各寄存器的名称及主要功能:(1)与与算术运算有关的寄存器算术运算有关的寄存器A累加器。累加器。为为8位寄存器,最为常用。位寄存器,最为常用。可以存放操作数、中间结果、运算结果等。可以存放操作数、中间结果、运算结果等。如:如:MOV A,#30HMOV A,#30HBB寄存器,乘、除法运算用。寄存器,乘、除法运算用。为为8位寄存器,主要用于乘、除运算。也可作一般寄存器使位寄存器,主要用于乘、除运算。也可作一般寄存器使用
16、。用。PSW程序状态字寄存器程序状态字寄存器(Program Status Word) 为为8位寄存器,存放程序运行的状态信息。其中有些位由位寄存器,存放程序运行的状态信息。其中有些位由硬件置位,有些由软件设定。硬件置位,有些由软件设定。 PSW的位状态可由专门的指令测试也可用指令读出来。各的位状态可由专门的指令测试也可用指令读出来。各位的含义如图所示:位的含义如图所示: P RS0RS1OV F0 AC CY PSW寄存器寄存器D7H D6H D5H D4H D3H D2H D1H D0H位地址位地址位名称位名称各位的含义:各位的含义:CY: 进位进位/借位标志借位标志功能:功能: 算术运算时作为进位、借位标志位算术运算时作为进位、借位标志位 位操作中常作累加位位操作中常作累加位由硬件置由硬件置/复位。复位。AC:辅助进辅助进/借位标志借位标志功能:执行加功能:执行加/ /减运算时表示低四位向高四位的进位减运算时表示低四位向高四位的进位/ /借位情借位情况。况。由硬件置由硬件置/复位。复位。F0 :用户定义标志位:用户定义标志位功能:用户可以定义状态标记。功能:用户可以定义状态标记。