1 / 49

第 2 章 AT89C51 单片机结构和原理

第 2 章 AT89C51 单片机结构和原理. 2.1 AT89C51 单片机的结构 2.2 AT89C51 单片机的引脚及其功能 2.3 AT89C51 存储器 2.4 单片 机的工作方式 2.5 A T89C51 时钟电路与时序. 2.1 AT89C51 单片机的结构. 图 2.1 单片机结构框图. 2.1.1 中央处理器 CPU. 算术、逻辑、位运算. 运算器 控制器 寄存器阵列. 分析、控制指令执行. 保存计算的中间、最终结果. 一、运算器. 要点 : 掌握 PSW 各位的含义.

brandi
Télécharger la présentation

第 2 章 AT89C51 单片机结构和原理

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. 第2章 AT89C51单片机结构和原理 2.1 AT89C51单片机的结构 2.2 AT89C51单片机的引脚及其功能 2.3 AT89C51存储器 2.4 单片机的工作方式 2.5 AT89C51时钟电路与时序

  2. 2.1 AT89C51单片机的结构 图 2.1 单片机结构框图

  3. 2.1.1 中央处理器CPU 算术、逻辑、位运算 • 运算器 • 控制器 • 寄存器阵列 分析、控制指令执行 保存计算的中间、最终结果

  4. 一、运算器 要点:掌握PSW各位的含义 1、算术逻辑单元ALU 2、累加器ACC(Accumulator) 3、暂存寄存器TEMP1,TEMP2 4、程序状态字PSW(Programe State Word)P15 D7 D6 D5 D4 D3 D2 D1 D0

  5. 表 2.2 RS1、 RS0与片内工作寄存器组的对应关系

  6. 二、控制器 控制器由程序计数器PC,指令寄存器IR,指令译码器ID和定时控制逻辑电路等构成。

  7. (1)程序计数器PC(Program Counter) PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器,可寻址范围是0000H~0FFFFH共64KB。 程序中的每条指令存放在ROM区的某一单元, 并都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在的单元的地址送上地址总线。在顺序执行程序中,当PC的内容被送到地址总线后,会自动加 1,即(PC)← (PC)+1,又指向CPU 下一条要执行的指令地址。

  8. (2)指令寄存器和指令译码器 指令寄存器中存放指令代码。CPU执行指令时, 由程序存储器中读取的指令代码送入指令存储器, 经译码器译码后由定时与控制电路发出相应的控制信号, 完成指令所指定的操作。

  9. 三、寄存器阵列 通用寄存器组和专用寄存器组。

  10. 2.1.2. 存储器 AT89C51 有128B内部RAM和4KB FLASH ROM。

  11. 2.1.3 I/O端口 1、并行I/O端口 P0~P3 2、串行I/O端口 串行I/O端口 RXD(P3.0),TXD(P3.1),和串行口控制寄存器SCON,电源和波特率选择寄存器PCON,串行数据缓冲器SBUF配合使用,实现串行通讯。

  12. 2.1.4 定时器和计数器 AT89C51有两个16位可编程定时器/计数器 T0/T1。 T0由TH0,TL0构成,T1由TH1,TL1构成。 T0/T1在定时控制寄存器TCON和方式选择寄存器TMOD控制下,可实现定时或计数。

  13. 2.1.5 中断系统 1、中断的概念 2、AT89C51的中断系统由中断源、中断允许控制器IE,优先级控制器IP,定时器控制器TCON(中断标志寄存器)等构成,共有5个中断源。两个外部中断源INT0,INT1,三个内部中断源:定时器0溢出中断,定时器1溢出中断,串口中断。

  14. 2.1.6 内部总线 AT89C51是单总线结构,地址线和数据线是共用的,采用分时操作和使用,不会冲突。

  15. 2.2 单片机的引脚及其功能 图 2.6 单片机引脚及总线结构

  16. 2.2.1 I/O端口功能 1、P0口 图 2.3 P0 口位结构图

  17. P0口有八条口线P0.0~P0.7,是一个三态双向I/O口。 (1)P0 口可以作为普通的I/O口使用。 由于是开漏极,必须外接上拉电阻。当读外部输入数据时,必须先向P0口写入“1”, 然后再读。 (2)在需要外部扩展存储器时P0口作地址/数据总线使用。

  18. 2、P1、P2和P3口 P1、P2 和P3 口为准双向口, 均可作为基本的I/O口使用。 P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。

  19. P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。

  20. P3口是一个多用途的准双向口。第一功能是作普通I/O口使用,其功能和原理与P1口相同,同样作输出口时不需要上拉电阻。第二功能是作控制和特殊功能口使用。

  21. 表 2.3 P3口的第二功能

  22. 2.2.2 电源线 VCC:+5V VSS: 地

  23. 2.2.3 外接晶体引脚 XTAL1:片内震荡器反线放大器的输入端和内部时钟工作的输入端。 XTAL2:片内震荡器反线放大器的输出端。

  24. 具体时钟电路 4~24M 22~30P 内部时钟电路 外部振荡源

  25. 2.2.4 控制线 (1)RST:复位输入端 (2)ALE/PROG 地址锁存允许/编程线。当访问外部存储器时ALE输出一个高电平脉冲,将P0口输出的低8位地址锁存到地址锁存器中。常用的地址锁存器有74LS373,74LS573。 不访问外外部存储器时ALE以1/6晶振频率输出脉冲序列,因而可利用它来给其他电路(例如8155,ADC0809等)提供脉冲,做脉冲源使用。 在对AT89C51内部FLASH ROM编程时,输入编程负脉冲。

  26. (3) PSEN 外部程序存储器的读选通线。 (4) EA/VPP EA=1 时先访问内部程序存储器,=0时访问外部程序存储器。 在对AT89C51内部FLASH存储器编程时,施加编程电压。

  27. 2.3 存储器的结构

  28. 2.3.1 程序存储器 对于AT89C51来说, 程序存储器(ROM)的内部地址为 0000H~0FFFH, 共 4 KB; 最多可外扩 64 KB程序存储器,使用内部还是外部由EA脚控制。 64KB的ROM中, 6 个单元地址具有特殊用途, 是保留给系统使用的。0000H是系统的启动地址, 一般在该单元中存放一条绝对跳转指令。0003H、000BH、 000BH、001BH和 0023H对应 5 种中断源的中断服务入口地址。

  29. 2.3.2 数据存储器 1、内部RAM 片内RAM为 256 字节,地址范围为00H~FFH,分为两大部分:低 128 字节(00H~7FH)为真正的RAM区;高 128 字节(80H~FFH)为特殊功能寄存器区SFR。 

  30. (1)用户RAM 30H~7FH,80个单元。存放用户数据、开辟堆栈。 (2)工作寄存器 00H~1FH共 32 单元是 4 个通用工作寄存器区。每一个区有 8 个通用寄存器R0~R7。 (3)位寻址RAM

  31. 选用哪一组呢? 表 2.2 寄存器与RAM 地址对照表

  32. 表 2.4 RAM中的位寻址区地址表

  33. (4)特殊功能寄存器区SFR 片内80H~FFH这一区间,集合了一些特殊用途的寄存器,一般称之为特殊功能寄存器SFR,它们的功能是固定的,用户不得更改。 每个SFR占有一个RAM单元。它们离散地分布在80H~FFH地址范围内。

  34. 位地址接在用户位寻址后编址 表 2.6 SFR特殊功能寄存器地址表 SP DPL DPTR DPH

  35. 表 2.6 SFR特殊功能寄存器地址表

  36. 表 2.6 SFR特殊功能寄存器地址表

  37. 数据指针寄存器DPTR 数据指针DPTR是一个 16 位的专用寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个 16 位寄存器DPTR来处理, 也可作为两个独立的 8 位寄存器DPH和DPL来处理。  DPTR 主要用来存放 16 位地址, 当对 64 KB外部数据存储器空间寻址时, 作为间址寄存器用。在访问程序存储器时, 用作基址寄存器。

  38. 堆栈指针SP(Stack Pointer) 堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式, 主要用于子程序调用及返回和中断处理断点的保护及返回, 它在完成子程序嵌套和多重中断处理中是必不可少的。为保证逐级正确返回, 进入栈区的“断点”数据应遵循“先进后出”的原则。SP用来指示堆栈所处的位置, 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后, SP的值也自动随之变化。MCS - 51 系统复位后, SP初始化为07H。

  39. 2. 外部RAM 外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定, 最大可扩展到 64 KB RAM , 地址是 0000H~0FFFFH。 CPU通过MOVX指令访问外部数据存储器, 用间接寻址方式, R0、R1和 DPTR都可作间接寄存器。注意, 外部RAM和扩展的I/O接口是统一编址的, 所有的外扩I/O 口都要占用 64 KB中的地址单元。

  40. 2.4 单片机工作方式 1. 复位方式 2. 程序执行方式 3. 省电方式 4. EPROM编程和校验方式

  41. 表2-7 特殊功能寄存器的复位状态

  42. 2.5 单片机工作的基本时序 1. 机器周期和指令周期 (1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。  (2) 状态周期: 每个状态周期为时钟周期的2倍, 是振荡周期经二分频后得到的。  (3) 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。  (4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。

  43. 外部时钟 内部振荡器

  44. 状态时钟和机器周期

  45. 2. 指令的取指/执行时序 图: 单片机取指/执行时序

  46. 3. 访问外部ROM和RAM的时序 图 2.8 读外部程序ROM时序

  47. 图 2 - 9 读外部数据RAM时序

  48. 图 2.10 写外部数据RAM的时序

More Related