




已阅读5页,还剩118页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用 C语言版 第2章MCS 51单片机结构与原理 主编 周国运本章制作 周国运中国水利水电出版社 第2章MCS 51单片机结构与原理 目录2 1MCS 51单片机结构及CPU2 2MCS 51单片机引脚与总线结构2 3MCS 51单片机的存储器结构2 4MCS 51单片机的输入输出端口2 5MCS 51单片机的时钟及CPU时序2 6MCS 51单片机的工作方式 第2章MCS 51单片机结构与原理 本章讨论MCS 51单片机的结构和工作原理 内容主要有MCS 51单片机结构 引脚信号 存储器配置 输入 输出端口 时钟与CPU时序 以及单片机的工作方式等 本章是单片机的基本内容 为学习后面各个章节的基础 也是从事单片机应用开发的基础 2 1MCS 51单片机内部结构及CPU 主要内容2 1 1MCS 51单片机的功能结构及特点2 1 2MCS 51单片机的内部原理结构2 1 3MCS 51单片机的CPU 2 1 1MCS 51单片机的功能结构及特点 MCS 51单片机的内部功能结构如下页图所示 图中是以增强型单片机的结构为对象 从图中可以看到 MCS 51单片机在一块芯片中集成了微型计算机所具有的所有部件 从功能的角度来看 主要包括9个部分 图2 1MCS 51 增强型 单片机功能结构图 2 1 1MCS 51单片机的功能结构及特点 2 1 1MCS 51单片机的功能结构及特点 MCS 51单片机内部主要包括9个部分 一个8位的微处理器CPU8KB的片内程序存储器FlashROM256B的片内数据存储器RAM 128B特殊功能寄存器 SFR 3个16位的定时器 计数器有一个管理6个中断源的中断控制器4个8位并行I O端一个全双工的串行接口 UART 片内振荡电路和时钟发生器可扩展64KB程序 64KB数据存储器的三总线控制电路 2 1 2MCS 51单片机的内部原理结构 MCS 51单片机的内部原理结构如图2 2所示 与图2 1比较 主要的区别是画出了CPU的内部结构 图中的中间部分除了 定时器 串行口 大方框之外都属于CPU部件 下面先介绍CPU部分 对于其它部件 将在本章和后面的章节讲解 图2 2MCS 51 增强型 单片机原理结构图 XTAL2XTAL1 P3 0 P3 7 P1 0 P1 7 RAM地址 端口0驱动器 端口2驱动器 8KBFlashROM 端口0锁存器 端口2锁存器 端口1驱动器 端口3驱动器 端口1锁存器 端口3锁存器 暂存器1 SP PSW B寄存器 暂存器2 ACC 256BRAM128BSFR 缓冲器 PC加1 PC 程序地址寄存器 DPTR 定时器 串行口中断部件及特殊功能寄存器 地址总线 数据总线 P2 0 P2 7 VccGND 指令寄存器指令译码器指令控制器 P0 0 P0 7 PSENALEEARST ALU 2 1 3MCS 51单片机的CPU MCS 51单片机内部有一个功能强大的8位CPU 它包含两个基本部分 运算器和控制器 一 运算器运算器包括 算术和逻辑运算部件ALU ArithmeticLogicUnit 以及累加器ACC 寄存器B 暂存器1 暂存器2 程序状态字寄存器PSW 布尔处理器等 2 1 3MCS 51单片机的CPU 1 算术逻辑运算部件ALUALU可以对4位 半字节 8位 一字节 和16位 双字节 数据进行操作 这些操作可以是 算术运算 加 减 乘 除 加1 减1 BCD码数的十进制调整及比较等 逻辑运算 与 或 异或 求补及循环移位等 2 1 3MCS 51单片机的CPU 2 累加器ACCACC在CPU结构中占有特殊的位置 所以ACC在指令中使用的非常多 ACC既做源操作数又做目的操作数 如在加 减 乘 除算术运算指令中 在与 或 异或 循环移位逻辑运算指令等 ACC也作为通用寄存器使用 并且可以按位操作 所以ACC是一个用处最多 最忙碌的寄存器 在指令中用助记符A来表示 2 1 3MCS 51单片机的CPU 3 B寄存器B做专门应用 在乘 除运算时 用来存放一个操作数 并且存放运算后的部分结果 B做一般应用 在非乘 除运算中 B可以作为通用寄存器使用 B可以按位操作 2 1 3MCS 51单片机的CPU 4 程序状态字PSW功能 用于设定CPU的状态和指示指令执行后的状态 PSW相当于其它微处理器中的标志寄存器 格式如下 2 1 3MCS 51单片机的CPU CY PSW 7 进位 借位标志在做位操作 布尔操作 时CY作为位累加器 在指令中用C代替CYAC PSW 6 半进位 半借位标志 也称为辅助进位标志F0 F1 PSW 5 PSW 1 用户标志位 留给用户使用 2 1 3MCS 51单片机的CPU OV PSW 2 溢出标志位有以下几种情况 加减运算 OV 1表示结果超出了8位有符号数的有效范围 128 127 对无符号数OV没有意义 无符号数乘法运算 OV 1表明结果超出了8位数 无符号数除法运算 OV 1表明除数为0 2 1 3MCS 51单片机的CPU P PSW 0 累加器A的奇偶标志位P表示累加器A中1的个数的奇偶性P 1 A中有奇数个1P 0 A中有偶数个1 2 1 3MCS 51单片机的CPU RS1 RS0 PSW 4和PSW 3 工作寄存器组选择控制位 工作寄存器 R0 R1 R7 2 1 3MCS 51单片机的CPU 5 布尔处理器布尔处理器以PSW中的进位标志位CY作为位累加器 用C表示 功能 专门用于处理位操作 MCS 51单片机有丰富的位处理指令 如置位 位清0 位取反 判断位值 为1或为0 转移 以及通过C 指令中用C代替CY 做位数据传送 位逻辑与 位逻辑或等位操作 2 1 3MCS 51单片机的CPU 二 控制器控制器包括程序计数器PC 指令寄存器IR 指令译码器ID 以及时钟控制逻辑 堆栈指针SP 地址指针DPTR等 1 程序计数器PCPC是一个具有自加1功能的16位的计数器PC的内容是将要执行的下一条指令的地址改变PC的内容就改变了程序执行的顺序 2 1 3MCS 51单片机的CPU 2 指令寄存器IR和指令译码器IDIR 存放从FlashROM中读取的指令ID 进行译码 产生一定序列的控制信号 完成指令所规定的操作 3 堆栈 1 堆栈的概念堆栈是在RAM中专门开辟的一个特殊用途的存储区 2 堆栈的访问原则 先进后出 后进先出 即先进入堆栈的数据后移出堆栈 即后进入堆栈的数据先移出堆栈 2 1 3MCS 51单片机的CPU 3 堆栈的结构堆栈的一端的地址是固定的 称为栈底 另一端的地址是动态变化的 称为栈顶 4 堆栈的操作方式堆栈有两种操作方式 数据进栈和数据出栈 进栈和出栈都是在栈顶进行 这就必然是按照 先进后出 后进先出 的方式存取数据 2 1 3MCS 51单片机的CPU 5 堆栈的应用主要是用来暂时存放数据 有两种情况使用堆栈 一是CPU自动使用堆栈 当调用子程序或响应中断 处理中断服务程序时 CPU自动将返回地址存放到堆栈中 通过堆栈传递参数 二是程序员使用堆栈 用堆栈暂时存放数据 2 1 3MCS 51单片机的CPU 4 堆栈指针SP堆栈指针SP StackPointer 中为栈顶的地址 即SP指向栈顶 SP是访问堆栈的间址寄存器SP具有自动加1 自动减1功能 当数据进栈时 SP先自动加1 然后CPU将数据存入 当数据出栈时 CPU先将数据送出 然后SP自动减1 2 1 3MCS 51单片机的CPU 下图是数据进栈的情况数据从栈顶进入 58 A6 7B 2 1 3MCS 51单片机的CPU 由于进栈时SP的值增加 即堆栈向地址大的方向生长 并且栈顶是有效数据 这种堆栈是满递增型堆栈 7B A6 58 36 2 1 3MCS 51单片机的CPU 5 数据指针DPTRDPTR是唯一的16位寄存器 DPTR既可以作为一个16位寄存器使用 也可以作为两个独立的8位寄存器使用 其高字节寄存器用DPH表示 低字节寄存器用DPL表示 DPTR的用途 1 主要用于存放16位地址 以便对64KB的片外RAM和64KB的程序存储空间作间接访问 2 其次用于存放数据 作为一般寄存器使用 2 2MCS 51单片机引脚与总线结构 主要内容2 2 1MCS 51单片机引脚信号及功能2 2 2MCS 51单片机外部总线结构 2 2 1MCS 51单片机引脚信号及功能 封装 40DIP 44PLCC 常用40DIP40个引脚分为4类 电源引脚晶振引脚控制信号输入 输出引脚 2 2 1MCS 51单片机引脚信号及功能 一 电源引脚Vcc 40脚 接5V电源正端Vss 20脚 接5V电源地端二 晶振引脚XTAL1 19脚 XTAL2 18脚 2 2 1MCS 51单片机引脚信号及功能 三 控制信号引脚1 RST VPD 9脚 RST 复位信号输入端 高电平有效 单片机正常工作时 RST保持两个机器周期的高电平就会使单片机复位 上电时 RST上的高电平必须保持10ms以上才能保证有效复位 由于振荡器需要一定的起振时间 VPD 备用电源输入端 以保持内部RAM中的数据不丢失 当Vcc的电压降低到低电平规定的值或掉电时 接入电源 2 2 1MCS 51单片机引脚信号及功能 2 ALE PROG 30引脚 ALE 地址锁存信号 每个机器周期输出两个正脉冲 下降沿或低电平用于控制外接的地址锁存器 锁存从P0口输出的低8位地址 可以将ALE作为时钟信号使用 PROG 片内程序存储器的编程脉冲输入端 低电平有效 2 2 1MCS 51单片机引脚信号及功能 3 PSEN 29引脚 片外程序存储器读选通信号输出端 每个机器周期输出两个负脉冲 低电平有效 在访问片外数据存储器时 该信号不出现 4 EA Vpp 31引脚 EA 程序存储器选择输入端 低电平时 使用片外程序存储器 高电平时 使用片内程序存储器 Vpp 片内程序存储器编程电压输入端 2 2 1MCS 51单片机引脚信号及功能 五 输入 输出引脚1 P0口 P0 0 P0 7 32 39引脚 P0口是一个8位漏极开路的I O口 P0口作总线口 当CPU以总线方式访问片外存储器时 P0口分时地输出低8位地址 读入指令和输入 输出数据 P0口作为一般I O口 此时P0口为准双向口 各位输入前必须先输出1 2 2 1MCS 51单片机引脚信号及功能 2 P1口 P1 0 P1 7 1 8引脚 P1口是一个8位准双向I O口P1 0 P1 1的第二功能 对于增强型 第二功能的信号分别为T2和T2EXT2 P1 0 定时器 计数器2的计数脉冲输入和时钟输出 T2EX P1 1 定时器 计数器2的重装 捕获和计数方向控制输入 2 2 1MCS 51单片机引脚信号及功能 3 P2口 P2 0 P2 7 21 28引脚 当CPU以总线方式访问片外存储器时 P2口输出高8位地址 作为一般I O口使用时 为准双向口 4 P3口 P3 0 P3 7 10 17引脚 P3口是一个8位I O口 还是一个双功能口作为一般I O口使用时 为准双向口 各引脚第二功能如下页表2 2所示 2 2 1MCS 51单片机引脚信号及功能 表2 2P3口各引脚第二功能定义 2 2 2MCS 51单片机总线结构 总线的概念 总线即三总线 指数据总线 地址总线 控制总线 一般说法为 多个部件信息的电气连接 MCS 51单片机的总线 内部具有产生总线的结构 如图2 6所示 单片机总线的应用 扩展数据存储器扩展程序存储器 2 2 2MCS 51单片机总线结构 图2 6MCS 51单片机总线结构 地址锁存器74LS573 A15 A8A7 A0D7 D0 数据总线 DB I O口 控制总线 CB 地址总线 AB P1 0P1 1P1 2P1 3P1 4P1 5P1 6P1 7P3 0P3 1P3 2P3 3P3 4P3 5P3 6 WRP3 7 RDALEPSENEARST P2 7P2 6P2 5P2 4P2 3P2 2P2 1P2 0P0 7P0 6P0 5P0 4P0 3P0 2P0 1P0 0 2 3MCS 51单片机的存储器结构 主要内容2 3 1程序存储器结构2 3 2片内数据存储器结构2 3 3片外数据存储器结构 MCS 51单片机存储器概述1 单片机的哈佛结构存储器MCS 51单片机为哈佛结构 程序存储器ROM和数据存储器RAM分开编址PC机为偌依曼 ROM和RAM统一编址程序存储器 固化程序 常数和数据表数据存储器 存放程序运行中产生的各种数据 用作堆栈等 2 单片机的存储器空间及分类MCS 51单片机有4个存储空间 片内程序存储器 片内数据存储器 片外程序存储器 片外数据存储器 4个存储空间可以分成三类 片内数据存储空间 256B的RAM和128B的特殊功能寄存器 片外数据存储空间 64KB 片内和片外统一编址的程序存储空间 64KB 不同类型的存储空间 有各自的寻址方式和访问指令 2 3 1程序存储器结构 一 程序存储器结构51基本型片内有4KB的FlashROM 地址为0000H 0FFFH 片外最多可以扩展60KB 地址为1000H FFFFH 增强型片内有8KB的FlashROM 地址为0000H 1FFFH 片外最多可以扩展56KB 地址为2000H FFFFH 片内外是统一编址的 程序存储器空间的配置如图2 7所示 2 3 1程序存储器结构 图2 7MCS 51单片机程序存储空间的配置 片外ROM 片内ROMEA 1 片外ROMEA 0 0000H 0FFFH 1000H FFFFH a 片内有4KB的ROM b 片内有8KB的ROM 片外ROM 片内ROMEA 1 片外ROMEA 0 0000H 1FFFH 2000H FFFFH 2 3 1程序存储器结构 单片机在执行指令时 对于低地址部分 究竟是从片内程序存储器取指令 还是从片外程序存储器取指令 决定于程序存储器选择引脚EA的电平 EA接低电平 读片外程序存储器EA接高电平 CPU从片内程序存储器取指令 当取指令的地址大于片内存储器的最大地址时 CPU自动转到片外程序存储器取指令 2 3 1程序存储器结构 二 程序存储器的专用区域用作复位和中断入口 2 3 1程序存储器结构 中断向量 即中断入口地址 如下表注意区分 中断入口地址 中断服务程序入口地址 中断服务程序 2 3 1程序存储器结构 C语言编程所考虑的问题如果用C语言编写程序 不需要考虑以上这些问题 即不用考虑引导程序问题 中断入口与跳转问题 这些问题均由编译系统安排好 main 函数起到引导程序的作用 对于中断处理 只要按照格式编写中断处理函数即可 见第4章 2 3 2片内数据存储器结构 片内数据存储器按照寻址方式 可以分为三个部分 低128字节数据区 高128字节数据区 特殊功能寄存器区 如下图所示 低128BRAMdata区 特殊功能寄存器 80H FFH 00H 7FH a 89C51片内RAM 低128BRAMdata区 高128BRAMidata区 特殊功能寄存器 00H 7FH 80H FFH 80H FFH b 增强型单片机片内RAM 2 3 2片内数据存储器结构 一 低128字节RAM地址范围 00H 7FH 128字节应用特点 有多种用途 且使用最频繁功能作用 分为三个区域 即工作寄存器区 位寻找区 通用数据区 寻址方式 直接 间接 位寻址低128字节RAM的配置如图2 9所示 图2 9低128字节RAM区 2 3 2片内数据存储器结构 1 工作寄存器区范围 地址从00H到1FH 共32字节 分4个组 第0组 第1组 第2组 第3组工作寄存器名 R0 R1 R7 不同的组对应的8个寄存器的地址不同 如表2 1所示 工作寄存器组的选择 决定于程序状态字PSW的RS1和RS0位 见表2 1 C语言下选寄存器组 在定义函数时 通过使用关键字 using 来选择 如usingm 2 3 2片内数据存储器结构 2 位寻址区范围 字节地址从20H到2FH 16字节 位地址 00H到7FH 128位 用途 既可以做位操作 也可以字节操作 C语言编程 用关键字 bit 定义的位变量在该区域 用关键字 bdata 将一般变量定义在该区域 并且定义的变量还可以进行位寻址 2 3 2片内数据存储器结构 3 通用数据区范围 地址从30H到7FH 共80字节 用途 用于堆栈 存放数据 存放程序运行时的中间结果等 4 寻址方式直接 间接 位寻址方式访问直接 间接范围 字节地址从00H到7FH位寻址范围 字节地址从20H到2FH 16字节 位地址00H到7FH 128位 2 3 2片内数据存储器结构 二 高128字节RAM地址范围 80H FFH 128字节用途 与低128字节中的30H到7FH完全一样 用于堆栈 存放程序运行时的数据和中间结果等 寻址方式 间接访问 C语言编程 使用关键字 idata 定义变量 2 3 2片内数据存储器结构 三 特殊功能寄存器 SFR 也称为专用寄存器 是单片机中最重要的部分 地址范围 80H FFH 128字节功能作用 控制单片机各个部件的运行反映各部件的运行状态存放数据或地址寻址方式 直接访问 2 3 2片内数据存储器结构 1 具体特殊功能寄存器SFR的数量 基本型只有21个 增强型有27个 分别有11个 12个可以按位操作 1 与CPU相关的 7个 PWS 程序状态寄存器A 累加器B 辅助运算寄存器SP 堆栈指针PCON 电源控制寄存器DPL DPH 数据指针的低字节 高字节 2 3 2片内数据存储器结构 2 与定时器相关的 12个 TMOD 模式寄存器TCON 控制寄存器TL0 TH0 T0低8位 高8位计数器TL1 TH1 T1低8位 高8位计数器T2MOD T2模式寄存器T2CON T2控制寄存器TL2 TH2 T2低8位 高8位计数器RCAP2L RCAP2H T2捕获寄存器 2 3 2片内数据存储器结构 3 与中断相关的 2个 IE 中断允许 控制 寄存器IP 中断优先级寄存器 4 与串行口相关的 2个 SCON 串行口控制寄存器SBUF 串行口数据缓冲寄存器 2个 5 与I O口相关的 4个 P0 P1 P2 P3 4个并行口映射寄存器 2 3 2片内数据存储器结构 2 一些最重要的寄存器在表2 5中有格式的特殊功能寄存器最重要 它们是 9个 PSW IE IP TCON TMODPCON SCON T2CON T2MOD应用单片机 主要就是掌握这9个有格式的特殊功能寄存器 对基本型仅有7个 2 3 2片内数据存储器结构 3 特殊功能寄存器在C语言中的表示这些特殊功能寄存器及各位位名在汇编语言中能够识别 但在C语言中并不识别 为了在C语言中使用 必须先做定义 它们多数在 reg51 h reg52 h 等头文件做了定义 但有一些未做定义 如4个并行口P0 P3各位 累加器A 寄存器B等 在使用时需要用户定义 2 3 3片外数据存储器结构 地址范围 0000H FFFFH容量 共64KB访问指令 MOVX 片内用MOV 使用 MOVX 指令对片外RAM进行读 写操作时 会自动产生读 写控制信号RD和WR 作用于片外RAM实现读 写操作 2 3 3片外数据存储器结构 片外RAM的用途 1 没有特别的用途 不像片内RAM 不划分区域 2 片外RAM做通用RAM使用 主要存放大量采集的或接收的数据 运算的中间数据 最后结果 用作堆栈等 C语言编程 使用关键字 xdata 或 pdata 将变量 数组 堆栈定义到片外RAM区 2 4MCS 51单片机的输入 输出端口 主要内容2 4 1P1口2 4 2P2口2 4 3P3口2 4 4P0口2 4 5端口的负载能力和接口要求 I O口概述 MCS 51单片机的4个8位端口 均可作一般I O口 都是准双向口 每个端口都可以按位作输入或输出端口结构 每个端口都有一个 1 输出锁存器 2 输出驱动器 3 输入缓冲器 输出时锁存数据 输入时数据缓冲 4个端口的差别 功能不尽相同 内部结构有区别 2 4 1P1口 P1口是唯一的静态准双向口 用作通用I O口 P1口的结构 主要由 1 输出锁存器 2 驱动器场效应管 FET 3 两个三态缓缓冲器 4 端口上拉电阻 实为FET 等部分组成 P1口相对来说是最简单的 其电路结构如图2 10所示 2 4 1P1口 2 4 1P1口 一 P1口输出输出1 将1写入P1口某一位的锁存器 使输出驱动器的场效应管T截止 该位的引脚由内部上拉电阻拉成高电平 输出为1 输出0 将0写入锁存器 使场效应管导通 则输出引脚为低电平 不需要外接上拉电阻 因P1口内各位有上拉电阻 所以在输出高电平时 能向外提供拉电流负载 2 4 1P1口 二 P1口输入输入通道建立 当P1口的某位用作输入时 该位的锁存器必须锁存输出1 该位先写1 使输出场效应管T截止 才能够正确输入 输入 这时从引脚输入的值决定于外部信号的高低 引脚状态经 读引脚 信号打开的三态缓冲器2 送入内部总线 2 4 1P1口 输入时必须向对应位先写1 因为有可能前面的操作使引脚输出0 场效应管T处于导通状态 引脚被箝位为0 这样 不管外部信号为何状态 从引脚输入的永远为0 不能够正确输入 单片机端口输入前必须先向端口输出1这种特性 称为准双向口 MCS 51单片机的P0 P3口作为通用I O口使用时 都是准双向口 2 4 1P1口 三 P1口作 读 修改 写 操作 读 修改 写 操作概念 在CPU执行某些指令时 需要先从P1口读入数据 经过某些操作后 再从P1口输出 这样的操作称为 读 修改 写 操作 例如 指令 INCP1 其操作先把P1口原来的值读入 读入的是锁存器中的值 而不是引脚的值 然后加上1 最后把结果再从P1口输出 表2 6给出了P0 P3口所有的 读 修改 写 指令 2 4 1P1口 2 4 2P2口 P2口是一个双功能口 一是通用I O口 二是以总线方式访问外存时的高8位地址口 端口结构 与P1口的结构类似 但比P1口多了一个多路切换开关MUX和反相器3 读引脚 内部总线 写锁存器 读锁存器 1 2 Vcc P2 x T R MUX 地址 控制 3 DQ锁存器CLQ 2 4 2P2口 一 P2口作通用I O口一般I O读 写操作指令 如执行 MOVA P2 指令 执行 MOVP2 B 指令 I O口通道 由内部硬件自动使开关MUX拨向下边 与锁存器的输出端Q接通 这时P2口为通用I O口 与P1口一样 I O口读 写操作 可以随时做输出 输入时要考虑其准双向口 先输出1 2 4 2P2口 二 P2口输出高8位地址高8位地址输出通道 当进行总线读 写操作 执行 MOVX 指令 时 MUX开关在硬件控制下自动拨向上边 P2口输出高8位地址 总线操作指令 对于 MOVXA Ri 或 MOVX Ri A 与 MOVXA DPTR MOVX DPTR A 指令也一样 P2口始终输出高8位地址 此时 P2口不能作为一般I O口使用 2 4 2P2口 使用片外程序存储器 CPU从片外程序存储器每读一条指令 P2口就输出一次高8位地址 由于CPU需要一直读取指令 P2口始终要输出高8位地址 在这种情况下P2口不能够作为通用I O口使用 2 4 3P3口 P3口是一个多功能口 某位结构如图2 12P3口的结构 与P1口比较 多了 与非门 3 缓冲器4 正是这两个部分 使得P3口具有第2功能 与非门 3的作用 实际上是一个开关 决定是输出锁存器Q端数据 还是输出第2功能 W 的信号 2 4 3P3口 图2 12P3口某一位的原理结构 第2功能输入 读引脚 内部总线 写锁存器 DQ锁存器CLQ Vcc 读锁存器 P3 x T R 第2功能输出 3 W 1 2 4 2 4 3P3口 一 P3口用作通用I O口输出通道 与非门 3的W信号自动变高 为Q信号输出打开 与非门 输出信号经过FET从P3引脚输出 输入通道 其准双向的特性应该先输出1 W也自动为高 从Q端输出的高电平信号经 与非门 输出使FET截止 输入 P3口引脚的外部信号 读引脚时打开缓冲器2 引脚状态经缓冲器4 常开 缓冲器2后进入内部总线 2 4 3P3口 二 P3口用作第2功能当使用P3口的第2功能时 8个引脚有不同的意义 见表2 2 1 第2功能输出第2功能输出通道 输出位的锁存器被内部硬件自动置1 使与非门3对第2功能的输出是打开的 第2功能输出可以是 TXD WR RD 例如 P3 7第二功能为RD 2 4 3P3口 2 第2功能输入第2功能输入通道 某位作第2功能输入时 该位的锁存器输出端被硬件自动置1 并且W保持为1 则与非门3输出低 FET截止 该位引脚为高阻输入 P3口的第2输入功能可以是 RXD INT0 INT1 T0 T1 此时端口不作通用I O口 三态缓冲器2不导通 2 4 3P3口 表2 2P3口各引脚第二功能定义 2 4 4P0口 P0口的结构 与P1口比较 多了一路 1 总线输出 地址 数据 2 总线输出控制电路 反相器3和与门4 3 两路输出切换开关MUX及开关控制C 4 上拉电阻换成了场效应管T1 P0口两路输出切换控制 C 0 MUX拨向Q输出端 P0口为通用I O口 C 1 开关拨向总线输出端 P0口作总线使用 分时地输出地址和数据 2 4 4P0口 图2 13P0口某一位的原理结构 读引脚 内部总线 写锁存器 DQ锁存器CLQ 读锁存器 Vcc P0 x T2 MUX 地址数据 控制C 3 T1 4 1 2 2 4 4P0口 一 P0口用作通用I O口通用I O口通道 当通过P0口进行I O读 写操作 执行MOV等指令 时 由硬件自动使控制线C 0 封锁与门4 使T1截止 MUX拨向Q输出端 把输出场效应管T2与锁存器的Q端接通 P0口可以作通用I O口使用 但输出级是开漏电路 外接上拉电阻 才能输出高电平 P0口作为通用I O口时 也是准双向口 2 4 4P0口 二 P0口作为地址 数据总线使用1 总线操作通道当CPU对片外存储器 程序 数据 进行读 写 执行MOVX指令 或EA 0时执行MOVC指令 时 使控制线C 1 MUX拨向总线输出端 P0口的总线操作 分时地输出地址和传输数据 具体有两种情况 2 4 4P0口 2 P0口作为总线输出地址或数据在扩展的程序存储器或数据存储器系统中 对于P0口分时地输出地址和输出数据 端口的操作是一样的 总线输出通道 MUX开关把CPU内部的地址或数据经反相器3与驱动场效应管T2的栅极接通 总线输出操作 输出1时 T1导通而T2截止 从引脚输出高电平 输出0时 T1截止而T2导通 从引脚输出低电平 2 4 4P0口 3 P0口作为总线输入数据总线输入通道 1 控制线C 1 总是将开关MUX拨向反相器3的输出端 总线输入时也是如此 2 为了能够正确读入引脚的状态 地址 数据自动输出1 使T2截止 T1导通 总线输入操作 读引脚 信号有效 三态缓冲器2打开 引脚上的信号进入内部总线 2 4 5端口负载能力和接口要求 一 P0口1 负载能力 1 一般I O口的负载能力每一位输出可以驱动4个LS型TTL负载 2 用作总线时的负载能力P0口作总线时 每一位输出可以驱动8个LS型TTL负载 2 4 5端口负载能力和接口要求 2 接口要求 1 一般I O口的接口要求P0口的输出级无上拉电阻 当把它用作通用I O口时 输出级是开漏电路 用其输出驱动NMOS电路时 要外接上拉电阻 2 用作总线时的接口要求把P0口用作地址 数据总线时 系统扩展有ROM或RAM 则无须外接上拉电阻 作总线输入时 不必先向端口写1 2 4 5端口负载能力和接口要求 二 P1 P3口1 负载能力P1 P3口的输出级接有上拉电阻 它们的每一位输出可以驱动4个LS型TTL负载 2 接口要求由于P1 P3口的输出级接有上拉负载电阻 无论是作为输入口 还是作为输出口 不管外部电路的类型是什么 均无须外接上拉电阻 2 5MCS 51单片机的时钟及CPU时序 主要内容2 5 1时钟电路及时钟信号2 5 2CPU时序 MCS 51单片机内有一个节拍发生器 即片内振荡器和分频器 能够产生单片机工作的各种时钟信号 2 5 1时钟电路及时钟信号 一 时钟电路MCS 51单片机内部有产生振荡信号的放大电路 可以两种方式产生时钟信号 一种是内部方式 另一种是外部方式 1 内部方式就是利用单片机内部的高增益反向放大器 外接晶振等器件构成的振荡电路 2 5 1时钟电路及时钟信号 2 外部方式就是把外部的时钟信号接到XTAL1或XTAL2引脚上 给单片机提供基本的时钟信号 主要用于多电路时钟同步 2 5 1时钟电路及时钟信号 二 时钟信号在单片机中 泛意的时钟信号包括 振荡信号 振荡信号的2分频信号 机器周期信号 指令周期信号 1 节拍与状态周期时钟信号 振荡频率的2分频 是基本时序信号 状态周期S 时钟信号的周期时钟信号的前后半个周期称为相位1 记为P1 和相位2 P2 也称为节拍1 节拍2 2 5 1时钟电路及时钟信号 2 机器周期机器周期 指CPU访问一次存储器所需要的时间 机器周期是量度时间的基本单位机器周期与时钟周期的关系 1个机器周期包含6个时钟周期或状态周期机器周期与振荡周期的关系 1个机器周期包含12个振荡周期机器周期计算 设单片机的振荡频率fosc为12MHz 则机器周期为1 s 若振荡频率为6MHz 则机器周期为2 s 2 5 1时钟电路及时钟信号 3 指令周期指令周期 指CPU执行一条指令所需要的时间 用机器周期量度 不同的指令有不同的指令周期 有单机器周期 双机器周期 4机器周期三种 2 5 2CPU时序 CPU时序即CPU操作时序 包括取指令和执行指令两个阶段 指令周期分为 单机器周期 双机器周期 4机器周期三种 指令字节 单字节 双字节 三字节一些典型指令的操作时序如图2 15所示 2 5 2CPU时序 图2 15MCS 51单片机的CPU时序 1 S1S2S3S4S5S6 S1S2S3S4S5S6 读操作码 读下一操作码 丢弃 读操作码 读第2字节 时钟信号 ALE a 单字节 单周期指令如 MOVA Rn b 双字节 单周期指令如 ADDA data S1P1P2 S2P1P2 S3P1P2 S4P1P2 S5P1P2 S6P1P2 2 5 2CPU时序 时钟信号 图2 15MCS 51单片机的CPU时序 2 S1S2S3S4S5S6 S1S2S3S4S5S6 读操作码 读下一操作码 丢弃 读操作码 读下一操作码 丢弃 ALE c 单字节 双周期指令如 INCDPTR d 单字节 双周期指令 MOVX S1P1P2 S2P1P2 S3P1P2 S4P1P2 S5P1P2 S6P1P2 2 6MCS 51单片机的工作方式 主要内容2 6 1复位方式2 6 2程序执行方式2 6 3单步执行方式2 6 4节电工作方式2 6 5编程和校验方式 2 6 1复位方式 复位电路 复位状态一 复位电路主要有两种方式 上电自动复位 手动复位 1 上电自动复位单片机在正常工作时 高电平持续2个时钟即复位 上电时高电平要维持10ms以上 2 6 1复位方式 2 手动复位下面电路具有上电自动复位和手动复位功能 上电时RST引脚高电平持续的时间 决定于复位电路的时间常数R2C之积 大约是0 55R2C左右 2 6 1复位方式 二 复位状态引脚信号状态 ALE PSEN均为高电平寄存器状态 如表2 8所示 P0 P3 FFH07HSP 07HSNUF 不确定其余 00H 2 6 2程序执行方式 程序执行方式是单片机的基本工作方式 也是单片机最主要的工作方式 单片机实现用户的功能通常就是采用这种方式 2 6 3单步执行方式 单步执行 是指在外部单脉冲的作用下 使单片机一个脉冲执行一条指令 执行后停下来 下一个单步脉冲再执行一条指令 执行后又停下来 单步执行方式的用途 通常用于调试程序 跟踪程序的执行和了解程序的执行过程 2 6 3单步执行方式 MCS 51单片机没有单步运行控制位 但可以利用外中断实现单步执行 实现单步运行的方法 MCS 51的中断规定 从中断服务程序返回之后 至少要再执行一条指令 才能重新进入中断 这样 将外部脉冲加到 或 引脚 通过编程使用电平触发 利用下面程序 就会出现一个脉冲发生一次中断 中断服务程序如下 2 6 3单步执行方式 voidint ex0 void interrupt0 while P3 2 0 P3 2脚为低等待while P3 2 1 P3 2脚为高等待 汇编语言程序为 JNBP3 2 JBP3 2 RETI 2 6 4节电工作方式 单片机节电工作是某些应用的关键 对于CHMOS工艺的单片机 有空闲和掉电两种节电工作方式 节电工作方式由电源控制寄存器控制 一 电源控制寄存器PCO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省玉溪市峨山彝族自治县一中2026届高一化学第一学期期中复习检测试题含解析
- 缩宫素类药物应用与管理规范
- 小学数学研修汇报
- 药品布局与配置策略
- 2026届湖北省宜昌县域高中协同发展共合体化学高一第一学期期末质量检测模拟试题含解析
- 湖北省武汉为明学校2026届化学高二第一学期期末质量跟踪监视模拟试题含答案
- 项目改善项目汇报
- 融合课程展板汇报
- 侵袭性NK细胞白血病诊疗研究进展
- 商务图表应用技巧讲解
- 电解铝公司工程项目投资估算
- 融资专员测试题及答案
- 钣金工考试试题及答案
- 2025护士招聘笔试题目及答案
- GB/T 45381-2025动梁式龙门电火花成形机床精度检验
- 2024年小学数学教师选调进城考试试卷含答案
- 2025五级应急救援员职业技能精练考试题库及答案(浓缩400题)
- 危险性较大分部分项工程及施工现场易发生重大事故的部位环节的预防监控措施和应急预案
- 公路工程标准施工招标文件第七章-技术规范2024年版
- 对药品不良反应及课件
- 肿瘤治疗药物进展
评论
0/150
提交评论