AT89S52存储器结构.ppt

上传人:s****8 文档编号:67228206 上传时间:2022-12-24 格式:PPT 页数:59 大小:652.50KB
返回 下载 相关 举报
AT89S52存储器结构.ppt_第1页
第1页 / 共59页
AT89S52存储器结构.ppt_第2页
第2页 / 共59页
点击查看更多>>
资源描述

《AT89S52存储器结构.ppt》由会员分享,可在线阅读,更多相关《AT89S52存储器结构.ppt(59页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三章 AT89S52存储器结构1数据存储器数据存储器RAMRAM(Random Access MemoryRandom Access Memory)程序存储器程序存储器ROMROM(Read Only MemoryRead Only Memory):所有):所有 信息厂家固化,适合批量生产,信息厂家固化,适合批量生产,价格低廉。价格低廉。EPROMEPROM(UVUV)ErazibleErazible Programmable ROM Programmable ROMEEPROM/EEEPROM/E2 2PROMPROMElectrical Erasable Electrical Erasa

2、ble Programmable ROM Programmable ROM闪速存储器闪速存储器Flash MemoryFlash Memory:掉电数据不丢失:掉电数据不丢失按字节寻址:每个字节按字节寻址:每个字节(8(8个位个位)占一个地址占一个地址按位寻址:有的存储器每一个位就有一个地址按位寻址:有的存储器每一个位就有一个地址单片机的存储器几个有关的概念:23单单片机的存片机的存储储器器组织组织51系列存储器可以分成两大类:系列存储器可以分成两大类:RAM,CPU在运行时能随时进行数据的写入和在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。读出,但在关闭电源时,其

3、所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。结果或用作堆栈。ROM是一种写入信息后不易改写的存储器。断是一种写入信息后不易改写的存储器。断电后,电后,ROM中的信息保留不变。用来存放固定的中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。程序或数据,如系统监控程序、常数表格等。4普林斯顿结构 一般微机通常只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是 RAM,并用同类访问指令。这种结构称为普林斯顿结构。5哈佛结构哈佛结构 51单片机与一

4、般微机的存储器配置方式单片机与一般微机的存储器配置方式很不相同。很不相同。51单片机的存储器在物理结构上分为程单片机的存储器在物理结构上分为程序存储空间和数据存储空间,共有四个:片序存储空间和数据存储空间,共有四个:片内和片外程序存储空间以及片内和片外数据内和片外程序存储空间以及片内和片外数据存储空间,这种在物理结构上存储空间,这种在物理结构上把程序存储器把程序存储器和数据存储器分开和数据存储器分开的结构形式称为哈佛结构。的结构形式称为哈佛结构。6764KBROMEA=0EA=10000H0FFFH1000HFFFFH8KBROMFFH80H7FH00H SFRRAM64KBRAM(I/O)0

5、000HFFFFH片内片外片外程序存储器数据存储器851在逻辑上,即从用户角度上有三个存储空间:片内外统一编址的程序存储器 片内外不统一编址的数据存储器 特殊功能寄存器(片内)访问这几个不同的逻辑空间时,采用的指令:片内外程序存储器空间-MOVC 片内数据存储器空间和SFR-MOV 片外数据存储器地址空间-MOVX存储器配置(片内RAM)89C89C5151片内片内RAMRAM 128128字节字节(00H7FH00H7FH)89S89S5252片内片内RAMRAM 256256字节字节(00H0FFH00H0FFH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80

6、H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址80H80HFFHFFH89C51 128128字节字节89S52 256256字节字节只能直接寻址只能直接寻址只能寄存器间接寻址只能寄存器间接寻址既可间接寻址既可间接寻址,又可直接寻址又可直接寻址910一、程序存储器及地址空间作用-程序存储器用于存放编好的程序和表格常数。片内有8K字节ROM,片外用16位地址线最多可扩展64K字节ROM,两者是统一编址的。如果EA端保持高电平,执行片内前8KB ROM地址(00

7、00H1FFFH)中的程序。当寻址范围超过8KB(2000HFFFFH)时,则从片外存储器取指令。当EA端保持低电平时,所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从 0000H开始编址。11外部外部ROM内部内部ROM(EA=1)外部外部ROM(EA=0)0000H0000H1FFFH1FFFH2000HFFFFH12在程序存储器中,有6个单元具有特殊功能:中断矢量区0003H0003H:外部中断0入口。000BH000BH:定时器0溢出中断入口。0013H0013H:外部中断1入口。001BH001BH:定时器1溢出中断入口。0023H0023H:串行口中断入口。使用时,通常

8、在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。0000H0000H:复位后,PC0000H,即程序从0000H 开始执行指令。13二、数据存储器及地址空间数据存储器片外RAM64KB,地址范围0000HFFFFH片内RAM256B,地址范围00HFFH使用时只能用MOVXMOVX指令访问使用MOVMOV指令访问,可以进行堆栈操作14片内数据存储器空间分布图通用RAM区 (80B)位地址区(16B)寄存器区4组(32B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).由PSW中的2位R

9、S1、RS0来决定选 哪一组为当前工作寄存器:RS1、RS0=00 选0组 RS1、RS0=01 选1组 RS1、RS0=10 选2组 RS1、RS0=11 选3组在位地址区,每一个BIT都有一个 地址,共168=128位00H00H30H30H2FH2FH20H20H1FH1FH.15片内数据存储器空间分布图寄存器0组RS1RS1、RS0=RS0=0000R7R6R5R4R3R2R1R000H00H01H01H02H02H03H03H04H04H05H05H06H06H07H07H位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).00H00H30H

10、30H2FH2FH20H20H1FH1FH.通用RAM区 (80B)位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组.00H00H30H30H2FH2FH20H20H1FH1FH.80HSFR16片内数据存储器空间分布图寄存器1组R7R6R5R4R3R2R1R008H08H09H09H0AH0AH0BH0BH0CH0CH0DH0DH0EH0EH0FH0FHRS1RS1、RS0=RS0=0101位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).00H00H30H30H2FH2FH20H20H1FH1FH.通用RAM区 (80B)位

