1 / 54

第 2 讲: MCS-51 的硬件结构

MCS-51 单 片 机 原 理 及 设 计. 第 2 讲: MCS-51 的硬件结构. 电气工程系 赵志衡 TEL:86413623 E-mail:zhzhhe@hit.edu.cn. MCS-51 单 片 机 的 硬 件 结 构. 本讲课程主要内容. ( 1 ) 51 的资源 ( 2 ) 51 的外观及引脚简介 ( 3 ) 51 的 CPU ( 4 ) 51 的存储器结构 ( 5 ) 51 的 I/O 端口 ( 6 )复位电路 ( 7 )时钟电路. 51 的资源. 包括:微处理器 ( 8 位 CPU )

Télécharger la présentation

第 2 讲: 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. MCS-51 单 片 机 原 理 及 设 计 第2讲:MCS-51的硬件结构 电气工程系 赵志衡 TEL:86413623 E-mail:zhzhhe@hit.edu.cn

  2. MCS-51 单 片 机 的 硬 件 结 构 本讲课程主要内容 (1)51的资源 (2)51的外观及引脚简介 (3)51的CPU (4)51的存储器结构 (5)51的I/O端口 (6)复位电路 (7)时钟电路

  3. 51的资源 包括:微处理器 (8位CPU) 数据存储器(RAM) 程序存储器(ROM/EPROM) I/O口 (P0口、Pl口、P2口、P3口) 同时具有串行通讯、定时器/计数器、中断系统及特殊功能寄存器(SFR)。

  4. 资源的简单说明 1 .数据存储器(RAM):51片内为128个字节,52为256字节。片外最多可外扩至64k。 2.程序存储器(ROM/EPROM): 8031不含; 8051为4k ROM,但用户不可改写。 8751则为4k EPROM。 片外最多可外扩至64k

  5. 资源的简单说明 3.中断系统:具有5个中断源,分为2个中断优先级。 4.定时器/计数器:2个16位定时器/计数器,具有四种工作方式。 5.串行口:1个全双工的串行口,具有四种工作方式。 6.P0~P3口:为4个并行8位I/O口。

  6. 资源的简单说明 7.特殊功能寄存器(SFR):共有21个,用于对片内各功能模块进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。 8.微处理器(CPU):为8位的CPU,且内含一个1位的位处理器,不仅可处理字节数据,还可以进行位变量的处理。

  7. 51片内结构

  8. 资源的特点 MCS-51单片机的硬件结构具有功能部件种类全,功能强等特点。 特别指出:MCS-51 除具有8位数据处理运算能力外,还具有1位处理功能,这使得51在逻辑电路仿真、过程控制方面是非常有效。

  9. 51的外观及引脚

  10. 引脚的分类 (1)电源及时钟引脚:Vcc、Vss、XTAL1、XTAL2. (2)控制引脚:PSEN、ALE、EA、RESET (3)I/O口引脚:P0、P1、P2、P3。 MCS-51属于三总线结构:数据总线(DB)地址总线(AB)、控制总线(CB)。

  11. 引脚功能分类

  12. 1 电源及时钟引脚 • 电源引脚: Vcc(40)+5V、 Vss(20)GND • 时钟引脚: XTAL1、XTAL2. 采用片内振荡器时,这两个引脚接晶振;采用外部振荡器时, XTAL1接地,XTAL2接外部振荡器的输出端。

  13. 2 控制引脚 • RST/VPD(9脚):当振荡器启振后,在此引脚加上两个机器周期以上的高电平将使单片机复位。在单片机正常工作时,此脚应为<0.5V低电平。 另外,此引脚可接上备用电源,系统掉电时向内部RAM供电,使其保持数据。

  14. ALE/PROG(30脚):当访问单片机外部存储器时,ALE(地址锁存允许)输出脉冲的下降沿用于16位地址的低8位的锁存信号。ALE/PROG(30脚):当访问单片机外部存储器时,ALE(地址锁存允许)输出脉冲的下降沿用于16位地址的低8位的锁存信号。 即使不访问外部锁存器,ALE端仍有正脉冲信号输出,此频率约为时钟振荡器频率的 1/6。但在执行某些指令时会不发出ALE信号,因而用户不能用做时钟源或定时。

  15. PSEN(29脚):是访问外部程序存储器的读选通信号。PSEN(29脚):是访问外部程序存储器的读选通信号。 • EA(31脚):当EA端保持高电平时,51先访问内部程序存储器,但在PC(程序计数器)值超过0FFFH时(对于8051、8751来说),将自动转向执行外部程序存储器内的程序。 当EA保持低电平时,不管是否有内部程序存储器,只访问外部程序存储器。

  16. 3 I/O口引脚 • P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口可带8个LSTTL负载。 • P1口:8位准双向I/O口,可带4个LSTTL负载。 • P2口:8位准双向I/O口,与地址总线(高8位)复用,可带4个LSTTL负载。 • P3口:8位准双向I/O口,双功能复用口。

  17. 51的中央处理器(CPU) • 运算部件:运算部件包括算术逻辑部件ALU、位处理器、累加器A、寄存器B、暂存器以及程序状态字PSW寄存器等。该模块的功能是实现数据的算术、逻辑运算、位变量处理和数据传送等操作。 • 控制部件:控制部件是单片机的神经中枢,以主振频率为基准(每个主振周期称为振荡周期),控制器控制CPU的时序,对指令进行译码,然后发出各种控制信号,它将各个硬件环节组织在一起。

  18. 运算部件:ALU、A、B • ALU:功能强大,它不仅可对8位变量进行逻辑“与、或、异或”、循环、求补和清零等基本操作,还可以进行加、减、乘、除等基本运算,ALU还具有位处理操作,如置位、清零、求补、测试。转移及逻辑“与、或”等操作。 • 累加器A:ALU中的主要寄存器,大部分指令都用到它。 • 寄存器B:是为执行乘法和除法操作设置的,在不执行乘、除法操作的一般情况下可把它当作一个普通寄存器使用。

  19. 程序状态寄存器:PSW • PSW.1是保留位,未用。 • Cy(PSW.7)进位标志位,在执行算术和逻辑指令时,可以被硬件或软件置位或清除,在位处理器中,它是位累加器。 • Ac(PSW.6)辅助进位标志位。 • F0(PSW.5)标志位,它是由用户使用的一个状态标志位。 • RS1、RS0(PSW.4、PSW.3):寄存器区选择控制位 • OV(PSW.2):溢出标志位。 • P(PSW.0)奇偶标志位。每个指令周期都由硬件来置位或清除,以表示累加器A中值为1的位数的奇偶数。

  20. 运算部件:PSW • 工作寄存器的选择: RS1 RS0 软件写入0 0 区0(选择内部RAM寄存器地址00H~07H) 0 1 区1(选择内部RAM寄存器地址08H~0FH) 1 0 区2(选择内部RAM寄存器地址10H~17H) 1 1 区3(选择内部RAM寄存器地址18H~1FH)

  21. 控制部件 • 时序图 每2个振荡周期作为1个状态周期,每个状态周期分为2个时相P1、P2,每6个状态周期作为1个机器周期。

  22. 51的存储器结构 • 程序存储器 • 内部数据存储器 • 特殊功能寄存器(SFR) • 位地址空间 • 外部数据存储器

  23. 存储器简单介绍 • 程序存储器 用来存放程序的存储器,存储器中存放的实际上是由用户程序形成的二进制码(机器码),该存储器必须具有非易失性。外部可扩展64k字节。

  24. 存储器简单介绍 • 内部数据存储器 MCS51单片机内部有128个字节的随机存取存储器RAM,作为用户的数据寄存器、它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器。52系列具有256字节的内部RAM。

  25. 存储器简单介绍 • 特殊功能寄存器(SFR) 特殊功能寄存器反映了MCS51的状态,实际上是MCS51的状态字及控制字寄存器。51单片机通过写SFR来控制相应功能部件(定时器、串口、中断等)的工作方式,同时SFR也综合的、实际的反映了整个单片机基本系统内部的工作状态。例如,前面提到的PSW程序状态字寄存器,就是一个特殊功能寄存器。

  26. 存储器简单介绍 • 位地址空间 MCS51单片机内部具有211个可寻址的位,他们存在于内部RAM(128个)、和SFR(83个)中。用来存放一些位变量。 有相应的位操作指令来控制其读写。

  27. 存储器简单介绍 • 外部数据存储器 当片内的RAM不够用时,MCS51可在片外扩展64k的数据存储器。

  28. 程序存储器 • 程序存储器中存放程序和表格,最多外扩64k。由程序计数器(PC)控制程序的执行,PC中存放的是将要执行的下一条指令的地址,是由单片机内部硬件自动生成的,且自动加一。复位后PC值为0000H,因而程序总是从程序存储器的0000H处开始执行。

  29. 程序存储器 • 一些指令会影响到PC的连续性,例如跳转类,中断响应等。 • 例如中断,单片机响应不同的中断后,PC被硬件赋予不同的值。称为单片机的中断入口地址: 外部中断0(INT0) 0003H 定 时 器0(T0) 000BH 外部中断1(INT1) 0013H 定 时 器1(T1) 001BH 串 行 口 0023H 由于程序存储器的起始部分具有特殊意义,在编制程序时主程序中最好有跳转指令,在中断程序中也要有跳转指令。

  30. 内部数据存储器 • MCS51内部数据存储器(RAM)共有128个字节,地址00H~7FH。51对内部数据存储器有丰富的操作指令。

  31. 特殊功能寄存器(SFR) • SFR共21个,存在于单片机中的一部分RAM单元中,地址范围80H~FFH,呈离散分布。

  32. 特殊功能寄存器(SFR) • SFR简介

  33. 特殊功能寄存器(SFR) • 可位寻址的SFR位地址

  34. SFR • 累加器A 累加器A是一个最常用的专用的寄存器,大部分单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器,加、减、乘、除算术运算指令的运算结果都存放在累加器A或B寄存器中。 • 寄存器B 在乘、除指令中,用到B寄存器。不进行算数操作时,可作为一般寄存器使用。 • 程序状态字寄存器PSW PSW是一个8位寄存器,它包含了程序状态信息。

  35. SFR • 栈指针SP 栈指针SP是一个8位专用寄存器,它指示出堆栈顶部在内部RAM块中的位置,51单片机栈向上生成,且后入先出。系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始,考虑到08H~1FH单元分别属于工作寄存器区1~3,若在程序设计中要用到这些区,则最好把SP值改置为1FH或更大的值。例如SP=60H,CPU执行一条A累加器进栈指令, push a; 执行后寄存器状态: (61H)=A,(sp)=61H。

  36. SFR • 数据指针DPTR 数据指针DPTR是一个16位的SFR,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。DPTR即可以作为一个16位寄存器来用,也可以作为两个独立的8位寄存器DPH和DPL来用。

  37. SFR • 端口P0~P3 特殊功能寄存器P0~P3分别为I/O端口P0~P3的锁存器。即每一个8位I/O口都为RAM的一个单元(8位)。 在MCS51中,I/O口和RAM统一编址,所有访问RAM的指令,都可用来访问I/O口。对于片外数据存储器和扩展的I/O口,也是统一编址的。

  38. SFR • 串行数据缓冲器SBUF 串行数据缓冲器SBUF用于存放欲发或已接收的数据,它在SFR块中只有一个字节地址,但是物理上由两个独立的寄存器组成,一个发送一个接收。 • 定时器/计数器 51单片机有2个16位定时/计数器T0、T1,他们各由两个独立的8位寄存器组成,分别是TH0、TL0;TH1,TL1。不能把T0、T1作为16位寄存器操作。

  39. 位地址空间 • MCS51中共有可寻址的位211个,构成了8051的位地址空间。在RAM区,有可寻址128位,其位地址为00~7FH。可位寻址RAM的字节地址为20H~2FH。

  40. 位地址空间 • 可位寻址的SFR。共83位

  41. 外部数据存储器 • 当内部RAM不够使用时,可以外扩数据存储器,最多64k。

  42. MCS51存储器结构的特点 • 地址重叠性 • 程序存储器与数据存储器操作指令不同 • 位地址空间共有两个区域 • 堆栈区可自由设定 • 片外数据存储器与I/O口统一编址

  43. MCS51存储器结构示意

  44. I/O端口 • 简介 MCS51单片机具有4个双向8位I/O口,每个口都有一个锁存器。 P0口是三态双向口,作为数据和低8位地址的分时复用口,由ALE信号作为地址锁存。 P1口准双向口,供用户使用。 P2口准双向口,作为高8位地址使用,当扩展的外部存储器小于64k时,即有未用到的P2口线,可作为一般I/O口使用。 P3口准双向口,即可作为一般I/O口使用,也可作为第二功能口使用。

  45. P3口的第二功能

  46. I/O口的内部结构 • 每一位引脚由锁存器、输出驱动器和输入缓冲器组成。 注意读锁存器、读引脚的不同。 • 双向口与准双向口 P0口双向口,没有上拉电阻,可以处于浮空、高阻状态。 P1、P2、P3口含有上拉电阻,当外部维持低电平时,要能提供源电流;外部低电平消失后,自动拉高。 作为输入口使用时必须先置1,关断输出驱动器。

  47. I/O口的内部结构

  48. I/O口的读操作 • 读锁存器 读锁存器指令是从锁存器中读取数据,进行处理,并把处理后的数据重新写入锁存器中,这类指令称为读、修改、写指令。在ANL、ORL、XRL; JBC; CPL; 等指令中,当目的操作数为某一I/O口或I/O口的某一位时,这些指令均为读、修改、写指令。 • 读引脚 读引脚指令一般都是以I/O端口为源操作数的指令,执行读引脚指令时,打开三态门,输入口状态。例如,读P1口的输入状态时,读引脚指令为:MOV A,P1。

  49. 注意:I/O口锁存器写的特别之处 • 当给口锁存器写入某一状态后,相应的口引脚是否呈现锁存器的状态,是与外电路的联接有关。 例如,用I/O口线驱动外部三极管基极时,该口线位锁存器写入“1”后使外部三极管导通,而三极管一旦导通后,基极电平为“0”。口锁存器与引脚状态不一致 • 当给一个准双向口输出“0”后,输出驱动器打开,管脚电位拉低为“0”,此时如将该管脚作输入脚使,将无法输入高电平。 作为初学者,在设计8051系统时,对51的I/O管脚要统一规划使用,一个管脚不能既作为输入,又作为输出。换言之,一个管脚如果第一次用其为输入,一直用其作为输入管脚。

  50. 复位电路 • 复位为单片机提供了初始化手段,当RST引脚保持24个时钟周期以上的高电平将引起复位。 • 在复位有效期间(即高电平),ALE引脚为高电平,且内部RAM不受复位的影响。 • 复位后的部分寄存器状态 (1)PC=0000H (2)PSW=00H 选择工作寄存器0区 (3)SP=07H

More Related