51单片机1.4.ppt

上传人:夺命阿水 文档编号:236066 上传时间:2023-03-10 格式:PPT 页数:27 大小:868KB
返回 下载 相关 举报
51单片机1.4.ppt_第1页
第1页 / 共27页
51单片机1.4.ppt_第2页
第2页 / 共27页
51单片机1.4.ppt_第3页
第3页 / 共27页
51单片机1.4.ppt_第4页
第4页 / 共27页
51单片机1.4.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《51单片机1.4.ppt》由会员分享,可在线阅读,更多相关《51单片机1.4.ppt(27页珍藏版)》请在课桌文档上搜索。

1、1.4 单片机的存储器配置,80C51存储器配置程序存储器内部数据存储器外部数据存储器,主要内容:,数据存储器,80C51内部集成有一定容量的程序存储器和数据存储器。如果不能满足设计需要ROM和RAM都可以进行外部扩展。其存储器的配置情况可以表示为:,外部ROM,物理上分为4个空间,80C51单片机的存储器配置情况:,逻辑上分为 3个空间,片内ROM、片外ROM 片内RAM、片外RAM,片内、外统一编址的程序存储器内部数据数据存储器外部数据存储器,64KB,256B,64KB,下面就分别介绍80C51单片机程序存储器和数据存储器的配置及特点:,一、程序存储器程序存储器用于存放编好的程序和表格常

2、数。寻址范围:0000H FFFFH 容量64KB,即地址长度:16位,,先寻址内部ROM;,,只寻址外部ROM。,当PC值超过片内ROM容量时会自动转向 外部存储器空间。,对于有内部ROM的单片机(如8051),在正常运行时,此引脚接高电平;该引脚接低电平时,单片机工作在调试状态。对于内部没有ROM的单片机(如8031)此引脚始终接低电平。,2、一些关键的存储单元(1)0000H单元系统的启动地址 系统复位后,程序计数器PC的值为0000H,所以系统必须从0000H单元开始执行程序。0000H是系统的启动地址,一般在此单元放一条跳转指令,用户的主程序从跳转后的地址开始存放。,0003H 外部

3、中断0入口000BH T0溢出中断入口 0013H 外中断1入口001BH T1溢出中断入口0023H 串口中断入口,(2)5个特殊的单元中断服务程序的入口地址,每两个相邻入口地址间仅有8个存储单元,这是不可能存放中断服务程序的,所以在入口地址处通常都存放一条跳转指令,跳转后的地址即为中断服务程序的实际入口地址。,二、内部数据存储器物理上分为两个不同的存储空间:00H 7FH:低128B80H FFH:高128B,又叫特殊功能寄存器(SFR)区。,1、数据存储区(低128单元),数据存储区又分为三个区域:通用寄存器区、位寻址区和用户RAM区。,(1)通用寄存器区 00H1FH共32个单元是4个

4、通用工作寄存器区。每个区有8个8位的寄存器:R0R7,可以用来存放操作数及中间结果等。,内部RAM低128单元,08H,10H,18H,思考:,80C51的内部RAM低128B中共有多少个工作寄存器?,答案:共有32个。,注意:在任一时刻,CPU只能选择使用其中的一组工作寄存器,即8个。,CPU当前使用的寄存器区叫做当前工作寄存器区,编程时可以在当前工作寄存器R0R7中选择合适的寄存器使用。其中选择这4组寄存器区的哪一组是由用户在程序中通过设定专门的寄存器事先写明的。,(2)位寻址区 20H2FH的16个单元可以进行位寻址,也可以作为一般的RAM单元进行字节寻址。各寻址位都有各自的位地址,范围

5、为:00H7FH。,该区域共有128位可寻址位。,位寻址区,80C51具有位处理机功能,可以进行位寻址的存储空间包括位寻址区和SFR的11个专用寄存器。,(3)用户RAM区 共80个单元30H7FH,这部分的使用不作限制,堆栈一般开设在此区。,2、特殊功能寄存器区(高128单元)特殊功能寄存器又称为专用寄存器,单元地址为80HFFH。51子系列SFR的地址分配及位地址见下表,表中给出了特殊功能寄存器的符号、名称和地址。,+,+,注意:表中共有4个双字节寄存器。PC为双字节寄存器,但是不在80H FFH 范围内。表中,凡地址能被8整除的寄存器都是可位 寻址的寄存器。,通过观察上表,可以得到如下结

6、论:80C51内部共有21(22)个SFR。这21个特殊功能寄存器在内部RAM高128单元中的分布是不连续的。虽然其中还有空闲的地址,但用户不能使用。程序存储器PC是独立于SFR之外唯一一个不可寻址的专用寄存器,它不占用RAM单元,物理上独立,编程时可直接利用。在21个SFR中有11个寄存器可以进行字节寻址的同时还可以进行位寻址。这11个可以进行位寻址的寄存器原则上有88位可寻址位,但由于有些寄存器中的个别位没有意义,所以共有82位可寻址位。,?,共210位,各寄存器的名称及主要功能:(1)与算术运算有关的寄存器A累加器。为8位寄存器,最为常用。可以存放操作数、中间结果、运算结果等。如:MOV