11、地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组.00H00H30H30H2FH2FH20H20H1FH1FH.80HSFR17片内数据存储器空间分布图寄存器2组R7R6R5R4R3R2R1R010H10H11H11H12H12H13H13H14H14H15H15H16H16H17H17HRS1RS1、RS0=RS0=1010位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).00H00H30H30H2FH2FH20H20H1FH1FH.通用RAM区 (80B)位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组.

12、00H00H30H30H2FH2FH20H20H1FH1FH.80HSFR18片内数据存储器空间分布图通用RAM区 (80B)位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器3组R7R6R5R4R3R2R1R018H18H19H19H1AH1AH1BH1BH1CH1CH1DH1DH1EH1EH1FH1FH寄存器区4组(32B).RS1RS1、RS0=RS0=111100H00H30H30H2FH2FH20H20H1FH1FH.FFH80HSFR19片内数据存储器空间分布图位地址区20H20H21H21H22H22H23H23H24H24H25H25H26H26H27

13、H27H28H28H29H29H2AH2AH2BH2BH2CH2CH2DH2DH2EH2EH2FH2FH00H00H01H01H02H02H03H03H04H04H05H05H06H06H07H07H08H08H0FH0FH10H10H7FH7FH78H78H70H70H68H68H60H60H58H58H50H50H48H48H40H40H38H38H30H30H28H28H20H20H77H77H6FH6FH67H67H1FH1FH5FH5FH57H57H4FH4FH47H47H3FH3FH37H37H2FH2FH27H27H1FH1FH17H17H.D7 D6 D5 D4 D3 D2 D

14、1 D0D7 D6 D5 D4 D3 D2 D1 D0位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).00H00H30H30H2FH2FH20H20H1FH1FH.通用RAM区 (80B)位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组.00H00H30H30H2FH2FH20H20H1FH1FH.80HSFR20片内数据存储器空间分布图通用RAM区共80个字节,作为一般的数据缓冲区并可设置堆栈区位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).00H00H30H30H2FH2FH2

