80C51单片机的存储器结构.ppt
《80C51单片机的存储器结构.ppt》由会员分享,可在线阅读,更多相关《80C51单片机的存储器结构.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 80C51单片机的存储器结构单片机的存储器结构3.1 存储器的分类 存储器的的作用是用来存放程序和数据,存储器可分为磁存储和半导体存储器,半导体存储器按功能又可分为只读存储器ROM和随机存储器RAM,如图3-1所示。单片机存储器结构中都采用半导体存储器。1.只读存储器ROM 只读存储器在正常工作状态下只能从中读出数据,用户不能快速地随时修改或者重新写入数据,数据可长时间的保存。(1)可编程ROM,可通过专用设备(编程器)将数据写入ROM。PROM:用户可一次编程;EPROM:紫外线擦除,电改写(多次);EEPROM:电擦除,电改写(多次);FLASHROM:闪存(多次)。(2)掩膜
2、ROM 用户不能将数据写入,由厂家写入数据。由于上述特点,所以在单片机中一般做为程序由于上述特点,所以在单片机中一般做为程序存储器。存储器。2.随机存取存储器RAM 在加电期间,可以随时向存储器里写入数据或从中读出数据,但掉电后,数据丢失。SRAM:静态存储器,加电期间数据可以长久保存,掉电信息丢失。DRAM:动态存储器,即使在加电期间数据也会丢失(数据要刷新)。由于上述特点,所以在单片机中一般作为数据由于上述特点,所以在单片机中一般作为数据储存器。储存器。3.2 计算机中储存器的两种结构 在计算机中存储器的用途是存放程序和数据,它有两种结构:冯诺伊曼结构和哈佛结构。冯诺伊曼结构:程序和数据共
3、用一个存储器逻辑空间,统一编址。哈佛结构:程序与数据分为两个独立存储器逻辑空间,分开编址。注:个人电脑(PC机)采用的是冯诺伊曼结 构;单片机一般采用哈佛结构(8051);8051(80C51)单片机,数据存储器用的是 SRAM程序存储器用的是ROM。3.3 80C51单片机的储存器3.3.1 8051(80C51)系列存储器结构1.物理空间有四个部分 (1)内部数据存储器(128B SRAM)。(2)外部扩展数据存储器(最大64K RAM)。(3)内部程序存储器(4K FlashROM AT89S51)。(4)外部扩展程序存储器(最大64K RAM)。2.逻辑空间有三个部分 (1)程序存储器
4、ROM:包括内部和外部,共用一个64K的寻址空间。(2)内部数据存储器RAM(128B),独立的一个128B的寻址空间。(3)外部数据存储器RAM(64K),独立的一个64K的寻址空间。如图3-2所示。内部数据存储器和外部数据存储器相互之间独立编址,内部数据存储器和外部数据存储器相互之间独立编址,内部程序存储器和外部程序存储器统一编址,共用一个内部程序存储器和外部程序存储器统一编址,共用一个64K的寻址空的寻址空间。间。3.3.2 数据储存器 数据存储器是采用了静态随机存储器(SRAM)的结构,掉电信息丢失,故用于暂存数据及运算的中间结果。1.内部数据存储器的结构 内部数据储存器它由工作寄存器
5、区、位寻址区、用户区三个部分组成,地址范围00H7FH,共128个单元。用户对这些单元的访问,可以用可以用“直接寻直接寻址址”的方法,即在指令中用的方法,即在指令中用“direct”表示,表示,指的就是00H7FH这128个地址单元,指令中直接给出操作数所在单元地址的这种寻址方式称之为“直接寻址”。何为寻址方式,即寻找操作数的方法。图3-3 内部数据存储器结构(1)工作寄存器区(00H1FH)共32个单元,又分为4组,每组8个单元,都用R0R7表示,如图3-4所示,个寄存器对应的地址见表3-1所示 在内部工作寄存器中的地址是唯一,但寄存器名重名,一个寄存器名对应有4个单元,为了解决重名问题,单
6、片机用特殊功能寄存器PSW中的RS1、RS0来选择,也就是说,单片机在工作时不会同时使用这4组寄存器,在某一时刻,只能选择其中的一组。工作寄存器组地址寄存器名RS1RS00组00H07HR0R7001组08H0FHR0R7012组10H17HR0R7103组18H1FHR0R711 在指令系统中对于这些空间的访问有以下方法:直接使用地址,在指令系统中用直接使用地址,在指令系统中用“direct”表示,表示,这种方式称之为直接寻址。这种方式称之为直接寻址。如:指令 MOV A,direct ;指令中的“direct”就是指内部数据存储器中的地址(00H7FH)该指令就是把direct这个单元中的
7、操作数传送到A中。操作数是指指令中参与操作的数据。指令系统中出现的“direct”,在实际编程的过程中不能出现,必须写对应的实际地址“00H7FH”,这一点非常重要。如:MOV A,30H;就是将30H中的数送给A。直接使用寄存器名R0R7,指令系统中用指令系统中用“Rn”表示这表示这8个寄存器,这种方式的寻址称之为个寄存器,这种方式的寻址称之为“寄存器寄存器寻址寻址”,就是操作数放在寄存器中。如:指令 MOV A,Rn ;指令中的“Rn”就是指工作寄存器R0R7。该指令就是把Rn中的操作数传送到A中。指令系统中出现的“Rn”,在实际编程的过程中不能出现,必须写对应的寄存器“R0R7”。如:M
8、OV A,R3 ;就是将工作寄存器R3中的数传送到A中。R0和R1这两个寄存器还有一种用法,称之为称之为“寄寄存器间接寻址存器间接寻址”,用“Ri”表示,i=0、1。R0和R1存放的是操作数所在单元的地址。如:MOV A,Ri ;指令中的“Ri”就是指工作寄存器R0和R1。该指令就是把Ri中的数取出作为所取数据的单元地址。指令系统中出现“Ri”,在实际编程的过程中不能出现,必须写“R0或R1”。如:MOV A,R0 ;就是将R0中的数取出,作为所取数据的地址,将该地址单元的数取出送到A中。如图3-5所示,R0所指的操作数就是10101010B(AAH)。3-5所示,指令MOV A,R0 操作示
9、意。可以用(R0)=(40H)=AAH表示。注:在寄存器寻址中(Rn),这4组寄存器,由用户使用中通过PSW中的RS1和RS0的设定,来确定用户使用的组。这32个单元可以使用“直接寻址”方式,也可使用“寄存器寻址”方式来进行访问。4组中的R0和R1除了“直接寻址”和“寄存器寻址”外,还可采用“寄存器间接寻址”方式来访问。(2)位寻址区(20H2FH)这16个RAM 单元具有双重功能。它们既可以像普通RAM 单元一样按字节存取,即“直接寻址(direct)”也可以对每个RAM 单元中的任何一个二进制位单独存取,这就是位寻址这就是位寻址(bit),80C51单片机为这些区域专门设置了位处理器(一个
10、1位的CPU),用于这些空间的访问,如图3-6所示。图3-6,位地址表。在指令系统中对于这些空间的访问有以下方法:可以采用“直接寻址”的方式去访问这16个单元;如:MOV A,20H (MOV A,direct)也可以采用“位寻址(bit)”的方式去访问这128个二进制位。如:MOV C,00H (MOV C,bit)该指令就是把00H中的一个二进制数送到C中。指令中“bit”,指的就是位地址“00H7FH”。注:字节地址:20H2FH,位地址:00H7FH。为了区分位地址“00H7FH”和内部数据存储器的地址“00H7FH”,提到位寻址区中的位地址时,必须注明位地址。单元地址,称之为字节地址
11、,也可简称地址。(3)数据缓冲区(用户区)(30H7FH)数据缓冲区共有80个RAM 单元,用于存放用户数据或作堆栈区使用,也称用户RAM区。80C51对用户RAM区中每个RAM单元只能按字节存取的(不可位寻址)。在指令系统中对于这些空间的访问只有一种方法,即直接寻址(即直接寻址(direct)。)。如:MOV A,40H (MOV A,direct)内部数据存储器小结:内部数据存储器中所有的单元(128B)都可以用直接寻址的方法来进行访问(direct)。工作寄存器区也可以用寄存器寻址(Rn)的方法来访问,指令系统中一般都用寄存器寻址(Rn)的方法来访问该空间。除了寄存器寻址的方式,R0和R
12、1也可采用寄存器间接寻址Ri的方式,在使用中R0和R1必须先满足间接寻址方式,有多余的可用于寄存器寻址方式。位寻址区,对这16个单元可以使用直接寻址方式,这16个单元中的128个位(都有位地址),还可以用位寻址的方式来访问。用户区只能用直接寻址的方式来访问。指令系统中所有的数据处理、运算都是在内部数据存储器中完成,所以指令系统也是非常丰富的(大部分指令都是针对该空间)。2.外部数据存储器 当内部数据存储器不够用时,在单片机的外总线上可以最大扩展64K的RAM,可独立寻址,有专用指令系统(MOVX传送指令),不能用于数据的运算及处理,所以仅有4条指令,两条读,两条写,用于一般数据的存放,地址为0
13、000HFFFFH。寻址方式采用寄存器间接寻址的方式,如MOVX A,DPTR.,指令中DPTR,开辟在特殊功能寄存器(SFR)中,是一个16位的数据存储器(数据指针),用于访问外部数据存储器和程序存储器,一般用于存放的是外部数据存储器和程序存储器的地址(外部数据存储器的地址也是16位)。存储器结构见图3-7所示。图3-7 外部数据存储器结构3.3.3 特殊功能寄存器(SFR)80C51系列单片机内的锁存器、定时器、串行口、数据缓冲器及各种控制寄存器、状态寄存器都以特殊功能寄存器(SFR)的形式出现,它们离散地分布在高128位片内RAM 80HFFH中。51子系列共有18个特殊功能寄存器,占用
14、21个单元,其余107个单元用户不好使用(AT89C51)。表3-2 SFR地址映像表 这18个特殊功能寄存器,其中有15个特殊功能寄存器占用1个单元,另外3个特殊功能寄存器占用2个单元,这就是为什么18个特殊功能寄存器占用21个单元的原因。这18个特功能寄存器我们先学5个,其余的放在以后学习。1累加器ACC(E0H)累加器ACC 是80C51型单片机中最常用的寄存器。许多指令的操作数取自ACC,许多运算的结果存放在ACC 中。乘除法指令必须通过ACC 进行。累加器ACC 的指令助记符为。简单的讲就是一个8位的存储器,使用非常频繁,很多指令中必须用到ACC。在指令系统中,可直接使用寄存器名AC
15、C(A)和字节地址E0H对这八个二进制位进行操作,前者称之为寄存器寻址,后者称之为直接寻址(direct),用户一般使用寄存器寻址,即寄存器寻址,在特殊条件下才会使用直接寻址。累加器ACC也是一个可以对8个二进制位进行位寻址的寄存器,8个二进制位都有唯一的位地址,指令中只能使用位地址(bit),也称之为位寻址,若使用位编号,编译软件会将位编号转换成位地址,再进行编译,最后形成目标文件。2寄存器(F0H)80C51单片机乘除法指令中要用到寄存器,用于存放操作数和操作结果。也可作为通用存储器器使用。在乘除指令中,直接使用寄存器名B,称之为寄存器寻寄存器寻址址。用作通用存储器时只能使用地址F0H称之
16、为直接寻址直接寻址,若用寄存器名B,编译软件会将其转换成地址F0H来使用。寄存器B是可以进行位寻址的单元,8个二进制位都有唯一的位地址,在对二进制位寻址时,指令中只能使用位地址(bit),称之为位寻址,若使用位编号,编译软件会将位编号转换成位地址,再进行编译,最后形成目标文件,见图3-9所示。3程序状态字寄存器程序状态字寄存器PSW(D0H)程序状态字寄存器程序状态字寄存器PSW也称为标志寄存器,存放各有也称为标志寄存器,存放各有关标志和对工作寄存器的选择设置。其结构和定义如图关标志和对工作寄存器的选择设置。其结构和定义如图3-10所示。在指令系统中该单元只能使用字节地址所示。在指令系统中该单
17、元只能使用字节地址D0H来访问,来访问,称之为称之为直接寻址直接寻址(direct),若用寄存器名),若用寄存器名PSW,编译软件,编译软件会将其转换成地址会将其转换成地址D0H来使用。程序状态字寄存器来使用。程序状态字寄存器PSW是可是可以进行位寻址的单元,以进行位寻址的单元,8个二进制位都有唯一的位地址,在个二进制位都有唯一的位地址,在对二进制位寻址时,指令中只能使用位地址(对二进制位寻址时,指令中只能使用位地址(bit),称之为),称之为位寻址位寻址,若使用位定义或位编号,编译软件会将位定义和位,若使用位定义或位编号,编译软件会将位定义和位编号转换成位地址,再进行编译,最后形成目标文件。
18、编号转换成位地址,再进行编译,最后形成目标文件。该单元各位的定义如下:该单元各位的定义如下:CY:进(借)位标志位,有进(借)位(:进(借)位标志位,有进(借)位(CY)1,否则,否则 (CY)0,主要用于加减运算中。,主要用于加减运算中。AC:辅助进(借)位标志位,低四位向高四位的进(借):辅助进(借)位标志位,低四位向高四位的进(借)位,有进(借)(位,有进(借)(AC)=1,否则(,否则(AC)=0,主要用,主要用 于加减运算中。于加减运算中。RS1、RS0:工作寄存器组的选择位,见表:工作寄存器组的选择位,见表3-3所示。所示。字字节节地址地址寄存器名寄存器名RS1RS1RS0RS00
19、 0组组00H00H07H07HR0R0R7R70 00 01 1组组08H08H0FH0FHR0R0R7R70 01 12 2组组10H10H17H17HR0R0R7R71 10 03 3组组18H18H1FH1FHR0R0R7R71 11 1OV:溢出标志位,:溢出标志位,80C51单片机单片机CPU的位数是的位数是8位,则表示位,则表示 带符号数的位数只能是带符号数的位数只能是8位,最高位是符号位,数据位位,最高位是符号位,数据位 只有只有7位,数的范围在位,数的范围在-128+127之间,若运算的结果之间,若运算的结果 超出这个范围,溢出(结果出错)。计算机中判断结超出这个范围,溢出(
20、结果出错)。计算机中判断结 果溢出的算法是果溢出的算法是 公式:公式:OV=Cy6 Cy7 ;式中,式中,Cy6表示表示D6位向位向D7位的进位或借位,位的进位或借位,Cy7表示表示D6位向位向CY的进位或借位。的进位或借位。F0:用户位,用户可以作为一般的一位二进制数的存储器使:用户位,用户可以作为一般的一位二进制数的存储器使 用。用。P:奇偶标志位,累加器:奇偶标志位,累加器A中中1的个数为奇数时(的个数为奇数时(P)=1,否,否 则(则(P)=0,只要,只要A中的数值发生变化,就影响中的数值发生变化,就影响P(实时(实时 反映累加器反映累加器A中中1的个数的奇偶性)。的个数的奇偶性)。注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 80 C51 单片机 存储器 结构
限制150内