收藏 分享(赏)

第2章_MCS-51的内部结构.ppt

上传人:dzzj200808 文档编号:3331196 上传时间:2018-10-14 格式:PPT 页数:67 大小:3.68MB
下载 相关 举报
第2章_MCS-51的内部结构.ppt_第1页
第1页 / 共67页
第2章_MCS-51的内部结构.ppt_第2页
第2页 / 共67页
第2章_MCS-51的内部结构.ppt_第3页
第3页 / 共67页
第2章_MCS-51的内部结构.ppt_第4页
第4页 / 共67页
第2章_MCS-51的内部结构.ppt_第5页
第5页 / 共67页
点击查看更多>>
资源描述

1、第2章 MCS-51的内部结构,第二章 MCS-51的内部结构,主要内容,MCS-51总体结构 MCS-51的引脚及片外总线结构 MCS-51内部结构 CPU的时序及辅助电路 MCS-51的存储器结构,第二章 MCS-51的内部结构,MCS-51?,8051系列?,MCS是Intel的注册商标。8051是美Intel公司在1980年推出的MCS-51系列的第一个成员。,8051系列泛指所有公司(也包括Intel公司)生产的以8051为核心单元的所有单片微机。,第二章 MCS-51的内部结构,MCS-51总体结构(P20),8051单片机结构框图,第二章 MCS-51的内部结构,基本特性,面向控

2、制的8位CPU和指令系统。 4K的ROM或EPROM; 128字节的RAM; 可编程的并行I/O口; 一个全双工的串行口; 2个16位定时器/计数器; 5个中断源; 1个片内时钟振荡器和时钟电路; 可寻址64K的ROM和64K的外部RAM。,第二章 MCS-51的内部结构,MCS-51的引脚及片外总线结构(P25),第二章 MCS-51的内部结构,8051单片机的片外三总线结构,地址总线AB:16位,P0口提供低8位,P2口提供高8位地址; 数据总线DB:8位,由P0口提供; 控制总线CB:由P3口的第二功能状态和4根独立控制线RST、EA、ALE和PSEN提供。,第二章 MCS-51的内部结

3、构,MCS-51的片外总线结构图,第二章 MCS-51的内部结构,MCS-51内部结构,内部结构框图(P21) 微型计算机的基本结构:CPU+存储器+I/O接口+系统总线CPU=运算器+控制器,第二章 MCS-51的内部结构,控制器,控制计算机工作的部件,包括程序计数器(PC)、数据指针、堆栈指针、指令寄存器、指令译码器、时钟发生器和定时控制逻辑等。,功能:接收来自存储器的指令,进行译码,并通过定时和控制电路,在规定时刻发出指令操作所需的各种控制信号,使各部分协调工作,完成指令所规定的操作。,第二章 MCS-51的内部结构,1、程序计数器(PC),16位专用寄存器,存放下一条将要执行的指令的地

4、址。(指向程序存储器) PC基本的工作过程:读指令时,PC将其中的数作为所取指令的地址输出给程序存储器,然后程序存储器按此地址输出指令,同时PC本身自动加1,指向下一条指令地址。,控制器,第二章 MCS-51的内部结构,PC值的变化:,CPU顺序执行指令时,PC自动加1. 在执行条件转移或无条件转移指令时,PC将被置入转移的目的地址,程序的流向发生变化。 在执行调用指令或响应中断时,将子程序的入口地址或中断矢量地址送入PC,程序的流向发生变化。,控制器,第二章 MCS-51的内部结构,2、数据指针DPTR,16位特殊功能寄存器,作为片外RAM或I/O寻址用的地址寄存器。(指向数据存储器) 既可

5、以作为16位寄存器使用,也可以作为两个8位寄存器处理,其高8位用DPH表示,低8位用DPL表示。,控制器,第二章 MCS-51的内部结构,访问片外RAM或I/O的指令为:MOVX A,DPTR 读MOVX DPTR ,A 写访问ROM时的基址寄存器。MOVC A,A+DPTRJMP A+DPTR,控制器,第二章 MCS-51的内部结构,PC与DPTR的比较,(1)都是与地址有关的16位寄存器。PC与程序存储器的地址有关,DPTR与数据存储器的地址有关。作为地址寄存器使用时,两者都是通过P0和P2口输出的。,控制器,(2)PC只能作为16位寄存器对待,不可访问。DPTR可作为16位寄存器,也可作

