




免费预览已结束,剩余90页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章MCS 51单片机的硬件结构 任务一单灯受控闪烁 2 1MCS 51系列单片机概述2 2中央处理器CPU2 3存储器2 4并行输入 输出口2 5单片机的时序 引脚及其功能 习题 任务一单灯受控闪烁学习目标 过学习任务一的完成方法 熟悉mcs 51单片机的内部结构 掌握mcs 51单片机各组成部分的功能和特点 任务描述 单片机上电工作时 发光二极管间隔1S闪烁 硬件电路与工作原理 硬件电路 由该任务引出 1 单片机如何运行程序 2 单片机的软件及数据如何存放 3 单片机程序运行的结果如何送给发光二极管 4 怎样保证CPU工作 5 发光二极管为何按一定频率闪烁 相关知识 2 1MCS 51系列单片机概述 2 1MCS 51系列单片机的基本结构1 单片机如何运行程序 单片机和其他微机一样 也拥有一个中央处理器 CPU 单片机通过I O口与外设打交道 单片机的程序与数据保存在存储器中 它通过单片机的内部总线 将单片机内部的各个部分 程序存储器 ROM 数据存储器 RAM 定时 计数器 并行接口 串行接口和中断系统等联系在一起 内部总线有三种 数据总线 专门用来传送数据信息 地址总线 专门用来传送地址信息 选中各操作单元 控制总线 专门用来传送CPU各种控制命令 以便CPU统一指挥协调工作 完成程序所要执行的各种功能 CPU执行程序一般包括两个主要过程 第一 就是从程序存储器中取出指令 指令的地址由PC指针提供 第二 就是执指过程 取出的指令代码首先被送到CPU中控制器中的指令寄存器 再通过指令译码器译码变成各种电信号 从而实现指令的各种功能 执行 取指令 分析 2 1MCS 51系列单片机的基本结构 单片机是一个大规模集成电路芯片 其上集成有CPU 存储器 I O口 串行口 并行口 其它辅助电路 如中断系统 定时 计数器 振荡电路及时钟电路等 其基本结构框图如下 ALU 由定时和控制部件构成的控制器 包括定时控制逻辑 指令寄存器 指令译码器 数据地址指针DPTR 程序计数器PC 堆栈指针SP RAM地址寄存器以及16位地址缓冲器等 运算器 ALU 专用寄存器 MCS 51系列单片机的基本结构图 CPU RAM ROM 中断系统 串行口 并行口 定时计数器 振荡电路 X1X2P0P1P2P3TXDRXDINT0INT1 T0T1 计算机 微机 MCS 51系列单片机的基本结构图 X1X2P0P1P2P3TXDRXDINT0INT1 返回 CPU RAM ROM 中断系统 串行口 并行口 定时计数器 振荡电路 X1X2P0P1P2P3TXDRXDINT0INT1 T0T1 1 RAM被称为随机读写存储器 2 用于存放数据 3 具有易失性 芯片掉电后 其内的信息消失 MCS 51系列单片机的基本结构图 T0T1 CPU RAM ROM 中断系统 串行口 并行口 定时计数器 振荡电路 X1X2P0P1P2P3TXDRXDINT0INT1 T0T1 1 ROM被称为只读存储器 2 用于存放程序 3 具有非易失性 掉电后其内的信息依然存在 返回 运算器 最终结果数中间结果 据最后结果原始数据与程序最后结果程序计算机系统的硬件组成框图 存储器 控制器 输出设备 输入设备 单片机 微机 返回 DBCPUABCB存储器I O口微机的结构框图 单片机 计算机 返回 80C51单片机的内部结构 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 ALU 2 2中央处理器CPU 80C51单片机的内部结构 返回 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 ALU 算术逻辑运算部件主要用来完成数据的算术和逻辑运算 ALU有2个输入端和2个输出端 其中一端接至累加器 接收由累加器送来的一个操作数 另一端接收TMP的第二个操作数 参加运算的操作数在ALU中进行规定的操作运算 运算结束后 一方面将结果送至累加器 同时将操作结果的特征状态送标志寄存器 89C51单片机的内部结构 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 ALU 1 16位寄存器2 存放下一条将要执行的指令地址 程序中的指令是按照顺序存放在存储器中的某个连续区域 每条指令都有自己的地址 CPU根据PC中的指令地址从存储器中取出将要执行的指令 3 具有自动加1功能 从而指向下一条将要执行的指令地址 4 PC的值可以修改 一般程序是按顺序执行指令的 若改变了的PC的值 则程序将不再按顺序执行 返回 80C51单片机的内部结构 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 IR 用来存放当前正在执行的指令代码 ID 用来对指令代码进行分析 译码 根据指令译码的结果 输出相应的控制信号 PLA 产生出各种操作电位 不同节拍的信号 时序脉冲等执行此条命令所需的全部控制信号 返回 80C51单片机的内部结构 X1X2 PSENRSTALEEA A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 8位寄存器2 累加器是一个特殊的寄存器 它的字长和微处理器的字长相同 累加器具有输入 输出和移位功能 微处理器采用累加器结构可以简化某些逻辑运算 3 由于所有运算的数据都要通过累加器 故累加器在微处理器中占有很重要的位置 ALU 返回 80C51单片机的内部结构 X1X2 PSENRSTALEEA A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 ALU 1 8位寄存器2 在进行乘除法运算时 存放参与运算的一个操作数3 除此之外 作为一般工作寄存器使用 返回 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 PSW称为程序状态字寄存器 是一个8位寄存器 2 D7D6D5D4D3D2D1D0CyAcF0RS1RS0Ov P ALU 返回 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 程序状态字寄存器 8位寄存器 2 D7D6D5D4D3D2D1D0CyAcF0RS1RS0Ov P ALU 返回 Cy PSW 7 进位标志位 当运算结果产生进位时 Cy 1 当运算结果没有产生进位时 Cy 0 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 程序状态字寄存器 8位寄存器 2 D7D6D5D4D3D2D1D0CyAcF0RS1RS0Ov P ALU AC PSW 6 辅助进位 或称半进位 标志 当运算结果的D3向D4产生进位时 AC 1 当运算结果的D3向D4没有产生进位时 AC 0 返回 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 程序状态字寄存器 8位寄存器 2 D7D6D5D4D3D2D1D0CyAcF0RS1RS0Ov P ALU OV PSW 2 溢出标志位 当运算结果产生溢出时 OV 1 当运算结果没有产生溢出时 OV 0 返回 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 程序状态字寄存器 8位寄存器 2 D7D6D5D4D3D2D1D0CyAcF0RS1RS0Ov P ALU P PSW 0 奇偶标志位 当A中1的个数为奇数时 P 1 当A中1的个数为偶数时 P 0 返回 80C51单片机的内部结构 X1X2 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 SP称为堆栈指针 8位寄存器2 SP用来存放堆栈栈顶的地址 返回 先加 SP 1 后压 数据 先弹 数据 后减 SP 1 89H 入栈过程PUSHACC 出栈过程POPACC 89H 80C51单片机的内部结构 X1X2 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 8位寄存器2 SP用来存放堆栈栈顶的地址 返回 1 堆栈是在内RAM区专门开辟出来的按照 先进后出 原则进行数据存取的一块连续的存储区域 2 堆栈有栈顶和栈底 堆栈中没有数据时 二者重叠 SP指向最下端 栈底 向堆栈推入数据后 栈顶向上生长 SP也向上生长 3 堆栈栈顶 最后推入堆栈的数据所在的存储单元4 SP用来指示堆栈所处的位置 在进行操作之前 先用指令给SP赋值 以规定栈区在RAM区的起始地址 栈底层 当数据推入栈区后 SP的值也自动随之变化 63H 64H 65H 66H 67H 栈底 演示 80C51单片机的内部结构 X1X2 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 8位寄存器2 SP用来存放堆栈栈顶的地址 返回 1 堆栈是在内RAM区专门开辟出来的按照 先进后出 原则进行数据存取的一块连续的存储区域 2 堆栈有栈顶和栈底 堆栈中没有数据时 二者重叠 SP指向最下端 栈底 向堆栈推入数据后 栈顶向上生长 SP也向上生长 3 堆栈栈顶 最后推入堆栈的数据所在的存储单元4 SP用来指示堆栈所处的位置 在进行操作之前 先用指令给SP赋值 以规定栈区在RAM区的起始地址 栈底层 当数据推入栈区后 SP的值也自动随之变化 63H 64H 65H 66H 67H 栈底 12H 46H 73H SP 63H SP 64H SP 66H SP 65H 入栈 80C51单片机的内部结构 X1X2 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 8位寄存器2 SP用来存放堆栈栈顶的地址 返回 1 堆栈是在内RAM区专门开辟出来的按照 先进后出 原则进行数据存取的一块连续的存储区域 2 堆栈有栈顶和栈底 堆栈中没有数据时 二者重叠 SP指向最下端 栈底 向堆栈推入数据后 栈顶向上生长 SP也向上生长 3 堆栈栈顶 最后推入堆栈的数据所在的存储单元4 SP用来指示堆栈所处的位置 在进行操作之前 先用指令给SP赋值 以规定栈区在RAM区的起始地址 栈底层 当数据推入栈区后 SP的值也自动随之变化 63H 64H 65H 66H 67H 栈底 12H SP 64H SP 66H SP 65H 出栈 73H 73H 46H 46H 80C51单片机的内部结构 X1X2 A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 8位寄存器2 SP用来存放堆栈栈顶的地址 返回 1 堆栈是在内RAM区专门开辟出来的按照 先进后出 原则进行数据存取的一块连续的存储区域 2 堆栈有栈顶和栈底 堆栈中没有数据时 二者重叠 SP指向最下端 栈底 向堆栈推入数据后 栈顶向上生长 SP也向上生长 3 堆栈栈顶 最后推入堆栈的数据所在的存储单元4 SP用来指示堆栈所处的位置 在进行操作之前 先用指令给SP赋值 以规定栈区在RAM区的起始地址 栈底层 当数据推入栈区后 SP的值也自动随之变化 63H 64H 65H 66H 67H 栈底 SP 64H SP 66H SP 65H 73H 73H 46H 46H 12H 80C51单片机的内部结构 PSENRSTALEEA A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 1 数据指针DPTR是一个16位的专用寄存器 其高位字节寄存器用DPH表示 低位字节寄存器用DPL表示 2 既可作为一个16位寄存器DPTR来处理 也可作为两个独立的8位寄存器DPH和DPL来处理 3 DPTR主要用来存放16位地址 当对64KB外部数据存储器空间寻址时 作为间址寄存器用 在访问程序存储器时 用作基址寄存器 返回 演示 DPTR0003H 34HA TMP PSW B SP DPTR0003H RAM PC ROM 定时 中断 串口 返回 ALU 读写控制 输入输出电路 地址译码器 RAM芯片 单片机 DB CB AB 0003H DPTR0003H WR 34H 80C51单片机的内部结构 PSENRSTALEEA A TMP PSW B SP DPTR RAM PC ROM P1 P2 P3 P0 定时 中断 串口 IR PLA ID 振荡 X1X2 PSENRSTALEEA P0P1P2P3 80C51内有的4K的ROM 不够用时可以外扩ROM 内ROM 外ROM 64K 返回 2 单片机的软件及数据如何存放 从前面的任务中 我们还看到要控制灯闪烁 必须编制程序 还必须将控制灯的相关数据预先存储 那么 在单片机中的程序和数据是怎样保存的 原来 在单片机内部有程序存储器和数据存储器 如果内部程序存储器和数据存储器的容量不够的话 还可以在单片机外部为它扩展 最大我们可以将程序存储器空间总容量扩大到64K 将数据存储器在片外再单独扩展64K 这样 以89S51为例 数据存储器的总容量可达64K 片外 128字节 片内 MCS 51单片机的存储器组织结构 采用典型的哈佛结构 即程序存储器和数据存储器完全独立 拥有各自的寻址系统 包括片内数据存储器与片外数据存储器都拥有自己独立的寻址系统 2 3存储器 MCS 51单片机存储器组织结构 返回 2 3 1程序存储器2 3 2内部数据存储器2 2 3特殊功能寄存器 2 3存储器 返回 2 3 1程序存储器 用途 存放程序及程序运行时所需的常数 寻址范围 0000H FFFFH容量64KB 即地址长度 16位 寻址内部ROM 说明 当PC值超过片内ROM容量时会自动转向外部存储器空间 寻址外部ROM 1 返回 2 程序存储器的分类 1 MaskROM型 掩膜ROM 如8051ROM 2 OTPROM型 一次可编程ROM 3 EPROM型 可擦除可编程ROM 如8751ROM 4 E2PROM型 电可擦除可编程ROM 5 FlashROM型 闪速只读存储器 如ATMEL公司的AT89系列 89C51 返回 MCS 51系列单片机的分类 常用的MCS51系列单片机有2种类型的产品 8051 8751 89C51和8031 它们的结构基本相同 其主要差别反映在存储器的配置上的不同 8051内设有4KB的掩膜ROM 8751内设有4KB的EPROM 89C51内设有4KB的FlashROM 8031内没有ROM MCS 51系列单片机配置一览表 3 程序存储器中6个具有特殊含义的单元 0000H 系统复位 PC指向此处 0003H 外部中断0入口000BH T0溢出中断入口0013H 外中断1入口001BH T1溢出中断入口0023H 串口中断入口 返回 2 3 2数据存储器 用途 存放程序执行的中间结果和过程数据的 物理上分为两大区域 00H 7FH即128B用户RAM区 80H FFH即特殊功能寄存器区 返回 7FH真正RAM区00H MCS 51单片机片内RAM的配置图 FFHSFR区80H MCS 51内有256B的RAM单元 其地址范围为00H FFH 分为两大部分 低128字节 00H 7FH 为真正的RAM区 高128字节 80H FFH 为特殊功能寄存器区SFR 返回 7FH真正RAM区00H MCS 51单片机片内RAM的配置图 FFHSFR区80H 返回 89C51内有256B的RAM单元 其地址范围为00H FFH 分为两大部分 低128字节 00H 7FH 为真正的RAM区 高128字节 80H FFH 为特殊功能寄存器区SFR 7FH普通RAM区30H 2FH位寻址区20H 1FH工作寄存器区00H 7FH真正RAM区00H MCS 51单片机片内RAM的配置图 FFHSFR区80H 89C51内有256B的RAM单元 其地址范围为00H FFH 分为两大部分 低128字节 00H 7FH 为真正的RAM区 高128字节 80H FFH 为特殊功能寄存器区SFR 7FH普通RAM区30H 2FH位寻址区20H 1FH工作寄存器区00H 返回 07H0组00H 0FH1组08H 17H2组10H 1FH3组18H 1 工作寄存器区是指00H 1FH区 共分4个组 每组有8个单元 共32个内部RAM单元 2 每次只能有1组作为工作寄存器使用 其它各组可以作为一般的数据缓冲区使用 3 作为工作寄存器使用的8个单元 又称为R0 R74 程序状态字PSW中的PSW 3 RS0 和PSW 4 RS1 两位来选择哪一组作为工作寄存器使用 CPU通过软件修改PSW中RS0和RS1两位的状态 就可任选一个工作寄存器工作 RS1 RS0与片内工作寄存器组的对应关系 返回 工作寄存器和RAM地址对照表 返回 7FH真正RAM区00H MCS 51单片机片内RAM的配置下图所示 FFHSFR区80H 7FH普通RAM区30H 2FH位寻址区20H 1FH工作寄存器区00H 20H 21H 22H 23H 24H 25H 26H 27H 2FH 1 位寻址区是指20H 2FH单元 共16个单元 2 位寻址区的每1位都可当作软件触发器 由程序直接进行位处理 3 位寻址区的16个单元 共计128位 的每1位都有一个8位表示的位地址 位地址范围为00H 1FH 如表所示 4 同样 位寻址的RAM单元也可以按字节操作作为一般的数据缓冲区 返回 内部RAM中位地址表 返回 7FH真正RAM区00H MCS 51单片机片内RAM的配置图 FFHSFR区80H 返回 89C51内有256B的RAM单元 其地址范围为00H FFH 分为两大部分 低128字节 00H 7FH 为真正的RAM区 高128字节 80H FFH 为特殊功能寄存器区SFR 1 高128B的RAM单元中有21个单元可用 称为SFR 这21个SFR分散在高128B的地址空间内 分别是A B PSW SP DPH DPL P0 P1 P2 P3 IP IE TCON TMOD TH0 TL0 TH1 TL1 SCON SBUF PCON 2 有些可以按位寻址 3 特殊功能寄存器名称 标识符 地址见表 特殊功能寄存器名称 标识符 地址一览表 返回 返回 2 3 3特殊功能寄存器 返回 返回 1 累加器ACC Accumulator 2 寄存器B 3 程序状态字 ProgramStatusWord CY 进位 借位标志 位累加器 AC 辅助进 借位标志 用于十进制调整 F0 用户定义标志位 软件置位 清零 OV 溢出标志 硬件置位 清零 P 奇偶标志 A中1的个数为奇数P 1 否则P 0 返回 4 数据指针 DPTR 数据指针为16位寄存器 编程时 既可以按16位寄存器来使用 也可以按两个8位寄存器来使用 即高位字节寄存器DPH和低位字节DPL DPTR主要是用来保存16位地址 当对64kB外部数据存储器寻址时 可作为间址寄存器使用 此时 使用如下两条指令 MOVXA DPTRMOVX DPTR A 在访问程序存储器时 DPTR可用来作基址寄存器 采用基址 变址寻址方式访问程序存储器 这条指令常用于读取程序存储器内的表格数据 MOVCA A DPTR 返回 5 堆栈指针SP StackPointer 指明栈顶元素的地址 8位 可软件设置初值 复位时SP 07H 返回 6 I O口专用寄存器 P0 P1 P2 P3 I O口寄存器P0 P1 P2和P3分别是MCS 51单片机的四组I O口锁存器 7 定时 计数器 TL0 TH0 TL1和TH1 MCS 51单片机中有两个16位的定时 计数器T0和T1 它们由四个8位寄存器组成的 两个16位定时 计数器却是完全独立的 我们可以单独对这四个寄存器进行寻址 但不能把T0和T1当作16位寄存来使用 8 定时 计数器方式选择寄存器 TMOD TMOD寄存器是一个专用寄存器 用于控制两个定时计数器的工作方式 TMOD可以用字节传送指令设置其内容 但不能位寻址 返回 3 单片机程序运行的结果如何送给发光二极管 从刚才的任务中 我们看到发光二极管随着程序的运行 有规律的闪动 那么 现在我们来看看单片机是怎样将程序中运行的结果送给发光二极管的 原来 MCS 51单片机上有4组8位I O口 P0 P1 P2和P3口 共有4个8位双向I O口 共32口线 每位均有自己的锁存器 SFR 输出驱动器和输入缓冲器 他们在单片机中 主要承担了和单片机外部设备打交道的任务 下面我们分别介绍这几个I O口 2 4并行输入 输出口 多路开关功能 用于控制选通I O方式还是地址 数据输出方式方式控制 由内部控制信号产生 输入锁存器 两个输入缓冲器 BUF1和BUF2 推拉式I O驱动器 P0口位图内部结构 说明 1 当控制信号为0时 P0口做双向I O口 为漏极开路 三态 2 控制信号为1时 P0口为地址 数据复用总线 用于口扩展 1 0 1 P0和P2口 一 P0口作I O口 写Output CP有效 控制信号为0时 V1管截止 P0是对V2漏极开路输出 需要外接上拉电阻 D 1 V2截止 P0 X 1 D 0 V2导通 P0 X 0 二 P0口作I O口 读Input 1 读引脚 MOVC P0 0 读引脚信号使三态缓冲器打开 数据输入 注 P0口做I O输入时 必须先向电路中的锁存器写入 1 使FET截止 否则FET导通 P0 X为0 无法读入高电平 2 读锁存器 ANLP0 0 C 凡属于读 修改 写方式的指令 从锁存器读入信号 其它指令则从端引脚线上读入信号 读 修改 写指令的特点是 从端口输入 读 信号 在单片机内加以运算 修改 后 再输出 写 到该端口上 三 输出 地址 数据 V1 V2管交替导通 负载能力很强 1 P0口作为地址总线 控制信号为1地址信号为1 V1管导通 V2管截止 P0 X为高电平 地址信号为0 V1管截止 V2管导通 P0 X为低电平 2 P0口作数据总线 访问外部ROM时 P0口输出低8位地址后 将变为数据总线 以便取指令 期间 控制信号 为 0 V1管截止 多路开关转向Q CPU自动将向锁存器写 1 使V2管截止 读引脚 P0口锁存器和缓冲器结构 P0口除了作普通的I O口 直接和外部设备打交道外 还用作片外总线的地址总线AB0 AB7的低八位 数据总线 P2口内部结构 2 当控制信号为1时P2口输出地址信息 此时单片机完成外部的取指操作或对外部数据存储器16位地址的读写操作 3 当P2口作为普通I O口使用时用法和P1口类似 说明 1 P2可以作为通用的I O 也可以作为高8位地址输出 P2口锁存器和缓冲器结构 P2口除了作普通的I O口 直接和外部设备打交道外 还用作片外总线的地址总线的高八位地址线AB8 AB15 注意 P0口在作输出入口使用时 由于它无内部上拉电阻 为了在口线上输出高电平并具有一定的驱动能力 必须外接上拉电阻 作输入口使用时 为了防止口锁存器对输入口线的输入信号造成影响 必须先往口锁存器写1 同理 P2口作输入时 也必须先往口锁存器写1 MCS 51片外总线结构示意图 MCS 51单片机片外总线 P0 4 6264 WE 单片机8031 P2 0 A8 ALE RD 74LS373 G A7 A0 P0 0 P0 7 OE CE Q0 Q7 D0 D7 A12 P2 4 WR D7 D0 P1口内部结构 P1口内部结构如图2所示输出部分有内部上拉电阻R 约为20K 其他部分与P0端口使用相类似 读引脚时先写入1 写数据 读端口 2 P1口 P1口锁存器和缓冲器结构 P1口只用作普通输入输出口 注意 和P0 P2口一样 为防止口锁存器对输入口线造成影响 P1口作输入时 也必须先往口锁存器写1 2 5 4P3口内部结构 说明 1 做普通端口使用时 第二功能应为 1 2 使用第二功能时 输出端口锁存器应为 1 3 变异功能 第二功能 P3 0串行输入口 RXD P3 1串行输出口 TXD P3 2外中断0 INT0 P3 3外中断1 INT1 P3 4定时 计数器0的外部输入口 T0 P3 5定时 计数器1的外部输入口 T1 P3 6外部数据存储器写选通 WR P3 7外部数据存储器读选通 RD 3 P3口 P3口锁存器和缓冲器结构 P3口除了作普通的I O口 功能和P1口一样 直接和外部设备打交道外 还具有第二功能 2 5 5P0 P3端口功能总结使用中应注意的问题 P0 P3口都是并行I O口 但P0口和P2口还可用来构建数据总线和地址总线 所以电路中有一个MUX 进行转换 而P1口和P3口无构建系统的数据总线和地址总线的功能 因此 无需转接开关MUX 只有P0口是一个真正的双向口 P1 P3口都是准双向口 原因 P0口作数据总线使用时 为保证数据正确传送 需解决芯片内外的隔离问题 即只有在数据传送时芯片内外才接通 否则应处于隔离状态 为此 P0口的输出缓冲器应为三态门 P3口具有第二功能 因此在P3口电路增加了第二功能控制逻辑 这是P3口与其它各口的不同之处 4 怎样保证CPU工作 现在我们知道了单片机怎样取指 执指 即怎样运行程序了 那么怎样才能保证CPU有序的工作 这就必须提到单片机的两个非常重要的外围电路 单片机的时钟电路和复位电路 Pin19 时钟XTAL1脚 片内振荡电路的输入端 Pin18 时钟XTAL2脚 片内振荡电路的输出端 时钟电路如下 2 5单片机的时序 引脚及其它 振荡周期 单片机外接石英晶体振荡器的周期 如外接石英晶体的频率若为12MHz 这其振荡周期就是1 12微秒 状态周期 单片机完成一个最基本的动作所需的时间周期 如扫描一次定时器T0引脚状态所需要的时间 一个状态周期 2个振荡周期 机器周期 单片机完成一次完整的具有一定功能的动作所需的时间周期 如一次完整的读操作或写操作对应的时间 一个机器周期 6个状态周期 指令周期 执行完某条指令所需要的时间周期 一般需要1 4个机器周期 如MULAB指令是四机器周期指令 一个指令周期 1 4个机器周期 若外接晶振为12MHz时 则单片机的四个周期的具体值为 时钟周期 1 12MHz 1 12 s 0 0833 s状态周期 1 6 s 0 167 s机器周期 1 s指令周期 1 4 s可用于计算指令 程序的执行时间 以及定时器的定时时间 单周期单字节指令时序 单字节单周期指令例 INCA 双字节单周期指令例 ADDA DATA 单字节双周期指令例 INCDPTR CPU取指 执行时序 P1P2 P1P2 读操作码 丢弃 MOVX类指令 单字节双周期指令 无取指 无ALE 地址 数据 访问外部存储器 双字节双周期指令例 MOVRn direct 读第二字节操作码 当CPU对外部RAM读写时 ALE不是周期信号 无取指 复位电路如下 单片机工作时 除了需要时钟支持外 还必须有一个初始状态 即单片机的复位状态 复位不改变RAM 包括工作寄存器R0 R7 的状态 8051的初始态如下表 Pin9 RESET复位信号脚 当8051通电 时钟电路开始工作 在RESET引脚上出现24个时钟周期以上的高电平 系统即初始复位 当VCC接通电源时 即可实现单片机的上电复位 5 发光二极管为何按一定频率闪烁 在前面的任务中 灯有规律的间隔1S闪烁 离不开时间的控制 那么 这个时间我们在前面的程序中是怎样得到的 原来 在MSC 51单片机中有两个定时器T0 T1 我们在前面也已经提到了 它在单片机中能够利用中断实现定时或计数功能 详细的用法 在单元五 六进行讲解 6 单片机的其他资源 通过本次任务的分析 我们基本上知道MCS 51单片机的结构 它由CPU 程序存储器 数据存储器 并行输入输出口 定时计数器 中断系统等构成 当然除了本次任务用到的以上资源外 51单片机还有一个串行通讯口 单片机的引脚除了我们前面介绍的4个并I O口 两根时钟引脚 18 19脚 一根复位引脚 9脚 两根电源脚 40 20脚 外 还有以下一些引脚 外部程序存储器读选通信号 地址锁存信号输出端1 6fosc 程序运行工作方式 MCS 51单片机的程序运行方式包括连续执行方式和单步执行方式两种 其中连续执行方式是程序最基本的执行方式 即从PC指针开始 连续不断地执行程序 直到遇到结束或暂停标志 在系统复位时 PC总是指向0000H地址单元 而实际的程序应允许从程序存储器的任意位置开始 可通过执行若干种指令使PC指向程序的实际起始地址 节电工作方式 MCS 51单片机的CHMOS器件具有两种降低功耗的工作方式 空闲方式和掉电方式 MOS器件不具有这种功能 通过置位特殊功能寄存器PCON 电源控制寄存器 有关位可使器件进入节电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品经营企业质量培训测试题及答案
- 解析卷北师大版9年级数学上册期末试题及完整答案详解(必刷)
- 押题宝典高校教师资格证之《高等教育法规》考试题库带答案详解(b卷)
- 基础强化人教版8年级数学下册《平行四边形》章节练习试题(详解)
- 推拿治疗学考试题库附参考答案详解(巩固)
- 2025年新能源项目承包经营权长期转让合同范本
- 2025二手房买卖合同范本:全流程服务保障
- 2025版现代商务空间租赁管理合同书
- 2025版国际劳务派遣与员工权益保护合同
- 2025年度水库渔业承包与生态旅游开发合作协议
- 2025年新高考Ⅰ卷(新课标Ⅰ卷)语文真题试卷(含答案)
- CJ/T 448-2014城镇燃气加臭装置
- 项目经理业绩合同范本
- 租房开午托园合同范本
- 水电维修外包合同范本
- T/CECS 10344-2023绿色装配式边坡防护面层
- 护理分层培训体系构建与应用
- 员工自付社保协议书
- 混改公司合同协议模板
- 儿童多种维生素课件
- GA/T 2159-2024法庭科学资金数据清洗规程
评论
0/150
提交评论