第2章 AT89C51单片机单片机的硬件结构.ppt_第1页
第2章 AT89C51单片机单片机的硬件结构.ppt_第2页
第2章 AT89C51单片机单片机的硬件结构.ppt_第3页
第2章 AT89C51单片机单片机的硬件结构.ppt_第4页
第2章 AT89C51单片机单片机的硬件结构.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章AT89C51单片机单片机的硬件结构2 1AT89C51单片机的硬件组成片内硬件结构如图2 1所示 片内功能部件如下 1 微处理器 CPU 2 数据存储器 RAM 3 程序存储器 4KBFlashROM 4 4个8位可编程并行I O口 P0口 P1口 P2口 P3口 5 1个全双工串行口 6 2个16位定时器 计数器 7 中断系统 8 特殊功能寄存器 SFR 图2 1 上述各功能部件通过片内单一总线连接而成 见图2 1 其基本结构依旧是CPU加上外围芯片的传统微型计算机结构模式 CPU对各种功能部件的控制是采用特殊功能寄存器 SpecialFunctionRegister SFR 的集中控制方式 对图2 1所示的片内各部件做一简单介绍 1 CPU 微处理器 包括了运算器和控制器两大部分 只是增加了面向控制的位处理功能 2 数据存储器 RAM 片内为128个字节 52子系列的为256个字节 3 程序存储器 ROM EPROM 8031 无此部件 8051 4K字节ROM 8751 4K字节EPROM 89C51 89C52 89C55 4K 8K 20K字节闪存 4 中断系统5 定时器 计数器6 串行口1个全双工的异步串行口 具有四种工作方式 7 4个并行8位I O口P1口 P2口 P3口 P0口8 特殊功能寄存器 SFR 共有21个 是一个具有特殊功能的RAM区 实际上是片内各个功能部件的控制寄存器和状态寄存器 映射在片内RAM区80H FFH的区间内 2 2AT89C51单片机的引脚介绍40只引脚双列直插封装 DIP 图2 2 40只引脚按功能分为3类 1 电源及时钟引脚 Vcc Vss XTAL1 XTAL2 2 控制引脚 PSEN EA ALE RESET 即RST 3 I O口引脚 P0 P1 P2 P3 为4个8位I O口的外部引脚 2 2 1电源及时钟引脚1 电源引脚 1 Vcc 40脚 5V电源 2 Vss 20脚 接地 2 时钟引脚 1 XTAL1 19脚 接外部晶体 如果采用外接振荡器时 振荡器的输出应接到此引脚上 2 XTAL2 18脚 接外部晶体的另一端或采用外接振荡器时悬空 2 2 2控制引脚提供控制信号 有的引脚还具有复用功能 1 RST VPD 9脚 复位与备用电源 2 EA VPP EnableAddress VoltagePulseofProgRam ing 31脚 EA 为内外程序存储器选择控制端 EA 1 访问片内程序存储器 但在PC 程序计数器 值超 过0FFFH 对于8051 8751 时 即超出片内程序存储器的4K字节地址范围时 将自动转向执行外部程序存储器内的程序 EA 0 单片机则只访问外部程序存储器 VPP 本引脚的第二功能 用于施加编程电压 例如 21V或 12V 对AT89C51 加在VPP脚的编程电压为 12V或 5V 3 ALE PROG 30脚 第一功能 ALE为地址锁存允许 可驱动8个LS型TTL负载 第二功能 PROG 为编程脉冲输入端 此外 单片机在运行时 ALE端一直有正脉冲信号输出 此频率为时钟振荡器频率fosc的1 6 该正脉冲信号可以作时钟源或定时信号使用 注意 每当AT89C51单片机访问外部RAM时 即执行MOVX类指令时 要丢失1个ALE脉冲 因此 严格来说 ALE还不宜作为精确的时钟源或定时信号 PROG 为该引脚的第二功能 在对片内Flash存储器编程时 此引脚作为编程脉冲输入端 4 PSEN 29脚 外部程序存储器的读选通信号 在单片机读外部程序存储器时 此引脚输出脉冲的负跳沿作为读外部程序存储器的选通信号 2 2 3并行I O口引脚 1 P0口 当89C51扩展外部存储器及I O接口芯片时 P0口作为地址总线 低8位 及数据总线的分时复用端口 为双向I O口 也可作为通用的I O口使用 但需加上拉电阻 这时为准双向口 当作为普通的I O输入时 应先向端口的输出锁存器写入1 P0口可驱动8个LS型TTL负载 2 P1口 8位准双向I O口 可驱动4个LS型TTL负载 3 P2口 8位准双向I O口 与地址总线 高8位 复用 可驱动4个LS型TTL负载 4 P3口 8位准双向I O口 双功能复用口 可驱动4个LS型TTL负载 P3口还可提供第二功能 定义如表2 1所列 应熟记 综上所述 P0口作为地址总线 低8位 及数据总线使用时 为双向口 作为通用的I O口使用时 为准双向口 这时需加上拉电阻 P1口 P2口 P3口均为准双向口 要特别注意准双向口与双向口的差别 准双向口仅有两个状态 双向口P0口的口线内无固定上拉电阻 由两个MOS管串接开漏输出 处于高阻的 悬浮 状态 故又为双向三态I O口 这是由于P0口作为数据总线使用时 必须要有高阻的 悬浮 状态 而准双向I O口则无需高阻的 悬浮 状态 总结 准双向口与双向三态口的差别 1 当3个准双向I O口作输入口使用时 要向该口先写 1 2 准双向I O口无高阻 浮空 状态 2 3AT89C51的CPU由运算器和控制器所构成2 3 1运算器1 算术逻辑运算单元ALU进行算术 逻辑运算 还具有位操作功能 2 累加器A使用最频繁的寄存器 可写为Acc A的作用 1 是ALU的输入之一 又是运算结果的存放单元 2 数据传送大多都通过累加器A 51单片机增加了一部分可以不经过累加器的传送指令 即可加快数据的传送速度 又减少A的 瓶颈堵塞 现象 A的进位标志Cy同时又是位处理机的位累加器 3 程序状态字寄存器PSW格式如图2 3 1 Cy PSW 7 进位标志位 2 Ac PSW 6 辅助进位标志位 用于BCD码的十进制调整运算 3 F0 PSW 5 用户使用的状态标志位 4 RS1 RS0 PSW 4 PSW 3 4组工作寄存器区选择控制位1和位0 如表2 2 图2 3 表2 2RS1 RS0与4组工作寄存器区的对应关系RS1RS0所选的4组寄存器000区 内部RAM地址00H 07H 011区 内部RAM地址08H 0FH 102区 内部RAM地址10H 17H 113区 内部RAM地址18H 1FH 5 OV PSW 2 溢出标志位指示运算是否溢出 注意各种算术运算指令对该位的影响 6 PSW 1位 保留位 未用 7 P PSW 0 奇偶标志位P 1 A中 1 的个数为奇数P 0 A中 1 的个数为偶数 2 3 2控制器程序计数器PC是控制器中最基本的寄存器 存放下一条要执行的指令在程序存储器中的地址 基本工作方式有以下几种 1 程序计数器自动加1 2 执行有条件转移或无条件转移指令时 PC将被置入新的数值 从而使程序的流向发生变化 3 执行子程序调用或中断调用 完成下列操作 PC的现行值保护 将子程序入口地址或中断向量的地址送入PC 程序计数器的计数宽度决定了程序存储器的地址范围 AT89C51单片机中的PC位数为16位 故可对64KB 216B 的程序存储器进行寻址 2 4AT89C51单片机存储器的结构哈佛结构存储器空间可划分为4类 1 程序存储器空间片内程序存储器为4KB的Flash存储器2 片内数据存储器空间 128B3 特殊功能寄存器SFR SpecialFunctionRegister4 位地址空间 211个可寻址位 2 4 1程序存储器空间存放应用程序和表格之类的固定常数 分为片内和片外两部分 由EA 引脚上所接的电平确定 程序存储器中的0000H地址是系统程序的启动地址5个单元具有特殊用途 为5个中断源的中断入口地址表2 35个中断源的中断入口地址外中断00003H定时器T0000BH外中断10013H定时器T1001BH串行口0023H 2 4 2内部数据存储器空间128个 字节地址为00H 7FH 00H 1FH 32个单元 是4组通用工作寄存器区20H 2FH 16个单元 可进行128位的位寻址30H 7FH 用户RAM区 只能字节寻址 用作数据缓冲区以及堆栈区 2 4 3特殊功能寄存器 SFR CPU对片内各种功能部件的控制采用特殊功能寄存器集中控制方式 共21个 有的SFR可进行位寻址 表2 4是SFR的名称及其分布 其字节地址的末位是0H或8H可位寻址 下面介绍SFR块中的某些寄存器 表2 4SFR的名称及其分布 1 堆栈指针SP指示堆栈顶部在内部RAM块中的位置复位后 SP中的内容为07H 1 保护断点 2 现场保护堆栈向上生长2 数据指针DPTR高位字节寄存器用DPH表示 低位字节寄存器用DPL表示 3 寄存器B为执行乘法和除法操作设置的 在不执行乘 除的情况下 可当作一个普通寄存器来使用 2 4 4位地址空间211个 128个 83个 寻址位 位地址范围为 00H FFH 内部RAM的可寻址位128个 字节地址20H 2FH 见表2 5 P24 特殊功能寄存器SFR为83个可寻址位 见表2 6 表2 5内部RAM的可寻址位及位地址 表2 6SFR中的位地址分布 可被位寻址的寄存器有11个 共有位地址88个 其中5个位未用 其余83个位的位地址离散地分布于片内数据存储器区字节地址为80H FFH的范围内 其最低的位地址等于其字节地址 并且其字节地址的末位都为0H或8H 图2 5为各类存储器在存储器空间的位置 图2 5 2 5AT89C51单片机的并行I O端口4个双向的8位并行I O端口 Port 记作P0 P3 属于特殊功能寄存器 还可位寻址 2 5 1P0端口 图2 6 1 位电路结构P0口某一位的电路包括 1 一个数据输出锁存器 用于数据位的锁存 2 两个三态的数据输入缓冲器 3 一个多路转接开关MUX 使P0口可作通用I O口 或地址 数据线口 4 数据输出的驱动和控制电路 由两只场效应管 FET 组成 上面的场效应管构成上拉电路 2 工作过程分析 1 P0口作为地址或数据总线使用CPU发出控制信号为高电平 打开上面的与门 使MUX打向上 边 使内部地址 数据线与下面的场效应管反相接通 此时由于上下两个FET处于反相 形成推拉式电路结构 大大提高负载能力 2 P0口作通用的I O口使用CPU发来的 控制 信号为低电平 上拉场效应管截止 MUX打向下边 与D锁存器的Q 端接通 a P0作输出口使用来自CPU的 写入 脉冲加在D锁存器的CP端 内部总线上的数据写入D锁存器 并向端口引脚P0 x输出 注意 由于输出电路是漏极开路 因为这时上拉场效应管截 止 必须外接上拉电阻才能有高电平输出 这时就不为双向口 b P0作输入口使用区分 读引脚 和 读锁存器 读引脚 信号把下方缓冲器打开 引脚上的状态经缓冲器读入内部总线 读锁存器 信号打开上面的缓冲器把锁存器Q端的状态读入内部总线 3 P0口的特点P0口具有如下特点 P0口为双功能口 地址 数据复用口和通用I O口 1 当P0口用作地址 数据复用口时 为一个真正的双向口 用作外扩存储器 输出低8位地址和输出 输入8位数据 2 当P0口用作通用I O口时 由于需要在片外接上拉电阻 端口不存在高阻抗 悬浮 状态 因此为一个准双向口 为保证引脚信号的正确读入 应首先向锁存器写1 当P0口由原来的输出状态转变为输入状态时 应首先置锁存器为1 方可执行输入操作 一般情况下 如果P0口已作为地址 数据复用口 就不能再作为通用I O口使用 2 5 2P1端口P1口是单功能的I O口 字节地址90H 位地址90H 97H P1口某一位的位电路结构如图2 7所示 图2 7 1 位电路结构P1口位电路结构由三部分组成 1 一个数据输出锁存器 用于输出数据位的锁存 2 两个三态的数据输入缓冲器BUF1和BUF2 分别用于锁存器数据和引脚数据的输入缓冲 3 数据输出驱动电路 由一个场效应管 FET 和一个片内上拉电阻组成 2 工作过程分析P1口只能作为通用的I O口使用 1 P1口作为输出口时 若CPU输出1 Q 1 Q 0 场效应管截止 P1口引脚的输出为1 若CPU输出0 Q 0 Q 1 场效应管导通 P1口引脚的输出为0 2 P1口作为输入口时 分为 读锁存器 和 读引脚 两种方式 读锁存器 时 锁存器的输出端Q的状态经输入缓冲器BUF1进入内部总线 读引脚 时 先向锁存器写1 使场效应管截止 P1 x引脚上的电平经输入缓冲器BUF2进入内部总线 3 P1口的特点P1口由于有内部上拉电阻 没有高阻抗输入状态 称为准双向口 作为输出口时 不需要在片外接上拉电阻 P1口 读引脚 输入时 必须先向锁存器写1 2 5 3P2口P2口是一个双功能口 字节地址为A0H 位地址A0H A7H 某一位的位电路结构如图2 8所示 图2 8 1 位电路结构P2口某一位的电路包括 1 一个数据输出锁存器 用于输出数据位的锁存 2 两个三态数据输入缓冲器BUF1和BUF2 分别用于锁存器数据和引脚数据的输入缓冲 3 一个多路转接开关MUX 它的一个输入是锁存器的Q端 另一个输入是内部地址的高8位 4 输出驱动电路 由场效应管 FET 和内部上拉电阻组成 2 工作过程分析 1 P2口用作地址总线在内部控制信号作用下 MUX与 地址 接通 当 地址 线为0时 场效应管导通 P2口引脚输出0 当 地址 线为1时 场效应管截止 P2口引脚输出1 2 P2口用作通用I O口在内部控制信号作用下 MUX与锁存器的Q端接通 CPU输出1时 Q 1 场效应管截止 P2 x引脚输出1 CPU输出0时 Q 0 场效应管导通 P2 x引脚输出0 输入时 分为 读锁存器 和 读引脚 两种方式 读锁存器 时 Q端信号经上方的输入缓冲器进入内部总线 读引脚 时 先向锁存器写1 使场效应管截止 P2 x引脚上的电平经下方的输入缓冲器进入内部总线 3 P2口的特点作为地址输出线使用时 P2口可以输出外存储器的高8位地址 与P0口输出的低8位地址一起构成16位地址线 作为通用I O口使用时 P2口为一个准双向口 功能与P1口一样 2 5 4P3口由于AT89C51的引脚有限 因此在P3口电路中增加了引脚的第二功能 P3的每一位都可以分别定义为第二功能 P3口的第二功能定义 应熟记 P3口的字节地址为B0H 位地址为B0H B7H P3口某一位的位电路结构如图2 9所示 图2 9 1 位电路结构P3口某一位的电路包括 1 一个数据输出锁存器 用于输出数据位的锁存 2 3个三态数据输入缓冲器BUF1 BUF2和BUF3 分别用于读锁存器 读引脚数据和第二功能数据的输入缓冲 3 输出驱动电路 由 与非门 场效应管 FET 和内部上拉电阻组成 2 工作过程分析 1 P3口用作第二输入 输出功能当选择第二输出功能时 该位的锁存器需要置 1 使 与非门 为开启状态 当第二输出为1时 场效应管截止 P3 x引 脚输出为1 当第二输出为0时 场效应管导通 P3 x引脚输出为0 当选择第二输入功能时 该位的锁存器和第二输出功能端均应置1 保证场效应管截止 P3 x引脚的信息由输入缓冲器BUF3的输出获得 2 P3口用作第一功能 通用I O口当P3口用作第一功能通用输出时 第二输出功能端应保持高电平 与非门 为开启状态 CPU输出1时 Q 1 场效应管截止 P3 x引脚输出为1 CPU输出0时 Q 0 场效应管导通 P3 x引脚输出为0 当P3口用作第一功能通用输入时 P3 x位的输出锁存器和第二输出功能均应置1 场效应管截止 P3 x引脚信息通过输入BUF3和BUF2进入内部总线 完成 读引脚 操作 当P3口实现第一功能通用输入时 也可以执行 读锁存器 操作 此时Q端信息经过缓冲器BUF1进入内部总线 3 P3口的特点P3口内部有上拉电阻 不存在高阻抗输入状态 为准双向口 P3口作为第二功能的输出 输入 或第一功能通用输入 均须将相应位的锁存器置1 实际应用中 由于复位后P3口锁存器自动置1 满足第二功能条件 所以不需要任何设置工作 就可以进入第二功能操作 当某位不作为第二功能使用时 可作为第一功能通用I O使用 引脚输入部分有两个缓冲器 第二功能的输入信号取自缓冲器BUF3的输出端 第一功能的输入信号取自缓冲器BUF2的输出端 P3口的第二功能定义 表2 1 读者应熟记 2 6时钟电路与时序时钟电路用于产生89C51单片机工作所必需的时钟控制信号 2 6 1时钟电路时钟频率直接影响单片机的速度 电路的质量直接影响系统的稳定性 常用的时钟电路有两种方式 内部时钟方式和外部时钟方式 1 内部时钟方式片内一个用于构成振荡器的高增益反相放大器 反相放大器的输入端为芯片引脚XTAL1 输出端为引脚XTAL2 见图2 10 图2 10 C1和C2典型值通常选择为30pF左右 晶体的振荡频率在1 2MHz 12MHz之间 某些高速单片机芯片的时钟频率已达40MHz 如89S52 2 外部时钟方式常用于多片89C51单片机同时工作 外部时钟源直接接到XTAL1端 XTAL2端悬空 其电路见图2 11 图2 11 3 时钟信号的输出为应用系统中的其它芯片提供时钟 但需增加驱动能力 图2 12 2 6 2机器周期 指令周期与指令时序单片机执行的指令的各种时序均与时钟周期有关1 时钟周期单片机的基本时间单位 若时钟的晶体的振荡频率为fosc 则时钟周期Tosc 1 fosc 例如 fosc 6MHz Tosc 166 7ns 2 机器周期CPU完成一个基本操作所需的时间称为机器周期 执行一条指令分为几个机器周期 每个机器周期完成一个基本操作 AT89C51单片机每12个时钟周期为1个机器周期 一个机器周期又分为6个状态 S1 S6 每个状态又分为两拍 P1和P2 因此 一个机器周期中的12个时钟周期表示为 S1P1 S1P2 S2P1 S2P2 S6P2 图2 13 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论