6、为两个8位特殊功能寄存器,可以访问。,第二章 MCS-51的内部结构,3、堆栈指针SP,堆栈:在片内RAM中,专门用来暂存数据或返回地址的,按照先进后出、后进先出的原则进行操作。 SP,8位寄存器,存放当前的堆栈栈顶所指存储单元。 堆栈有两种形式,向上生成和向下生成。8051堆栈是向上生成,即进栈时SP向高地址方向浮动。(示图) 堆栈操作分自动方式和指令方式。自动方式是在调用子程序或发生中断时CPU自动将断口地址存人或者取出;指令方式是使用进出栈指令进行操作。,控制器,第二章 MCS-51的内部结构,堆栈:在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出和后进先出(

7、LIFO/FILO)的原则,这个RAM区叫堆栈。,功用: 1)子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。 2)保护现场/恢复现场 3)数据传输,第二章 MCS-51的内部结构,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,下一个进栈的数据将存在此,数据进栈,已经进栈的数据存放在此,初始 SP,复位后 SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增 1,仍指着栈顶,堆栈区由特殊功能寄存器堆栈指针SP管理 堆

8、栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,第二章 MCS-51的内部结构,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,当前要出栈的数据,数据出栈,SP-1指向下一个将要出栈的数据,初始 SP,第二章 MCS-51的内部结构,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈

9、顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,51子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP-1 指向新的栈顶,也就是下一个将要出栈的数据,数据出栈,初始 SP,第二章 MCS-51的内部结构,在实际应用中,常需在RAM区设置堆栈。8051的堆栈一般设在30H7FH的范围内。栈顶的位置由SP寄存器指示。复位时SP的初值为07H,在系统初始化时可以重新设置。,第二章 MCS-51的内部结构,push apush bpush PSW.pop apop bpop PSW 这样的指令顺序对不对?,第二章 MCS-51的内部结构,RAM,栈底,栈顶,7FH,

10、07H,08H,第二章 MCS-51的内部结构,4、指令寄存器器IR、指令译码器 及CPU定时控制,IR用来存放指令操作码的专用寄存器。执行指令时,首先进行程序存储器的读操作,也就是根据程序计数器给出的地址从程序存储器中取出指令,送指令寄存器IR,I然后送指令译码器。 指令译码器对该指令进行译码,译码结果送定时控制逻辑电路。,控制器,第二章 MCS-51的内部结构,定时控制电路根据指令的性质发出定时控制信号,控制计算机的各组成部件进行相应的工作,执行指令。,控制器,第二章 MCS-51的内部结构,运算器,包括算术逻辑运算部件(ALU)、累加器A、 B寄存器、程序状态字寄存器PSW、 暂存寄存器

11、等。 功能:主要实现对操作数的算术逻辑运算和位操作。,第二章 MCS-51的内部结构,1、ALU(Arithmetic Logic Unit),主要功能: (1)对传至CPU的数据进行加减乘除等算术运算; (2)与或非等逻辑操作,移位、置位等。 (3)8051还具有很强的位处理功能,如位置1、位清零等操作,多用于“控制”。 输出: (1)数据经过运算后,其结果又通过内部总线送回到累加器A中。 (2)数据运算后产生的标志位输出至程序状态字PSW。,运算器,第二章 MCS-51的内部结构,2、累加器A(Accumulate),主要功能:累加器A存放操作数,是ALU的输入之一,也是ALU运算结果的暂

12、存单元。,运算器,第二章 MCS-51的内部结构,3、B寄存器,乘法中,ALU的两个输入分别为A、B,运算结果,A中放积的低8位,B中放积得高8位。除法中,被除数取自A,除数取自B,商数存放于A,余数存放于B。 其他情况下,B寄存器可以作为内部RAM中的一个单元使用。,运算器,第二章 MCS-51的内部结构,4、程序状态字寄存器PSW (Program Status Word),8位寄存器,用于寄存当前指令执行的某些状态。其中有些位状态可由软件方法设定。奇偶校验位P、溢出标志位OV、半进位标志位及进位标志位C都是ALU运算结果的直接输出。,运算器,第二章 MCS-51的内部结构,(1)P奇偶标

13、志位,用以表示累加器A中值为1的个数的奇偶性: 若累加器值为1的位数是奇数,P=1(奇校验);否则P=0(偶校验)。如(A)=00001010,则P=0. 在串行通信中,常以传送奇偶校验位来检验传输数据的可靠性。,运算器,第二章 MCS-51的内部结构,(2)OV溢出标志位,OV=1表示运算结果超出了目的寄存器所能表示的带符号数的范围(-128+127)。 对于MUL乘法,当A、B两个乘数的积超过255时,OV=1;否则,OV=0。 对于DIV除法,若除数为0时,OV=1;否则,OV=0。,运算器,第二章 MCS-51的内部结构,(3)C进位标志位,在进行加法或减法运算时,如果操作结果的最高位

