1 / 121

第 0 章 单片机概述(下) 0 . 6 MCS-51 单片机结构与原理

第 0 章 单片机概述(下) 0 . 6 MCS-51 单片机结构与原理. 0.6 MCS-51 单片机结构与原理. 目 录 0.6.1 MCS-51 单片机结构及 CPU 0.6.2 MCS-51 单片机引脚与总线结构 0.6.3 MCS-51 单片机的存储器结构 0.6.4 MCS-51 单片机的输入输出端口 0.6.5 MCS-51 单片机的时钟及 CPU 时序 0.6.6 MCS-51 单片机的工作方式. 0.6 MCS-51 单片机结构与原理.

atalo
Télécharger la présentation

第 0 章 单片机概述(下) 0 . 6 MCS-51 单片机结构与原理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第0章 单片机概述(下) 0.6MCS-51单片机结构与原理

  2. 0.6 MCS-51单片机结构与原理 目 录 0.6.1 MCS-51单片机结构及CPU 0.6.2 MCS-51单片机引脚与总线结构 0.6.3 MCS-51单片机的存储器结构 0.6.4 MCS-51单片机的输入输出端口 0.6.5 MCS-51单片机的时钟及CPU时序 0.6.6 MCS-51单片机的工作方式

  3. 0.6 MCS-51单片机结构与原理 本节讨论MCS-51单片机的结构和工作原理,内容主要有MCS-51单片机结构、引脚信号、存储器配置、输入/输出端口、时钟与CPU时序,以及单片机的工作方式等。 本节是单片机的基本内容,为学习后面各个章节的基础,也是从事单片机应用开发的基础。

  4. 0.6.1 MCS-51单片机内部结构及CPU 主要内容 一 MCS-51单片机的功能结构及特点 二 MCS-51单片机的内部原理结构 三 MCS-51单片机的CPU

  5. 一 MCS-51单片机的功能结构及特点 MCS-51单片机的内部功能结构如下页图1所示,图中是以增强型单片机的结构为对象。 从图中可以看到,MCS-51单片机在一块芯片中集成了微型计算机所具有的所有部件,从功能的角度来看,主要包括9个部分。

  6. 外部事件信号 时钟信号源 时钟电路 8KB Flash ROM 256B RAM 128B SFR 16位×3个 定时/计数器 BUS BUS CPU 中断控制器 64KB总线 扩展控制器 可编程 并行口 可编程全 双工串行口 总线控制 外中断 8位×4个并行口 串行通信 一 MCS-51单片机的功能结构及特点 图1 MCS-51(增强型)单片机功能结构图

  7. 一 MCS-51单片机的功能结构及特点 MCS-51单片机内部主要包括9个部分: • 一个8位的微处理器CPU • 8KB的片内程序存储器Flash ROM • 256B的片内数据存储器RAM、128B特殊功能寄存器(SFR) • 3个16位的定时器/计数器 • 有一个管理6个中断源的中断控制器 • 4个8位并行I/O端 • 一个全双工的串行接口(UART) • 片内振荡电路和时钟发生器 • 可扩展64KB程序、64KB数据存储器的三总线控制电路

  8. 二 MCS-51单片机的内部原理结构 MCS-51单片机的内部原理结构如图2所示。 与图1比较,主要的区别是画出了CPU的内部结构,图中的中间部分除了“定时器、串行口”大方框之外都属于CPU部件。 下面先介绍CPU部分,对于其它部件,将在本章和后面的章节讲解。

  9. 地址总线∕数据总线 Vcc GND P0.0~P0.7 P2.0~P2.7 端口0驱动器 端口2驱动器 256BRAM 128B SFR RAM 地址 8KB Flash ROM 端口0锁存器 端口2锁存器 程序地址寄存器 缓冲器 B寄存器 暂存器1 暂存器2 ACC SP PC加1 ALU 定时器、串行口 中断部件及 特殊功能寄存器 指令寄存器 指令译码器 指令控制器 PC PSEN ALE EA RST PSW DPTR 端口1锁存器 端口3锁存器 端口1驱动器 端口3驱动器 P1.0~P1.7 XTAL2 XTAL1 P3.0~P3.7 图2 MCS-51(增强型)单片机原理结构图

  10. 三 MCS-51单片机的CPU MCS-51单片机内部有一个功能强大的8位CPU,它包含两个基本部分,运算器和控制器。 (一)、运算器 运算器包括:算术和逻辑运算部件ALU(Arithmetic Logic Unit) 以及累加器ACC、寄存器B、暂存器1、暂存器2、程序状态字寄存器PSW、布尔处理器等。

  11. 三 MCS-51单片机的CPU 1、算术逻辑运算部件ALU ALU可以对4位(半字节)、8位(一字节)和16位(双字节)数据进行操作。 这些操作可以是:算术运算:加、减、乘、除、加1、减1、BCD码数的十进制调整及比较等; 逻辑运算:与、或、异或、求补及循环移位等。

  12. 三 MCS-51单片机的CPU 2、累加器ACC ACC在CPU结构中占有特殊的位置,所以ACC在指令中使用的非常多。 ACC既做源操作数又做目的操作数,如在加、减、乘、除算术运算指令中,在与、或、异或、循环移位逻辑运算指令等。 ACC也作为通用寄存器使用,并且可以按位操作,所以ACC是一个用处最多、最忙碌的寄存器。 在指令中用助记符A来表示。

  13. 三 MCS-51单片机的CPU 3、B寄存器 B做专门应用:在乘、除运算时,用来存放一个操作数,并且存放运算后的部分结果。 B做一般应用:在非乘、除运算中,B可以作为通用寄存器使用。 B可以按位操作

  14. 三 MCS-51单片机的CPU 4、程序状态字PSW 功能:用于设定CPU的状态和指示指令执行后的状态。 PSW相当于其它微处理器中的标志寄存器。格式如下:

  15. 三 MCS-51单片机的CPU CY(PSW.7):进位、借位标志 在做位操作(布尔操作)时CY作 为位累加器。在指令中用C代替CY AC(PSW.6):半进位、半借位标志,也称为辅助进位标志 F0、F1(PSW.5 、PSW.1):用户标志位,留给用户使用

  16. 三 MCS-51单片机的CPU OV(PSW.2):溢出标志位 有以下几种情况: ①加减运算: OV=1表示结果超出了8位有符号数的有效范围(-128~+127),对无符号数OV没有意义。 ②无符号数乘法运算: OV=1表明结果超出了8位数 ③无符号数除法运算: OV=1表明除数为0

  17. 三 MCS-51单片机的CPU P(PSW.0):累加器A的奇偶标志位 P表示累加器A中1的个数的奇偶性 • P=1,A中有奇数个1 • P=0,A中有偶数个1

  18. 三 MCS-51单片机的CPU RS1、RS0(PSW.4 和PSW.3):工作寄存器组选择控制位。 工作寄存器:R0、R1、……、R7

  19. 三 MCS-51单片机的CPU 5、布尔处理器 布尔处理器以PSW中的进位标志位CY作为位累加器(用C表示)。 功能:专门用于处理位操作。 MCS-51单片机有丰富的位处理指令:如置位、位清0、位取反、判断位值(为1或为0)转移,以及通过C(指令中用C代替CY)做位数据传送、位逻辑与、位逻辑或等位操作。

  20. 三 MCS-51单片机的CPU (二)、控制器 控制器包括程序计数器PC、指令寄存器IR、指令译码器ID,以及时钟控制逻辑、堆栈指针SP、地址指针DPTR等。 1、程序计数器PC PC是一个具有自加1功能的16位的计数器PC的内容是将要执行的下一条指令的地址 改变PC的内容就改变了程序执行的顺序

  21. 三 MCS-51单片机的CPU 2、指令寄存器IR和指令译码器ID IR:存放从Flash ROM中读取的指令 ID:进行译码,产生一定序列的控制信号,完成指令所规定的操作。 3、堆栈 (1)堆栈的概念 堆栈是在RAM中专门开辟的一个特殊用途的存储区。 (2)堆栈的访问原则: “先进后出”、“后进先出” 。即先进入堆栈的数据后移出堆栈,即后进入堆栈的数据先移出堆栈。

  22. 三 MCS-51单片机的CPU (3)堆栈的结构 堆栈的一端的地址是固定的,称为栈底;另一端的地址是动态变化的,称为栈顶。 (4)堆栈的操作方式 堆栈有两种操作方式:数据进栈和数据出栈。 进栈和出栈都是在栈顶进行,这就必然是按照“先进后出”、“后进先出”的方式存取数据。

  23. 三 MCS-51单片机的CPU (5)堆栈的应用 主要是用来暂时存放数据,有两种情况使用堆栈: 一是CPU自动使用堆栈,当调用子程序或响应中断,处理中断服务程序时,CPU自动将返回地址存放到堆栈中; 通过堆栈传递参数。 二是程序员使用堆栈,用堆栈暂时存放数据。

  24. 三 MCS-51单片机的CPU 4、堆栈指针SP 堆栈指针SP(Stack Pointer)中为栈顶的地址,即SP指向栈顶。 SP是访问堆栈的间址寄存器 SP具有自动加1、自动减1功能。当数据进栈时,SP先自动加1,然后CPU将数据存入; 当数据出栈时,CPU先将数据送出,然后SP自动减1。

  25. 三 MCS-51单片机的CPU 下图是数据进栈的情况 数据从栈顶进入 7B A6 58

  26. 三 MCS-51单片机的CPU 由于进栈时SP的值增加,即堆栈向地址大的方向生长,并且栈顶是有效数据,这种堆栈是满递增型堆栈。 7B A6 58 36

  27. 三 MCS-51单片机的CPU 5、数据指针DPTR DPTR是唯一的16位寄存器。 DPTR既可以作为一个16位寄存器使用,也可以作为两个独立的8位寄存器使用。其高字节寄存器用DPH表示,低字节寄存器用DPL表示。 DPTR的用途: (1)主要用于存放16位地址,以便对64KB的片外RAM和64KB的程序存储空间作间接访问。 (2)其次用于存放数据,作为一般寄存器使用。

  28. 0.6.2 MCS-51单片机引脚与总线结构 主要内容 一 MCS-51单片机引脚信号及功能 二 MCS-51单片机外部总线结构

  29. 89C51 89C52 Vcc P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA/VPP ALE/PROG PSEN P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 T2/P1.0 T2EX/P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 Vss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 一 MCS-51单片机引脚信号及功能 封装:40DIP, 44PLCC。 常用40DIP 40个引脚分为4类: • 电源引脚 • 晶振引脚 • 控制信号 • 输入/输出引脚

  30. 单片机 XTAL2 XTAL1 18 C1 晶 振 C2 19 一 MCS-51单片机引脚信号及功能 (一)、电源引脚 Vcc(40脚):接5V电源正端 Vss(20脚):接5V电源地端 (二)、晶振引脚 XTAL1(19脚) XTAL2(18脚)

  31. 一 MCS-51单片机引脚信号及功能 (三)、控制信号引脚 1、RST/VPD(9脚) RST:复位信号输入端,高电平有效。单片机正常工作时:RST保持两个机器周期的高电平就会使单片机复位; 上电时:RST上的高电平必须保持10ms以上才能保证有效复位,由于振荡器需要一定的起振时间。 VPD:备用电源输入端,以保持内部RAM中的数据不丢失。当Vcc的电压降低到低电平规定的值或掉电时,接入电源。

  32. 一 MCS-51单片机引脚信号及功能 2、ALE/PROG(30引脚) ALE:地址锁存信号,每个机器周期输出两个正脉冲,下降沿或低电平用于控制外接的地址锁存器,锁存从P0口输出的低8位地址。 可以将ALE作为时钟信号使用。 PROG:片内程序存储器的编程脉冲输入端,低电平有效。

  33. 一 MCS-51单片机引脚信号及功能 3、PSEN(29引脚) 片外程序存储器读选通信号输出端,每个机器周期输出两个负脉冲,低电平有效。在访问片外数据存储器时,该信号不出现。 4、EA/Vpp(31引脚) EA:程序存储器选择输入端。低电平时,使用片外程序存储器;高电平时,使用片内程序存储器。 Vpp:片内程序存储器编程电压输入端。

  34. 一 MCS-51单片机引脚信号及功能 (四)、输入/输出引脚 1、P0口,P0.0~P0.7(32~39引脚) P0口是一个8位漏极开路的I/O口。 P0口作总线口: 当CPU以总线方式访问片外存储器时,P0口分时地输出低8位地址、读入指令和输入/输出数据。 P0口作为一般I/O口: 此时P0口为准双向口(各位输入前必须先输出1)。

  35. 一 MCS-51单片机引脚信号及功能 2、P1口,P1.0~P1.7(1~8引脚) P1口是一个8位准双向I/O口 P1.0、P1.1的第二功能:对于增强型, 第二功能的信号分别为T2和T2EX • T2(P1.0):定时器/计数器2的计数脉冲输入和时钟输出。 • T2EX(P1.1):定时器/计数器2的重 装、捕获和计数方向控制输入。

  36. 一 MCS-51单片机引脚信号及功能 3、P2口,P2.0~P2.7(21~28引脚) 当CPU以总线方式访问片外存储器时,P2口输出高8位地址。 作为一般I/O口使用时,为准双向口。 4、P3口,P3.0~P3.7(10~17引脚) P3口是一个8位I/O口,还是一个双功能口 作为一般I/O口使用时,为准双向口。 各引脚第二功能如下页表2所示。

  37. 一 MCS-51单片机引脚信号及功能 表2 P3口各引脚第二功能定义

  38. 二 MCS-51单片机总线结构 总线的概念:总线即三总线,指数据总线、地址总线、控制总线。 一般说法为:多个部件信息的电气连接。 MCS-51单片机的总线:内部具有产生总线的结构。如图6所示。 单片机总线的应用: 扩展数据存储器 扩展程序存储器

  39. 二 MCS-51单片机总线结构 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6/WR P3.7/RD ALE PSEN EA RST A15 : : : : : : A8 A7 : : : : : : A0 D7 : : : D0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 图6 MCS-51单片机总线结构 地址总线(AB) I/O 口 地址锁存器 74LS573 控制总线(CB) 数据总线(DB)

  40. 0.6.3 MCS-51单片机的存储器结构 主要内容 一 程序存储器结构 二 片内数据存储器结构 三 片外数据存储器结构

  41. MCS-51单片机存储器概述 1、单片机的哈佛结构存储器 MCS-51单片机为哈佛结构:程序存储器ROM和数据存储器RAM分开编址 PC机为偌依曼:ROM和RAM统一编址 程序存储器:固化程序、常数和数据表 数据存储器:存放程序运行中产生的各种数据、用作堆栈等

  42. 2、单片机的存储器空间及分类 MCS-51单片机有4个存储空间: 片内程序存储器、片内数据存储器,片外程序存储器、片外数据存储器。 4个存储空间可以分成三类: 片内数据存储空间(256B的RAM和128B的特殊功能寄存器)、片外数据存储空间(64KB)、片内和片外统一编址的程序存储空间(64KB) 不同类型的存储空间,有各自的寻址方式和访问指令。

  43. 一 程序存储器结构 (一)、程序存储器结构 51基本型片内有4KB的Flash ROM,地址为0000H~0FFFH,片外最多可以扩展60KB,地址为1000H~FFFFH。 增强型片内有8KB的Flash ROM,地址为0000H~1FFFH,片外最多可以扩展56KB,地址为2000H~FFFFH,片内外是统一编址的。 程序存储器空间的配置如图7所示

  44. 一 程序存储器结构 FFFFH FFFFH 片 外 ROM 片 外 ROM 图7 MCS-51单片机程序存储空间的配置 2000H 1000H 1FFFH 片 内 ROM EA=1 片 外 ROM EA=0 0FFFH 片 内 ROM EA=1 片 外 ROM EA=0 0000H 0000H (a)片内有4KB的ROM (b)片内有8KB的ROM

  45. 一 程序存储器结构 单片机在执行指令时,对于低地址部分,究竟是从片内程序存储器取指令,还是从片外程序存储器取指令? 决定于程序存储器选择引脚EA的电平: EA接低电平,读片外程序存储器 EA接高电平,CPU从片内程序存储器取指令。 当取指令的地址大于片内存储器的最大地址时,CPU自动转到片外程序存储器取指令。

  46. 一 程序存储器结构 二、程序存储器的专用区域 用作复位和中断入口

  47. 一 程序存储器结构 中断向量:即中断入口地址。如下表 注意区分:中断入口地址、中断服务程序入口地址、中断服务程序。

  48. 一 程序存储器结构 C语言编程所考虑的问题 如果用C语言编写程序,不需要考虑以上这些问题,即不用考虑引导程序问题,中断入口与跳转问题,这些问题均由编译系统安排好。 main( )函数起到引导程序的作用。 对于中断处理,只要按照格式编写中断处理函数即可(见第4章)。

  49. 二 片内数据存储器结构 片内数据存储器按照寻址方式,可以分为三个部分:低128字节数据区,高128字节数据区,特殊功能寄存器区。如下图所示。 FFH FFH FFH 高128B RAM idata区 特殊功能 寄存器 特殊功能 寄存器 80H 80H 80H 7FH 7FH 低128B RAM data区 低128B RAM data区 00H 00H (a)89C51片内RAM (b)增强型单片机片内RAM

  50. 二 片内数据存储器结构 (一)、低128字节RAM 地址范围:00H~7FH,128字节 应用特点:有多种用途、且使用最频繁 功能作用:分为三个区域,即工作寄存器区、位寻找区、通用数据区。 寻址方式:直接、间接、位寻址 低128字节RAM的配置如图9所示。

More Related