最新单片机的硬件结构20幻灯片.ppt
《最新单片机的硬件结构20幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新单片机的硬件结构20幻灯片.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机的硬件结构单片机的硬件结构20复习复习v1.MCS-511.MCS-51单片机有哪些逻辑部件单片机有哪些逻辑部件v2.MCS-512.MCS-51存储器的结构存储器的结构v3.3.画出单片机存储器的配置图,并标出地址为画出单片机存储器的配置图,并标出地址为5FH5FH的单元可的单元可能的位置。能的位置。 低端低端32个字节分成个字节分成4个工作寄存器组,每组个工作寄存器组,每组8个单元。个单元。当前当前工作寄存器组的机制工作寄存器组的机制便于快速现场保护。便于快速现场保护。 PSW的的RS1、RS0 决定当前工作寄存器组号决定当前工作寄存器组号 v寄存器寄存器0组组 :地址:地址00H0
2、7H;(;( RS1、RS0 )=00v寄存器寄存器1组组 :地址:地址08H0FH;(;( RS1、RS0 )=01v寄存器寄存器2组组 :地址:地址10H17H;(;( RS1、RS0 )=10v寄存器寄存器3组组 :地址:地址18H1FH。(。( RS1、RS0 )=111.工作寄存器区工作寄存器区例如例如: SETB RS1CLR RS0 ;则选定则选定2组组MOV A, R3 ;访问访问13H单元单元 2. 位寻址区位寻址区 位寻址区之后的位寻址区之后的30H30H至至7FH7FH共共8080个字节个字节为通用为通用RAMRAM区。区。这些单元可以作为数据缓冲器使用。这一区域的操作指
3、令这些单元可以作为数据缓冲器使用。这一区域的操作指令非常丰富,数据处理方便灵活。非常丰富,数据处理方便灵活。 在实际应用中,常需在在实际应用中,常需在RAMRAM区设置堆栈。区设置堆栈。80C5180C51的的堆栈堆栈一般设在一般设在30H30H7FH7FH的范围内的范围内。栈顶的位置由。栈顶的位置由SPSP寄存器指示。寄存器指示。复位时复位时SPSP的初值为的初值为07H07H,在系统初始化时可以重新设置。,在系统初始化时可以重新设置。3. 通用通用RAM区区4. 80C51的特殊功能寄存器(的特殊功能寄存器(SFR)一、与运算器相关的寄存器(一、与运算器相关的寄存器(3个)个) 累加器累加
4、器ACC寄存器寄存器B程序状态字寄存器程序状态字寄存器PSW二、指针类寄存器(二、指针类寄存器(3个)个) 堆栈指针堆栈指针SP数据指针数据指针DPTR三、与口相关的寄存器(三、与口相关的寄存器(4个)个) 并行并行I/O口口P0、P1、P2、P3v89C51片内高片内高128字节字节RAM中,有中,有21个特殊功能寄存器个特殊功能寄存器(SFR),它们离散地分布在,它们离散地分布在80HFFH的的RAM空间中。空间中。访问特殊功能寄存器只允许使用直接寻址方式。访问特殊功能寄存器只允许使用直接寻址方式。v这些特殊功能寄存器见图这些特殊功能寄存器见图24。特殊功能寄存器特殊功能寄存器SFR的位置
5、的位置(1) 累加器累加器ACC(E0H)v累加器累加器ACC是是89C51最常用、最忙碌的最常用、最忙碌的8位特殊功能寄存位特殊功能寄存器,许多指令的操作数取自于器,许多指令的操作数取自于ACC,许多运算中间结果也,许多运算中间结果也存放于存放于ACC。在指令系统中用在指令系统中用A作为累加器作为累加器ACC的助记符。的助记符。(2) 寄存器寄存器B(F0H)v在乘、除指令中,用到了在乘、除指令中,用到了8位寄存器位寄存器B。乘法指令的两个。乘法指令的两个操作数分别取自操作数分别取自A和和B,乘积存于,乘积存于B和和A两个两个8位寄存器中。位寄存器中。除法指令中,除法指令中,A中存放被除数,
6、中存放被除数,B中放除数,商存放于中放除数,商存放于A,B中存放余数。中存放余数。v在其他指令中,在其他指令中,B可作为一般通用寄存器或一个可作为一般通用寄存器或一个RAM单元单元使用。使用。(3) 程序状态寄存器程序状态寄存器PSW(D0H)vPSW是一个是一个8位特殊功能寄存器,它的各位包含了位特殊功能寄存器,它的各位包含了程序执程序执行后的状态信息,行后的状态信息,供程序查询或判别之用。各位的含义及供程序查询或判别之用。各位的含义及其格式如表其格式如表26所列。所列。CyCy(PSW.7PSW.7)进位标志位进位标志位Ac(PSW.6) Ac(PSW.6) 辅助进位标志位,用于辅助进位标
7、志位,用于BCDBCD码的十进制调整运算。码的十进制调整运算。F0F0(PSW.5PSW.5)用户使用的状态标志位。用户使用的状态标志位。 RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3):):4 4组工作寄存器区选择控制组工作寄存器区选择控制位位1 1和位和位0 0。OVOV(PSW.2PSW.2)溢出标志位)溢出标志位 : 指示运算是否产生溢出。各指示运算是否产生溢出。各种算术运算指令对该位的影响情况较复杂,将在第种算术运算指令对该位的影响情况较复杂,将在第3 3章介绍。章介绍。 PSW.1PSW.1位位: : 保留位,未用保留位,未用 P(PSW.0)P(PSW.
8、0):奇偶标志位奇偶标志位 P=1P=1,A A中中“1”1”的个数为的个数为奇数奇数P=0P=0,A A中中“1”1”的个数为的个数为偶数偶数vCY(PSW.7): 进位标志位。进位标志位。在执行加法在执行加法(或减法或减法)运算运算指令时,如果运算结果最高位指令时,如果运算结果最高位(位位7)向前有进位向前有进位(或借或借位位),则,则CY位由硬件自动置位由硬件自动置1;如果运算结果最高位无;如果运算结果最高位无进位进位(或借位或借位),则,则CY清清0。CY也是也是89C51在进行位操在进行位操作作(布尔操作布尔操作)时的位累加器,在指令中用时的位累加器,在指令中用C代替代替CY。vAC
9、(PSW.6): 半进位标志位,半进位标志位,也称辅助进位标志。当也称辅助进位标志。当执行加法执行加法(或减法或减法)操作时,如果运算结果操作时,如果运算结果(和或差和或差)的低的低半字节半字节(位位3)向高半字节有半进位向高半字节有半进位(或借位或借位),则,则AC位将位将被硬件自动置被硬件自动置1;否则;否则AC被自动清被自动清0。vF0(PSW.5): 用户标志位。用户标志位。用户可以根据自己的需要用户可以根据自己的需要对对F0位赋予一定的含义,由用户置位或复位,以作为位赋予一定的含义,由用户置位或复位,以作为软件标志。软件标志。vRS0和和RS1(PSW.3和和PSW.4): 工作寄存
10、器组选择控制工作寄存器组选择控制位。位。这两位的值可决定选择哪一组工作寄存器为当前工这两位的值可决定选择哪一组工作寄存器为当前工作寄存器组。通过用户用软件改变作寄存器组。通过用户用软件改变RS1和和RS0值的组合,值的组合,以切换当前选用的工作寄存器组。其组合关系如以切换当前选用的工作寄存器组。其组合关系如p17表所表所列。列。v89C51上电复位后,上电复位后,RS1=RS0=0,CPU自动选择第自动选择第0组组为当前工作寄存器组。为当前工作寄存器组。v根据需要,可利用传送指令对根据需要,可利用传送指令对PSW整字节操作或用位操整字节操作或用位操作指令改变作指令改变RS1和和RS0的状态,以
11、切换当前工作寄存器的状态,以切换当前工作寄存器组。这样的设置为程序中保护现场提供了方便。组。这样的设置为程序中保护现场提供了方便。vOV(PSW.2): 溢出标志位溢出标志位v。当进行补码运算时,如有溢出,即当运算结果超出。当进行补码运算时,如有溢出,即当运算结果超出128127的范围时,的范围时,OV位由硬件自动置位由硬件自动置1;无溢出时,;无溢出时,OV=0。vPSW.1: 为保留位为保留位。89C51未用,未用,89C52为为F1用户标用户标志位。志位。vP(PSW.0): 奇偶校验标志位奇偶校验标志位。每条指令执行完后,该。每条指令执行完后,该位位始终跟踪指示累加器始终跟踪指示累加器
12、A中中1的个数。如结果的个数。如结果A中有奇数中有奇数个个1,则置,则置P=1;否则;否则P=0。常用于校验串行通信中的数。常用于校验串行通信中的数据传送是否出错。据传送是否出错。什么是溢出?什么是溢出?v89C5189C51在片内在片内RAMRAM中专门开辟出来一个区域,数据的中专门开辟出来一个区域,数据的存取是以存取是以“后进先出后进先出”的结构方式处理的,好像冲的结构方式处理的,好像冲锋枪压入子弹。这种数据结构方式对于锋枪压入子弹。这种数据结构方式对于处理中断,处理中断,调用子程序调用子程序都非常方便。都非常方便。v堆栈的操作有两种:堆栈的操作有两种: 一种叫数据压入一种叫数据压入(PU
13、SH)(PUSH),另一,另一种叫数据弹出种叫数据弹出(POP)(POP)。(4) 栈指针栈指针SP(81H)什么是堆栈?什么是堆栈?v89C5189C51的堆栈指针的堆栈指针SPSP为为8位特殊功能寄存器,也位特殊功能寄存器,也是一个是一个双向计数器。进栈时,双向计数器。进栈时,SPSP内容自动增值,出栈时自动内容自动增值,出栈时自动减值。存取信息必须按减值。存取信息必须按“后进先出后进先出”或或“先进后出先进后出”的规则进行。的规则进行。vSP的内容可指向的内容可指向89C51片内片内00H7FH RAM的任何单的任何单元。系统复位后,元。系统复位后,SP初始化为初始化为07H,即指向,即
14、指向07H的的RAM单元。单元。vMOV SP, #60H;将;将60H附近规划为堆栈区。附近规划为堆栈区。(4) 栈指针栈指针SP(81H)v在右图中,假若有在右图中,假若有8个个RAM单元,每个单元单元,每个单元都在其右面编有地址,都在其右面编有地址,栈顶由堆栈指针栈顶由堆栈指针SP自自动管理。动管理。每次进行压每次进行压入或弹出操作以后,入或弹出操作以后,堆栈指针便自动调整堆栈指针便自动调整以保持指示堆栈顶部以保持指示堆栈顶部的位置。的位置。堆栈的压入与弹出(4) 栈指针栈指针SP(81H)(5) 数据指针数据指针DPTR(83H,82H)vDPTR是一个是一个16位的特殊功能寄存器,其
15、高位字节寄存位的特殊功能寄存器,其高位字节寄存器用器用DPH表示表示(地址地址83H),低位字节寄存器用,低位字节寄存器用DPL表示表示(地址地址82H)。DPTR既可以作为一个既可以作为一个16位寄存器来处理,位寄存器来处理,也可以作为两个独立的也可以作为两个独立的8位寄存器位寄存器DPH和和DPL使用。使用。vDPTR主要用于存放主要用于存放16位地址,以便对位地址,以便对64 KB片外片外RAM作间接寻址。作间接寻址。(6) /端口端口P0P3(80H,90H,A0H,B0H)vP0P3为为4个个8位特殊功能寄存器,分别是位特殊功能寄存器,分别是4个并行个并行/端端口的锁存器。它们都有字
16、节地址,每一个口锁存器还有位口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,每一条地址,每一条/线均可独立用作输入或输出。线均可独立用作输入或输出。v用作输出时,可以锁存数据;用作输入时,数据可以缓冲。用作输出时,可以锁存数据;用作输入时,数据可以缓冲。 2.3 MCS-51的CPU2.3.1 运算器运算器 对对操作数操作数进行进行算术、逻辑运算和位操作算术、逻辑运算和位操作。构成:构成: 8位位ALU、累加器、累加器ACC(A)、寄存器、寄存器B、PSW、布尔处理器、布尔处理器以及以及2个个8位暂存器位暂存器是是ALU的输入之一,又是运算结果的存放单元。的输入之一,又是运算结果的存放
17、单元。数数据传送大多都通过累加器据传送大多都通过累加器A。MCS-51增加增加了了一部分可以一部分可以不经过累加器的传送指令不经过累加器的传送指令,即可加快数据的传送速度,又,即可加快数据的传送速度,又减少减少A的的“瓶颈堵塞瓶颈堵塞”现象。现象。 A的进位的进位标志标志CyCy同时又是同时又是位处理机的位累加器。位处理机的位累加器。(1) 算术逻辑运算单元算术逻辑运算单元ALU(2) 累加器累加器ACCALU ALU 可以进行加减乘除等基本算术运算,可以进行加减乘除等基本算术运算, 可以进行逻辑与、或、异或、循环、清零可以进行逻辑与、或、异或、循环、清零 可以进行位处理可以进行位处理(3)程
18、序状态字寄存器程序状态字寄存器PSW 2.3.2 控制器控制器 组成:组成:程序计数器程序计数器PC(Program Counter)、指令寄存器)、指令寄存器IR(Instruction Register)、指令译码器)、指令译码器ID(Instruction Decoder)、堆栈指针)、堆栈指针SP、数据指针、数据指针DPTR、定时控制逻辑、定时控制逻辑和振荡器和振荡器OSC等电路。等电路。功能:功能:CPU根据根据PC中的地址将欲执行指令的指令码从存储器中的地址将欲执行指令的指令码从存储器中取出,存放在中取出,存放在IR中,中,ID对对IR中的指令码进行译码,定时控中的指令码进行译码,
19、定时控制逻辑在制逻辑在OSC配合下对配合下对ID译码后的信号进行分时,以产生执译码后的信号进行分时,以产生执行本条指令所需的全部信号。行本条指令所需的全部信号。 程序计数器程序计数器PCPC(Program CounterProgram Counter) 存放下一条要执行的指令在程序存储器中的地址。存放下一条要执行的指令在程序存储器中的地址。 基本工作方式:基本工作方式: (1 1)程序计数器)程序计数器自动加自动加1 1 (2 2)执行)执行有条件或无条件转移有条件或无条件转移指令时,程序计数器将被指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。置入新的数值,从而使程序的流向发
20、生变化。 (3 3)执行)执行子程序调用或中断调用子程序调用或中断调用时完成下列操作:时完成下列操作: PC PC的当前值保护的当前值保护 将子程序入口地址或中断向量的地址送入将子程序入口地址或中断向量的地址送入PCPC。 内部时钟内部时钟 外部时钟外部时钟2.6 时钟电路与时序时钟电路与时序2.6.1 时钟电路时钟电路80C51的时钟信号的时钟信号一个一个机器周期机器周期包含包含12个晶荡周期个晶荡周期指令的执行时间称作指令的执行时间称作指令周期指令周期 (单、双、四周期)2.6.2 机器周期、指令周期与指令时序机器周期、指令周期与指令时序单片机执行的指令的各种时序均与单片机执行的指令的各种
21、时序均与时钟周期时钟周期有关有关(1)(1)、时钟周期(振荡周期)、时钟周期(振荡周期) 单片机的单片机的基本时间单位基本时间单位。若时钟的晶体的振荡频率为。若时钟的晶体的振荡频率为foscfosc,则时钟周期则时钟周期Tosc=1/foscTosc=1/fosc。;。; 例如例如:fosc=6MHzfosc=6MHz,Tosc=166.7nsTosc=166.7ns。(2)(2)、机器周期、机器周期 CPUCPU完成一个基本操作所需的时间完成一个基本操作所需的时间称为称为机器周期机器周期,可以作为,可以作为一个时间单位,一个时间单位,执行一条指令分为几个机器周期执行一条指令分为几个机器周期。
22、每个机器周。每个机器周期完成一个基本操作。期完成一个基本操作。MCS-51MCS-51单片机每单片机每1212个个时钟周期为时钟周期为1 1个个机器机器周期,一个机器周期又分为周期,一个机器周期又分为6 6个个状态状态:S1S1S6S6。每个状态又分为每个状态又分为两拍两拍:P1P1和和P2P2。分为分为取指令阶段取指令阶段和和指令执行阶段指令执行阶段。 取指令阶段取指令阶段,PCPC中地址送到程序存储器,并从中取出中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。需要执行指令的操作码和操作数。 指令执行阶段指令执行阶段,对指令操作码进行,对指令操作码进行译码译码,以产生一系,以产
23、生一系列控制信号完成指令的执行。列控制信号完成指令的执行。 ALEALE信号是为信号是为地址锁存地址锁存而定义的而定义的,以,以时钟脉冲时钟脉冲1/61/6的频的频率率出现,出现,在一个机器周期中,在一个机器周期中,ALEALE信号两次有效(但要注信号两次有效(但要注意,意,在执行访问外部数据存储器的在执行访问外部数据存储器的指令指令MOVXMOVX时,将会时,将会丢失丢失一个一个ALEALE脉冲脉冲)(3)(3)、指令周期、指令周期(4)(4)、指令时序、指令时序执行一条指令所需的时间。一个指令周期由执行一条指令所需的时间。一个指令周期由14个机个机器周期组成,依据指令不同而不同。器周期组成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单片机 硬件 结构 20 幻灯片
限制150内