您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第三章 MCS-51系列单片机存储器
第三章MCS-51系列单片机存储器3.1MCS-51系列单片机系统的存储器配置8051的存储器有4个不同的逻辑空间,即内部程序存储器、内部数据存储器、外部程序存储器、外部数据存储器。它们分别由不同的指令和寻址方式访问,对外部的两个逻辑空间还使用不同的读控制信号。MCS-51系列单片机8051的存储器配置图见下页0FFFH0000H外部程序存EA=0储器内部程序存储器EA=1FFFFH1000H0FFFH0000H程序存储器的配置8031无片内存储器FFH外部数据存储器特殊功能寄存器内部数据存储器FFFFH0000H数据存储器的配置80H7FH00H007FH0080H00FFH0100H3.2内部存储器和特殊功能寄存器3.2.1内部程序存储器8051/8751内部有4KBROM/EPROM程序存储器,地址为0000H~0FFFH。当接高电平时,使程序从内部ROM/EPROM开始运行,当PC值超过OFFFH时,自动转到外部程序存储区1000H~FFFFH去执行程序。3.2.2内部数据存储器8031/8051/8751单片机内有128字节的数据存储区,字节地址为00H~7FH,与外部数据存储器低端128字节地址相同,但访问它们的指令不同,访问内部数据存储器用MOV指令,访问外部数据存储器用MOVX指令。内部这128个字节的SRAM又分为三个区域,即工作寄存器区、位寻址区和数据缓存区。内部数据存储器见下页。数据缓冲区位寻址区(位地址为00H~7FH)3区2区1区0区7FH30H2FH20H1FH18H17H10H0FH08H07H00H80个字节为数据缓冲区(含堆栈)16个字节为位寻址区32个字节为四个工作寄存器区图3.2内部数据存储器(1)工作寄存器区:00H~1FH为4个工作寄存器区,每区8个单元,分别称为R0、R1、R2、R3、R4、R5、R6、R7,且4个区的工作寄存器同名。实际上,它们都是通用的数据寄存器,可用于寄存器地址和数据,其中R0、R1还可作为间接寻址寄存器使用。当程序中需使用工作寄存器时,必须先指出它们是哪一个区的,这是由特殊功能寄存器PSW中的RS1和RS0两位来选择的。(2)位寻址区:20H~2FH这16个字节的每一位都可以单独进行操作,每一位有一个地址,称为位地址,例如20H单元的位地址为00H~07H。共有128个位地址。(3)数据缓冲区:30H~3FH这80个字节为一般的数据缓冲区,但通常将堆栈区放在这个空间。由于复位后堆栈指针自动指向07H(即工作寄存器区),故在程序开始需要用指令将SP设置在30H以后。8051单片机内部地址80H~FFH空间有21个专用寄存器,见表3-1所示(书上25页),也称为特殊功能寄存器SFR。其中有11个可以位寻址,如图3-3所示(书上26页)。图中有7个控制寄存器,各位功能见表3-2所示(书上27页)。表中PCON、TMOD不可位寻址。1.程序计数器PC程序计数器PC用于存放下一条要执行指令的地址(PC总是指向程序存储器地址),是一16位专用寄存器,寻址范围64K字节,PC在物理结构上是独立的,不属于特殊功能寄存器SFR块。3.2.3特殊功能寄存器2.累加器A累加器A是一个最常用的专用寄存器,系统运转时工作最频繁,大部分单操作数指令的操作数取自累加器A,很多双操作数指令的一个操作数取自A;加、减、乘、除算术运算以及逻辑操作指令的结果都存放在累加器A或AB寄存器中;输入/输出大多数指令都以累加器A为核心操作。指令系统中采用A作累加器的助记符。3.寄存器B它是一个8位寄存器。一般用于乘除法指令,与累加器A配合使用。寄存器B存放第二操作数、乘积的高位字节或除法的余数部分。在其他指令中,可作为中间结果的暂存器使用,相当于RAM中的一个特殊单元。程序状态字是一个8位寄存器,用来存放程序的状态信息,表征指令的执行状态,供程序查询和辨别之用。其PSW格式如下:CYACF0RS1RS0OV—P(1)CY:(PSW.7)进/借位标志在执行加/减法指令时,如果操作结果D7位有进/借位,CY置“1”,否则清“0”。在布尔处理机中被定义为布尔(位)累加器(或称位累加器)。(2)AC:(PSW.6)辅助进位标志或称为半进位标志当进行加法操作而产生由低4位数(十进数的1位数)向高4位数进位时,AC将被硬件置“1”,否则被清“0”。AC被用于BCD码加法调整,详见DA指令。4.程序状态字PSW(3)F0:(PSW.5)用户标志0由用户定义的一个状态标志。可以用软件来使它置“1”或清“0”,也可以由软件测试F0来控制程序流向。(4)RS1、RS0:(PSW.4、PSW.3)工作寄存器区选择控制位可由软件来改变RS1和RS0的组合以确定当前工作寄存器区,详见表3-3所示。(5)P:(PSW.0)奇偶标志每个指令周期都由硬件来置位或清零,以表示累加器A中值为“1”的位数的奇偶性。若P=1,则A中“1”的位数为奇数,否则P=0。(6)OV:(PSW.2)溢出标志用于补码运算,以指示溢出状态。当执行加法指令时,若以Ci表示i位向位i+1有进位,则OV=C6⊕C7即当位6向位7有进位,而位7不向CY进位时;或位6不向位7进位,而位7向CY进位时,溢出标志OV被置“1”,否则被清“0”。同样,若以Ci表示减法运算时,位i向位i+1有借位,则执行减法指令SUBB时,OV=C6⊕C7无符号数乘法指令MUL的执行结果也会影响溢出标志;除法指令DIV也会影响溢出标志,当除数为0时,OV=1,否则OV=0。5.堆栈指针SP它是一个8位寄存器,用来存放栈顶地址。MCS-51堆栈设在内部RAM中,是一个按“先进后出”顺序,受SP管理的存储区域。在程序中断,子程序调用等情况下,用于存放一些特殊信息(亦可作数据传送的中转站)。当数据压入堆栈时,SP就自动加“1”;当数据从堆栈中弹出时,SP就自动减“1”。因而SP指针始终指向栈顶。MCS-51堆栈最大深度为128个字节,系统复位时硬件使SP=07H。6.数据指针DPTR是一16位专用寄存器,其高字节寄存器用DPH表示,低字节寄存器用DPL表示。既可作为16位寄存器(DPTR)使用,又可作为两个独立的8位寄存器(DPH、DPL)来使用。DPTR主要用来保持16位地址,当对64KB外部数据存储器RAM(或I/O口)空间寻址时,作间址寄存器用,指向外部数据存储器地址。7.I/O端口P0~P3专用寄存器P0、P1、P2和P3分别是I/O端口P0~P3的锁存器。8.串行数据缓冲器SBUF串行数据缓冲器SBUF用于存放欲发送或已接受的数据。它由两个独立的寄存器组成,一个是发送缓冲器,一个是接受缓冲器(两个缓冲器共用一个地址)。9.定时器/计数器MCS-51子系列中有两个16位定时器/计数器T0和T1,MCS-52子系列增加了一个16位定时器/计数器T2。它们各由两个独立的8位寄存器组成,共分为6个独立的寄存器;TH0、TL0,TH1、TL1,TH2和TL2。可以对这6个寄存器寻址,但不可把T0、T1和T2当作一个16位寄存器来对待。10.其他控制寄存器IP、IE、TMOD、TCON、T2CON、SCON和PCON寄存器分别包括有中断系统、定时器/计数器、串行口和供电方式的控制和状态位,这些寄存器将在有关章节中一一介绍。3.3MCS-51系列单片机外部存储器及其扩展1.半导体存储器的分类半导体存储器可分为只读存储器和读写存储器两大类3.3.1常用半导体存储器芯片半导体存储器读写存储器RAM只读存储器ROM新型存储器静态RAM:SRAM,不需刷新动态RAM:DRAM,需要刷新掉电后信息丢失掩膜ROM:MROM,厂家写入,不可更改可编程ROM:PROM,用户可一次写入,不可更改紫外线可擦除可编程ROM:EPROM,用户可擦除后重写电可擦除可编程ROM:EEPROM,用户可擦除后重写掉电后不会丢失信息快速电可擦除可编程ROM:FLASH-ROM非易失性RAM:NVRAM,SRAM与EEPROM的共同体比ROM的读写速度快,且掉电后信息不丢失图3.4半导体存储器的分类2.单片机系统中常用的典型半导体存储器芯片介绍(1)EPROM芯片:EPROM芯片有许多系列,这里介绍一种常用的系列27×××。这个系列的EPROM存储器芯片有2716、2732、2764、27128、27256、27512、27010、27020、27040,它们的存储器容量分别是2K×8、4K×8、8K×8、32K×8、64K×8、128K×8、256K×8、512K×8。它们的引脚功能列于表3-4。图3-5给出了2764的引脚图(2)SRAM芯片:HM6116是存储容量为2K×8的高速静态CMOS可读写半导体存储器集成电路。其引脚图如图所示:124223322421520619718817916101511141213图3.66116引脚图A7A6A5A4A3A2A1A0D0D1D2地VCCA8A9WEOEA10CED7D6D5D4D36116(3)E2PROM芯片:电可擦除可编程只读存储器E2PROME2PROM是电可擦除可编程的半导体存储器,比EPROM在使用上要方便得多,它具有RAM的在线随机读写性能,掉电后信息不丢失。+5V供电下即可进行编程,而且对编程脉冲宽度一般没有特殊要求,不需专门的编程器和擦除器,是一种特殊的可读写存储器。E2PROM2864的引脚图如图12822732642552462372282192010191118121713161415图3.8E2PROM2864电路引脚图2864E2PROMRDY/BUSYA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GNDVCCWENCA8A9A11OEA10CEI/O7I/O6I/O5I/O4I/O33.3.2MCS-51系列单片机外部存储器扩展设计1.程序存储器扩展设计(1)单片程序存储器扩展①数据线的连接:2764的数据线直接与单片机的数据线对应相接。②控制线的连接:由于是单片存储器扩展,所以其CE可直接接地。特别要注意的是,MCS-51系列单片机读外部程序存储器的控制信号为专用信号PSEN,所以一定要将程序存储器的读信号OE接PSEN引脚,而不能接RD。③电源线等的连接:在读方式下,编程电压VPP和编程脉冲PGM以及空脚都与工作电源引脚VCC一起接至“+5V”。④地址线的连接:由于MCS-51系列单片机的数据线与低8位地址线分时复用,所以P0口输出的信息经74LS373锁存后才是低8位地址线,与2764的低8位地址线对应相接,高5位地址与单片机P2口输出的地址线A8~A12(P2.0~P2.4)对应相接。11621531441351261171089ABCE1E2E3Y7GNDVCCY0Y1Y2Y3Y4Y5Y674LS138输入输出使能选择E3E2E1CBAY0Y1Y2Y3Y4Y5Y6Y710010010010000000101001101111011110111101111111111111111100100100100100101110111111111111111111101111011110111100×××1×××1×××××××××11111111111111111111111174LS138引脚图及功能表图3-92764与8031的连接图(2)多片程序存储器扩展设计书上39页图3-10是8031系统中扩展3片2764的连接图,图中对3片2764的选址采用完全译码法。除片选信号CE外,其他引脚的连接与单片存储器扩展时相同。3片2764的片选信号CE分别连接译码器74LS138的Y0、Y1和Y2,图3-10中同时给出了74LS138的引脚图及功能表。由连接方式计算出它们的寻址空间分别为:0000H~1FFFH、2000H~3FFFH和4000H~5FFFH,并且寻址空间唯一确定。2.数据存储器扩展设计(单片数据存储器扩展设计)书上40页图3-11所示为8051系统中使用1片HM6116的硬件连接。2.数据存储器扩展设计(单
本文标题:第三章 MCS-51系列单片机存储器
链接地址:https://www.777doc.com/doc-6251288 .html