14、有进位或借位时,C=1,反之C=0。,(4)AC半进位标志位,在进行加法或减法运算时,如果低半字节向高半字节有进位或借位时,AC=1,反之AC=0。,运算器,第二章 MCS-51的内部结构,(5)RS1、RS0工作寄存器组选择位,用于设定当前工作寄存器的组号。工作寄存器共有4组。 工作寄存器组地址编码如下表:,运算器,第二章 MCS-51的内部结构,CPU的时序及辅助电路,运算器,第二章 MCS-51的内部结构,基本概念,时序:CPU执行一条指令的各个微操作所对应的脉冲信号遵循的时间顺序。 学习时序,对于深入理解指令的执行过程,合理选用指令,使CPU与外部存储器及其他功能部件在时序上相互配合等

15、方面都有益。 4个概念:振荡周期、时钟周期、机器周期、指令周期。,第二章 MCS-51的内部结构,1、振荡周期:为单片机提供定时信号的振荡源的周期。,4、指令周期:CPU执行一条指令所需要的时间。一个指令周期含有14个机器周期。,2、时钟周期:又称状态周期S。振荡源的振荡脉冲经2分频作为时钟脉冲,所以时钟周期是振荡周期的2倍。,3、机器周期:通常把完成一个基本操作所需要的时 间称为机器周期。8051的一个机器周期由6个状态组成,即6个时钟周期,12个振荡周期。,第二章 MCS-51的内部结构,例如,MCS-51单片机外接石英晶体的频率为12MHz时,振荡周期、时钟周期、机器周期、指令周期分别是

16、多少?,解:振荡周期为1/12s,时钟周期为1/6s,机器周期为1s,指令周期为14 s。,第二章 MCS-51的内部结构,8051指令时序,8051共有111条指令,全部指令按其长度可分为单字节指令、双字节指令和三字节指令。 几种典型的单机器周期和双机器周期指令的时序。,第二章 MCS-51的内部结构,第二章 MCS-51的内部结构,MCS-51的存储器结构,8051在物理结构上有4个存储空间片内ROM、片外ROM、片内RAM和片外RAM。 逻辑上,即从用户角度上,8051有3个存储空间: (1)片内外统一编址的64K字节的程序存储器地址空间 (2)片内256字节的数据存储器地址空间 (3)

17、片外64K字节的数据存储器地址空间。,第二章 MCS-51的内部结构,MCS-51的存储器结构,第二章 MCS-51的内部结构,1、程序存储器,用途: 存放程序及程序运行时所需的常数。,寻址范围:0000H FFFFH,容量64KB,即地址长度:16位,,寻址内部ROM;,说明:当PC值超过片内ROM容量时会自动转向 外部存储器 空间。,,寻址外部ROM。,第二章 MCS-51的内部结构,0000H 系统复位,PC指向此处;0003H 外部中断0入口000BH T0溢出中断入口 0013H 外中断1入口001BH T1溢出中断入口0023H 串口中断入口,程序存储器中6个具有特殊含义的单元:,

