单片机的硬件结构及原理章.ppt

上传人:sh****n 文档编号:6352929 上传时间:2020-02-23 格式:PPT 页数:77 大小:1.49MB
返回 下载 相关 举报
单片机的硬件结构及原理章.ppt_第1页
第1页 / 共77页
单片机的硬件结构及原理章.ppt_第2页
第2页 / 共77页
单片机的硬件结构及原理章.ppt_第3页
第3页 / 共77页
点击查看更多>>
资源描述
单片机与嵌入式系统 主讲 梁德胜联系方式 dsliang 办公地点 教五楼408室 2020年2月23日星期日 2 2 1MCS 51系列概述 MCS 51是Intel公司生产的一个单片机系列名称 按资源的配置数量 MCS 51系列又分为51和52两个子系列 并以芯片型号的最末位数字作为标志 其中 51子系列是基本型 而52子系列则属增强型 8051 8751 8031 8052 8752 8032 80C51 87C51 80C31 80C52 87C52 80C32等 第2章MCS 51单片机结构 51和C51的区别是制造工艺的不同 51中各个类型的区别主要在于ROM的种类和有无分 2020年2月23日星期日 3 MCS 51系列单片机分类表 2020年2月23日星期日 4 52子系列功能增强的具体方面表现在 1 片内ROM从4KB增加到8KB 2 片内RAM从128B增加到256B 3 定时 计数器从2个增加到3个 4 中断源从5个增加到6个 2020年2月23日星期日 5 无ROM 即ROMLess 型 应用时要在片外扩展程序存储器 掩膜ROM 即MaskROM 型 用户程序由芯片生产厂写入 EPROM型 用户程序通过写入装置写入 通过紫外线照射擦除 FlashROM型 用户程序可以电写入或擦除 当前常用方式 片内ROM存储器配置形式 2020年2月23日星期日 6 2 1 1引脚信号图为MCS 51系列单片机引脚图及逻辑符号 它们为标准的40脚DIP Dualln linePackage 双列直插式封装 封装 2020年2月23日星期日 7 2020年2月23日星期日 8 2020年2月23日星期日 9 电源引脚Vcc和VssVcc 电源端 接 5V Vss 接地端 时钟电路引脚XTAL1和XTAL2XTAL1 接外部晶振和微调电容的一端 在片内它是振荡器倒相放大器的输入 若使用外部TTL时钟时 该引脚必须接地 XTAL2 接外部晶振和微调电容的另一端 在片内它是振荡器倒相放大器的输出 若使用外部TTL时钟时 该引脚为外部时钟的输入端 地址锁存允许ALE PROG系统扩展时 ALE用于控制地址锁存器锁存P0口输出的低8位地址 从而实现数据与低位地址的复用 对于EPROM单片机 在EPROM编程期间PROG接收编程脉冲 2020年2月23日星期日 10 外部程序存储器读选通信号PSEN是读外部程序存储器的选通信号 低电平有效 程序存储器地址允许输入端EA VPP当EA为高电平时 CPU执行片内程序存储器指令 但当PC中的值超过0FFFH时 将自动转向执行片外程序存储器指令 当EA为低电平时 CPU只执行片外程序存储器指令 对于EPROM单片机 在EPROM编程期间VPP引脚加21V电源 复位信号RST VPD该RST信号高电平有效 在输入端保持两个机器周期的高电平后 就可以完成复位操作 VCC掉电期间 此VPD引脚接备用电源 2020年2月23日星期日 11 1 输入 输出口引脚P0 P1 P2和P3P0口 P0 0 P0 7 该端口为漏极开路的8位准双向口 它为8位地址线和8位数据线的复用端口 P1口 P1 0 P1 7 它是一个内部带上拉电阻的8位准双向I O口 P2口 P2 0 P2 7 它为一个内部带上拉电阻的8位准双向I O口 在访问外部程序存储器时 它作存储器的高8位地址线 P3口 P3 0 P3 7 P3口同样是内部带上拉电阻的8位准双向I O口 P3口除了作为一般的I O口使用之外 其还具有特殊功能 2020年2月23日星期日 12 2 1 2MCS 51单片机的片外总线结构 MCS 51片外总线结构示意图 2020年2月23日星期日 13 MCS 51单片机采用三总线结构 1 地址总线 AB 地址总线宽度为16位 由P0口经地址锁存器提供低8位地址 A0 A7 P2口直接提供高8位地址 A8 A15 2 数据总线 DB 数据总线宽度为8位 用于传送数据和指令 由P0口提供 3 控制总线 CB 控制总线随时掌握各种部件的状态 并根据需要向有关部件发出命令 2 2MCS 51单片机内部MCS 51单片机的系统结构框图如图所示 2020年2月23日星期日 15 MCS 51单片机内部主要包含下列几个部件 u一个8位CPU u一个时钟电路 u4Kbyte程序存储器 u128byte数据存储器 u两个16位定时 计数器 u64Kbyte扩展总线控制电路 u四个8 bit并行I O端口 u一个可编程串行接口 五个中断源 其中包括两个优先级嵌套中断 2020年2月23日星期日 16 MCS 51单片机芯片内部结构框图 2020年2月23日星期日 17 1 CPUCPU即中央处理器的简称 是单片机的核心部件 它完成各种运算和控制操作 CPU由运算器和控制器两部分电路组成 1 运算器电路运算器电路包括ALU 算术逻辑单元 ACC 累加器 B寄存器 状态寄存器 暂存器1和暂存器2等部件 运算器的功能是进行算术运算和逻辑运算 还具有位处理器 2 控制器电路控制器电路包括程序计数器PC PC加1寄存器 指令寄存器 指令译码器 数据指针DPTR 堆栈指针SP 缓冲器以及定时与控制电路等 控制电路完成指挥控制工作 协调单片机各部分正常工作 2020年2月23日星期日 18 2 定时器 计数器MCS 51单片机片内有两个16位的定时 计数器 即定时器0和定时器1 它们可以用于定时控制 延时以及对外部事件的计数和检测等 3 存储器MCS 51系列单片机的存储器包括数据存储器和程序存储器 其主要特点是程序存储器和数据存储器的寻址空间是相互独立的 物理结构也不相同 内部ROM容量4K字节 000H 0FFFH 内部RAM容量128字节 00H 7FH 2020年2月23日星期日 19 并行I O口MCS 51单片机共有4个8位的I O口 P0 P1 P2和P3 每一条I O线都能独立地用作输入或输出 P0口为三态双向口 能带8个TTL门电路 P1 P2和P3口为准双向口 负载能力为4个TTL门电路 5 串行I O口MCS 51单片机具有一个采用通用异步工作方式的全双工串行通信接口 可以同时发送和接收数据 6 中断控制系统8051共有5个中断源 即外中断2个 定时 计数中断2个 串行中断1个 2020年2月23日星期日 20 7 时钟电路MCS 51芯片内部有时钟电路 但晶体振荡器和微调电容必须外接 时钟电路为单片机产生时钟脉冲序列 振荡器的频率范围为1 2MHz 12MHz 典型取值为6MHz 8 总线以上所有组成部分都是通过总线连接起来 从而构成一个完整的单片机 系统的地址信号 数据信号和控制信号都是通过总线传送的 总线结构减少了单片机的连线和引脚 提高了集成度和可靠性 2 3MCS 51的输入 输出 I O 口 一 P0口的结构 P0口的一位逻辑结构图 它由一个锁存器 两个三态输入缓冲器 一个多路复用开关以及控制电路和驱动电路等组成 通用I O必须外接上拉电阻 为什么要加锁存器 输入为什么要用三态 2020年2月23日星期日 22 1 P0用作通用I O口 当系统不进行片外的ROM扩展 也不进行片外RAM扩展时 P0用作通用I O口 在这种情况下 单片机硬件自动使控制C 0 MUX开关接向锁存器的反相输出端 另外 与门输出的 0 使输出驱动器的上拉场效应管T1处于截止状态 因此 输出驱动级工作在需外接上拉电阻的漏极开路方式 2020年2月23日星期日 23 作输出口时 CPU执行口的输出指令 内部数据总线上的数据在 写锁存器 信号CP的作用下由D端进入锁存器 经锁存器的反向端送至场效应管T2 再经T2反向 在P0 X引脚出现的数据正好是内部总线的数据 作输入口时 数据可以读自口的锁存器 也可以读自口的引脚 这要根据输入操作采用的是 读锁存器 指令还是 读引脚 指令来决定 2020年2月23日星期日 24 CPU在执行 读 修改 写 类输入指令时 如 ANLP0 A 内部产生的 读锁存器 操作信号 使锁存器Q端数据进入内部数据总线 在与累加器A进行逻辑运算之后 结果又送回P0的口锁存器并出现在引脚 读口锁存器可以避免因外部电路原因使原口引脚的状态发生变化造成的误读 2020年2月23日星期日 25 CPU在执行 MOV 类输入指令时 如 MOVA P0 内部产生的操作信号是 读引脚 注意 在执行该类输入指令前要先把锁存器写入 1 使场效应管T2截止 使引脚处于悬浮状态 可以作为高阻抗输入 否则 在作为输入方式之前曾向锁存器输出过 0 则T2导通会使引脚箝位在 0 电平 使输入高电平 1 无法读入 所以 P0口在作为通用I O口时 属于准双向口 2020年2月23日星期日 26 2 P0用作地址 数据总线 当系统进行片外的ROM扩展或进行片外RAM扩展 P0用作地址 数据总线 在这种情况下 单片机内硬件自动使C 1 MUX开关接向反相器的输出端 这时与门的输出由地址 数据线的状态决定 2020年2月23日星期日 27 CPU在执行输出指令时 低8位地址信息和数据信息分时地出现在地址 数据总线上 P0 X引脚的状态与地址 数据线的信息相同 CPU在执行输入指令时 首先低8位地址信息出现在地址 数据总线上 P0 X引脚的状态与地址 数据总线的地址信息相同 然后 CPU自动地使转换开关MUX拨向锁存器 并向P0口写入FFH 同时 读引脚 信号有效 数据经缓冲器进入内部数据总线 可见 P0口作为地址 数据总线使用时是一个真正的双向口 二 P2口的结构 P2口位结构图 P2口是一个8位准双向I O口 具有两种功能 一是作通用I O口用 与P1口相似 二是作扩展系统的高8位地址总线 输出高8位地址 与P0口一起组成16位地址总线 2020年2月23日星期日 29 1 P2用作通用I O口 CPU在执行输出指令时 内部数据总线的数据在 写锁存器 信号的作用下由D端进入锁存器 经反相器反相后送至场效应管T 再经T反相 在P2 X引脚出现的数据正好是内部总线的数据 P2口用作输入时 数据可以读自口的锁存器 也可以读自口的引脚 这要根据输入操作采用的是 读锁存器 指令还是 读引脚 指令来决定 2020年2月23日星期日 30 CPU在执行 读 修改 写 类输入指令时 如 ANLP2 A 内部产生的 读锁存器 操作信号使锁存器Q端数据进入内部数据总线 在与累加器A进行逻辑运算之后 结果又送回P2的口锁存器并出现在引脚 CPU在执行 MOV 类输入指令时 如MOVA P2 内部产生的操作信号是 读引脚 应在执行输入指令前要把锁存器写入 1 从而使引脚处高阻抗输入状态 所以 P2口在作为通用I O口时 属于准双向口 2020年2月23日星期日 31 2 P2用作地址总线 单片机内硬件使控制C 1 MUX开关接向地址线 这时P2 X引脚的状态正好与地址线的信息相同 三 P1口的结构 P1口的位结构 P1口是一个专用的8位准双向I O口 只具有通用输入 输出口功能 每一位都能设定为输入或输出 2020年2月23日星期日 33 由图可见 P1口由一个输出锁存器 两个三态输入缓冲器和输出驱动电路组成 输出驱动电路与P2口相同 内部设有上拉电阻 P1口是通用的准双向I O口 输出高电平时 不必再接上拉电阻 当口用作输入时 须向口锁存器写入1 四 P3口的结构 P3口是一个8位准双向I O口 除具有与P1口同样的功能 即可以作通用I O口使用 外 还具有第二功能 2020年2月23日星期日 35 1 P3用作第一功能的通用I O口 当P3口做通用I O口使用时 单片机内部的硬件自动将第二功能输出线的W 1 作为输出时 锁存器的状态 Q端 与输出引脚的状态相同 作为输入时 也要先向口锁存器写入1 使引脚处于高阻输入状态 输入的数据在 读引脚 信号的作用下 进入内部数据总线 P3口在作为通用I O口时 也属于准双向口 2020年2月23日星期日 36 2 P3用作第二功能使用 P3口作为第二功能使用时 内部硬件自动将口锁存器的Q端置1 这时 P3 0 RXD 串行口输入 P3 1 TXD 串行口输出 P3 2 外部中断0输入 P3 3 外部中断1输入 P3 4 T0 定时器0的外部输入 P3 5 T1 定时器1的外部输出 P3 6 片外数据存储器 写 选通控制输出 P3 7 片外数据存储器 读 选通控制输出 2020年2月23日星期日 37 2 4单片机的时钟电路和时序 1 单片机时钟电路通常有两种形式 1 内部振荡方式 MCS 51单片机片内有一个用于构成振荡器的高增益反相放大器 引脚XTAL1和XTAL2分别是此放大器的输入端和输出端 把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接 就构成了内部自激振荡器并产生振荡时钟脉冲 2 外部振荡方式 外部振荡方式就是把外部已有的时钟信号引入单片机内 a 内部方式时钟电路 b 外接时钟电路 2020年2月23日星期日 39 2 指令时序 1 振荡周期振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期 2 时钟周期时钟周期是振荡周期的两倍 是对振荡器2分频的信号 又称状态周期 用S来表示 一个时钟周期分为两个节拍 P1和P2节拍 P1节拍通常完成算术逻辑操作 P2节拍通常完成内部寄存器间数据的传递 2020年2月23日星期日 40 3 机器周期一个机器周期由6个状态组成 即S1 S6 如果把一条指令的执行过程分作几个基本操作 则将完成一个基本操作所需的时间称作机器周期 单片机的单周期指令执行时间就为一个机器周期 2020年2月23日星期日 41 4 指令周期指令周期即执行一条指令所占用的全部时间 MCS 51单片机的指令周期通常为1 4个机器周期 一个机器周期包含12个晶荡周期或6个时钟周期 指令的执行时间称作指令周期 单 双 四周期 2020年2月23日星期日 42 若MCS 51单片机外接晶振为12MHz时 则单片机的四个周期的具体值为 振荡周期时钟周期机器周期指令周期 1 12MHz 1 12 s 0 0833 s 1 6 s 0 167 s 1 s 1 4 s 2020年2月23日星期日 43 取指和执行时序 2020年2月23日星期日 44 2 5单片机复位电路及复位状态 1 复位及复位电路复位目的是使单片机或系统中的其它部件处于某种确定的初始状态 RST引脚是复位信号输入端 复位信号为高电平有效 其有效时间应至少持续两个机器周期 24个振荡周期 以上才能完成复位操作 CPU在第二个机器周期内执行内部复位操作 以后每个机器周期重复一次 直至RST端电平变低 在单片机复位期间 AlE和PSEN信号都不产生 复位操作将对部分专用寄存器产生影响 2020年2月23日星期日 45 单片机复位电路包括片内 片外两部分 外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的 MCS 51单片机通常采用上电自动复位和按键手动复位两种方式 在通电瞬间 由于RC的充电过程 在RST端出现一定宽度的正脉冲 只要该正脉冲保持10ms以上 就能使单片机自动复位 在6MHz时钟时 通常C1取22 F R2取200 R1取1K 这时能可靠的实现上电复位和手动复位 2020年2月23日星期日 46 上电复位电路按键与上电复位 2020年2月23日星期日 47 复位后 PC 0000H 所以程序从0000H地址单元开始执行 启动后 片内RAM为随机值 运行中的复位操作不改变片内RAM的内容 特殊功能寄存器复位后的状态是确定的 P0 P3 FFH 各口可用于输出 也可用于输入 SP 07H 第一个入栈内容将写入08H单元 IP IE和PCON的有效位为0 各中断源处于低优先级且均被关断 串行通讯的波特率不加倍 PSW 00H 当前工作寄存器为0组 2 单片机复位后的状态 单片机运行出错或进入死循环时 可按复位键重新运行 21个特殊功能寄存器复位后的状态为确定值 2020年2月23日星期日 48 单片机复位后特殊功能寄存器的状态 2020年2月23日星期日 49 2 6单片机的低功耗方式对于MCS 51系列机型来说 它们有待机方式和掉电保护方式两种低功耗方式 通过设置电源控制寄存器PCON的相关位可以确定当前的低功耗方式 PCON寄存器格式如下 其中SMOD 波特率倍增位GF0 GF1 通用标志位PD 掉电方式位 PD 1为掉电方式IDL 待机方式位 IDL 1为待机方式 2020年2月23日星期日 50 1 待机方式将PCON寄存器的IDL位置 1 单片机则进入待机方式 通常在待机方式下 单片机的中断仍然可以使用 这样可以通过中断触发方式退出待机模式 2 掉电保护方式将PCON寄存器的PD位置 1 单片机则进入掉电保护方式 如果单片机检测到电源电压过低 此时除进行信息保护外 还需将PD位被置 1 使单片机进入掉电保护方式 2020年2月23日星期日 51 2 7MCS C51存储器 MCS 51存储器分成两大类 RAM CPU在运行时能随时进行数据的写入和读出 但在关闭电源时 其所存储的信息将丢失 它用来存放暂时性的输入输出数据 运算的中间结果或用作堆栈 ROM 一种写入信息后不易改写的存储器 断电后 ROM中的信息保留不变 用来存放固定的程序或数据 如系统监控程序 常数表格等 2020年2月23日星期日 52 2 7 1程序存储器在MCS 51系列中 程序存储器包括片内和片外程序存储器两个部分 其主要用来存放编好的用户程序和表格常数 它以16位的程序计数器PC作为地址指针 故寻址空间为64KB 在8051中 其片内有4K字节的ROM存储单元 地址为0000H 0FFFH 8751有4K字节的EPROM 而8052和8752则有8K字节的片内存储器 8031和8032无片内程序存储器 所以片内程序存储器的有无是区分芯片的主要标志 2020年2月23日星期日 53 0000H 单片机复位后 PC 0000H 程序从0000H开始执行指令 0003H 外部中断0入口地址 000BH 定时器0中断入口地址 0013H 外部中断1入口地址 001BH 定时器1中断入口地址 0023H 串行口中断入口地址 在系统中断响应之后 将自动转到各中断入口地址处执行程序 而中断服务程序一般无法存放于几个单元之内 因此在中断入口地址处往往存放一条无条件转移指令进行跳转 以便执行中断服务程序 在程序存储器中 以下6个单元具有特殊含义 2 7 2MCS C51的程序存储器配置 程序存储器 ROM 2020年2月23日星期日 55 程序存储器 ROM 2020年2月23日星期日 56 对于8051和8751除了片内的4K字节的程序存储器外 片外还有16位地址扩展总线扩展64K字节的程序存储器 两者统一进行编址 当EA端接 1 时 片内程序存储器占用0000H 0FFFH 故外部程序存储器寻址范围为1000H FFFFH 当EA端接 0 时 MCS 51单片机均从片外存储器取指 这时片外程序存储器可以从0000H开始编址 对于8031和8032由于无片内程序存储器 它们的EA端必须接 0 2 7 3MCS C51的数据存储器配置 对于8051单片机 其内部共有256个数据存储器单元 其中低128字节 00H 7FH 为真正的用户RAM区 其高128字节 80H FFH 为特殊功能寄存器区 内部数据存储器 RAM 外部数据存储器 RAM 2020年2月23日星期日 58 片内RAM详图 2020年2月23日星期日 59 在低128字节存储单元中 前32个单元 00H 1FH 作为工作寄存器使用 这32个寄存器分作4组 每组由8个通用寄存器 R0 R7 组成 组号依次为0 1 2和3 通过对程序状态字中RS1和RS0的设置 可以决定选用哪一组工作寄存器 通常没有选中的单元也可作为一般的数据缓存使用 系统上电复位时 默认选中第0组寄存器 一 工作寄存器区 低端32个字节分成4个工作寄存器组 每组8个单元 PSW的RS1 RS0决定当前工作寄存器组号寄存器0组 地址00H 07H 寄存器1组 地址08H 0FH 寄存器2组 地址10H 17H 寄存器3组 地址18H 1FH 2020年2月23日星期日 61 二 位寻址区 在工作寄存器后的16个数据单元 20H 2FH 它们既可以作为一般的数据单元使用 也可以按位对每个单元进行操作 因此这16个数据单元又称作位寻址区 位寻址区共计128位 其位地址为00H 7FH 如何区分访问的是位地址还是字节地址 2020年2月23日星期日 62 2020年2月23日星期日 63 三 通用RAM区 位寻址区之后的30H至7FH共80个字节为通用RAM区 这些单元可以作为数据缓冲器使用 这一区域的操作指令非常丰富 数据处理方便灵活 在实际应用中 常需在RAM区设置堆栈 80C51的堆栈一般设在30H 7FH的范围内 栈顶的位置由SP寄存器指示 复位时SP的初值为07H 在系统初始化时可以重新设置 如 MOVSP 30H 2020年2月23日星期日 64 内部数据存储器的高128个单元是为专用寄存器提供的 因此该区也称作特殊功能寄存器区 SFR 它们主要用于存放控制命令 状态或数据 除去程序计数器PC外 还有21个特殊功能寄存器 其地址空间为80H FFH 这21个寄存器中有11个特殊功能寄存器具有位寻址能力 它们的字节地址刚好能被8整除 下面将对部分专用寄存器作简要介绍 四 特殊功能寄存器区 SFR 2020年2月23日星期日 65 与运算器相关3个ACCBPSW 与定时 计数器相关6个TH0 TL0TH1 TL1TMODTCON 指针类3个SPDPH DPL 与口相关7个P0 P1 P2 P3SBUFSCONPCON 与中断相关2个IEIP 2020年2月23日星期日 66 MCS 51特殊功能寄存器一览表 可位寻址的特殊功能寄存器 2020年2月23日星期日 67 特殊功能寄存器地址及功能表 2020年2月23日星期日 68 1 累加器ACC累加器为8位寄存器 是程序中最常用的专用寄存器 在指令系统中累加器的助记符为A 大部分单操作数指令的操作取自累加器 很多双操作数指令的一个操作数也取自累加器 加 减乘和除等算术运算指令的运算结果都存放在累加器A或AB寄存器中 在变址寻址方式中累加器被作为变址寄存器使用 在MCS 51中由于只有一个累加器 而单片机中的大部分数据操作都是通过累加器进行的 故累加器的使用是十分频繁的 2020年2月23日星期日 69 2 B寄存器B寄存器为8位寄存器 主要用于乘除指令中 乘法指令的两个操作数分别取自累加器A和寄存器B 其中B为乘数 乘法结果的高8位存放于寄存器B中 除法指令中 被除数取自A 除数取自B 除法的结果商数存放于A 余数存放于B中 在其它指令中 B寄存器也可作为一般的数据单元来使用 2020年2月23日星期日 70 程序状态字是一个8位寄存器 它包含程序的状态信息 在状态字中 有些位状态是根据指令执行结果 由硬件自动完成设置的 而有些状态位则必须通过软件方法设定 PSW中的每个状态位都可由软件读出 3 程序状态字PSW 程序状态字PSW的各状态位定义 P OV RS0 RS1 F0 AC CY 位标志 PSW 0 PSW 1 PSW 2 PSW 3 PSW 4 PSW 5 PSW 6 PSW 7 位序 2020年2月23日星期日 71 1 CY 进位标志位在执行某些算术和逻辑指令时 可以被硬件或软件置位或清零 在算术运算中它可作为进位标志 在位运算中 它作累加器使用 在位传送 位与和位或等位操作中 都要使用进位标志位 2 AC 辅助进位标志进行加法或减法操作时 当发生低四位向高四位进位或借位时 AC由硬件置位 否则AC位被置 0 在进行十进制调整指令时 将借助AC状态进行判断 3 用户标志位F0该位为用户定义的状态标记 用户根据需要用软件对其置位或清零 也可以用软件测试F0来控制程序的跳转 4 RS1和RS0 寄存器区选择控制位该两位通过软件置 0 或 1 来选择当前工作寄存器区 2020年2月23日星期日 72 5 OV 溢出标志位当执行算术指令时 由硬件置位或清零来指示溢出状态 在带符号的加减运算中 OV 1表示加减运算结果超出了累加器A所能表示的符号数有效范围 128 127 即运算结果是错误的 反之 OV 0表示运算正确 即无溢出产生 无符号数乘法指令MUL的执行结果也会影响溢出标志 若置于累加器A和寄存器B的两个数的乘积超过了255 则OV 1 反之OV 0 由于乘积的高8位存放于B中 低8位存放于A中 OV 0则意味着只要从A中取得乘积即可 否则要从BA寄存器对中取得乘积结果 在除法运算中 DIV指令也会影响溢出标志 当除数为0时 OV 1 否则OV 0 6 P 奇偶标志位每个指令周期由硬件来置位或清零用以表示累加器A中1的个数的奇偶性 若累加器中1的个数为奇数则P 1 否则P 0 2020年2月23日星期日 73 4 堆栈指针SP 8位 它总是指向栈顶 51单片机的堆栈常设在30H 7FH这一段RAM中 堆栈操作遵循 后进先出 的原则 入栈操作时 SP先加1 数据再压入SP指向的单元 出栈操作时 先将SP指向的单元的数据弹出 然后 SP再减1 这时SP指向的单元是新的栈顶 可见 51单片机的堆栈区是向地址增大的方向生成的 MOVSP 30HPUSH 08H 30H 31H POPA A 31H 2020年2月23日星期日 74 5 数据指针DPTR数据指针DPTR为一个16位的专用寄存器 其高位用DPH表示 其低位用DPL表示 它即既可以作为一个16位的寄存器来使用 也可作为两个8位的的寄存器DPH和DPL使用 DPTR在访问外部数据存储器时既可用来存放16位地址 也可作地址指针使用 间接寻址或变址寻址可访问片外的64KB范围的RAM或ROM数据 如MOVX DPTR AMOVDPTR 1642 6 I O端口P0 P3 P0 P3为四个8位的特殊功能寄存器 分别是四个并行I O端口的锁存器 当I O端口的某一位用作输入时 对应的锁存器必须先置 1 2020年2月23日星期日 75 7 定时器 计数器在MCS 51中 除8032 8052外都只有两个16位定时器 计数器T0和T1 它们由两个相互独立的8位寄存器组成TH和TL 共有四个独立的寄存器TH0 TL0 TH1和TL1 只可对这四个寄存器独立寻址 而不能作为一个16位寄存器来寻址 8 串行数据缓冲寄存器串行数据缓冲器SBUF用于存放将要发送或已接收的数据 它由发送缓冲器和接收缓冲器组成 将要发送的数据被送入SBUF时进入发送缓冲器 反之进入接收缓冲器 2020年2月23日星期日 76 9 其他控制寄存器 中断允许控制寄存器IE 中断优先级控制寄存器IP 定时 计数器的工作方式寄存器TMOD 定时 计数器的控制寄存器TCON串行口控制寄存器SCON 串行通讯波特率倍增寄存器PCON 一些位还与电源控制相关 所以又称为电源控制寄存器 2020年2月23日星期日 77 五 外部数据存储器外部数据存储器又称外部RAM 当片内RAM不能满足数量上的要求时 可通过总线端口和其他I O口扩展外部数据RAM 其最大容量可达64K字节 在片外数据存储器中 数据区和扩展的I O口是统一编址的 使用的指令也完全相同 因此 用户在应用系统设计时 必须合理地进行外部RAM和I O端口的地址分配 并保证译码的唯一性 在8051单片机中采用MOV和MOVX两种指令来区分片内外RAM空间 其中片内RAM使用MOV指令 片外RAM和I O口使用MOVX指令
展开阅读全文
相关资源
相关搜索

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


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

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


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