




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、存储器、堆栈、存储器、堆栈、SFR数据存储器数据存储器RAMRAMRandom Access MemoryRandom Access Memory程序存储器程序存储器ROMROMRead Only MemoryRead Only Memory闪速存储器闪速存储器Flash MemoryFlash MemoryEPROMEPROMUVUVErazible Programmable ROMErazible Programmable ROMEEPROM/E2PROMElectrical Erasable EEPROM/E2PROMElectrical Erasable Programmable RO
2、M Programmable ROM静态存储器静态存储器 SRAMStatic RAM SRAMStatic RAM 动态存储器动态存储器 DRAMDynamic RAM DRAMDynamic RAM按字节寻址:每个字节按字节寻址:每个字节(8(8个位个位) )占一个地址占一个地址按位寻址:有的存储器每一个位就有一个地址按位寻址:有的存储器每一个位就有一个地址单片机的存储器几个有关的概念:89C51单片机存储器配置l片内片内RAM 128RAM 128字节字节00H7FH00H7FH;l 片内片内RAMRAM前前3232个单元是任务存放器区个单元是任务存放器区(00H1FH)(00H1FH)
3、l 片内片内RAMRAM有有128128个可按位寻址的位,占个可按位寻址的位,占1616个单元。个单元。 l 位地址编号为:位地址编号为:00H7FH00H7FH,分布在,分布在20H2FH20H2FH单元单元P27P27l片内片内2121个特殊功能存放器个特殊功能存放器(SFR)(SFR)中:地址号能被中:地址号能被 8 8整除的整除的 SFR SFR中的各位也可按位寻址中的各位也可按位寻址P.28P.28l可寻址片外可寻址片外RAM 64KRAM 64K字节字节 0000HFFFFH0000HFFFFHl可寻址片外可寻址片外ROM 64KROM 64K字节字节 0000HFFFFH0000
4、HFFFFHl片内片内 Flash ROM 4K Flash ROM 4K字节字节 000HFFFH000HFFFH存储器配置片内RAMl片内片内RAM 128RAM 128字节字节00H7FH00H7FH00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址80H80HFFHFFH一切的一切的RAMRAM区区( (包括位包括位寻址区、任务存放器寻址区、任务存放器区都可以用于存放区都可以用于
5、存放数据,故也称为数据数据,故也称为数据缓存存放器缓存存放器89C51 128字字节节l片内片内RAMRAM前前3232个单元是任务存放器区个单元是任务存放器区 (00H1FH)(00H1FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区存储器配置片内RAM00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区R
6、0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH任务存放器区任务存放器区3任务存放器区任务存放器区2任务存放器区任务存放器区1任务存放器区任务存放器区00FH10H17H18Hl片内片内RAMRAM前前3232个单元是任务存放器区个单元是任务存放器区 (00H1FH)(00H1FH)存储器配置片内RAM00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区l片内片内RAMRAM中有中有128128个可按位寻址的位。个
7、可按位寻址的位。 l 位地址位地址:00H7FH :00H7FH l 分布在分布在:20H2FH:20H2FH单元单元存储器配置片内RAM00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26
8、 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位l片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 l 位地址位地址:00H7FH :00H7FH l 分布在分布在:20H2FH:20H2FH单元单元存储器配置片内RAMl可寻址片外可寻址片外RAM 64KRAM 64K字节字节 0000HFFF
9、FH0000HFFFFH;l可寻址片外可寻址片外ROM 64KROM 64K字节字节 0000HFFFFH0000HFFFFH;l片内片内 Flash ROM 4K Flash ROM 4K字节字节 000H FFFH 000H FFFH;FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H可寻址可寻址片内片内 Flash Flash ROMROM4K 字节字节89C5189C517FH00H片内片内 RAM RAM 128字节字节FFH80H存储器配置片内RAM堆栈: 在片内RAM中,经常要指
10、定一个专门的区域来存放某些特别的数据,它遵照顺序存取和后进先出(LIFO/FILO的原那么,这个RAM区叫堆栈。功用:功用:1 1子程序调用和中断效力时子程序调用和中断效力时CPUCPU自动将当自动将当前前PCPC 值压栈保管,前往时自动将值压栈保管,前往时自动将PCPC值弹栈。值弹栈。2 2维护现场维护现场/ /恢复现场恢复现场3 3数据传输数据传输00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据
11、将存在此数据数据进栈进栈曾经进栈的数曾经进栈的数据存放在此据存放在此初始初始 SP复位后复位后 SP=07H SP=07H,数据进栈时:首先,数据进栈时:首先SP+1SP+1指向指向08H08H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进08H08H单元,然后单元,然后SPSP再自再自动增动增 1 1,仍指着栈顶,仍指着栈顶堆栈区由特殊功能存放器堆栈指针堆栈区由特殊功能存放器堆栈指针SPSP管理管理 堆栈区可以安排在堆栈区可以安排在 RAM RAM区恣意位置,普通不安排在区恣意位置,普通不安排在任务存放器区和可按位寻址的任务存放器区和可按位寻址的RAMRAM区,通常放在区,
12、通常放在RAMRAM区的靠后的位置。区的靠后的位置。从堆栈取出数据时:取出的数据是从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区 SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能
13、存放器堆栈指针SP管理 堆栈区可以安排在 RAM区恣意位置,普通不安排在任务存放器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。从堆栈取出数据时:取出的数据是从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区SP-1 指向新的栈指向新的栈顶顶,也就是下一个也就是下一个将
14、要出栈的数据将要出栈的数据数据数据出栈出栈初始初始 SP堆栈区由特殊功能存放器堆栈指针SP管理 堆栈区可以安排在 RAM区恣意位置,普通不安排在任务存放器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。89C51特殊功能存放器(SFR)特殊功能存放器特殊功能存放器SFRSFR公用存放器公用存放器公用于控制、选择、管理、存放单片机内部各部分公用于控制、选择、管理、存放单片机内部各部分的任务方式、条件、形状、结果的存放器。的任务方式、条件、形状、结果的存放器。不同的不同的SFRSFR管理不同的硬件模块,担任不同的功管理不同的硬件模块,担任不同的功能能各司其职各司其职换言之:要让单片机实现预
15、订的功能,必需有相应换言之:要让单片机实现预订的功能,必需有相应的硬件和软件,而软件中最重要的一项任务就是对的硬件和软件,而软件中最重要的一项任务就是对SFRSFR写命令要求。写命令要求。程序计数器程序计数器PCPCProgram CounterProgram CounterPC PC 不是一个特殊功能存放器不是一个特殊功能存放器SFRSFR,但其作用又非,但其作用又非常重要和特殊常重要和特殊!特点:特点:它是它是1616位的按机器周期自动增位的按机器周期自动增1 1计数器计数器一切分支一切分支/ /跳转跳转/ /调用调用/ /中断中断/ /复位复位 等操作的本质等操作的本质就是就是: :改动
16、改动 PC PC 值值总指向下一条指令所在首地址总指向下一条指令所在首地址( (当前当前PCPC值值) )特殊功能存放器(PC)89C5189C51有有2121个个SFR(89C52SFR(89C52有有2626个个) P27) P272828 知的知的P0P0、P1P1、P2P2、P3P3等四个等四个8 8位位I/OI/O口分别由名为口分别由名为P0P0、P1P1、P2P2、P3P3四个四个SFRSFR代表。代表。堆栈指针存放器堆栈指针存放器 SP SPStack Pointer): Stack Pointer): 总是指总是指向栈顶向栈顶, ,压栈时先压栈时先 (SP)+1 (SP)+1
17、然后数据进栈;弹栈然后数据进栈;弹栈时数据先出栈时数据先出栈 然后然后(SP)-1(SP)-1。累加器累加器 ACC: ACC:一个被众多指令用得最频繁的特殊一个被众多指令用得最频繁的特殊功能存放器功能存放器( (如:运算、数据传输如:运算、数据传输)。副累加器副累加器 B: B:一个经常与一个经常与 ACC ACC 配合在一同运用的配合在一同运用的特殊功能存放器特殊功能存放器( (如:乘法、除法如:乘法、除法) ),此外,它也,此外,它也经常当作普通存放器运用。经常当作普通存放器运用。特殊功能存放器(P0P3,SP,A,B,DPTR)程序形状字存放器程序形状字存放器 PSW PSW:CYAC
18、F0RS0OVPRS1PSW.7PSW.0CY(PSW.7)CY(PSW.7)进位进位/ /借位标志位。假设借位标志位。假设ACCACC在运算过在运算过程中发生了进位或借位,那么程中发生了进位或借位,那么CY=1CY=1;否那么;否那么=0=0。它也是布尔处置器的位累加器,可用于布尔操它也是布尔处置器的位累加器,可用于布尔操作。作。AC(PSW.6)AC(PSW.6)半进位半进位/ /借位标志位。假设借位标志位。假设ACCACC在运算在运算过程中,过程中,D3D3位向位向D4D4位发生了进位或借位,那么位发生了进位或借位,那么AC=1,AC=1,否那么否那么=0=0。机器在执行。机器在执行“D
19、A A“DA A指令时指令时自动要判别这一位,我们可以暂时不关怀它。自动要判别这一位,我们可以暂时不关怀它。F0 (PSW.5)F0 (PSW.5)可由用户定义的标志位。可由用户定义的标志位。PSW.6 PSW.5特殊功能存放器(PSW)程序形状字存放器程序形状字存放器 PSW PSW续:续:CYACF0RS0OVPRS1PSW.7PSW.0RS1(PSW.4)RS1(PSW.4)、RS0(PSW.3)RS0(PSW.3)任务存放器组选择位。任务存放器组选择位。RS1RS1,RS0 = 0 1 RS0 = 0 1 那么选择了任务存放器组那么选择了任务存放器组 1 1 区区R0R0R7R7分别代
20、表分别代表08H 08H 0FH0FH单元。单元。RS1RS1,RS0 = 1 0 RS0 = 1 0 那么选择了任务存放器组那么选择了任务存放器组 2 2 区区 R0 R0R7R7分别代表分别代表10H 10H 17H17H单元。单元。RS1RS1,RS0 = 1 1 RS0 = 1 1 那么选择了任务存放器组那么选择了任务存放器组 3 3 区区R0R0R7R7分别代表分别代表18H 18H 1FH1FH单元。单元。PSW.4 PSW.3RS1RS1,RS0 = 0 0 RS0 = 0 0 那么选择了任务存放器组那么选择了任务存放器组 0 0 区区R0R0R7R7分别代表分别代表00H 00
21、H 07H07H单元。单元。l片内片内RAMRAM前前3232个单元个单元(00H1FH)(00H1FH)是任务存放器是任务存放器区区 ( (由由PSWPSW中的中的RS1,RS0RS1,RS0决议决议) )00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH任务存放器区任务存放器区3任务存放器区任务存放器区2任务存放器区任务存放器区1任务存放器区任务存放器区0 程
22、序形状字存放器程序形状字存放器 PSW PSW续:续:CYACF0RS0OVPRS1PSW.7PSW.0OV (PSW.2)OV (PSW.2)溢出标志位。溢出标志位。 OV=1 OV=1时特指累加器在进展带符号数时特指累加器在进展带符号数(-128+127)(-128+127)运算时出错超出范围;运算时出错超出范围;OV=0OV=0时未出错。时未出错。PSW.1 PSW.1 未定义。未定义。P (PSW.0)P (PSW.0)奇偶标志位。奇偶标志位。 P=1 P=1表示累加器中表示累加器中“1“1的个数为奇数的个数为奇数 P=0 P=0表示累加器中表示累加器中“1“1的个数为偶数的个数为偶数
23、 CPU CPU随时监视着随时监视着ACCACC中的中的“1“1的个数的个数, ,并反映在并反映在PSWPSW中中PSW.2PSW.1【例1】 两数相加: 1100 1001 0100 1100 0001 0101(AC)=1,(CY)=1,(OV)=0,(P)=1。假设把两加数以为是无符号二进制数,那假设把两加数以为是无符号二进制数,那么分别表示十进制数么分别表示十进制数201、76,相加后,相加后,用用CY作进位位,结果为作进位位,结果为1 0001 0101B,对应十进制数对应十进制数277。假设把两加数以为是有符号二进制数,那假设把两加数以为是有符号二进制数,那么分别表示十进制数么分别
24、表示十进制数55、76,相加后,相加后,用用OV作溢出位,结果为作溢出位,结果为0001 0101B,对,对应十进制数应十进制数21。可见,单片机在作加法时,它并不论两加数是可见,单片机在作加法时,它并不论两加数是有符号数还是无符号数,但它会按无符号数和有符号数还是无符号数,但它会按无符号数和有符号数的规那么分别产生两个标志有符号数的规那么分别产生两个标志CY、OV,那么,程序员就必需清楚,究竟是把数作为有那么,程序员就必需清楚,究竟是把数作为有符号数还是作为无符号数,然后分别用两个不符号数还是作为无符号数,然后分别用两个不同的溢出位来处置最终结果。减法时,要留意,同的溢出位来处置最终结果。减
25、法时,要留意,单片时机自动利用补码减变加的性质来处置,单片时机自动利用补码减变加的性质来处置,同样,不论是无符号数和有符号数,计算机都同样,不论是无符号数和有符号数,计算机都会按规那么影响会按规那么影响CY、OV,而程序员要根据数的,而程序员要根据数的性质来决议是用性质来决议是用CY,还是,还是OV。【例【例2】 1100 1001 0100 1100 0111 1101(AC)=1,(CY)=0,(OV)=1,(P)=0。假设把两减数以为是无符号二进制数,那假设把两减数以为是无符号二进制数,那么分别表示十进制数么分别表示十进制数201、76,相减后,用,相减后,用CY作借位位,结果为作借位位
26、,结果为0 0111 1101B,对应,对应十进制数十进制数125。假设把两减数以为是有符号。假设把两减数以为是有符号二进制数,那么分别表示十进制数二进制数,那么分别表示十进制数55、76,相减后,用,相减后,用OV作溢出位,发生溢出,作溢出位,发生溢出,阐明结果错误。阐明结果错误。假设要得到正确的结果,必需求经过扩展假设要得到正确的结果,必需求经过扩展位数来处理。位数来处理。PC与SFR复位形状表89C51单片机存储器配置l片内片内RAM 128RAM 128字节字节00H7FH00H7FH;l 片内片内RAMRAM前前3232个单元是任务存放器区个单元是任务存放器区(00H1FH)(00H
27、1FH)l 片内片内RAMRAM有有128128个可按位寻址的位,占个可按位寻址的位,占1616个单元。个单元。 l 位地址编号为:位地址编号为:00H7FH00H7FHl 分布在:分布在:20H2FH20H2FH单元单元l片内片内2121个特殊功能存放器个特殊功能存放器(SFR)(SFR)中:地址号能被中:地址号能被 8 8整除的整除的 SFR SFR中的各位也可按位寻址中的各位也可按位寻址l可寻址片外可寻址片外RAM 64KRAM 64K字节字节 0000HFFFFH0000HFFFFHl可寻址片外可寻址片外ROM 64KROM 64K字节字节 0000HFFFFH0000HFFFFHl片
28、内片内Flash ROM 4KFlash ROM 4K字节字节 000HFFFH000HFFFH存储器配置片内RAM00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区任务存放器区任务存放器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址80H80HFFHFFH一切的一切的RAMRAM区区( (包括位寻址包括位寻址区、任务存放器区都可区、任务存放器区都可以用于存放数据,故也称以用于存放数据,故也称为数据缓存存放器为数据缓存存放器128128字节字节单片机存储
29、器配置片外RAM/ROM l可寻址片外可寻址片外RAM 64KRAM 64K字节字节 0000HFFFFH0000HFFFFH;l可寻址片外可寻址片外ROM 64KROM 64K字节字节 0000HFFFFH0000HFFFFH;l片内片内 Flash ROM 4K Flash ROM 4K字节字节 000HFFFH000HFFFH;FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H可寻址可寻址片内片内 Flash Flash ROMROM 4K字节字节89C5189C517FH00H片内片内
30、 RAM RAM 128字节字节FFH80H最小系统的设计l1.1.单片机的单片机的I/OI/O口都是口都是“准双向口,在把准双向口,在把I/OI/O口口设置为输入形状时,要先对端口的锁存器写入设置为输入形状时,要先对端口的锁存器写入1 1。同时同时P0P0口作口作I/OI/O口时,不带有上拉电阻;而口时,不带有上拉电阻;而P1,P2P1,P2和和P3P3口作口作I/OI/O口时,自带上拉电阻。口时,自带上拉电阻。 l2.2.单片机的存储器系统采用哈佛构造,即程序空单片机的存储器系统采用哈佛构造,即程序空间和数据空间是分开的,间和数据空间是分开的,I/OI/O空间占用数据空间的空间占用数据空间
31、的地址,二者采用一样指令访问。地址,二者采用一样指令访问。l3.3.片内片内RAMRAM空间的地址:空间的地址:0X800XFF0X800XFF和特殊功能存和特殊功能存放器放器SFRSFR的地址重合,二者采用不同的寻址方式来的地址重合,二者采用不同的寻址方式来加以区分。加以区分。l4.4.对于集成在单片机片内的中断系统,定时对于集成在单片机片内的中断系统,定时/ /计数计数器和串行通讯等内部资源,都是经过器和串行通讯等内部资源,都是经过SFRSFR来管理的,来管理的,这实践上是一种软件管理硬件的方式。这实践上是一种软件管理硬件的方式。l5.5.单片机的堆栈指针单片机的堆栈指针SPSP普通指向系统最后一个运普通指向系统最后一个运用的用的RAMRAM单元,因此初始化时,要留出足够的堆栈单元,因此初始化时,要留出足够的堆栈长度,防止堆栈的溢出。同时在入栈时,先把长度,防止堆栈的溢出。同时在入栈时,先把SPSP加一后,数据再入栈;出栈时,数据先出栈,再加一后,数据再入栈;出栈时,数据先出栈,再把把SPSP减一。减一。l6.6.复位电路设计时,并不仅仅要求复位时间大于复位电路设计时,并不仅仅要求复位时间大于两个机器周期就可。由于电压的稳定性问题,普两个机器周期就可。由
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《展会活动策划与执行》课件
- 2025标准劳动合同协议书范本
- 2025年个人果园承包合同示范文本
- 《儿童智力发展》课件
- DB13-2797-2018-黑龙港及运东流域水污染物排放标准-河北省
- DB13-T1335-2010-物流快运服务质量规范-河北省
- 胸腔闭式引流护理
- 研学基地项目可行性分析报告
- 云南省潞西市芒市中学高中政治 2.4.1 发展生产满足消费教学设计 新人教版必修1
- 规模化农村供水项目发展潜力分析
- 2023年一级建造师《管理与实务(通信与广电工程)》考试真题
- 空调系统维保记录表
- 《空间向量基本定理》示范课教学设计【高中数学人教】
- GB/T 25742.4-2022机器状态监测与诊断数据处理、通信与表示第4部分:表示
- GB/T 6417.1-2005金属熔化焊接头缺欠分类及说明
- GB/T 14823.2-1993电气安装用导管特殊要求-刚性绝缘材料平导管
- 北医安全法规考试题
- 2023年宜昌市中医医院医护人员招聘笔试题库及答案解析
- 内部控制建设课件
- 加强施工管理、严格保护环境
- 抗拔桩裂缝计算表格(自动版)
评论
0/150
提交评论