7、 A,#30HBB寄存器,乘、除法运算用。为8位寄存器,主要用于乘、除运算。也可作一般寄存器使用。,PSW程序状态字寄存器(Program Status Word)为8位寄存器,存放程序运行的状态信息。其中有些位由硬件置位,有些由软件设定。PSW的位状态可由专门的指令测试也可用指令读出来。各位的含义如图所示:,P,RS0,RS1,OV,F0,AC,CY,PSW寄存器,D7H D6H D5H D4H D3H D2H D1H D0H,位地址,位名称,各位的含义:CY:进位/借位标志功能:算术运算时作为进位、借位标志位 位操作中常作累加位由硬件置/复位。AC:辅助进/借位标志功能:执行加/减运算时表

8、示低四位向高四位的进位/借位情况。由硬件置/复位。F0:用户定义标志位功能:用户可以定义状态标记。由软件置/复位。,OV:溢出标志位 在带符号加减运算中,OV=1表示加减结果超出A表示的有符号数的范围,即超过-128+127(定义10000000=-128)。,在乘法运算中,OV=1表示乘积超过了255,即结果高位放在B中,低位放在A中;OV=0说明乘积只在A中。在除法运算中,OV=1表示除数为零,不能进行运算。由硬件置/复位。,P:奇偶标志位功能:表示累加器A中1的个数,P=1,A中1的个数为奇数,P=0,A中1的个数为偶数,由硬件置/复位。,RS1、RS0 当前工作寄存器区选择控制位功能:

9、从内部RAM低128B中选择一组寄存器区作为当前工作寄存器。0 0:0区 R0 R7(地址00H07H)0 1:1区 R0 R7(地址08H0FH)1 0:2区 R0 R7(地址10H17H)1 1:3区 R0 R7(地址18H1FH)由软件置/复位。,注意:,当前工作寄存器区一旦确定,R0R7各个寄存器的地址也就确定了。例如:设定RS1、RS0分别为01,则此时指令MOV A,R3 中A中最终存放的是哪个单元的数据?,答案:0BH,PSW应用举例:例:有符号数8CH和95H执行加法运算结果放入A中,PSW寄存器的内容为多少?(用户标志位设为0;择第二组工作寄存器为当前工作寄存器),因为 10

10、001100+10010101 00100001,CY=1AC=1F0=0 RS1、RS0=10 OV=1保留位设为0P=0,PSW=11010100B=D4H,(2)指针型寄存器PC程序计数器是一个16位的计数器。功能:用来存放即将执行的下一条指令的地址(程序存储器地址)。在物理上独立,没有访问地址,所以无法对它进行读/写操作,但是可以通过转移、调用返回等指令改变其内容。程序执行时PC可以自动加1,系统复位时PC=0000H,使CPU从启动地址重新取指令执行。,举例:0020H:MOV A,#0AH;该指令执行完后PC的值为?MOV R1,A;,答案:0022H,指令本身占两个字节,SP堆栈

11、指针寄存器一个8位的专用寄存器。可软件设置初值。功能:指明堆栈顶部在内部RAM中的位置(地址)。系统复位时SP=07H,但是数据要从08H单元开始存放?因为堆栈的底部是不能存放数据的。注意:原则上堆栈可以根据用户的需要在内部RAM中开设,但内部RAM08H1FH属于工作寄存器区,所以一般把SP的值设得大一些在30H7FH之间。,SP的值可以随着压栈和出栈操作自动增量或减量,始终指向堆栈的顶部。,DPTR数据指针寄存器16位专用寄存器。由两个8位的寄存器组成 DPTR可用作一个16位寄存器用,也可以作两个8位的寄存器使用。功能:DPTR通常用来存放16位地址,可以借助它访问外部RAM(MOVX指

12、令)和外部ROM(MOVC指令)。,(3)并行输入/输出端口的锁存器 80C51的四个并行口都有各自的锁存器并分别用P0、P1、P2、P3表示,都是8位的锁存器。在实际叙述时一定要明白P0、P1、P2、P3表示的是端口还是端口的锁存器。,(4)串行数据缓冲器 用于存放串行口将要发送和接收的数据,包含两个物理上独立的寄存器:发送缓冲器 接收缓冲器,(5)定时/计数器 80C51有两个16位的定时器/计数器T0和T1。T0和T1分别由两个8位的寄存器构成,可用于设定计数初值。,注意:,T0和T1不能当作16位寄存器使用,只能当成两个8位寄存器分别访问。,(6)其它控制寄存器 除了以上介绍的这些寄存

13、器还有一些专用寄存器,如IP、IE、TMOD、TCON、SCON、PCON等,后续章节介绍。,三、外部数据存储器 80C51内部存储器不够用时,需要外接RAM和I/O。此时需要注意几点:单片机可以访问的外部RAM地址空间为064KB,最多由16根地址线寻址。外部RAM与外接I/O设备统一编址,CPU不加区分。对外部RAM要采用间接寻址方式访问,指令为MOVX。其中R0、R1、DPTR都可做间址寄存器,但寻址范围不同,分别为:256B、256B、64KB。,本节小结,80C51的存储器配置程序存储器内部数据存储器外部数据存储器,高128单元,低128单元,关键的引脚和关键的单元,物理上分为四个,逻辑上分为三个,用户RAM区位寻址区通用寄存器区,重要的SFR,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号