15、0H20H1FH1FH.通用RAM区 (80B)位地址区(16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组.00H00H30H30H2FH2FH20H20H1FH1FH.80HSFR堆栈:在在片片内内RAMRAM中,常常要指定一个专门的区域来存放某些中,常常要指定一个专门的区域来存放某些特别的特别的数据数据,它遵循它遵循先进后出先进后出和和后进先出后进先出(LIFO/FILO(LIFO/FILO)的原则的原则,这个这个RAMRAM区区叫叫堆栈堆栈。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时CPUCPU自动将当前自动将当前PCPC 值值压栈保存,返回时自动将压栈

16、保存,返回时自动将PCPC值弹栈。值弹栈。2 2)保护现场)保护现场/恢复现场恢复现场3 3)数据传输)数据传输21从从堆栈取出数据时堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶,仍指着栈顶00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数据出栈出栈SP-1指向下一个指向

17、下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。2223 在实际应用中,常需在在实际应用中,常需在RAM区设置堆栈。区设置堆栈。80C51的的堆栈一般设在堆栈一般设在30H7FH的范围内。的范围内。栈顶的位置由栈顶的位置由SP寄存器指示。寄存器指示。复位时复位时SP的初的初值为值为07H,在系统初始化时可以重新设置。,在系统初始化时

18、可以重新设置。89C5189C51有有2121个个SFR(89S52SFR(89S52有有3232个个)已知的已知的P0P0、P1P1、P2P2、P3P3等四个等四个8 8位位I/OI/O口口分别由名为分别由名为P0P0、P1P1、P2P2、P3P3四个四个SFRSFR代表。代表。堆栈指针寄存器堆栈指针寄存器 SPSP(Stack Pointer):Stack Pointer):总是指向总是指向栈顶栈顶,压栈时先压栈时先 (SP)+1(SP)+1 然后数据进栈;弹栈时数然后数据进栈;弹栈时数据先出栈据先出栈 然后然后(SP)-1(SP)-1。累加器累加器 ACC:ACC:一个被众多指令用得最频