18、第二章 MCS-51的内部结构,用途:存放程序执行的中间结果和过程数据的 。,2、数据存储器,8051RAM在物理上和逻辑上可分为两个地址空间:片内RAM和片外RAM。,片内RAM有256字节,片外最大可扩展64K字节RAM。,片内和片外RAM是独立编制的,用不同的指令(MOV和MOVX)来访问不同的RAM。,第二章 MCS-51的内部结构,片内数据存储器空间分布图,通用RAM区(80B),位地址区(16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,寄存器区 4组(32B),. . . . . . . . .,由PSW中的2位RS1、RS0来决定选 哪

19、一组为当前工作寄存器:RS1、RS0=00 选0组RS1、RS0=01 选1组RS1、RS0=10 选2组RS1、RS0=11 选3组,在位地址区,每一个BIT都有一个 地址,共168=128位,00H,30H 2FH20H 1FH,. . .,第二章 MCS-51的内部结构,片内数据存储器空间分布图,寄存器0组,RS1、RS0=00,通用RAM区(80B),位地址区(16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,. . . . . . . . .,00H,30H 2FH20H 1FH,. . .,寄存器区 4组(32B),第二章 MCS-51的内

20、部结构,片内数据存储器空间分布图,寄存器1组,RS1、RS0=01,00H,通用RAM区(80B),位地址区(16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,. . . . . . . . .,00H,30H 2FH20H 1FH,. . .,寄存器区 4组(32B),第二章 MCS-51的内部结构,片内数据存储器空间分布图,寄存器2组,RS1、RS0=10,通用RAM区(80B),位地址区(16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,. . . . . . . . .,00H,30H 2FH20H 1

21、FH,. . .,寄存器区 4组(32B),第二章 MCS-51的内部结构,片内数据存储器空间分布图,寄存器3组,RS1、RS0=11,通用RAM区(80B),位地址区(16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,. . . . . . . . .,00H,30H 2FH20H 1FH,. . .,寄存器区 4组(32B),第二章 MCS-51的内部结构,片内数据存储器空间分布图,位地址区,通用RAM区(80B),位地址区(16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,. . . . . . . .

22、.,00H,30H 2FH20H 1FH,. . .,第二章 MCS-51的内部结构,位寻址区(20H2FH)16个字节。 16*8=128位,每一位都有一个位地址,范围为:00H7FH,位地址区也可作为一般的用户RAM使用。,位寻址区,指令不同,第二章 MCS-51的内部结构,片内数据存储器空间分布图,通用RAM区,共80个字节,作为一般的数据缓冲区并可设置堆栈区,通用RAM区(80B),位地址区(16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,. . . . . . . . .,00H,30H 2FH20H 1FH,. . .,第二章 MCS-5

23、1的内部结构,80HFFH(高128字节) 为特殊功能寄存器(Special Functional Register,SFR) 共21个。,片外,数据存储器,片内,第二章 MCS-51的内部结构,与ALU相关的(3个)累加器A(Accumulator):可字节寻址(E0H),也可位寻址(E0H-E7H)B寄存器(register):暂存寄存器。暂存寄存器。在做乘、除法时放乘数或除数及结果。程序状态字寄存器(Program Status Word ):CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出

24、。,第二章 MCS-51的内部结构,与指针相关的(3个)SP (Stack Pointer):堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H。它是加1计数。DPTR (Data Pointer)(分成DPH、DPL两个):可以做16位数据指针来用,也可作为2个独立的8位寄存器来用。,第二章 MCS-51的内部结构,P0、P1、P2、P3:四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。 SCON (Serial Control Register)串行口控制寄存器 SBUF (Serial Date Buffer) 串行口数据缓冲器 PCON (Power Control

25、 Register) 电源控制寄存器,与端口相关的(7个),第二章 MCS-51的内部结构,与定时/计数器相关的(6个),TMOD (Timer/Counter Mode Register)定时器/计数器方式控制寄存器。 TCON (Timer/Counter Control Register)定时器/计数器控制寄存器。 TH0、TL0 、TH1、TL1分别是T0、T1的计数初值寄存器。,第二章 MCS-51的内部结构,IP (Interrupt Priority Register) 中断优先级控制寄存器IE (Interrupt Enable Register) 中断允许控制寄存器,与中断相

26、关的(2个),第二章 MCS-51的内部结构,特殊功能寄存器(P36),第二章 MCS-51的内部结构,第二章 MCS-51的内部结构,总 结,1、了解MCS-51的总体结构。 2、熟悉MCS-51的外部引脚及其功能。 3、理解并掌握MCS-51的内部结构及存储器结构; 4、理解CPU的时序及辅助电路,掌握时序有关概念等。,第二章 MCS-51的内部结构,只读存储器ROM,只读存储器(Read Only Memory , ROM) :用户在使用时只能读出其中信息,不能修改或写入新的信息,断电后,其信息不会消失。 存储单元中的信息由ROM制造厂在生产时一次性写入,称为掩膜ROM; PROM(Pr

27、ogrammable ROM ) :用户自行写入的,但一经写入,就无法更改。,第二章 MCS-51的内部结构,只读存储器ROM(续), EPROM(Eraseble Programmable ROM) 可由用户自行写入程序和数据,写入后的内容可用紫外线灯照射擦除,然后可以重新写入新的内容,可以多次擦除,多次使用。 E2PROM(Electrically Eraseble Programmable ROM) 可用电信号进行清除和改写的存储器,使用方便。,第二章 MCS-51的内部结构,随机存取存储器RAM,RAM(Random Access Memory) 的特点是存储器中的信息能读能写。但是断电后,RAM中的信息即消失。,第二章 MCS-51的内部结构,存储器的存储容量,存储容量 是指一块存储芯片上所能存储的二进制位数。假设存储芯片的存储单元数是M, 一个存储单元所存储的信息的位数是N,则其存储容量为MN。,D7 D1D0,例题,第二章 MCS-51的内部结构,例题,已知某单片机的地址线是11位, 每个存储单元是8位,求其存储容量?解: 因为可编址范围211 ,即M 211 ,每个存储单元可存8位,即N 8,所以, 存储容量 = 2118= 210248= 2K82KB,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报