您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第1章-MCS-51单片机结构
彭周华zhouhuapeng@gmail.com11.1MCS-51单片机内部结构1.2存储器1.3特殊功能寄存器1.4时钟电路与复位电路1.5引脚功能1.6小结2MCS-51系列单片机型号:普通型(51子系列)8031、8051、8751、89C51、89S51等。增强型(52子系列)8032、8052、8752、89C52、89S52等。它们的结构基本相同,其主要差别反映在存储器的配置上。增强型的存储容量为普通型的一倍。本课以8XX51系列的单片机为代表讲授。8031:片内没有程序存储器8051:内部有4KB的掩模ROM程序存储器8751:内部有4KBEPROM89C51:有4KB的FLASHEEPROM89S51:有4KB的FLASHEEPROM,可在线编程3P3P1P2可编程串行I/O口P0外部中断基准频率源控制128B数据存储器CPU4KB程序存储器2个16位定时/计数器64KB总线扩展控制可编程并行I/O口内部中断计数脉冲串行输出串行输入振荡器及时钟电路4CPU是单片机的核心部件,由运算器和控制器等部件组成1.运算器运算器的功能:•算术运算:加、减、乘、除、加1、减1、比较、BCD码十进制调整等。•逻辑运算:与、或、异或、求反、循环等逻辑操作。•位操作:内部有布尔处理器,它以进位标志位C为位累加器,用来处理位操作。置‘1’、清‘0’、取反、位判断等。52.程序计数器PC程序计数器PC是16位的寄存器,用来存放即将要执行的指令地址,可对64KB程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。3.指令寄存器指令寄存器中存放指令代码。CPU执行指令时,将程序存储器中读取的指令代码送入指令存储器,经指令译码器译码后,由时钟与控制电路发出相应的控制信号,完成指令功能。61.存储器结构用于存放程序和数据。存储器由许多单元组成,每个单元有一个编号(地址)。一个单元存放一个8位二进制数(内容),当一个数据多于8位时,就需要多个单元来存放。FFH90H……02H00H01H3AH00H78H7存储器分为两种类型•ROM:用来存放程序、常数-程序存储器;•RAM:存放程序运行中所需的变量或运算结果-数据存储器82.存储器地址空间的两种结构形式普林斯顿结构:只有一个地址空间,RAM和ROM安排在一个空间的不同区域,CPU访问RAM和访问ROM使用相同的指令。如8086、奔腾系列微机、ARM7。FFFFHRAMROM0000H9冯-诺依曼(1903-1957)哈佛结构:RAM和ROM有两个不同的地址空间,RAM和ROM可以有相同的地址,CPU访问RAM和访问ROM使用不同的指令、不同的控制信号。如51系列单片机,ARM9FFFFHRAM0000HFFFFHROM0000H10哈佛结构(Harvard)是哈佛大学物理学家A·Howard于1930年提出来的。2.MCS-51的存储器结构从物理空间看,MCS-51单片机有四个存储器地址空间•片内数据存储器、片内程序存储器•片外数据存储器、片外程序存储器8XX51内部数据存储器内部程序存储器外部程序存储器(ROM)外部数据存储器(RAM)MCS-51存储器物理结构11从逻辑上看,MCS-51有三个存储器空间:•片内数据存储器•片外数据存储器•片内、片外的程序存储器(统一编址)内部程序存储器内部数据存储器8XX5100H7FH0FFFH0000H1000H外部程序存储器(ROM)FFFFH0000H外部数据存储器(RAM)FFFFH(EA=1)内部数据存储器8XX5100H7FH0000H外部程序存储器(ROM)FFFFH0000H外部数据存储器(RAM)FFFFH(EA=0)图1.3MCS-51单片机的存储器逻辑结构12程序存储器用来存放编制好的始终保留的固定程序、表格、常数。程序存储器以程序计数器PC作为地址指针,通过16位地址总线,可寻址的地址空间为64KB。在8051/8751/89C51片内,分别内置最低地址空间的4KBROM/EPROM程序存储器。在8031片内,则无内部程序存储器,必须外部扩展EPROM(外部程序存储器)。138031单片机无内部程序存储器,地址从0000H~FFFFH都是外部程序存储空间。\EA引脚应始终接地。访问外部程序存储器使用MOVC指令。对于内部有ROM的单片机,\EA引脚接高电平,使程序从内部ROM开始执行。当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间。外部程序存储器地址空间为1000H~FFFFH。1451系列单片机执行程序时,由程序计数器PC指示指令地址,单片机复位后,PC=0000H,因此系统从0000H单元开始取指令,并执行程序。地址用途0000H复位操作后的程序入口0003H外部中断0服务程序入口000BH定时器0中断服务程序入口0013H外部中断1服务程序入口001BH定时器1中断服务程序入口0023H串行口中断服务程序入口15MCS-51单片机最多可扩展64KB外部数据存储器(RAM)和外部I/O端口地址。MCS-51单片机的外部数据存储器和外部I/O端口实行统一编址,并使用相同的\RD,\WR作选通控制信号,均使用MOVX指令访问。16内部数据存储器是使用最多的地址空间,所有操作指令(算术运算、逻辑运算、位操作运算等)的操作数只能存储在此地址空间或特殊功能寄存器地址空间中。51系列单片机,只有128BRAM,地址00H7FH,80HFFH为SFR(特殊功能寄存器)地址空间。8XX51基本型00H7FH80HFFH内部RAM特殊功能寄存器SFR1752系列单片机(增强型),有256BRAM,地址00HFFH,高128字节RAM和SFR的地址重合。8XX52增强型80HFFH特殊功能寄存器SFR地址重合00H7FH80HFFH内部RAM内部RAM18靠寻址方式来区分访问的区域:•高128BRAM采用寄存器间接寻址方式;•SFR只能采用直接寻址方式;•低128BRAM两种方式均可。地址范围为00~7FH的低128BRAM使用分配如表1.1。191.地址0~1FH为寄存器区分四组(03组),每组有8个寄存器R0R7。用途:①作通用寄存器R0~R7。②R0与R1可作间址寄存器使用。注意:32个单元的寄存器区分为四组,使用时只能选其中一组寄存器。一旦选中一组,其它三组只能作为通用RAM使用,而不能作为寄存器使用。21寄存器的选组由程序状态字PSW的RS1和RS0位定。RS1RS0选寄存器组000组011组102组113组初始化时或复位时,自动选中0组。设置多组寄存器可以方便保护现场222.地址20H~2FH为位地址区共16个单元,每单元有八个位,共128位,每位有一个位地址,位地址范围为00H~7FH,该区既可位寻址,又可字节寻址。•如MOV20H,C(这里C是Cy进位标志位),该指令是将Cy内容送20H位,如果Cy=1,位20H值为“1”。•而MOVA,20H是将地址为20H单元的内容送至累加器A。233.除选中的寄存器组以外的存储器还可以作为通用RAM区(30H-7FH)注意:未选中的寄存器区与位地址区可以作为通用RAM.在通用RAM区开辟堆栈区8XX51单片机的设在内部RAM区,深度不大于128字节初始化时堆栈指针SP指向07H。24P2,P5,P7,P851单片机共有21个字节的特殊功能寄存器(SFRSpecialFunctionRegister)(80H-FFH)1.用途:设置电路运行方式,记录电路运行状态,并表明相关标志,并行和串行I/O端口映射到特殊功能寄存器。2.地址空间:21个SFR不连续地分布在80H~FFH128个字节地址空间。251-262721个特殊功能寄存器的名称及主要功能:1.A-Accumulator-累加器:带有全零标志Z,A=0则Z=1;A≠0则Z=0。该标志常用于程序分支转移的判断条件。2.B-寄存器:常用于乘除法运算。3.PSW-ProgramStatusWord-程序状态字:主要起着标志寄存器的作用,其8位定义见表1-2。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV-P位名称位地址28D7D6D5D4D3D2D1D0CYACF0RS1RS0OV-P位名称位地址3.7.CY-Carry-进/借位标志。反映最高位的进位/借位情况,加法为进位;减法为借位。CY=1:有进/借位;CY=0:无进/借位。3.6.AC-AcidCarry-辅助进/借位标志。反映高半字节与低半字节之间的进/借位,AC=1:有进/借位;AC=0:无进/借位。3.5.F0-Flag0-用户标志位。可由用户设定其含义。3.4,3.RS1,RS0-RegisterSelection1,0-工作寄存器组选择位。29D7D6D5D4D3D2D1D0CYACF0RS1RS0OV-P位名称位地址3.2.OV-OVER-溢出标志。反映补码运算的运算结果有无溢出有溢出OV=1;无溢出OV=0。3.1.-:无效位。3.0.P-Parity-奇偶标志。反映A累加器中‘1’个数的奇偶。有奇数个1:P=1;有偶数个1:P=0。304.SP-StackPointer-堆栈指针。8XX51单片机的堆栈设在片内RAM,对堆栈的操作包括压入(PUSH)和弹出(POP)两种方式,并且遵循后进先出的原则,按字节进行操作。①复位后SP=07H②指示堆栈栈顶③向上生长④先加后压,先弹后减31RAM07HSP堆栈区07H5.DPTR-DataPointer-数据指针寄存器。用来存放16位地址值,以便用间接寻址或变址寻址片外存储器。DPTR可分成DPL和DPH两个8位寄存器分别使用。6.P0-P3-Port0-Port3-I/O端口寄存器。称为四个并行I/O端口的映射寄存器。通过对该寄存器的读/写,可实现从相应I/O端口的输入/输出。实际为P0-P3口的锁存器。32例:指令MOVP1,A实现了把A累加器中的内容从P1端口输出。例:指令MOVA,P3实现了把P3端口上的信息输入到A中。337.IP-InterruptPriority-中断优先级控制寄存器8.IE-InterruptEnable-中断允许控制寄存器34D7D6D5D4D3D2D1D0PSPT1PX1PT0PX0IPB8HIEA8HD7D6D5D4D3D2D1D0EAESET1EX1ET0EX09.TMOD-TimerMode-定时/计数器方式控制寄存器10.TCON-TimerControl-定时/计数器控制寄存器11.TH0-TL0-TimerHigh-TimerLow-定时/计数器012.TH1-TL1-定时/计数器135注意:两个16位的定时器T1,T0,各自由两个8位的寄存器组成。TH0,TL0,TH1,TL1只能按字节寻址,不能把T1,T0当成一个十六位的寄存器来访问。13.SCON-SerialControl-串行端口控制寄存器14.SBUF-SerialBuffer-串行数据缓冲器15.PCON-PowerControl-电源控制寄存器36注意:SBUF存放欲发送或已接受的数据,一个字节地址。物理上是由两个独立的寄存器组成,一个是发送缓冲器,一个是接受缓冲器。211个寻址位(内部RAM128+SFR中83个)位地址范围00H-FFH内部RAM中可寻址128个(字节地址20H-2FH)SFR中可位寻址83个(不连续分布)。373839寄存器区位寻址区通用RAM区SFR区00H-1FH20H-2FH30H-7FH80H-FFHF0HE0HD0HB8HB0HA8HA0H98H90H88H80H可位寻址的SFR外部RAM区与I/O口地址0000HFFFFH外部ROM区内部ROM区(\EA=1)外部ROM区(\EA=0)0000H0FFFH1000HFFFFH0000H0FFFH(1)内部数据存储器(2)外部数据存储器(3)程序存储器
本文标题:第1章-MCS-51单片机结构
链接地址:https://www.777doc.com/doc-4048656 .html