19、繁的特殊功一个被众多指令用得最频繁的特殊功能寄存器能寄存器(如:运算、数据传输如:运算、数据传输)。副累加器副累加器 B B:一个经常与一个经常与 ACCACC 配合在一起使用的配合在一起使用的特殊功能寄存器特殊功能寄存器(如:乘法、除法如:乘法、除法),此外,它也,此外,它也经常当作普通寄存器使用。经常当作普通寄存器使用。特殊功能寄存器2425SFR(Special Functional Register)与与ALUALU相关的(相关的(3 3个)个)A Register(AccA Register(Accumulatorumulator):累加器,通常用A A或ACCACC表示。可字节寻址

20、(E0H),也可位寻址(E0HE7H)它是一个寄存器,而不是一个做加法的部件。在运算器做运算时其中一个数一定是在ACCACC中。B RegisterB Register:暂存寄存器。暂存寄存器。在做乘、除法时放乘数或除数及结果。PSW (PSW (P Programrogram S Statustatus W Wordord):):PSW是8位寄存器,用于作为程序运行状态的标志。这是一个很重要的部件,里面存放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。26它的各位功能如下:当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或

21、清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步进行方向提供依据。PSW寄存器中各位的名称及位置如上所示,下面说明各标志位的作用。D7H D6H D5H D4HD3HD2HD1HD0H CY AC F0 RS1 RS0 OV PPSW位地址27 CYCY:进位标志。加减运算时,保存最高位进位、借位状态。AC:半进位标志。例:78H+97H 0111 1000 +1001 0111 1 0000 1111 D7H D6H D5H D4HD3HD2HD1H D0H CY AC F0 RS1 RS0 OV PPSW位地址有进位CY=1没有半进位AY=028

22、RS1、RS0:工作寄存器组选择位。0 0 选择工作寄存器0组 0 1 选择工作寄存器1组 1 0 选择工作寄存器2组 1 1 选择工作寄存器3组 P:奇偶校验位,它用来表示累加器A内容中二进制数位 “1”的个数的奇偶性。若为奇数,则P=1,否则为0。例:某运算结果是78H(01111000),P=0。D7H D6H D5H D4HD3HD2HD1H D0H CY AC F0 RS1 RS0 OV PPSW位地址29F0:用户标志位。作为软件标志,由编程人员决定 何时使用。OV:溢出标志位。有符号数运算时,如果发生溢出,OV置“1”,否 则清“0”。D7H D6H D5H D4HD3HD2HD

23、1H D0H CY AC F0 RS1 RS0 OV PPSW位地址30与指针相关的(与指针相关的(2 2个)个)SP(SP(S Stack tack P Pointerointer):堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H07H。它是加1计数.DPTR (DDPTR (Dataata P Poinoint te er)r)(分成DPHDPH、DPLDPL两个):):数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。31P0P0、P1P1、P2P2、P3P3:四个并行输入四个并行输入/输出口的寄存器。它里面的内容对应着输出口

24、的寄存器。它里面的内容对应着管脚的输出。管脚的输出。SCON(SSCON(Serialerial C Controlontrol R Registeregister)SBUFSBUF (S(Serial Date erial Date BufBuffer)fer)PCON(PCON(P Powerower C Controlontrol R Registeregister)与端口相关的(与端口相关的(7 7个)个)与定时与定时/计数器相关的(计数器相关的(6 6个)个)TMOD(TTMOD(Timer/Counterimer/Counter Mod Mode Registere Registe

25、r)定时器工作模式寄存器。定时器工作模式寄存器。TCON(TTCON(Timer/Counter imer/Counter ConControl Registertrol Register)定时器控制寄存器。定时器控制寄存器。TH0TH0、TL0 TL0、TH1TH1、TL1TL1:分别是分别是T0T0、T1T1的记数初值寄存器。的记数初值寄存器。32IP(IIP(Interrupt nterrupt P Priorityriority RegisterRegister)IE(IIE(Interruptnterrupt E Enable Registernable Register)与中断相关

26、的(与中断相关的(2 2个)个)33标识符号标识符号地址地址寄存器名称寄存器名称ACCACC0E0H0E0H累加器累加器B B0F0H0F0HB B寄存器寄存器PSWPSW0D0H0D0H程序状态字程序状态字SPSP81H81H堆栈指针堆栈指针DPTRDPTR82H82H、83H83H数据指针数据指针(16(16位位)含含DPLDPL和和DPHDPHIEIE0A8H0A8H中断允许控制寄存器中断允许控制寄存器IPIP0B8H0B8H中断优先控制寄存器中断优先控制寄存器P0P080H80HI/OI/O口口0 0寄存器寄存器P1P190H90HI/OI/O口口1 1寄存器寄存器P2P20A0H0A

27、0HI/OI/O口口2 2寄存器寄存器34标识符号标识符号 地址地址寄存器名称寄存器名称P3P30B0H0B0HI/OI/O口口3 3寄存器寄存器PCONPCON87H87H电源控制及波特率选择寄存器电源控制及波特率选择寄存器SCONSCON98H98H串行口控制寄存器串行口控制寄存器SBUFSBUF99H99H串行数据缓冲寄存器串行数据缓冲寄存器TCONTCON88H88H定时控制寄存器定时控制寄存器TMODTMOD89H89H定时器方式选择寄存器定时器方式选择寄存器TL0TL08AH8AH定时器定时器0 0低低8 8位位TH0TH08CH8CH定时器定时器0 0高高8 8位位TL1TL18

28、BH8BH定时器定时器1 1低低8 8位位TH1TH18DH8DH定时器定时器1 1高高8 8位位程序计数器程序计数器PCPC(Program CounterProgram Counter)PCPC 不是不是一个特殊功能寄存器一个特殊功能寄存器SFRSFR,但其作但其作 用又用又十分重要和特殊十分重要和特殊!特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器一切一切分支分支/跳转跳转/调用调用/中断中断/复位复位 等操作的等操作的本质本质就是就是:改变改变 PC PC 值值总指向下一条指令所在首地址总指向下一条指令所在首地址(当前当前PCPC值值)特殊功能寄

29、存器(PC)3536l数据指针寄存器数据指针寄存器DPTRl 数据指针数据指针DPTR是一个是一个 16 位的专用寄存器位的专用寄存器,其高位字节寄存器用其高位字节寄存器用DPH表示表示,低位字节寄存器低位字节寄存器用用DPL表示。既可作为一个表示。既可作为一个 16 位寄存器位寄存器DPTR来处理来处理,也可作为两个独立的也可作为两个独立的 8 位寄存器位寄存器DPH和和DPL来处理。来处理。l DPTR 主要用来存放主要用来存放 16 位地址位地址,当对当对 64 KB外部数据存储器空间寻址时外部数据存储器空间寻址时,作为间址寄存作为间址寄存器用。在访问程序存储器时器用。在访问程序存储器时

30、,用作基址寄存器。用作基址寄存器。l 373.3 外部存储器及其访问l3.3.1 外部程序存储器与访问外部程序存储器与访问l只只有有读读操操作作。除除由由PC直直接接寻寻址址,以以执执行行各各条条指指令令外外,还还可可用用FC或或DPTR作作变变址址寻寻址址。例例如如,若若DPTR2000H,A20H,则则指指令令MOVC A,A十十DPTR完完成成了了把把程程序序存存储储器器2020H单单元元中中的的内内容容送送入入A中中的的操操作作。这这种种数数据据操操作作方方式式通通常常用用来来查查阅阅程程序序存存储储器中的数据表格。器中的数据表格。38l1.AT89S52单单片片机机访访问问外外部部程

31、程序序存存储储器器所所使用的控制信号使用的控制信号lALE:低低8位地址位地址锁锁存控制;存控制;lPSEN:外部程序存外部程序存储储器器“读读取取”控制。控制。lEA:片内、片外程序存储器访问的控制信:片内、片外程序存储器访问的控制信号。号。=1时,访问片内程序存储器;当时,访问片内程序存储器;当=0时,时,访问片外程序存储器。访问片外程序存储器。39l2.访问外部程序存储器的过程访问外部程序存储器的过程l首首先先通通过过地地址址总总线线给给出出地地址址信信号号,选选中中程程序序存存储储器器该该地地址址的的存存储储单单元元,然然后后由由控控制制总总线线发发出出读读选选通通信信号号,在在读读选

32、选通通信信号号的的控控制制作作用用下下,将将存存储储在在被被选选中中存存储储单单元元中中的的指指令令代代码码读读出出并并送送至至数数据据总总线线,单单片片机机通通过过对对数数据据总总线线的的访访问问读读取取已已送送至至数数据据总总线线的的指指令令代代码码,完完成成一一次次对对外外部部程程序序存存储储器器的的访问过访问过程。程。40l3.扩展外部程序存储器的连接方法扩展外部程序存储器的连接方法74LS373414.地址锁存器的作用 5.访问外部程序存储器的时序(1)应用系统中无片外应用系统中无片外RAM 42(2)应用系统中接有片外应用系统中接有片外RAM43l l5151系列单片机的系列单片机

33、的系列单片机的系列单片机的CPUCPU在访问片外在访问片外在访问片外在访问片外ROMROM的一个机器周期内,的一个机器周期内,的一个机器周期内,的一个机器周期内,信号信号信号信号ALEALE出现两次(正脉冲),出现两次(正脉冲),出现两次(正脉冲),出现两次(正脉冲),ROMROM选通信号也两次有选通信号也两次有选通信号也两次有选通信号也两次有效,这说明效,这说明效,这说明效,这说明在一个机器周期内,在一个机器周期内,在一个机器周期内,在一个机器周期内,CPUCPU两次访问片外两次访问片外两次访问片外两次访问片外ROMROM,也即在一个机器周期内可以处理两个字节的指令代码,也即在一个机器周期内

34、可以处理两个字节的指令代码,也即在一个机器周期内可以处理两个字节的指令代码,也即在一个机器周期内可以处理两个字节的指令代码,所以在所以在所以在所以在5151系列单片机指令系统中有很多单周期双字节指令。系列单片机指令系统中有很多单周期双字节指令。系列单片机指令系统中有很多单周期双字节指令。系列单片机指令系统中有很多单周期双字节指令。443.3.2 外部数据存储器与访问74LS27345l虽然外部数据存储器和和外部程序存储器共用0000HFFFFH的64KB地址空间,但两者的读写控制信号不同,外部数据存储器的读和写分别由 和l 信号控制,外部程序存储器的读选通由信号 控制,因此不会发生地址重叠的现

35、象。l可进行读写操作。用DPTR或工作寄存器组中的Ro或R1作寄存器间接寻址。当用RO或R1作寄存器间接寻址时,由P2端口提供高8位地址,R0或R1提供低8位地址。访问外部数据存储器使用MOVX类指令462.访问外部数据存储器的时序图 3.3.4 外部数据存储器读时序473.3.5 外部数据存储器写操作时序写是写是CPU主动把数据送上主动把数据送上P0口总线。故在时序上,口总线。故在时序上,CPU先向先向P0口总线上送完口总线上送完8位地址后,位地址后,在在S3状态就将数据送到状态就将数据送到P0口总线。口总线。483.4 片内FLASH存储器操作l3.4.1签名字节签名字节l1.签名字节签名

36、字节l所所谓谓签签名名字字节节是是Flash存存储储器器的的生生产产厂厂商商在在生生产产AT89S系系列列单单片片机机时时,写写入入到到Flash存存储储器器中中的的一一组组用用以以说说明明单单片片机机的的生生产产厂厂商商、型号和编程电压等的特征信息。型号和编程电压等的特征信息。49lAT89S52的的签签名名字字节节共共有有3B字字节节,具具体体在在存储器中的地址和含义如表存储器中的地址和含义如表3.4.2所示。所示。地址地址地址地址内容内容内容内容代表的含代表的含代表的含代表的含义义义义000H000H1EH1EH表示表示产产生厂商生厂商为为ATMELATMEL公司公司100H100H51

37、H51H表示表示为为AT89S51AT89S51型型单单片机片机52H52H表示表示为为AT89S52AT89S52型型单单片机片机200H200H06H06H50l3.4.2程序存储器的加密程序存储器的加密l1.程序存储器加密的概念程序存储器加密的概念l为为了了保保护护所所存存储储程程序序的的安安全全性性,防防止止被被非非法法读读出出,保保护护开开发发者者的的合合法法利利益益,需需要要对对写写入入Flash存存储储器器中中的的程程序序进进行行加密。加密。l AT89S系系列列单单片片机机提提供供了了3位位加加密密位位LB1、LB2和和LB3,对对每每位位加加密密位位可可维维持持原原来来的的非

38、非编编程程状状态态(U),也也可可进进行行编编程程(P),每每位位加加密密位位是是否否进进行行了了编编程程便便可可组组合合形形成成几几种不同的保护模式,如表种不同的保护模式,如表3.4.3所示。所示。51表表 3.4.3 程序加密位的保护模式程序加密位的保护模式模模式式加密位加密位组组合加密功能合加密功能LBLB1 1LBLB2 2LBLB3 31 1U UU UU U没有程序加密功能没有程序加密功能2 2P PU UU U禁止在外部程序存储器中执行禁止在外部程序存储器中执行MOVCMOVC类指令类指令读取内部程序存储器中的指令代码读取内部程序存储器中的指令代码;被被采采样样并在复位并在复位时

39、时被被锁锁存;禁止存;禁止对对FlashFlash存存储储器再器再编编程程3 3P PP PU U同模式同模式2 2,并禁止内部存,并禁止内部存储储器校器校验验。4 4P PP PP P同模式同模式3 3,并禁止外部存,并禁止外部存储储器的器的执执行。行。52l2.程序存储器加密的方法程序存储器加密的方法l对对程程序序存存储储器器加加密密需需要要根根据据所所希希望望采采取取的的加加密密保保护护模模式式对对3位位加加密密位位LB1、LB2和和LB3进进行行编编程程。编编程程按按照照LB1LB2LB3的的顺顺序序按按位位进进行行。注注意意,在在对对各各位位加加密密位位进行编程时,其控制信号是不同的

40、。进行编程时,其控制信号是不同的。533.4.3 Flash存储器的并行编程l1.Flash编程器的并行编程方式编程器的并行编程方式lAT89S52单单片片机机的的内内部部Flash存存储储器器在在出出厂厂时时处处于于可可编编程程状状态态,除除签签名名字字节节已已经经有有存存储储数数据据外外其其它它存存储储单单元元的的内内容容均均为为FFH。编编程程时时须须接接12V编编程程电电压压,与与通通用用的的Flash编编程程器器或或EPROM编编程程器器兼兼容容,因因此此可可使使用用常常规规的的Flash编编程程器器或或EPROM编编程程器器对对此此进进行行编编程程。AT89S52单单片片机机的的编

41、编程程以以字字节节为为单单位位,逐逐位位编编程程。图图3.4.3为为并并行行编编程程的的接接口电路图。口电路图。54图 3.4.3 AT89S52Flash存储器并行编程的接口电路55l2.并行编程的算法:并行编程的算法:l从从编编程程接接口口电电路路可可以以看看出出,AT89S52单单片片机机编编程程时时除除地地址址线线和和数数据据线线外外还还需需要要一一些些控控制制信信号号,表表3.4.4为为编编程程时时这这些些控控制制信信号号的的状状态态情情况况。AT89S52单单片片机机内内部部Flash为为8KB,地地址址范范围围0000H1FFFFH,因因此此编编程程时时需需要要13位位的的地地址

42、址线线。编编程程时时,被被编编程程存存储储单单元元的的地地址址由由P1口口和和P2口口的的P2.0P2.4输输入入(13位位地地址址),编编程程代代码码从从P0口口输输入入,P2.6、P2.7、P3.3、P3.6和和P3.7引引脚脚的的电电平平依依据据表表3.4.4设设置置。编编程程时时RST引引脚脚接接高高电电平平,引引脚脚接接低低电电平平(接接地地),引引脚脚接接编编程程负负脉脉冲冲,每每次次写写入入代代码码的的脉脉冲冲宽宽度度200500ns,是是编编程程电电压压的的输输入入引引脚脚,按按规规定定要要求求接接12V编编程程电电压压,编程时的振荡频率为编程时的振荡频率为333MHz。563

43、.4.4 Flash存储器的串行编程l1.Flash存储器的串行编程方式存储器的串行编程方式图3.4.5 AT89S52 Flash存储器串行编程/下载接口电路57l2.Flash存储器的串行编程算法存储器的串行编程算法l按照下列步骤对按照下列步骤对Flash实现串行编程:实现串行编程:l(1)对对RST、VCC和和GND 引脚加电;引脚加电;l加电次序如下:加电次序如下:l在在VCC和和GND引脚之间加电源电压;引脚之间加电源电压;l将将RST设设置置为为高高电电平平(若若采采用用外外部部时时钟钟信信号号,则则必必须须延延时时10ms后方可)。后方可)。l 在在P1.5/MOSI引脚输入编程

44、允许指令;引脚输入编程允许指令;l 在在P1.5/MOSI引脚输入写程序存储器指令;引脚输入写程序存储器指令;lAT89S52的的串串行行编编程程指指令令中中包包含含了了编编程程单单元元地地址址和和代代码码数数据据,向向P1.5/MOSI引引脚脚输输入入写写程程序序存存储储器器指指令令时时,便便确确定定了了可可编编程程的的字字节节地地址址和和指指令令数数据据。写写入入周周期期采采用用内内部部自自动动定时的方式,在定时的方式,在VCC5V时其典型值不大于时其典型值不大于1ms。58l编编程程可可按按字字节节模模式式或或页页模模式式写写入入。在在采采用用字字节节编编程程模模式式时时,编程的地址单元

45、和代码数据包含在指令的编程的地址单元和代码数据包含在指令的2,3,4字节中。字节中。l 读读指指令令。使使用用读读指指令令,在在P1.6/MISO引引脚脚上上读读出出芯芯片片内内Flash程序存储器任意存储单元中的内容,用于编程校验。程序存储器任意存储单元中的内容,用于编程校验。l 编编程程结结束束后后将将RST引引脚脚置置低低电电平平,系系统统回回复复到到正正常常操操作作状态。状态。l如果需要,可按照下面的步骤实施断电:如果需要,可按照下面的步骤实施断电:l 将将XTAL1引脚置成低电平(若使用外部时钟);引脚置成低电平(若使用外部时钟);l 将将RST引脚置低电平引脚置低电平l 关断电源关断电源VCC。59 对对5151片内的闪烁存储器编程,只需购买相片内的闪烁存储器编程,只需购买相应的编程器,按照编程器的说明进行操作。应的编程器,按照编程器的说明进行操作。如想对写入的内容如想对写入的内容加密加密,只需按照编程器,只需按照编程器的菜单,的菜单,选择加密功能选项既可。选择加密功能选项既可。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com