单片机原理与接口技术幻灯片.ppt_第1页
单片机原理与接口技术幻灯片.ppt_第2页
单片机原理与接口技术幻灯片.ppt_第3页
单片机原理与接口技术幻灯片.ppt_第4页
单片机原理与接口技术幻灯片.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

第2章MCS 51单片机的硬件结构 2 1概述2 2中央处理器CPU2 3MCS 51单片机的内部存储器2 4MCS 51单片机并行输入 输出口2 5MCS 51单片机的复位2 6单片机的几种工作方式 1 2 1概述 2 1 1MCS 51单片机的内部结构框图单片机主要部件有8个 通过片内总线连接而成 中央处理器 CPU 数据存储器 RAM 程序存储器 ROM EPROM 并行输入 输出口 P0口 P3口 串行口 定时 计数器 中断系统及特殊功能寄存器 2 2 1 2MCS 51单片机的引脚及片外总线结构1 MCS 51单片机的引脚MCS 51单片机的封装有两种形式 一种是双列直插式PDIP PLASTICDIP 封装的形式 另一种是方形封装形式PLCC PLASTICLEADEDCHIPCARRIED 方形封装有44引脚 其中4个NC为空引脚 HMOS工艺的80C51单片机采用40引脚的PDIP封装 CHMOS工艺的单片机80C51除采用PDIP封装外 还采用PLCC封装形式 40引脚PDIP封装的80C51单片机引脚排列图如图2 2所示 3 P0口的P0 0 P0 7引脚 39 32脚 P1口的P1 0 P1 7引脚 1 8脚 P2口的P2 0 P2 7引脚 28 21脚 P3口的P3 0 P3 7引脚 10 17脚 Vcc 40脚 电源端 接 5V Vss 20脚 接地端 XTAL1 19脚 XTAL2 18脚 外接石英晶体 微调电容或振荡信号输入引脚 RST VPD 9脚 复位信号输入端引脚 第二功能为备用电源输入端 Vpp 31脚 读片内或片外程序存储器选择端引脚 第二功能为编程电压输入端 低8位地址锁存允许信号输出引脚 第二功能为编程脉冲输入引脚 29引脚 读片外程序存储器选通信号输出端引脚 4 地址总线 AddressBus 简写AB 地址线A0 A15共16位 P2口提供高8位地址A8 A15 P0口经地址锁存器提供低8位地址A0 A7 片外存储器可寻址范围达64KB 即 65536个字节 数据总线 DataBus 简写DB 地址线D0 D7共8位 由P0口提供 分时输送低8位地址 通过地址锁存器锁存 和8位数据信息 控制总线 ControlBus 简写CB 控制总线由P3口的第二功能 P3 6 P3 7 和3根独立的控制线 ALE和组成 2 MCS 51单片机的片外三总线结构 所谓总线 就是连接单片机与系统中各部件的一组公共的信号线 回上层目录 5 2 2中央处理器CPU 2 2 1CPU的组成CPU由运算器 控制器和若干特殊功能寄存器 如累加器A B寄存器 程序状态字寄存器PSW 堆栈指针寄存器SP 数据指针寄存DPTR等 组成 1 运算器具有一般微机所不具备的位处理功能 2 控制器以主振频率为基准产生时钟信号 控制取指令 执行指令 存取操作数或运算结果等操作 并向其它部件发出各种微控制信号 保证单片机各部分能自动协调地工作 6 2 2 2指令执行的基本过程1 单片机在工作前 首先必须在存储器中装入程序 所谓程序 就是为了完成某项工作 将一系列指令有序地组合 而指令则是要求单片机执行某种操作的命令 2 指令分为操作码和地址码两个部分 操作码部分规定了单片机操作类型 而地址码部分一般是直接或间接地给出了参与操作的数据的存放地址 所以地址码也可以直接称为操作数 7 3 单片机完成每项工作 必须有序地执行一系列指令 单片机执行一条指令一般分为取指令和执行指令两个阶段 从存储器中取出指令 并且对指令进行译码 以明确该指令执行何种操作 以及操作数的存放地址 即操作数存放在哪一个单元中 再根据这个地址获取操作数 这是取指令阶段 按操作码指明的操作类型对获取的操作数进行操作 也可称为运算 这是执行指令阶段 8 4 程序计数器 ProgramCounter简称PC 是一个16位的有自动加1功能的计数器 PC没有地址 是不可寻址的 因此用户不能对它进行读写 16位PC中的内容总是CPU将要执行的那条指令所存放的存储单元的首地址 在单片机复位时 PC中的内容为0000H 指向第1条要执行的指令的首地址 在CPU从存储单元取指令的过程中 每取1个字节的内容 程序计数器PC就自动加1 在取完这条指令后 PC中的内容就是下一条要执行的指令所存放的存储单元的首地址 5 在实际应用中 有时CPU还要执行程序的转移 子程序的调用和中断响应等操作 那时PC中的内容不再是上述情况中简单的加1 而是根据不同的情况自动地被置入或修改成新的目的地址 从而改变程序的执行顺序 9 2 2 3时钟电路时钟电路用于产生单片机工作所需要的时钟信号 时钟电路框图如图2 4所示 单片机芯片内部有一个高增益反向放大器 其输入引脚为XTAL1 输出引脚为XTAL2 芯片外部通过这两个引脚接晶体振荡器CYS和微调电容器C1 C2形成反馈电路 通常取值在20 30pF 构成稳定的自激振荡器 振荡频率范围通常是1 2MHz 12MHz 振荡脉冲经分频后再为系统所用 PD是PCON中的控制位 当PD 1时 振荡器停止工作 系统进入低功耗工作态 时钟发生器实质上是一个2分频的触发器 其输入来自振荡器 输出为2相时钟信号 即状态时钟信号 其频率为fosc 2 状态时钟3分频后为ALE信号 其频率为fosc 6 状态时钟6分频后为机器周期 其频率为fosc 12 OSC是osillator的缩写 10 我们也可以引入外部脉冲信号作为单片机的振荡脉冲 对于80C51单片机而言 这时外部脉冲信号是经XTAL1引脚注入 而XTAL2引脚悬空 对外部信号的占空比没有要求 但高低电平持续的时间不就短于20ns 这种方式常用于多块芯片同时工作 这样便于同步 如图2 5所示 11 2 2 4时序与时序定时单位所谓时序 是指在执行指令过程中 CPU的控制器所发出的一系列特定的控制信号在时间上的相互关系 1 拍节 振荡脉冲的周期 晶振周期 定义为拍节 用 P 表示 2 状态 振荡脉冲经过两分频后 就是单片机的时钟信号 把时钟信号的周期定义为状态 用 S 来表示 这样 一个状态包含两个拍节 前半周期为拍节1 P1 后半周期为拍节2 P2 3 机器周期 规定一个机器周期为6个状态 相当于12个拍节 即12个振荡脉冲的周期 可分别用S1 S6来表示状态 S1P1 S1P2 S2P1 S2P2 S6P2来表示拍节 4 指令周期 执行一条指令所需要的时间称之为指令周期 指令周期以机器周期的数目来表示 回上层目录 12 2 3MCS 51单片机的内部存储器 2 3 1MCS 51单片机系统的存储器结构及地址空间1 MCS 51单片机存储器可分为5类 片内程序存储器 片外程序存储器 片内数据存储器 特殊功能寄存器 片外数据存储器 2 MCS 51单片机存储器的地址空间可分为3个 在访问这3个不同的地址空间时 采用不同形式的指令 片内片外统一编址的64KB程序存储器地址空间 用16位地址 片内数据存储器与特殊功能寄存器统一编址的256字节内部数据存储器地址空间 用8位地址 64KB片外数据存储器地址空间 16位地址 13 图2 78C051单片机存储器地址空间 14 2 3 2MCS 51单片机的内部数据存储器80C51单片机的片内数据存储器共有128个字节 地址范围是00H 7FH 分成工作寄存器区 可位寻址区 通用RAM区三部分 如图2 8所示 15 1 工作寄存器区 地址范围在00H 1FH的32个字节 可分成4个工作寄存器组 每组占8个字节 具体划分如下 第0组工作寄存器 地址范围为00H 07H第1组工作寄存器 地址范围为08H 0FH第2组工作寄存器 地址范围为10H 17H第3组工作寄存器 地址范围为18H 1FH每个工作寄存器组都有8个寄存器 它们分别称为R0 R1 R2 R3 R4 R5 R6 R7 但在程序运行时 只允许有一个工作寄存器组工作 把这组工作寄存器称为当前工作寄存器组 所以每组之间不会因为名称相同而混淆出错 16 可通过对特殊功能寄存器中的程序状态字寄存器PSW的RS1 RS0的状态设置 来选择哪一组工作寄存器作为当前工作寄存器组 单片机复位时 当前工作寄存器默认为0组 17 2 位寻址区单片机片内RAM中20H 2FH地址范围中共16个字节单元称为位寻址区 该区的16个字节单元 既可作为一般的RAM使用 进行字节操作 也可以对单元中的每一位进行位操作 16个字节单元共128位 每位有位地址 地址范围是00H 07H 位寻址区中的每一位地址有两种表示形式 一是表中位地址形式 另一种是单元地址 位序形式 18 3 通用RAM区 单片机片内RAM中 30H 7FH的80个单元只能以存储单元的形式来使用没有其它任何规定或限制 所以称它为通用RAM区 19 2 3 3特殊功能寄存器 SpecialFunctionRegisters简称SFR 1 在8051单片机中设置了21个特殊功能寄存器 它们不连续地分布在地址为80H FFH的128个字节的存储空间中 2 在这21个SFR中 凡是字节地址能被8整除 即16进制的地址码尾数为0或8 的11个单元均具有位寻址能力 有效的位地址共有82个 3 82个有效位地址可用位地址 位符号 单元地址 位序和寄存器名 位序四种方法来表示 但一般是用位符号或寄存器名 位序来表示的 20 表2 3各特殊功能寄存器的符号及地址表 21 22 4 个特殊功能寄存器在各功能机构的分布 中央处理器 CPU A B PSW SP DPTR DPH DPL 并行口 P0 P1 P2 P3 串行口 SCON SBUF PCON 中断系统 IE IP 定时 计数器 TMOD TCON TH0 TL0 TH1 TL1 5 特殊功能寄存器A B PSW DPTR DPH DPL 介绍 PSW的各位的位符号及其意义 23 2 3 4堆栈及其存储特性 1 堆栈的概念堆栈是在单片机内部RAM中从某个选定的存储单元开始划定的一个地址连续的区域 这个区域本身没有任何特殊之处 它就是内部RAM的一部份 不同的是这个区域以选定的某个存储单元作为栈底 只允许向一个方向写入数据 最后一个写入数据的存储单元称为栈顶 2 堆栈的生成有两种情况 向高地址方向写入数据生成的堆栈称为向上生长型堆栈 反之称为向下生长型堆栈 MCS 51单片机属于向上生长型堆栈 即向高地址方向生成 24 3 数据写入堆栈为插入运算 PUSH 通常称为入栈 数据从堆栈中读出为删除运算 POP 通常称为出栈 按堆栈的规定 入栈和出栈只能在栈顶一端进行 4 MCS 51单片机中 用一个称为堆栈指针SP StackPointer 的特殊功能寄存器来给出栈顶存储单元的地址 堆栈指针SP中存储的总是堆栈栈顶存储单元的地址 即堆栈指针SP总是指向堆栈栈顶 5 向上生长型堆栈出栈入栈的操作原则是 先进后出 或 后进先出 入栈操作规则为 先SP中的内容加1 后写入数据 出栈操作规则为 先读出数据 后SP中的内容减1 25 6 系统复位后 SP中的内容为07H 在程序设计中 常用指令对SP的复位值进行修改 将堆栈开辟在通用RAM区 26 2 3 5内部程序存储器 1 MCS 51单片机系列有片内有程序存储器和片内无程序存储器之分 片内存储器的容量大小也有所不同 8051单片机片内设置有4K字节的掩膜型ROM 其地址范围为0000H 0FFFH 若片外扩展程序存储器 其地址范围为1000H FFFFH 27 2 程序存储器的0000H 002AH共43个单元用作存储特定程序的入口地址 0000H 0002H这3个单元是系统的启动单元 0003H 002AH共40个单元是中断服务程序地址区 它被分为五段 每段8个单元 分别分配给5个中断源 0003H 000AH外部中断0中断服务程序地址区 000BH OO12H定时 计数器0中断服务程序地址区 0013H 001AH外部中断1中断服务程序地址区 001BH 0022H定时 计数器1中断服务程序地址区 0023H 002AH串行口中断服务程序地址区 回上层目录 28 2 4MCS 51单片机并行输入 输出口 2 4 1端口的功能80C51单片机有4个8位的双向并行输入 输出 I O 端口 称为P0口 P1口 P2口和P3口 1 P0口是一个双功能的8位并行I O口 字节地址为80H 位地址为80H 87H 可作输入 输出端口使用 又可作地址 数据总线分时传输低8位地址和8位数据 2 P1口是单一功能的并行I O口 字节地址为90H 位地址为90H 97H 它只用作通用的数据输入 输出口 29 3 P2口是一个双功能的8位并行I O口 字节地址为80H 位地址为A0H A7H 可作通用的输入 输出口用 又可用作高8位地址总线 4 P3口是一个双功能的8位并行I O口 字节地址为B0H 位地址为B0H B7H 它的第一功能是通用输入 输出口 作第二功能用时 各引脚定义如下 P3 0 RXD 串行口输入 P3 1 TXD 串行口输出 P3 2 外部中断0输入 P3 3 外部中断1输入 P3 4 T0 定时 计数器0外部计数脉冲输入 P3 5 T1 定时 计数器1外部计数脉冲输入 P3 6 片外数据存储器写选通信号输出 P3 7 片外数据存储器读选通信号输出 30 2 4 2端口的内部结构与运作 1 P0口2 P1口3 P2口4 P3口 31 结构与运作图2 10画出了P0口的某位P0 X X 0 1 6 7 的结构图 P0口的位电路结构由以下几个部分组成 1个输出锁存器 用于进行输出数据的锁存 2个三态输入缓冲器 分别用于锁存器和引脚数据的输入缓冲 1个多路开关MUX 它的一个输入来自锁存器 另一个输入是地址 数据信号的反相输出 在控制信号的的控制下能实现对锁存器输出端和地址 数据线之间的切换 由两只场效应管组成的输出驱动电路 32 P0口的特点P0口是一个双功能的端口 地址 数据分时复用口和通用I O口 具有高电平 低电平和高阻抗3种状态的I O端口称为双向I O端口 P0口作地址 数据总线复用口时 相当于一个真正的双向I O口 而用作通用I O口时 由于引脚上需要外接上拉电阻 端口不存在高阻 悬空 状态 此时P0口只是一个准双向口 为保证引脚上的信号能正确读入 在读入操作前应首先向锁存器写1 单片机复位后 锁存器自动被置1 一般情况下 如果P0口已作为地址 数据复用口时 就不能再用作通用I O口使用 P0口能驱动8个TTL负载 回上层目录 33 结构与运作P1口的位结构如图2 11所示 P1口是一个准双向口 只作通用输入 输出口使用 除了无多路开关MUX之外 其输出驱动部分也与P0口不同P1口的位电路结构由以下几个部分组成 一个数据输出锁存器 用于输出数据的锁存 两个三态输入缓冲器 BUF1用于读锁存器 BUF2用于读引脚 数据输出驱动电路 由场效应管VT和片内上拉电阻R组成 34 P1口的特点P1口由于有内部上拉电阻 没有高阻抗输入状态 所以称为准双向口 作为输出口时 不需要再在片外拉接上拉电阻 P1口读引脚输入时 必须先向锁存器写入1 其原理与P0口相同 P1口能驱动4个TTL负载 回上层目录 35 结构与运作从图2 12中可见 P2口的位结构比P1口多了一个多路开关MUX P2口的位电路结构由以下几个部分组成 一个数据输出锁存器 用于输出数据的锁存 两个三态输入缓冲器 BUF1用于读锁存器 BUF2用于读引脚 一个多路开关MUX 它的一个输入来自锁存器的Q端 另一个输入来自内部地址的高8位 数据输出驱动电路由非门M 场效应管VT和片内上拉电阻R组成 36 P2口的特点P2口用作高8位地址输出线应用时 与P0口输出的低8位地址一起构成16位的地址总线 可以寻址64KB地址空间 当P2口作高8位地址输出口时 其输出锁存器原锁存的内容保持不变 作为通用I O口使用时 P2口为准双向口 功能与P1口一样 P2口能驱动4个TTL负载 回上层目录 37 结构组成P3口是双功能8位输入 输出口 内部结构中增加了第二输入 输出功能 如图2 13所示 P3口的位电路结构由以下几个部分组成 一个数据输出锁存器 用于输出数据的锁存 3个三态输入缓冲器 BUF1用于读锁存器 BUF2 BUF3用于读引脚和第二功能数据的缓冲输入 数据输出驱动电路 由与非门M 场效应管VT和片内上拉电阻R组成 38 P3口的特点P3口内部有上拉电阻 不存在高阻输入状态 是一个准双向口 P3口作第二功能的输出 输入或作通用输入时 均需将相应的锁存器置1 实际应用中 由于复位后P3口锁存器自动置1 已满足第二功能运作条件 所以可以直接进行第二功能操作 P3口的某位不作为第二功能使用时 则自动处于通用输出 输入口功能 可作为通用输出 输入口使用 作通用输出 输入口使用时 输入信号取自缓冲器BUF2的输出端 作第二功能使用时 输入信号取自缓冲器BUF3的输出端 P3口能驱动4个TTL负载 回上层目录 39 2 5MCS 51单片机的复位 2 5 1复位电路复位操作通常有两种基本形式 上电自动复位 手动按键复位 如图2 14所示 上电自动复位操作要求接通电源后自动实现复位操作 如下左图所示 手动按键复位要求在电源接通的条件下 在单片机运行期间 用按钮开关操作使单片机复位 如下右图所示 在8C051单片机的RST引脚上输入高电平并至少保持两个机器周期 即24个振荡周期 以上时 复位过程即可完成 如果RST引脚持续保持高电平 单片机就处于循环复位状态 40 复位电路 41 2 5 2单片机的复位状态 1 程序计数器PC初始化为0000H 使单片机从OOOOH单元开始执行程序 在运行中 当单片机的程序受外界因素干扰陷入死循环或跑飞时 为摆脱困境 可将单片机复位 重新启动 2 复位也可使单片机退出低功耗工作方式而进入正常工作状态 42 3 单片机复位后 P0 P3的端口锁存器被设置成FFH 堆栈指针SP设置成07H 串行口的S

温馨提示

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

评论

0/150

提交评论