1 / 49

第二章 MCS-51 单片机的硬件结构和工作原理

第二章 MCS-51 单片机的硬件结构和工作原理. 2.1 MCS-51 单片机的主要性能特点 2.2 MCS-51 单片机内部结构 2.3 MCS-51 单片机的引脚功能 2.4 MCS-51 单片机的存储器配制 2.5 时钟电路 , 复位电路和 CPU 时序 2.6 并行 I/O 口. 1. 教学内容 : MCS-51 单片机的内部结构及其特性 ( 片内结构、引脚功能及片外总线结构、存储器组织及扩展、 I/O 结构、中断、时钟和复位电路。 2. 教学重难点 MCS-51 单片机的引脚功能、存储器组织及扩展、 I/O 结构、中断 3. 课时 8 4. 作业

Download Presentation

第二章 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.1 MCS-51单片机的主要性能特点 2.2 MCS-51单片机内部结构 2.3 MCS-51单片机的引脚功能 2.4 MCS-51单片机的存储器配制 2.5 时钟电路,复位电路和CPU时序 2.6 并行I/O口

  2. 1.教学内容: • MCS-51单片机的内部结构及其特性(片内结构、引脚功能及片外总线结构、存储器组织及扩展、I/O结构、中断、时钟和复位电路。 • 2.教学重难点 • MCS-51单片机的引脚功能、存储器组织及扩展、I/O结构、中断 • 3.课时 • 8 • 4.作业 • 习题2 ,3 ,4,7

  3. 2.1 MCS-51单片机主要性能特点 • MCS-51为8位高档单片机系列,采用HMOS工艺,提高芯片集成度,性能有很好 改善。 • 特点: 1)扩大了ROM和RAM的容量 2)具有布尔代数运算能力 3)具有32个双向可被独立寻址的I/O口 4)具有5-6个中断源,可分为两个中断优先级 5)具有丰富的指令系统 6)具有全双工传输信号UART的能力 7)片内具有时钟振荡电路 8)可采用一次性烧写的内含ROM或可重复烧写的EPROM

  4. 2.2 MCS-51单片机内部结构 表1.1

  5. 2.2.1 MCS-51单片机的内部结构 计数脉冲输入 T0 T1 时钟源 定时器/计数器 时钟电路 SFR和RAM ROM CPU 系统总线 并行端口 串行端口 中断系统 RXD P0 P1 TXD P2 P3 8051内部结构图

  6. 运算器 控制器 2.2.2 MCS-51单片机的内部结构介绍 • 1.CPU(中央处理器)完成单片机的运算和控制能力 ALU、布尔处理器、ACC、寄存器B、暂存器TMP1,TMP2、PSW寄存器、十进制调整电路 定时控制逻辑、指令寄存器、译码器、 信息传输控制部件

  7. 2.2.2 MCS-51单片机的内部结构介绍 2.内部存储器 程序存储器ROM 存放程序指令,常数和数据表格(只读) 数据存储器 RAM 存放数据,分为内部和外部数据存储器(随机) 单片机内有256个RAM单元,作为寄存器被用户使用的只有前128个单元,后128个被专用寄存器占用 内部RAM指的是前128单元

  8. 2.2.2 MCS-51单片机的内部结构介绍 • 3.定时与中断系统 MCS-51单片机内有两个16位的定时器/计数器:实现定时和计数,并将其结果作为查询和中断的控制凭据; MCS-51单片机内有5个中断源 (2个中断优先级) 2个外部中断源 2个定时器/计数器中断源 1个串行口中断源

  9. 2.2.2 MCS-51单片机的内部结构介绍 • 4.并行I/O口 • 4个8位的并行I/O口 (P0 P1 P2 P3 )实现数据并行输入输出 • 5.串行I/O口 • 一个全双工的串行口 实现与外部的串行数据传送 • 6.时钟电路 • 为单片机产生时钟脉冲序列,协调和控制单片机的工作. MCS-51单片机内部有时钟电路(但是需外接石英晶体振荡器和微调电容) • 最高时钟频率为12MHZ

  10. 2.3 MCS-51单片机的引脚定义及功能 1.单片机的引脚图

  11. 2.3 MCS-51单片机的引脚定义及功能 2. 引脚说明: (1) P0口 (32脚 --39脚)有三种使用方法 1) 作为与外部传送数据的8位数据总线(D0—D7) 2) 作为扩展外部存储器时的低8位地址总线(A0---A7) 3) 作为一般I/O口,需外接上拉电阻 • 

  12. 2.3 MCS-51单片机的引脚定义及功能 • (2) P1口 (1脚--8脚)有两种使用方法 P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。80C52的P1.0和P1.1有特殊功能 • 1引脚 P1.0/T2 定时器/计数器T2计数端输入 • 2引脚 P1.1/T2 T2的捕捉/重新加载的触发输入

  13. 2.3 MCS-51单片机的引脚定义及功能 • (3) P2口 (21脚--28脚)有两种使用方法 • 1)作为一般I/O口,不需外接上拉电阻 • 2)作为扩展外部存储器时的高8位地址总线(A8---A15) • (4) P3口 (10脚--17脚)有两种使用方法 • 1)作为一般I/O口,不需外接上拉电阻 • 2)具有特殊功能 见表1-1

  14. 2.3 MCS-51单片机的引脚定义及功能 表1.2

  15. 2.3 MCS-51单片机的引脚定义及功能 • (5) Vcc (40脚) 接+5V电源 (6) Vss 接地 (7) XTAL1(19脚) XTAL2(18脚) 接外部石英晶振的引 脚,也可引入外部时钟 HMOS型 XTAL1接地 XTAL2接外部时钟输入 端 CHMOS型 XTAL1接时钟输入端 XTAL2悬空 机器周期=12/石英晶振频率 • (8) RST/VPD (9脚) 复位信号引脚 • 该引脚出现2个机器周期的高电平才可靠

  16. 2.3 MCS-51单片机的引脚定义及功能 • (9) ALE/PROG (30脚) 地址锁存允许信号 1)外接存储器时,ALE的输出用于锁存地址的低8位,一般接锁存器的EN端 2)没有外接存储器时,ALE端可输出脉冲信号,频率为石英振荡频率的1/6,可为外部芯片提供输出的时钟,或用于定时 3)烧写EPROM时,作烧写时钟的输入端 (10) (29脚) 外部程序存储器的读选通信号 读外部ROM时,低电平有效,每个机器周期动作两次,与外部ROM的OE脚相连 读外部RAM时,无输出

  17. 2.3 MCS-51单片机的引脚定义及功能 (31脚) 访问程序存储器的控制信号 • (11 ) 接低电平时,对ROM的读操作限定 在外部程序存储器 接高电平时,对ROM的读操作从内部开始 8751单片机烧写内部EPROM时,该脚输入21V的烧写电压

  18. 2.4 存储器配置 • MCS-51 单片机把程序存储器和数据存储器分开,具有各自的寻址系统和控制信号。 1. 内部程序存储器(ROM) 存放程序和表格常数 8051为4KB 8052为8KB 2. 内部数据存储器(RAM) 存放运算过程中的数据 8051/8031为128B 8052/8032为256B 3. 外部程序存储器(ROM) 存放程序 最大可扩展为64KB (包括内部ROM) 4.外部数据存储器(RAM) 存放大量数据 最大可扩展为64KB (不包括内部RAM)

  19. 2.4.1 内部数据存储器及专用寄存器 • 1.内部数据存储器 • 片内RAM为 256 字节, 地址范围为00H~FFH, 分为两大部分: 低 128 字节(00H~7FH)为真正的RAM区; 高 128 字节(80H~FFH)为特殊功能寄存器区SFR。 FFH FFH 间接寻址 可直接寻址 (SFR) 80H 7FH 80H 可直接(间接)寻址 内部数据存储器空间分配 00H

  20. 2.4.1 内部数据存储器及专用寄存器 在低 128 字节RAM中, 00H~1FH共 32 单元是 4 个通用工作寄存器区。每一区有 8 个通用寄存器R0~R7。 7FH 用户RAM区 30H 2FH 位寻址区 20H 1FH 寄存器0,1,2,3组 07H R7 寄存器0组 R6 R5 R4 R3 内部数据存储器的结构 R2 R1 R0 00H

  21. 2.4.1 内部数据存储器及专用寄存器 • (1)用户RAM区 内部数据存储器的30H-7FH 可在编程时暂存数据,不作规定.(堆栈区也设在该区) 例: MOV 30H , A ;将累加器A中的内容送入30H (2)位寻址区 内部数据存储器的20H-2FH 16个单元,128位,每位都有相应位地址,位地址为00H-7FH 不作位寻址时,可作为一般RAM单元字节寻址 位地址和字节地址都为00H-7FH 注意区分位与字节地址

  22. 2.4.1 内部数据存储器及专用寄存器 表1.4

  23. 2.4.1 内部数据存储器及专用寄存器 • (3) 寄存器组内部数据存储器的00H-1FH(32单元) • 4个通用工作寄存器组,每组有8个寄存器R0—R7 • 存放操作数和中间结果 • (由PSW中的RS1和RS2位来控制使用哪一组) 表1.5

  24. 2.4.1 内部数据存储器及专用寄存器 寄存器与RAM 地址对照表

  25. 2.4.1 内部数据存储器及专用寄存器 • 2.专用寄存器(特殊功能寄存器)80H-FFH 用来设置片内电路的运行方式,记录电路的运行状态,并 表明有关标志 51系列有21个 52系列有26个,只占了空间的一小部分 但是其他空间还是不能进行读,写操作. 其中有11个不仅可进行字节寻址,还能进行位寻址(字节地址末位为0或8)

  26. 表1.7

  27. 位地址 字节地址 寄存器符号 B7 B6 B5 B4 B3 B2 B1 B0 F0H B F1 F0 F7 F6 F5 F3 F2 F4 A7 A6 A5 A4 A3 A2 A1 A0 A E0H E7 E6 E5 E4 E3 E2 E1 E0 CY AC F0 RS1 RS0 OV P PSW D0H D7 D6 D5 D4 D3 D2 D1 D0

  28. 2.4.1 内部数据存储器及专用寄存器

  29. 2.4.1 内部数据存储器及专用寄存器

  30. 2.4.1 内部数据存储器及专用寄存器

  31. 2.4.1 内部数据存储器及专用寄存器 • (1)B寄存器,常用于乘除法运算 乘法时: B是乘数,结果高8位存在B中 除法时: B放除数,结果的余数放在B中 (2)累加器ACC,可以按位寻址, 可存放运算结果和操作数 (3)程序状态字PSW 存放程序运行的状态信息,可按位寻址,其中PSW.1为保留位 位 7 6 5 4 3 2 1 0 PSW CY AC F0 RS1 RS0 OV P

  32. 2.4.1 内部数据存储器及专用寄存器 • (4)定时器2寄存器 • (5)IP寄存器 • (6)IE寄存器 • (7)SCON寄存器 • (8)SBUF寄存器 • (9)定时器0和定时器1寄存器 • (10)P0-P3端口寄存器 • (11)堆栈指针寄存器 • (12)数据指针(DPTR)寄存器

  33. 2.4.1 内部数据存储器及专用寄存器 • 3. 程序计数器(PC) PC中存储的是将要执行的指令地址,是一个16位计数器,可寻址范围是0000H~0FFFFH共 64KB PC没有地址,是不能寻址的, 程序中的每条指令存放在ROM区的某一单元, 并都有自己的存放地址。 CPU 要执行哪条指令时, 就把该条指令所在的单元的地址送上地址总线。 在顺序执行程序中, 当PC的内容被送到地址总线后, 会自动加 1, 即(PC)← (PC)+1, 又指向CPU 下一条要执行的指令地址在转移,调用和返回的指令中,PC的值会改变 PC是一个特殊的寄存器,不占内部RAM单元,在物理上是独立的.

  34. 2.4.1外部数据存储器 外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定, 最大可扩展到 64 KB RAM , 地址是 0000H~0FFFFH。外部RAM和扩展的I/O接口是统一编址的, 所有的外扩I/O 口都要占用 64 KB中的地址单元。 1) CPU通过MOVX指令访问外部数据存储器, 用间接寻址方式, R0、 R1和 DPTR都可作间接寄存器,当用RO或R1作寄存器间接寻址时,由P2端口提供高8位地址,R0或R1提供低8位地址。 2) 单片机扩展外部数据存储器时,利用 P0口加锁存器作为 • 低8位地址线,P2口作为高8位地址线(0---64KB)(见图)

  35. 2.4 .1外部数据存储器 例1: MOVX A,@DPTR ; 读外部RAM中的数据 例2:MOV P2, #20H ;立即数20H MOV R0, #30H ;立即数30H P2 R0 MOVX @R0, A ; A 外部数据RAM中2030H单元

  36. 2.4.2 程序存储器 •  • 对于8051来说, 程序存储器(ROM)的内部地址为 0000H~0FFFH, 共 4 KB; 外部地址为 1000H~FFFFH, 共 60 KB。 当程序计数器由内部 0FFFH执行到外部 1000H 时, 会自动跳转。 • 对于 8751 来说, 内部有 4 KB的EPROM, 将它作为内部程序存储器 • 8031 内部无程序存储器, 必须外接程序存储器 =1时,单片机读内部ROM,若超出范围,CPU自动读外部ROM =0时,CPU完全读取外部ROM 变为低电平 当读取外部ROM时, 保持为高电平 当读取内部ROM时,

  37. 2.5 单片机的复位电路与时钟电路 • 2.5.1 单片机的复位电路 单片机工作时,上电前要复位,发生故障后要复位 复位必须要准确可靠 1. 复位条件 时钟电路开始工作后,必须在单片机的RESET端(9脚)至少维持两个机器周期以上的高电平(PC=0000H, 程序从0000H开始执行) 若RESET端持续为高电平,单片机处于循环复位状态 例:若时钟周期为12MHZ,机器周期为12/12MHZ=1 以上的时间的高电平就能 单片机的RESET端需维持2 进入复位状态

  38. 2.5 单片机的复位电路与时钟电路 • 2. 复位后的状态 • 复位使单片机进入初始化状态,片内低128B的内容不变,SFR的值被初始化.见表1.3 • 注意:1)复位期间,ALE 和 为高电平 (不取址) 2)SP的值在初始化中,要重新设定,一般置为用户RAM区 的地址 3) P0-P3的值为0FFH,将这些端口作为输入端口做准备 4)其余各寄存器在使用时要先赋值

  39. 2.5 单片机的复位电路与时钟电路 • 3.复位电路 有两种: 上电复位电路和手动复位电路 上电复位电路:通过接通电源的一瞬间所产生的一个脉冲来提 供复位所需的高电平 手动复位电路:按RESET键时,电路接通,复位端产生一个高电平

  40. 2.5.2 单片机的时钟电路 • 单片机的各项工作都是在时钟信号的控制下协调进行的 • 时钟电路为单片机提供一个时钟信号,有内部时钟方式和外部时钟方式 • 1)工作于内部时钟方式时,XTAL1和XTAL2之间跨接晶振和两个微调电容,与内部振荡电路构成稳定的自激振荡器,XTAL2引脚上输出一个3V左右的正弦波 • 2)工作于外部时钟方式时,注意引脚的接法 振荡信号进入内部时钟电路后,要对其进行二分频,并向CPU提供两个时钟信号P1和P2

  41. 2.5.3 单片机的CPU时序 • 所谓时序就是CPU总线信号在时间上的顺序关系。 • CPU控制器实际上是复杂的同步时序电路,所有的工作都是在时钟信号的控制下进行的。每执行一条指令,CPU控制器都要发出一系列特定的控制信号,这些控制信号在时间上的相互关系就是CPU的时序。 • 一个单片机系统要想正常工作,除了要做到电平匹配、功率匹配外,还要做到时序匹配.

  42. 2.5.3 单片机的CPU时序 • 1. 振荡周期: 也称节拍P, 是指为单片机提供时钟脉冲信号的振荡源的周期。 •  • 2.时钟周期:也称状态周期S,每个状态周期为振荡周期的 2 倍, 是振荡周期经二分频后得到的。前半个周期为P1,用于完成算术和逻辑运算;后半个周期为P2,完成传送指令 •  • 3. 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个振荡周期。 在一个机器周期内, CPU可以完成一个独立的操作。 •  • 4. 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令,如下图

  43. 2.6 并行I/O口 • MCS-51 共有32条并行双向I/O口线,分成4个I/O端口:P0 P1 P2 P3 每个端口都由数据输入缓冲器、数据输出驱动和锁存器组成 1. P0口

  44. 2.6 并行I/O口 • P0口的特点: 1) 可进行位寻址,地址为80H 2) 既可作为地址/数据总线使用,又能作通用I/O口 作为地址/数据总线时,不需外接上拉电阻,地址和数据 信号可准确从引脚输出,是真正的双向口 3) 为双向I/O口,输出漏极开路,需接上拉电阻(与门 被封锁,VT2漏极开路,P0.x输出始终为高电平,需加电阻对Vcc分压) 可驱动8个TTL 电路 4)作输入口时,应区分读引脚和读存储器 读引脚时,先向锁存器写1 凡属于读—修改—写方式的指令从锁存器读入,其它指 令从引脚读

  45. 2.6 并行I/O口 • 2. P1、P2和P3口 • P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。  • P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。作输出口时,不需接上拉电阻,当由输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 • P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。作输出口时,不需接上拉电阻,当由输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 • 对于 8031 而言, P2 口一般只作为地址总线使用, 而不作为I/O线直接与外部设备相连。

  46. 2.6 并行I/O口 • 说明: • 1. 各个端口引脚在作输入口之前,都要先向对应的口寄存器中写“1”,不然不能作输入口用。 • 2. P0口内部没有上拉电阻(其他都有),所以作通用IO口用时为“开漏”输出,必须外加上拉电阻。在作总线使用时不需要加上拉。其他的口可加可不加。 (上拉电阻的阻值确定,5.1K或者4.7K都可以)。 • 3. P3口作第二功能使用时,相应的口锁存器必须为 • “1” 状态。 • 4. 如果使用了外部存储器,不要再写P0口。

More Related