




已阅读5页,还剩104页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机原理及应用 2 第2章MCS 51单片机基本结构 2 1引脚及功能2 2结构及组成2 3存储器结构2 4并行I O口电路2 5时钟电路与时序2 6工作方式 3 a 管脚图 b 引脚功能分类 MCS 51系列单片机芯片引脚 4 a 引脚排列 b 逻辑符号 80C51单片机芯片引脚 5 2 1MCS 51系列单片机芯片引脚及其功能80C51是标准的40引脚双列直插封装 DIP 集成电路芯片1 主电源和时钟振荡电路引脚VCC 40脚 运行和程序校验时接 5V电源VSS 20脚 地线XTAL1 19脚 用作晶体振荡电路的反相器输入端 内部接至振荡器的反相放大器 当采用外部时钟时 对于HMOS单片机 该引脚接地 对于CHMOS单片机 该引脚作为外部振荡信号的输入端 XTAL2 18脚 用作晶体振荡电路的反相器输出端 内部接至时钟发生器 当采用外部时钟时 对于HMOS单片机 该引脚接收振荡器信号 对于CHMOS单片机 该引脚悬浮 6 2 输入 输出 I O 引脚P0 0 P0 7 39脚 32脚 8位漏极开路的双向I O口当使用片外ROM和RAM时 用作低8位地址和数据分时复用 P1 0 P1 7 1脚 8脚 8位带上拉电阻的准双向I O口在编程 校验期间 用作输入低8位地址 对于8052 P1 0是定时器T2的计数输入端 P1 1是定时器T2的外部输入端 P2 0 P2 7 21脚 28脚 8位带上拉电阻的准双向I O口当使用片外ROM和RAM时 输出高8位地址 P3 0 P3 7 10脚 17脚 8位带上拉电阻的准双向I O口P3口具有第二功能 在单片机中 口 是一个集数据输入缓冲 输出驱动及锁存等多项功能于一体的I O电路 7 P3口的第二功能 8 3 控制信号引脚RST VPD 9引脚 RST为复位信号输入端 当RST端保持2个机器周期以上高电平时 单片机完成复位操作 第二功能VPD为内部RAM的备用电源输入端 当主电源VCC发生断电 降到一定电压值时 可通过VPD为单片机内部RAM提供电源 以保护片内RAM中的信息不丢失 上电后能继续正常运行 ALE PROG 30引脚 ALE为地址锁存允许信号在系统扩展时 ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来 以实现低8位地址和数据的分时传送 由于ALE是以1 6晶振频率的固定频率输出的正脉冲 故可作为外部时钟或外部定时脉冲使用 ALE可驱动8个LSTTL门 第二功能PROG是对8751内部EPROM编程时的编程脉冲输入端 9 PSEN 29引脚 外部程序存储器 ROM 读选通信号访问外部ROM时 PSEN产生负脉冲作为外部ROM选通信号 访问外部RAM或内部ROM时 不会产生有效的PSEN信号 PSEN可驱动8个LSTTL门 EA VPP 31引脚 EA为访问程序存储器 ROM 控制信号对8051和8751 它们的片内有4KB的ROM 当EA为高电平时 若访问的地址空间在0 4KB范围内 CPU访问片内ROM 若访问的地址范围超过4KB时 CPU将自动访问外部ROM EA保持低电平 则访问外部ROM 对于8031 EA必须接地 只能访问外部ROM 第二功能为对8751的 25V编程电源输入 10 图MCS 51系列单片机内部结构简化框图 2 2MCS 51系列单片机结构及组成 CPU 11 MCS 51系列单片机由8大部分组成 一个8位CPU 包括运算器和控制器 128个字节 52子系列为256字节 的片内RAM 4KB 52子系列为8KB 的片内ROM或EPROM 8031和8032无 18个 52子系列为21个 特殊功能寄存器SFR 4个8位并行I O接口 P0口 P1口 P2口 P3口1个串行I O接口2个 52子系列为3个 16位定时器 计数器1个具有5个 52子系列为6个或7个 中断源 可编程为2个优先级的中断系统 它可以接收外部中断申请 定时器 计数器中断申请和串行口中断申请 12 MCS 51单片机芯片内部结构框图 13 1 中央处理器CPU 8位 单片机内部的核心部件 完成运算和控制操作 包括运算器 控制器以及若干寄存器等部件组成 运算器以算术逻辑单元ALU为核心 加上累加器ACC 寄存器B 暂存器TMP1和TMP2 程序状态寄存器PSW 十进制调整电路及专门用于位操作的布尔处理机组成的 功能 实现数据的算术逻辑运算 位变量处理和数据传送操作 14 功能 完成8位二进制数的加 带进位加 减 带借位减 乘 除 加1 减1 BCD加法的十进制调整 比较等算术运算 对8位变量进行逻辑 与 或 异或 求补 清零等逻辑运算 左 右移位和半字节 4位 交换等操作 数据传送 程序转移 ALU 算术逻辑单元 15 累加器A是一个8位寄存器 它是CPU中使用最频繁的寄存器 累加器A的功能有 用于存放操作数 是ALU数据的一个来源 单片机中大部分单操作数指令的操作数都取自累加器A 许多双操作数指令中的一个操作数也取自累加器A 累加器A是ALU运算结果的暂存单元 用于存放运算的中间结果 累加器A是数据传送的中转站 单片机中的大部分数据传送都通过累加器进行 在变址寻址方式中把累加器A作为变址寄存器使用 ACC或A 累加器 16 B寄存器是一个8位寄存器 主要用于乘除运算 乘法运算时 A中为被乘数 B中为乘数 乘法操作完成后 乘积的高8位存于B中 低8位存于A中 除法运算时 A中为被除数 B中为除数 除法操作完成后 余数存于B中 商存于A中 其他情况下 B寄存器也可以作为一般的数据寄存器使用 地址为F0H B寄存器 17 PSW 程序状态字 PSW是一个8位的标志寄存器 它保存指令执行结果的特征信息 以供程序查询和判别 PSW格式及含义如下 CY PSW 7 进位标志位AC PSW 6 辅助进位 或称半进位 标志F0 PSW 5 由用户定义的标志位 复位时该位为 0 RS1和RS0 PSW 4和PSW 3 工作寄存器组选择位OV PSW 2 溢出标志位 由硬件置位或清零 PSW 1 未定义位P PSW 0 奇偶标志位 A中1的个数 偶0 奇1 18 CY是PSW中最为常用的标志位 共有4项功能 在加法运算中存放进位标志 有进位时CY置1 无进位时CY清0 在减法运算中存放借位标志 有借位时CY置1 无借位时CY清0 在位操作中作累加位使用 在位传送和位运算中都要用到CY 在带进位的移位操作中用于构成循环移位通路 注意 对于加 减运算 无论参与运算的数是带符号数还是无符号数 都按无符号数的原则来设置进 借位标志位CY CY PSW 7 进位标志位 19 在加 减运算中 当低4位向高4位有进 借位时 AC由硬件置位 否则AC被清0 在进行十进制数运算时需要十进制调整 此时要用到AC位的状态进行判断 AC PSW 6 半进位标志位 F0 PSW 5 用户标志位 由用户定义使用的标志位 用户可根据需要用软件方法置位或复位 20 这两个选择位的状态由软件设置 被选中的工作寄存器组即为当前工作寄存器组 RS1和RS0 PSW 4和PSW 3 工作寄存器组选择位 P PSW 0 奇偶标志位 表明累加器A中1的个数的奇偶性 若1的个数为偶数 则P 0 若1的个数为奇数 则P 1 在每个指令周期由硬件根据A的内容对P位进行置位或复位 21 在加 减运算中 如果OV 1 则表示运算结果超出了累加器A所能表示的符号数的有效范围 128 127 运算结果是错误的 即产生了溢出 否则 OV 0 则表示运算结果正确 即未产生溢出 溢出的判断 OV C6 C7在乘法运算中 OV 1表示乘积超过255 即乘积分别在B 高8位 与A 低8位 中 否则 OV 0表示乘积只在A中 在除法运算中 OV 1表示除数为0 除法不能进行 否则 OV 0表示除数不为0 除法可正常进行 注意 对于加 减运算 无论参与运算的数是带符号数还是无符号数 都按带符号数的原则来设置溢出标志位 OV PSW 2 溢出标志位 22 布尔处理机布尔处理 即位处理 是MCS 51单片机ALU所具有的一种功能 单片机指令系统中的布尔指令集 17条位操作指令 存储器中的位地址空间 内部RAM中的128个位和特殊功能寄存器里的位地址空间 以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作 累加器 构成了单片机内的布尔处理机 可对直接寻址的位 bit 变量进行位处理 如置位 清零 取反 测试转移以及逻辑 与 或 等位操作 使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑所完成的功能 并可方便地设置标志等 23 控制器控制器是单片机的神经中枢 识别指令并根据指令性质控制单片机各部件 保证单片机各部分能自动而协调地工作 它包括程序计数器 PC 数据指针寄存器 DPTR 指令寄存器 IR 指令译码器 条件转移逻辑电路以及定时和控制电路等部件 功能 控制指令的读出 译码和执行 对指令的执行过程定时控制 并根据执行结果决定是否分支转移 24 PC 程序计数器 PC是专门用来控制指令执行顺序的寄存器 其内容为将要执行的下一条指令的地址 即下一条将要从ROM中取出的指令地址 PC是一个16位的寄存器 它在物理上是独立的 不在内部RAM之列 没有地址 是不可寻址的 16位地址的寻址范围为64KB ROM 用户不需要也无法对PC进行读 写 PC的内容是通过执行指令改变的 在执行指令过程中 PC具有自动加1功能 在执行转移 调用 返回等指令时能自动改变PC内容 以改变程序的执行顺序 复位时 PC自动装入0000H 使程序从0000H单元开始执行 25 DPTR 数据指针 16位特殊功能寄存器 也可作为两个8位寄存器 高8位用DPH表示 低8位用DPL表示 它是MCS 51中唯一一个供用户使用的16位寄存器 功能 在访问外部RAM时作地址指针使用 在变址寻址方式中 用作基址寄存器 用于对ROM的访问 26 指令寄存器IR 指令译码器以及控制逻辑IR是用来存放指令操作码的专用寄存器 整个程序的执行过程就是在控制器的控制下 将指令从ROM中逐条取出 进行译码 然后由定时控制逻辑电路发相应的定时控制信号 控制指令的执行 是一个取指令 指令译码 执行指令的不断循环的过程 27 2 内部数据存储器 内部RAM 包括RAM 128 8位 和RAM地址寄存器等 80C51芯片中共有256个RAM单元 但其中后128单元被特殊功能寄存器占用 供用户使用的只有前128单元 用于存放可读写的数据 故 内部RAM 指前128单元 3 内部程序存储器 内部ROM 包括ROM 4K 8位 和程序地址寄存器等 80C51共有4KB掩膜ROM 用于存放程序和原始数据 4 定时器 计数器出于控制应用的需要 80C51共有2个16位的定时器 计数器 以实现定时或计数的功能 并以其定时或计数结果对单片机进行控制 28 5 并行I O口MCS 51共有4个8位的I O口 P0 P1 P2 P3 以实现数据的并行输入输出 可寻址64KB外部RAM和64KB外部ROM 6 串行口MCS 51有一个可编程全双工的串行口 以实现单片机和其它数据设备之间的串行数据传送 该串行口既可作为全双工异步通信收发器使用 也可作为同步移位器使用 7 中断控制系统MCS 51共有5个中断源 即外中断2个 定时 计数中断2个 串行中断1个 全部中断分为高级和低级两个优先级 29 8 时钟电路为单片机产生时钟脉冲序列 典型的晶振频率为12MHz MCS 51芯片内部有一个高增益反相放大器 其输入端为XTAL1 输出端为XTAL2 9 位处理器 布尔处理器 单片机主要用于控制 需要有较强的位处理功能 因此 位处理器是它的必要组成部分 10 总线系统的地址信号 数据信号和控制信号都是通过总线传送的 总线结构减少了单片机的连线和引脚提高了集成度和可靠性 MCS 51单片机硬件结构 MCS 51系列单片机的分类 表MCS 51系列单片机配置一览表 MCS 51单片机的内部结构 图MCS 51单片机结构框图 中央处理器CPU 运算器 算术逻辑单元ALU 2 累加器ACC Accumulator 3 寄存器B4 程序状态字PSW ProgrameStateWord D7D6D5D4D3D2D1D0 PSW 表RS1 RS0与片内工作寄存器组的对应关系 控制器 1 时钟电路 图单片机时钟电路 a 内部时钟电路 b 外部振荡源 2 复位电路 图单片机复位电路 a 上电复位电路 b 开关复位电路 表复位后内部寄存器状态 3 指令寄存器和指令译码器 指令寄存器中存放指令代码 CPU执行指令时 由程序存储器中读取的指令代码送入指令存储器 经译码器译码后由定时与控制电路发出相应的控制信号 完成指令所指定的操作 4 程序计数器PC ProgramCounter PC用于存放CPU下一条要执行的指令地址 是一个16位的专用寄存器 可寻址范围是0000H 0FFFFH共64KB 程序中的每条指令存放在ROM区的某一单元 并都有自己的存放地址 CPU要执行哪条指令时 就把该条指令所在的单元的地址送上地址总线 在顺序执行程序中 当PC的内容被送到地址总线后 会自动加1 即 PC PC 1 又指向CPU下一条要执行的指令地址 5 堆栈指针SP StackPointer 堆栈操作是在内存RAM区专门开辟出来的按照 先进后出 原则进行数据存取的一种工作方式 主要用于子程序调用及返回和中断处理断点的保护及返回 它在完成子程序嵌套和多重中断处理中是必不可少的 为保证逐级正确返回 进入栈区的 断点 数据应遵循 先进后出 的原则 SP用来指示堆栈所处的位置 在进行操作之前 先用指令给SP赋值 以规定栈区在RAM区的起始地址 栈底层 当数据推入栈区后 SP的值也自动随之变化 MCS 51系统复位后 SP初始化为07H 6 数据指针寄存器DPTR 数据指针DPTR是一个16位的专用寄存器 其高位字节寄存器用DPH表示 低位字节寄存器用DPL表示 既可作为一个16位寄存器DPTR来处理 也可作为两个独立的8位寄存器DPH和DPL来处理 DPTR主要用来存放16位地址 当对64KB外部数据存储器空间寻址时 作为间址寄存器用 在访问程序存储器时 用作基址寄存器 41 2 3MCS 51单片机存储器组织结构 MCS 51单片机的存储器组织结构与一般微机不同 一般微机通常是程序和数据共用一个存储空间 属于VonNeumann结构 冯 诺依曼型 MCS 51单片机把程序存储器空间和数据存储器相互分离开来 属于Harvard结构 哈佛型 42 存储器 ALU 算逻部件 ALU 控制部件 中央处理器CPU 输入 输出部件 输入 输出部件 算逻部件 ALU 控制部件 中央处理器CPU 程序存储器 数据存储器 单片机体系结构 冯 诺依曼型 哈佛型 43 MCS 51的存储器组织分3个不同的存储地址空间 64KB的程序存储器地址空间 包括片内ROM和片外ROM 64KB的外部数据存储器地址空间256B的内部数据存储器地址空间对这3个不同的存储器空间进行数据传送时 必须分别采用3种不同形式的指令 44 MCS 51单片机存储器组织结构 内部ROM4KBEA 1 外部ROM4KBEA 0 内部RAM128B 0FFFH0000H 0FFFH0000H FFFFH1000H 外部RAM64KB 特殊功能寄存器 21个SFR 外部ROM60KB FFH80H7FH00H 程序存储器地址空间 数据存储器地址空间 FFFFH0000H MOV指令操作域 MOVX指令操作域 MOVC指令操作域 45 程序存储器 ROM ROM用于存放程序及表格常数 读取ROM的指令为 MOVC 8051 8751 片内驻留有4KB的ROM EPROM 外部可用16位地址线扩展到最大64KB的ROM空间 片内ROM和外部扩展ROM是统一编址的 46 程序存储器 ROM 当芯片引脚EA为高电平时 8051的程序计数器PC在0000H 0FFFH 4KB 地址时从内部ROM取指令 超过4KB时 CPU自动转向外部ROM执行程序 如果EA为低电平 接地 则所有取指令操作均在外部ROM中进行 这时外部扩展的ROM从0000H开始编址 8031单片机无片内ROM 只能使用外部扩展ROM且从0000H开始编址 EA必须接低电平 47 ROM中的某些特定单元是给系统默认使用的0000H单元是复位入口 单片机复位后 CPU总是从0000H单元开始执行程序 0000H 0002H单元安排一条无条件转移指令 使之转向主程序的入口地址 0003H 002AH共40个单元均匀地分为5段 分别作为5个中断源的中断地址区 中断响应后 系统能按中断种类 自动转到各中断区的首地址去执行程序 48 系统复位和中断地址区 一般从中断首地址开始存放一条无条件转移指令 以便中断响应后 通过中断地址区 再转到中断服务程序的实际入口地址 49 数据存储器 RAM RAM用于存放运算中间结果 用作缓冲和数据暂存 以及设置特征标志等 8051片内有256B的RAM空间 片外有64KB的RAM空间 两个存储空间独立寻址 内部RAM低128字节地址空间 00H 7FH 为内部RAM区 是供用户使用的数据存储器单元 作为处理问题的数据缓冲器 高128字节地址空间 80H FFH 为特殊功能寄存器区 SFR区 共21个特殊功能寄存器 也就是128个字节单元中只有21个字节单元能够被用户使用 内部RAM存储空间小 仅用8位地址寻址 但存取速度比外部RAM快 50 内部RAM低128单元的划分 工作寄存器组0 位寻址区 位地址 00H 7FH 用户RAM区 堆栈 数据缓冲 7FH30H2FH20H 工作寄存器组3 工作寄存器组2 工作寄存器组1 1FH18H17H10H0FH08H07H00H R7R0R7R0R7R0R7R0 工作寄存器区 共32个字节单元 分为4组 每组8个8位寄存器 只能按字节寻址 用户RAM区 共80个字节单元 只能按字节寻址 位寻址区 共16个字节单元 128个位 可按位寻址 也可按字节寻址 51 内部RAM低128单元 按用途可分为3个区域 工作寄存器区内部RAM的00H 1FH为工作寄存器区 共32个字节 分为4组 每组8个8位寄存器R0 R7 在任一时刻 CPU只能使用其中的一组寄存器 当前程序使用的工作寄存器组是由程序状态字PSW的RS0 RS1位来选择的 52 工作寄存器的使用方法 以寄存器的形式使用 用寄存器符号表示 以存储单元的形式使用 以单元地址表示 工作寄存器区各寄存器对应的地址 53 位寻址区内部RAM的20H 2FH字节为可位寻址区域 这16个字节共128位 每一位都有一个位地址 位编址为 00H 7FH 用户可用程序对它们直接进行清0 置位 取反和测试等操作 位寻址区的RAM单元也可按字节寻址 作为一般的数据缓冲器使用 位 的两种表示方式 以位地址的形式 如位寻址区的最后一个位是7FH 以存储单元地址加位的形式表示 如位寻址区的最后一个位表示为2FH 7 54 内部RAM位寻址区的位地址 55 用户RAM区内部RAM的30H 7FH字节为用户RAM区 即通用数据缓冲区 共80个单元 作为一般数据缓冲使用 52子系列的用户RAM区为30H FFH范围内的208个字节 对于用户RAM区 只能以存储单元的形式来使用 没有其它任何规定和限制 一般把堆栈开辟在此区中 56 内部RAM高128单元 特殊功能寄存器 SFR 区单元地址为80H FFH 用于存放相应功能部件的控制命令 状态或数据 80C51片内包括21个SFR 其中可位寻址的有11个 对可位寻址的SFR 在表示某一位时 可以用位地址 也可以用位定义名 或用 寄存器名 位 表示 例如程序状态字PSW中的D3位可表示为 D3H 位地址 RS0 位定义名 PSW 3 寄存器名 位 57 特殊功能寄存器地址映像 58 特殊功能寄存器地址映像 续 59 对SFR的字节寻址问题的说明 21个SFR不连续地分散在内部RAM高128单元中 用户不能使用剩余的的空闲单元 如果访问了这些没有定义的单元 读出的为不定数 写入的数将被舍弃 每个SFR都有字节地址 并定义了符号名 其中11个可位寻址 对应的位也定义了位名 凡是字节地址能被8整除的SFR都具有位地址 只能使用直接寻址方式访问特殊功能寄存器 指令中既可使用寄存器符号表示 也可使用寄存器地址表示 在P3 P0口中 作为特殊功能寄存器的是它们的锁存器 由各位口线的锁存位组成 60 MCS 51的堆栈操作堆栈是一种数据结构 就是只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈叫入栈 PUSH 数据从堆栈中读出叫出栈 POP 堆栈的最大特点是 后进先出 LIFO Last In First Out 的数据操作规则 61 堆栈的功用堆栈可用于响应中断或调用子程序时 保护断点和保护现场 在中断服务程序或子程序结束时 执行中断返回或子程序返回指令 原断点地址会自动从堆栈中弹出给PC 使程序从断点处顺序执行下去 堆栈也可用于数据的临时存放 堆栈的开辟堆栈只能开辟在芯片的内部RAM中 内堆栈 通常设在内部RAM的30H 7FH地址空间内的顶部 但要考虑到堆栈的最大深度 内堆栈的特点 操作速度快 但堆栈容量有限 62 堆栈指针 SP 堆栈指针SP是8位的特殊功能寄存器 可指向片内RAM128字节 00H 7FH 的任何单元 堆栈的两种操作 进栈和出栈 都是对栈顶单元进行的 SP用来指示栈顶 SP的内容就是堆栈栈顶的存储单元地址 系统复位后 SP的内容为07H 但由于堆栈一般在内部RAM的30H 7FH单元中开辟 所以在程序设计时应注意把SP值初始化为30H以后 以免堆栈占用工作寄存器区和位寻址区 SP的内容一经确定 堆栈的位置也就跟着确定下来 由于SP可初始化为不同值 因此堆栈位置是浮动的 63 堆栈类型向上生长型堆栈 栈底在低地址单元 操作规则 进栈操作 先SP加1 后写入数据出栈操作 先读出数据 后SP减1向下生长型堆栈 栈底在高地址单元 操作规则 进栈操作 先SP减1 后写入数据出栈操作 先读出数据 后SP加1 MCS 51的堆栈属于向上生长型 栈底 栈底 SP SP 1SP 进栈 出栈 出栈 进栈 SPSP SP 1 64 堆栈的使用方式自动方式 保护断点 无需用户干预 在调用子程序或中断时 返回地址 断点 自动进栈 程序返回时 断点再自动弹回PC 指令方式 保护现场 使用专用的堆栈操作指令 进行进出栈操作 进栈指令为PUSH 保护现场 出栈指令为POP 恢复现场 65 总结 MCS 51单片机系统的存储器结构特点数据存储器和程序存储器截然分开RAM和ROM的地址空间 存取指令和控制信号各有一套 存储器有内外之分为扩展外部存储器 单片机的芯片引脚已经作了预先准备 通过口线最多可提供16位地址 对外部存储器的寻址范围达64KB ALE信号用于外部存储器的地址锁存 WR和RD信号分别用于外部RAM的写选通和读选通 PSEN信号用于外部ROM的读选通 EA信号用于内外ROM的访问控制 补充51单片机存储器的结构 图MCS 51单片机的存储器结构 1 程序存储器 对于8051来说 程序存储器 ROM 的内部地址为0000H 0FFFH 共4KB 外部地址为1000H FFFFH 共60KB 当程序计数器由内部0FFFH执行到外部1000H时 会自动跳转 对于8751来说 内部有4KB的EPROM 将它作为内部程序存储器 8031内部无程序存储器 必须外接程序存储器 8031最多可外扩64KB程序存储器 其中6个单元地址具有特殊用途 是保留给系统使用的 0000H是系统的启动地址 一般在该单元中存放一条绝对跳转指令 0003H 000BH 000BH 001BH和0023H对应5种中断源的中断服务入口地址 2 内部数据存储器 MCS 51单片机片内RAM的配置如图2 4 b 所示 片内RAM为256字节 地址范围为00H FFH 分为两大部分 低128字节 00H 7FH 为真正的RAM区 高128字节 80H FFH 为特殊功能寄存器区SFR 在低128字节RAM中 00H 1FH共32单元是4个通用工作寄存器区 每一个区有8个通用寄存器R0 R7 寄存器和RAM地址对应关系如表2 4 表寄存器与RAM地址对照表 表RAM中的位寻址区地址表 表SFR特殊功能寄存器地址表 表SFR特殊功能寄存器地址表 表SFR特殊功能寄存器地址表 3 外部数据存储器 外部数据存储器一般由静态RAM构成 其容量大小由用户根据需要而定 最大可扩展到64KBRAM 地址是0000H 0FFFFH CPU通过MOVX指令访问外部数据存储器 用间接寻址方式 R0 R1和DPTR都可作间接寄存器 注意 外部RAM和扩展的I O接口是统一编址的 所有的外扩I O 口都要占用64KB中的地址单元 75 2 4MCS 51单片机并行I O口电路 在单片机中 口 是一个集数据输入缓冲 输出驱动及锁存等多项功能于一体的I O电路 MCS 51单片机4个8位的并行I O口 P0 P1 P2 P3 这4个口既可以按字节寻址 也可以按位寻址 共32位 每个口输出具有锁存功能 前一次输出的信息将一直锁存到下一次输出新信息时为止 输入没有锁存功能 所以输入信息应一直保持到输入指令把信息取走时为止 每个口都能用作通用输入 输出 其中P0口又能作为地址 数据总线 P2口能传送高8位地址 P3口有第二功能 P1口只能用作通用I O口 76 P0口字节地址 80H 位地址 80H 87H既能用作通用I O口 又能用作地址 数据总线的复用 V1 V2 1 2 3 4 77 P0口由8个完全相同又相互独立的逻辑电路组成 锁存器用于进行数据位的锁存 8个锁存器构成了特殊功能寄存器P0 场效应管V1 V2组成数据输出的驱动和控制电路 与门3 反相器4及多路转接开关MUX构成输出控制电路 三态门1是引脚输入缓冲器 三态门2是用于读锁存器端口 读引脚是指将引脚P0 x上的值通过内部总线读入CPU 而读锁存器是读入一个口锁存器的值 进行处理后重新写回锁存器中 读 修改 写 由指令决定是读引脚还是读锁存器 例如指令ANLP1 A就是读锁存器 它是将P1口的8位分别与累加器A中的8位进行与操作 结果写回P1口的8个锁存器中 78 P0口用作通用I O口CPU发来的控制信号为低电平 MUX接通锁存器Q端的输出通路 与门3输出低电平并将输出驱动电路的上拉场效应管V2截止 输出端处于漏极开路状态 注意 P0口在输出数据时 由于V2截止 输出级是漏极开路电路 要使 1 信号正常输出 必须外接上拉电阻 P0口作为输入口使用时 应区分读引脚和读锁存器 读引脚时应使V1截止 先向该端口锁存器写入 1 79 P0口作为地址 数据总线CPU发来的控制信号为高电平 MUX接通反相器4 作总线输出时 从 地址 数据 端输入的地址 低8位 或数据信号同时作用于与门3和反相器4 并分别驱动V1 V2 结果在引脚上得到地址或数据输出信号 外部数据输入时 CPU使V1 V2均截止 从引脚上输入的外部数据经读引脚缓冲器2进入内部数据总线 注意 P0口在有外部扩展存储器时被作为地址 数据总线口 此时是一个真正的双向口 在没有外部扩展存储器时 P0口也可作为通用的I O接口 但此时只是一个准双向口 80 P1口字节地址 90H 位地址 90H 97H只能作为通用I O口使用 是准双向口 1 2 V1 81 P1口电路与P0口的区别 因只传送数据 所以没有地址 数据的传送电路和多路转接开关MUX 输出驱动电路中有上拉电阻 上拉电阻与场效应管共同组成输出驱动电路 输出数据时 已能对外提供推拉电路负载 外电路无需再接上拉电阻 输入数据时 应先向其锁存器写入 1 使输出驱动电路的V1截止 82 P2口字节地址 0A0H 位地址 0A0H 0A7H可作为通用I O口或地址总线高8位 是准双向口 1 2 3 V1 83 P2口作为通用I O口当控制信号为低电平时 多路开关MUX接到左端 P2口作为通用I O口使用 其功能和使用方法与P0 P1相同 用作输入时 也必须先向锁存器写入 1 P2口作为地址总线当控制信号为高电平时 多路开关MUX接到右端 由程序计数器PC送来的高8位地址PCH或数据指针DPTR送来的高8位地址DPH经反相器3和V1管二次反相后从引脚输出 P2口输出地址总线高8位 供系统扩展用 对于8051 8751型单片机 P2口能作为通用I O或地址总线使用 对于8031型单片机 无片内ROM P2口只能作为地址总线高8位 84 P3口字节地址 0B0H 位地址 0B0H 0B7H可用作通用I O口 同时每个引脚还有第二功能 准双向口 3 V1 4 1 2 85 P3口作为通用I O口 第二功能输出 端为高电平 用作输出时 与非门3的输出取决于锁存器Q端信号 引脚输出信号与内部总线信号相同 其功能和使用方法与P1 P2相同 用作输入时 也须先写入 1 P3口用作第二功能P3口的某一位作为第二功能输出使用时 该位的锁存器置 1 使与非门3和输出状态只受 第二功能输出 端控制 第二功能输出信号经与非门3和V1管二次反相后输出到该位引脚 P3口的某一位作为第二功能输入使用时 该位的 第二功能输出 端和锁存器自行置 1 该位引脚上的信号经缓冲器4送入 第二功能输入 端 补充 51单片机并行输入 输出接口 图P0口内部一位结构图 1 P0口 2 P1 P2和P3口 P1 P2和P3口为准双向口 在内部差别不大 但使用功能有所不同 P1口是用户专用8位准双向I O口 具有通用输入 输出功能 每一位都能独立地设定为输入或输出 当有输出方式变为输入方式时 该位的锁存器必须写入 1 然后才能进入输入操作 P2口是8位准双向I O口 外接I O设备时 可作为扩展系统的地址总线 输出高8位地址 与P0口一起组成16位地址总线 对于8031而言 P2口一般只作为地址总线使用 而不作为I O线直接与外部设备相连 表P3口的第二功能 89 时钟电路用于产生单片机工作所需要的时钟信号 单片机本身是一个复杂的同步时序电路 为了保证同步工作方式的实现 电路应在唯一的时钟信号控制下严格地按时序协调工作 时序研究的是指令执行中各信号之间的相互时间关系 2 5MCS 51单片机时钟电路与时序 90 时钟电路时钟信号的产生 内部方式时钟 MCS 51芯片内部有一个高增益反相放大器 其输入端为芯片引脚XTAL1 输出端为引脚XTAL2 外接作为反馈元件的晶体后成为自激振荡器 晶体呈感性 与微调电容C1 C2构成并联谐振回路 振荡器的频率主要取决于晶体 电容有微调作用 晶体的振荡频率范围通常是1 2 12MHz 电容C1 C2一般取30pF 晶体振荡频率越高 系统的时钟频率越高 单片机运行速度越快 91 引入外部脉冲信号 外部方式时钟 在由多片单片机组成的系统中 为了各单片机之间时钟信号的同步 应当引入唯一的公用外部脉冲信号作为各单片机的震荡脉冲 外接的脉冲应是高低电平持续时间大于20ns的方波 且脉冲频率应低于12MHz 92 分频电路 振荡电路产生的振荡信号并不直接为单片机所用 而要进行分频 以得到单片机各种相关的时钟信号 时钟频率为振荡频率的2分频 ALE信号频率为振荡频率的6分频 机器频率为振荡频率的12分频 当振荡脉冲频率为12MHz时 一个机器周期为1ms 当振荡脉冲频率为6MHz时 一个机器周期为2ms 93 时序定时单位振荡周期 节拍P 振荡脉冲的周期 时钟周期 状态S 两个振荡周期为一个时钟周期 一个状态包含两个节拍 前半周期对应的节拍叫P1 后半周期对应的节拍叫P2 机器周期 一个机器周期的宽度为6个状态 用S1 S2 S6表示 共12个节拍 依次可表示为S1P1 S1P2 S2P1 S2P2 S6P1 S6P2 指令周期 执行一条指令所需要的时间 它以机器周期为单位 是最大的时序定时单位 MCS 51的指令周期根据指令的不同 可包含有1 2 4个机器周期 94 典型指令时序MCS 51共有111条指令 按长度可分为 单字节指令 双字节指令 三字节指令 执行这些指令所需要的机器周期数目是不同的 概括起来有以下几种情况 单字节单机器周期指令 单字节双机器周期指令 双字节单机器周期指令 双字节双机器周期指令 三字节的指令都是双机器周期 单字节的乘 除指令为四个机器周期 ALE信号为MCS 51扩展系统的外部存储器地址低8位的锁存信号 ALE信号每有效一次对应单片机进行1次的读指令操作 ALE信号以振荡脉冲的1 6频率出现 在一个机器周期中 ALE信号两次有效 第一次在S1P2和S2P1期间 第二次在S4P2和S5P1期间 有效宽度为1个状态 补充51单片机单片机工作的基本时序 1 机器周期和指令周期 1 振荡周期 也称时钟周期 是指为单片机提供时钟脉冲信号的振荡源的周期 2 状态周期 每个状态周期为时钟周期的2倍 是振荡周期经二分频后得到的 3 机器周期 一个机器周期包含6个状态周期S1 S6 也就是12个时钟周期 在一个机器周期内 CPU可以完成一个独立的操作 4 指令周期 它是指CPU完成一条操作所需的全部时间 每条指令执行时间都是有一个或几个机器周期组成 MCS 51系统中 有单周期指令 双周期指令和四周期指令 2 MCS 51指令的取指 执行时序 图MCS 51单片机取指 执行时序 3 访问外部ROM和RAM的时序 图读外部程序ROM时序 图读外部数据RAM时序 图写外部数据RAM的时序 100 MCS 51单片机有5种不同的工作方式 每种工作方式都代表着单片机的一种工作状态 包括 程序执行方式 分为连续执行和单步执行 复位方式掉电方式低功耗节电工作方式EPROM编程和校验方式 2 6MCS 51单片机工作方式 101 程序执行方式 单片机的基本工作方式 连续执行方式 正常工作方式 由于单片机复位后PC 0000H 因此程序执行总是从地址0000H开始 但因0003H是外部中断程序入口 所以一般程序并不是从0000H开始 为此需在0000H开始的单元中存放一条无条件转移指令 以便跳转到实际程序的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编人教版三年级语文下册《习作:身边那些有特点的人》公开课教学课件
- 能否取消拍卖合同协议书
- 物业合同续签申请协议书
- 电力器材回收合同协议书
- 材料被盗调解协议书模板
- 碎石机加工样本合同协议
- 门店客户股东合伙协议书
- 高档小区房屋置换协议书
- 物业旧物回收合同协议书
- 聘用兼职人员协议书范本
- (完整版)BCC插件中英文对照表
- 《IATF16949实验室管理规范》
- 礼盒茶叶购销合同协议
- 2025年年产1万吨连续玄武岩纤维及其制品可行性研究报告书
- 典型主机遥控系统AC系统维护与管理挪威Kong
- 基于知识图谱的大语言模型研究综述
- GB 7718-2025食品安全国家标准预包装食品标签通则
- GB/T 45403-2025数字化供应链成熟度模型
- 氢气供货合同协议
- 家政清洁工劳动合同协议
- 农村社会学试题及答案
评论
0/150
提交评论