AT89C51的结构和原理解析.ppt

上传人:sh****n 文档编号:7545611 上传时间:2020-03-22 格式:PPT 页数:84 大小:1.64MB
返回 下载 相关 举报
AT89C51的结构和原理解析.ppt_第1页
第1页 / 共84页
AT89C51的结构和原理解析.ppt_第2页
第2页 / 共84页
AT89C51的结构和原理解析.ppt_第3页
第3页 / 共84页
点击查看更多>>
资源描述
第2章AT89C51的结构和原理 教学目标2 1AT89C51单片机的结构2 2AT89C51单片机外形及引脚功能2 3AT89C51存储器2 4AT89C51单片机工作方式2 5AT89C51时钟电路与时序本章小结思考题与习题 教学目标 1 总体了解AT89C51单片机内部结构 2 熟悉AT89C51单片机40个引脚及其功能 3 熟悉AT89C51三个不同存储空间配置及地址范围 了解不同存储空间的操作指令和控制信号 4 熟悉AT89C51片内RAM低128B分区结构和作用 5 了解特殊功能寄存器地址分布范围 理解ACC B SP DPTR的作用和功能 重点掌握PSW结构组成和各位作用 通过本章教学 要求达到以下目标 6 理解程序计数器PC的功能 7 了解AT89C514个I O端口结构及工作原理 8 理解在扩展外存储器情况下 P0 P2及P3口的功能作用 9 了解堆栈指针SP及堆栈的作用 10 掌握堆栈的设置及使用方式 11 熟悉AT89C51复位条件 复位电路和复位后常用的SFR的状态 12 理解时钟电路组成 时钟和机器周期的概念 课前预习和复习检测 温故知新检测 微机中常用的进制有哪些 各有何特点 温故知新检测 什么是BCD码和BCD数 BCD数的加减运算有何特点 温故知新检测 什么是原码 反码和补码 温故知新检测 1101101 1011B H 温故知新检测 AT89C51系列单片机内部包含哪些主要功能部件 温故知新检测 程序计数器PC的作用是什么 温故知新检测 AT89C51的CPU主要由哪几部分组成 温故知新检测 单片机CPU运算器的核心部件是什么 其主要功能有哪些 温故知新检测 AT89C51单片机内部有多少字节的RAM和FlashROM 2 1AT89C51单片机的结构 AT89系列单片机在内部结构上基本相同 其中不同型号的单片机只不过在个别模块和功能方面有些区别 AT89C51单片机内部硬件结构框图如图2 1所示 它由一个8位中央处理器 CPU 一个256B片内RAM及4KBFlashROM 21个特殊功能寄存器 4个8位并行I O口 两个16位定时 计数器 一个串行I O口以及中断系统等部分组成 各功能部件通过片内单一总线联成一个整体 集成在一块芯片上 2 1AT89C51单片机的结构 图2 1AT89C51单片机内部结构框图 RAM128B RAM地址寄存器 P3口 P1口 P2口 P0口 锁存器 锁存器 锁存器 锁存器 中断定时 计数器串行口 SP B ACC 暂存器1 暂存器2 PSW 指令寄存器IR 指令译码器ID DPL 缓冲器 程序计数器PC PC增量器 地址寄存器AR 定时与控制 4KROM ALU DPH 运算器 控制器 存储器 I O接口 图2 2AT89C51单片机的内部结构示意 2 1 1中央处理器 CPU CPU是单片机内部的核心部件 是一个8位二进制数的中央处理单元 主要由运算器 控制器和寄存器阵列构成 1 运算器运算器用来完成算术运算和逻辑运算功能 它是AT89C51内部处理各种信息的主要部件 运算器主要由算术逻辑单元 ALU 累加器 ACC 暂存寄存器 TMP1 TMP2 和状态寄存器 PSW 组成 1 运算器 1 算术逻辑单元 ALU AT89C51中的ALU由加法器和一个布尔处理器组成 2 累加器 ACC 用来存放参与算术运算和逻辑运算的一个操作数或运算的结果 3 暂存寄存器 TMP1 TMP2 用来存放参与算术运算和逻辑运算的另一个操作数 它对用户不开放 4 状态寄存器 PSW PSW是一个8位标志寄存器 用来存放ALU操作结果的有关状态 表2 1PSW各位定义表 进位标志位CY 表示累加器A在加减运算过程中其最高位A7有无进位或借位 辅助进位位AC 表示累加器A在加减运算时低4位 A3 有无向高4位 A4 进位或借位 用户标志位F0 是用户定义的一个状态标志位 根据需要可以用软件来使它置位或清除 1 运算器 寄存器选择位RS1 RS0 AT89C51共有四组 每组八个工作寄存器R0 R7 编程时用于存放数据或地址 但每组工作寄存器在内部RAM中的物理地址不同 RS1和RS0的四种状态组合就是用来确定四组工作寄存器的实际物理地址的 RS1 RS0状态与工作寄存器R0 R7的物理地址关系如表2 2所示 表2 2工作寄存器组R0 R7的物理地址 RS1RS0 工作寄存器组号 R0 R1的物理地址 00011011 0123 00H 07H08H 0FH10H 17H18H 1FH 溢出标志位OV 当执行算术指令时 由硬件自动置位或清零 表示累加器A的溢出状态 奇偶标志位P 用于指示运算结果中1的个数的奇偶性 若累加器A中1的个数为奇数 则P 1 若1的个数为偶数 则P 0 2 控制器 控制器是单片机内部按一定时序协调工作的控制核心 是分析和执行指令的部件 控制器主要由程序计数器PC 指令寄存器IR 指令译码器ID和定时控制逻辑电路等构成 程序计数器PC是专门用于存放现行指令的16位地址的 CPU就是根据PC中的地址到ROM中去读取程序指令码和数据 并送给指令寄存器IR进行分析 2 控制器 指令寄存器IR用于存放CPU根据PC地址从ROM中读出的指令操作码 指令译码器ID是用于分析指令操作的部件 指令操作码经译码后产生相应于某一特定操作的信号 定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲 3 寄存器阵列 寄存器阵列是单片机内部的临时存储单元或固定用途单元 包括通用寄存器组和专用寄存器组 通用寄存器组用来存放过渡性的数据和地址 提高CPU的运行速度 专用寄存器组主要用来指示当前要执行指令的内存地址 存放特定的操作数 指示指令运行的状态等 2 1 2存储器 AT89C51单片机内部有256个字节的RAM数据存储器和4KB的闪存程序存储器 Flash 当不够使用时 可分别扩展为64KB外部RAM存储器和64KB外部程序存储器 它们的逻辑空间是分开的 并有各自的寻址机构和寻址方式 这种结构的单片机称为哈佛型结构单片机 程序存储器是可读不可写的 用于存放编好的程序和表格常数 数据存储器是既可读也可写的 用于存放运算的中间结果 进行数据暂存及数据缓冲等 AT89C51单片机对外部电路进行控制或交换信息都是通过I O端口进行的 单片机的I O端口分为并行I O端口和串行I O端口 它们的结构和作用并不相同 1 并行I O端口AT89C51有四个8位并行I O端口 分别命名为P0口 P1口 P2口和P3口 它们都是8位准双向口 每次可以并行输入或输出8位二进制信息 2 1 3I O端口 AT89C51有一个全双工的可编程串行I O端口 它利用了P3口的第二功能 即将P3 1引脚作为串行数据的发送线TXD 将P3 0引脚作为串行数据的接收线RXD 2 串行I O端口 2 1 4定时器 计数器 AT89C51内部有两个16位可编程定时器 计数器 简称为定时器0 T0 和定时器1 T1 T0和T1分别由两个8位寄存器构成 其中T0由TH0 高8位 和TL0 低8位 构成 T1由TH1 高8位 和TL1 低8位 构成 TH0 TL0 TH1 TL1都是SFR中的特殊功能寄存器 T0和T1在TCON和TMOD的控制下可工作在定时器模式或计数器模式下 每种模式下又有不同的工作方式 当定时或计数溢出时还可申请中断 详细情况参见第6章 2 1 5中断系统 单片机中的中断是指CPU暂停正在执行的原程序转而为中断源服务 执行中断服务程序 在执行完中断服务程序后再回到原程序继续执行 中断系统是指能够处理上述中断过程所需要的部分电路 AT89C51的中断系统由中断源 中断允许控制器IE 中断优先级控制器IP 定时器控制器TCON 中断标志寄存器 等构成 IE IP TCON均为SFR特殊功能寄存器 见表2 2 2 1 6内部总线 总线是用于传送信息的公共途径 总线可分为数据总线 地址总线和控制总线 单片机内的CPU 存储器 I O接口等单元部件都是通过总线连接到一起的 采用总线结构可以减少信息传输线的根数 提高系统可靠性 增强系统灵活性 AT89C51单片机内部总线是单总线结构 即数据总线和地址总线是公用的 2 2AT89C51单片机引脚及其功能 AT89C51有40条引脚 与其他51系列单片机引脚是兼容的 这40条引脚可分为I O端口线 电源线 控制线 外接晶体线四部分 其封装形式有两种 双列直插封装 DIP 形式和方形封装形式 如图2 2所示 图2 2AT89C51封装和引脚分配图 a 双列直插式封装 b 方形封装 2 2AT89C51单片机引脚及其功能 AT89C51 AT89C51 1 P0口P0口有八条端口线 命名为P0 0 P0 7 其中P0 0为低位 P0 7为高位 每条线的结构组成如图2 3所示 它由一个输出锁存器 两个三态缓冲器 输出驱动电路和输出控制电路组成 P0口是一个三态双向I O口 它有两种不同的功能 用于不同的工作环境 2 2 1I O端口功能 图2 3P0口位结构图 1 P0口 P1口有八条端口线 命名为P1 0 P1 7 每条线的结构组成如图2 4所示 P1口是一个准双向口 只作普通的I O口使用 其功能与P0口的第一功能相同 作输出口使用时 由于其内部有上拉电阻 所以不需外接上拉电阻 作输入口使用时 必须先向锁存器写入 1 使场效应管T截止 然后才能读取数据 2 P1口 图2 4P1口位结构图 2 P1口 P2口有八条端口线 命名为P2 0 P2 7 每条线的结构如图2 5所示 P2口也是一个准双向口 它有两种使用功能 一种是当系统不扩展外部存储器时 作普通I O口使用 其功能和原理与P0口第一功能相同 只是作为输出口时不需外接上拉电阻 另一种是当系统外扩存储器时 P2口作系统扩展的地址总线口使用 输出高8位的地址A7 A15 与P0口第二功能输出的低8位地址相配合 共同访问外部程序或数据存储器 64KB 但它只确定地址并不能像P0口那样还可以传送存储器的读写数据 3 P2口 图2 5P2口位结构图 3 P2口 P3口有八条端口线 命名为P3 0 P3 7 每条线的结构如图2 6所示 P3口是一个多用途的准双向口 第一功能是作普通I O口使用 其功能和原理与P1口相同 第二功能是作控制和特殊功能口使用 这时八条端口线所定义的功能各不相同 如表2 3所示 4 P3口 图2 6P3口位结构图 4 P3口 表2 3P3口各位的第二功能 在单片机中 口是一个集数据输入缓冲 数据输出驱动及锁存等多项功能于一体的I O电路 AT89C51的4个口在电路结构上基本相同 P0 P3口都可作为普通I O口来使用 但又各具特点 因此在功能和使用上各口之间有一定的差异 各口用作输入时 均须先写入 1 P0口用作输出时 应外接上拉电阻 5 I O口的读写 1 VCC 5V电源线 2 VSS 接地线 2 2 2电源线 2 2 3外接晶体引脚 1 XTAL1 片内振荡器反相放大器的输入端和内部时钟工作的输入端 采用内部振荡器时 它接外部石英晶体和微调电容的一个引脚 2 XTAL2 片内振荡器反相放大器的输出端 接外部石英晶体和微调电容的另一端 采用外部振荡器时 该引脚悬空 AT89C51单片机的控制线有如下几种 1 RST 复位输入端 高电平有效 2 ALE 地址锁存允许 编程线 3 外部程序存储器的读选通线 4 VPP 片外ROM允许访问端 编程电源端 2 2 4控制线 2 3AT89C51存储器 AT89C51单片机存储器结构采用哈佛型结构 即将程序存储器 ROM 和数据存储器 RAM 分开 它们有各自独立的存储空间 寻址机构和寻址方式 其典型结构如图2 7所示 图2 7AT89C51存储器结构图 a 程序存储器地址分配 b 数据存储器地址分配 FFH 2 3AT89C51存储器 AT89C51程序存储器有片内和片外之分 片内有4KB字节的Flash程序存储器 地址范围为0000H 0FFFH 当不够使用时 可以扩展片外程序存储器 因程序计数器PC和程序地址指针DPTR都是16位 片外程序存储器扩展的最大空间是64KB 地址范围为0000H FFFFH 2 3 1程序存储器 AT89C51数据存储器也有片内和片外之分 片内有256个字节RAM 地址范围为00H FFH 按功能又可分为两部分 低128字节 地址为00H 7FH 为一般RAM区 高128字节 地址为80H FFH 为特殊功能寄存器 SFR 区 片外数据存储器可扩展64KB存储空间 地址范围为0000H FFFFH 但两者的地址空间是分开的 各自独立的 结构分配如图2 7 b 所示 2 3 2数据存储器 AT89C51单片机片内数据存储器可分为两部分 00H 7FH单元空间的128字节为RAM区 0H FFH单元空间的128字节为专用寄存器 SFR 区 两部分的地址空间是连续的 1 片内RAM区 共128字节 它又可划分为通用寄存器区 位寻址区 普通RAM区 如表2 4所示 1 片内数据存储器 表2 4AT89C51片内数据存储器 位寻址区 通用寄存器区 通用寄存器区 00H 1FH这32个单元为通用寄存器区 分为四组 每组占八个RAM单元 地址由小到大分别用代号R0 R7表示 通过设置程序状态字PSW中的RS1 RS0状态来决定哪一组寄存器工作 如表2 2所示 位寻址区 20H 2FH这16个单元为位寻址区 它有双重寻址功能 既可以按位寻址操作 也可以普通RAM单元那样按字节寻址操作 1 片内RAM区 普通RAM区 30H 7FH这80个单元为普通RAM区 用于存放用户数据 只能按字节存取 堆栈区 堆栈是片内RAM中的特殊群体 用来暂时存放诸如子程序端口地址 中断端口地址以及其它需要保护的数据 1 片内RAM区 图2 8堆栈结构图 栈顶 栈底 可用软件设置 35H34H33H32H31H30H 堆栈指针 SP 片内80H FFH区间 AT89C51集合了一些特殊用途的寄存器 一般称之为特殊功能寄存器 SFR AT89C51单片机共有21个SFR 每个SFR占一个RAM单元 它们离散地分布在80H FFH地址范围内 如表2 5所示 2 专用寄存器区 表2 5AT89C51特殊功能寄存器一览表 表2 5AT89C51特殊功能寄存器一览表 续 没有被SFR占据的地址可能在片内并不存在 对这些地址读出时 通常会得到随机的数据 而写入时将会有不确定的效应 因此软件设计时不要使用这些单元 特殊功能寄存器通常用寄存器寻址 但也可以用直接寻址方式进行字节访问 其中11个寄存器还可进行位寻址 表2 5中带 号的寄存器 操作 其位地址的分配如表2 6所示 2 专用寄存器区 表2 6SFR中的位地址分配 AT89C51单片机可扩展片外64KB空间的数据存储器 地址范围为0000H FFFFH 它与程序存储器的地址空间是重合的 但两者的寻址指令和控制线不同 如表2 7所示 2 片外数据存储器 表2 7存储器的访问指令及控制线 2 4AT89C51单片机工作方式 2 4 1复位方式单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位 复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态 并从这个状态开始工作 1 复位原理 AT89C51单片机的复位靠外部电路实现 信号由RESET RST 引脚输入 高电平有效 在振荡器工作时 只要保持RST引脚高电平两个机器周期 单片机即复位 复位后 PC程序计数器的内容为0000H 其他特殊功能寄存器的复位状态如表2 5所示 片内RAM中内容不变 2 常用复位电路 一般有上电复位 手动开关复位和自动复位电路三种 如图2 9所示 2 4 1复位方式 图2 9单片机复位电路图 a 上电复位电路 b 手动复位电路 c 自动复位电路 2 常用复位电路 程序执行方式是单片机的基本工作方式 即执行用户编写好并存放在ROM中的程序 2 4 2程序执行方式 2 4 3省电方式 AT89系列单片机有两种省电运行方式 即空闲方式和掉电方式 省电方式可使单片机功耗最小 单片机正常工作时消耗10 20mA电流 空闲方式工作时消耗1 75mA电流 掉电方式工作时消耗5 50 A电流 在空闲和掉电方式下 单片机内部硬件控制电路如图2 10所示 图2 10空闲和掉电方式内部电路图 单片机省电方式下内部控制电路 2 5AT89C51时钟电路与时序 2 5 1振荡器与时钟电路单片机内各部件之间有条不紊的协调工作 其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的 这些控制信号在时间上的相互关系就是CPU时序 而产生这种基本节拍的电路就是振荡器和时钟电路 AT89C51单片机内部有一个用于构成振荡器的单级反相放大器 如图2 11所示 图2 11AT89C51内部振荡器电路图 AT89C51内部振荡器电路 引脚XTAL1为反相器输入端 XTAL2为反相器输出端 当在放大器两个引脚上外接一个晶体 或陶瓷振荡器 和电容组成的并联谐振电路作为反馈元件时 便构成一个自激振荡器 如图2 12所示 AT89C51内部振荡器电路 单片机也可采用外部振荡器向内部时钟电路输入一固定频率的时钟源信号 此时 外部信号接至XTAL1端 输入给内部时钟电路 而XTAL2端浮空即可 如图2 13所示 图2 12内部振荡器等效电路图 反相器输入端 反相器输出端 AT89C51内部振荡器电路 图2 13外部时钟电路图 悬空 1 振荡周期振荡周期指由单片机片内或片外振荡器所产生的 为单片机提供时钟源信号的周期 其值为1 fosc 2 时钟周期时钟周期又称为状态周期S 由内部时钟电路产生 是振荡周期的二倍 每个时钟周期分为P1和P2两个节拍 前半周期P1节拍信号有效 后半周期P2节拍信号有效 每个节拍完成不同的逻辑操作 2 5 2时序 一个机器周期由6个状态周期 12个振荡周期 组成 6个状态周期用S1 S6表示 每一状态周期的两个节拍用P1 P2表示 则一个机器周期的12个节拍就可用S1P1 S1P2 S2P1 S6P1 S6P2来表示 见下图 3 机器周期 S1S2S3S4S5S6 P1P2P1P2P1P2P1P2P1P2P1P2 图2 14一个机器周期的12个节拍 振荡周期 执行一条指令所占用的全部时间 一个指令周期通常由1 4个机器周期组成 若外接晶振频率为fosc 12MHZ 则四个基本周期的具体数值为 1 振荡周期 1 12 s 2 时钟周期 1 6 s 3 机器周期 1 s 4 指令周期 1 4 s 4 指令周期 图2 15AT89C51单片机典型指令时序图 5 AT89C51单片机典型指令时序 1 访问外部ROM时序 图2 16读外部程序ROM时序图 图2 17读外部数据RAM时序图 2 读外部数据RAM时序 图2 18写外部数据RAM的时序图 3 写外部数据RAM的时序 本章小结 1 单片机是将微处理器 存储器和I O接口等电路集成在一块芯片上所形成的微型计算机 因此 它比微机体积更小 价格更低 因而在某些场合使用得更加广泛 2 89C51单片机有40个引脚 采用双列直插的封装形式 每个引脚都有其特定功能 这40个引脚按功能可分为四大类 电源线 I O线 时钟输入线和控制线 3 中央处理器CPU是单片机的核心部件 它主要由运算器 控制器和专用寄存器组构成 运算器完成各种算术和逻辑运算 控制器对单片机内部各部件进行管理和控制 使它们统一 协调地工作 专用寄存器包括 累加器A B寄存器 程序状态字PSW 程序计数器PC 堆栈指针SP和数据指针DPTR等 每个专用寄存器都有其特定功能 4 89C51单片机内部集成有4KBFlashROM和256字节RAM 既可使用其片内程序存储器 也可扩展片外ROM 使用片内ROM还是片外ROM 由单片机的EA引脚指出 当EA 0时 则从片内ROM中读取指令 当EA 1 地址范围为0000H 0FFFH时执行4KB片内ROM中的程序 而超出0FFFH地址时 将自动转去执行片外ROM中的程序 89C51片内RAM的256字节 00H FFH 按功能又可分为两部分 低128字节 地址为00H 7FH 为一般RAM区 高128字节 地址为80H FFH 为特殊功能寄存器 SFR 区 5 P0 P1 P2 P3是单片机的4个8位并行I O口 它们的内部电路结构各不相同 这种电路结构决定了它们的功能也不尽相同 这4个并行口除可作通用I O口使用外 某些口线还具有第二功能 在访问外部存储器时 P0口分时复用为地址 低8位 和数据总线 P2口输出高8位地址 P3口 除能作通用I O口之外 其每一根I O线又都具有独立的第二功能 6 时钟电路与复位电路是单片机应用系统正常工作必不可少的组成部分 XTAL1 XTAL2两个引脚外接一个石英晶体和两个微调电容便构成使用内部时钟的电路 此时的时钟周期即为石英晶体的振荡周期 复位通常有上电复位与按钮复位两种方式 它们的电路连接也不同 思考题与习题 2 1单片机主要应用在哪些领域 2 2AT89C51系列单片机内部包含哪些主要功能部件 它们各自的功能是什么 2 3在AT89C51单片机中 决定程序执行顺序的是哪个寄存器 它是多少位的寄存器 是不是特殊功能寄存器 2 4程序状态字PSW是一个几位的专用寄存器 它各位的含义是什么 2 5AT89C51的工作寄存器可分为几组 各自物理地址是多少 如果欲将当前的工作寄存器设为第2组 应如何设置 2 6AT89C51单片机的存储器由哪四类构成 各自的地址范围是多少 2 7P0 P1 P2 P3属于特殊功能寄存器吗 它们的物理地址是多少 2 8AT89C51单片机片内RAM容量为多大 按功能可分为哪几部分 各自的地址范围是多少 2 9AT89C51单片机的位地址空间如何分布 2 10当使用AT89C51内部时钟信号时 电路如何连接 时钟周期如何确定 2 11AT89C51单片机的复位方式有哪几种 各自电路应怎样连接
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!