单片机原理与接口技术80C51单片机的硬件结构_第1页
单片机原理与接口技术80C51单片机的硬件结构_第2页
单片机原理与接口技术80C51单片机的硬件结构_第3页
单片机原理与接口技术80C51单片机的硬件结构_第4页
单片机原理与接口技术80C51单片机的硬件结构_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

第2章80C51单片机的硬件结构 2 1单片机的概念2 280C51单片机的逻辑结构及信号引脚2 380C51单片机的内部存储器2 480C51单片机的并行I O口2 580C51单片机的时钟与定时2 680C51单片机的系统复位2 7单片机低功耗工作模式 2 1单片机的概念 单片微型计算机SCMC SingleChipMicro Computer 是计算机 自动控制和大规模集成电路相结合的产物 还有其他的称呼 如 微控制器 MCU 嵌入式微控制器 EMCU 嵌入式微处理器 EMP 等 目前使用最多的仍是8位单片机 在8位单片机中80c51的使用更为广泛 本教材也是以80c51为基础 2单片机的特点 1 小巧灵活 成本低 易于产品化 能组装成各种智能式测控设备及智能仪器仪表 2 可靠性好 应用范围广 单片机芯片本身是按工业测控环境要求设计的 抗干扰性强 能适应各种恶劣的环境 这是其他机种无法比拟的 3 易扩展 很容易构成各种规模的应用系统 控制功能强 单片机的逻辑控制功能很强 指令系统有各种控制功能指令 可以对逻辑功能比较复杂的系统进行控制 4 具有通讯功能 可以很方便地实现多机和分布式控制 形成控制网络和远程控制 3单片机的应用 1 工业方面 各种测控系统 数据采集系统 工业机器人 智能化仪器 机 电一体化产品 2 智能仪器仪表方面 3 通讯方面 调制解调器 程控交换技术等 4 消费产品方面 电动玩具 录像机 激光唱机 5 导弹与控制方面 导弹控制 鱼雷制导控制 智能武器装备 飞机导航系统 6 计算机外部设备及电器方面 打印机 硬盘驱动器 彩色与黑白复印机 磁带机等 7 多机分布式系统 可用单片机构成分布式测控系统 它使单片机应用进入了一个全新的阶段 测控系统 智能仪表 智能玩具 计算机外设 4 典型单片机产品简介 1 MCS 51单片机系列MCS 51可分为两个子系列和4种类型 按资源的配置数量 MCS 51系列分为51和52两个子系列 其中51子系列是基本型 而52子系列属于增强型 80C51与8051的比较 1 MCS 51系列芯片采用HMOS工艺 而80C51芯片则采用CHMOS工艺 CHMOS工艺是CMOS和HMOS的结合 2 80C51芯片具有CMOS低功耗的特点 例如8051芯片的功耗为630mW 而80C51的功耗只有120mW 3 80C51在功能增加了待机和掉电保护两种工作方式 以保证单片机在掉电情况下能以最低的消耗电流维持 4 此外 在80C51系列芯片中 内部程序存储器除了ROM型和EPROM型外 还有E2PROM型 例如89C51就有4KBE2PROM 并且随着集成技术的提高 80C51系列片内程序存储器的容量也越来越大 目前已有64KB的芯片了 另外 许多80C51芯片还具有程序存储器保密机制 以防止应用程序泄密或被复制 2 MCS 96系列单片机MCS 96系列单片机是Intel公司在1983年推出的16位单片机 它与8位机相比 具有集成度高 运算速度快等特点 它的内部除了有常规的I O接口 定时器 计数器 全双工串行口外 还有高速I O部件 多路A D转换和脉宽调制输出 PWM 等电路 其指令系统比MCS 51更加丰富 3 ATMEL公司单片机ATMEL公司于1992年推出了全球第一个3V超低压F1ash存储器 并于1994年以E2PROM技术与Intel公司的80C31内核进行技术交换 从此拥有了80C31内核的使用权 并将ATMEL特有的Flash技术与80C31内核结合在一起 生产出AT89C51系列单片机 2 280C51单片机的逻辑结构及信号引脚 2 2 180C51单片机的内部逻辑结构1 中央处理器CPU 1 运算电路 2 控制电路2 内部数据存储器3 内部程序存储器4 定时器 计数器5 并行I O口6 串行口7 中断控制电路8 时钟电路9 位处理器10 内部总线 80C51芯片逻辑结构图 1 CPUCPU即中央处理器的简称 是单片机的核心部件 它完成各种运算和控制操作 CPU由运算器和控制器两部分电路组成 1 运算器电路运算器电路包括ALU 算术逻辑单元 ACC 累加器 B寄存器 状态寄存器 暂存器1和暂存器2等部件 运算器的功能是进行算术运算和逻辑运算 2 控制器电路控制器电路包括程序计数器PC PC加1寄存器 指令寄存器 指令译码器 数据指针DPTR 堆栈指针SP 缓冲器以及定时与控制电路等 控制电路完成指挥控制工作 协调单片机各部分正常工作 2 存储器80C51单片机的存储器包括数据存储器和程序存储器 其主要特点是程序存储器和数据存储器的寻址空间是相互独立的 物理结构也不相同 内部数据存储器包括RAM和RAM地址寄存器 内部数据存储器一般指前128个单元 高128个用于专用寄存器 内部程序存储器包括ROM和ROM地址寄存器 80C51有4kROM存放程序 3 定时器 计数器MCS 51单片机片内有两个16位的定时 计数器 即定时器0和定时器1 它们可以用于定时控制 延时以及对外部事件的计数和检测等 4 并行I O口80C51单片机共有4个8位的I O口 P0 P1 P2和P3 每一条I O线都能独立地用作输入或输出 5 串行I O口80C51单片机具有一个采用通用异步工作方式的全双工串行通信接口 可以同时发送和接收数据 6 中断控制系统80C51共有5个中断源 即外中断2个 定时 计数中断2个 串行中断1个 7 时钟电路80C51芯片内部有时钟电路 但晶体振荡器和微调电容必须外接 时钟电路为单片机产生时钟脉冲序列 振荡器的频率范围为1 2MHz 33MHz 典型取值为6MHz 8 总线以上所有组成部分都是通过总线连接起来 从而构成一个完整的单片机 系统的地址信号 数据信号和控制信号都是通过总线传送的 总线结构减少了单片机的连线和引脚 提高了集成度和可靠性 2 2 280C51单片机的封装与信号引脚 1 芯片封装形式图2 2为MCS 51系列单片机引脚图及逻辑符号 它们为标准的40脚DIP封装 1 输入 输出口线P0口 P0 0 P0 7 该端口为漏极开路的8位准双向口 它为8位地址线和8位数据线的复用端口 P1口 P1 0 P1 7 它是一个内部带上拉电阻的8位准双向I O口 P1口的驱动能力为4个LSTTL负载 P2口 P2 0 P2 7 它为一个内部带上拉电阻的8位准双向I O口 P2口的驱动能力也为4个LSTTL负载 在访问外部程序存储器时 它作存储器的高8位地址线 P3口 P3 0 P3 7 P3口同样是内部带上拉电阻的8位准双向I O口 P3口除了作为一般的I O口使用之外 其还具有特殊功能 2 芯片引脚介绍 地址锁存允许信号ALE系统扩展时 ALE用于控制地址锁存器锁存P0口输出的低8位地址 从而实现数据与低位地址的复用 此外 ALE是以六分之一晶振频率的固定频率输出的正脉冲 可作为外部时钟或外部定时脉冲使用 外部程序存储器读选通信号 PSEN是读外部程序存储器的选通信号 低电平有效 访问程序存储器控制信号当为高电平时 CPU执行片内程序存储器指令 但当PC中的值超过0FFFH时 将自动转向执行片外程序存储器指令 当为低电平时 CPU只执行片外程序存储器指令 复位信号RST该信号高电平有效 在输入端保持两个机器周期的高电平后 就可以完成复位操作 时钟电路引脚XTAL1和XTAL2XTAL1 接外部晶振和微调电容的一端 在片内它是振荡器倒相放大器的输入 若使用外部时钟时 该引脚外部时钟的输入端 XTAL2 接外部晶振和微调电容的另一端 在片内它是振荡器倒相放大器的输出 若使用外部时钟时 该引脚必须悬空 电源引脚Vcc和VssVcc 电源端 接 5V Vss 接地端 复用 即给一些信号引脚赋予双重功能 第二功能信号定义主要集中在P3口线中 另外再加上几个其它信号线 EPROM存储器程序固化所需要的信号编程脉冲 30脚 ALE PROG 编程电压 25V 31脚 EA Vpp 备用电源引入备用电源是通过9脚 RST VPD 引入的 当电源发生故障 电压降低到下限值时 备用电源经此端向内部RAM提供电压 以保护内部RAM中的信息不丢失 3 芯片引脚的第二功能 P3口还具有第二功能 其引脚描述如表2 1 表2 1P3口线的第二功能 2 引脚复用不会引起混乱第一功能与第二功能是不同工作方式下的信号 不会发生使用上的矛盾 说明 P3口线先按需要优先选用它的第二功能 剩下不用的才作为I O口线使用 2 380C51单片机的内部存储器 ROM 存放程序或者始终要保留的数据 表格数据 RAM 用来存放程序运行中所需要的常数和变量 全局数据也存放在RAM里 一般来说 单片机芯片的内部包括数据存储器和程序存储器 先介绍数据存储区 单片机的数据存储器共 个单元 划分为两部分 低 单元区和高 单元区 如图 所示 图2 380C51内部数据存储器配置图 2 3 1内部数据存储器低128单元区 的内部数据存储器低128单元区 称为内部 地址为 按用途划分为三个区 1 寄存器区内部RAM的前32个单元作为通用 工作 寄存器使用 地址为00H 1FH 分为4组 组号依次为0 1 2 3 每组有8个寄存器 R7 R0 任一时刻 cpu只能使用其中的一组寄存器 称为当前工作寄存器组 由程序状态字寄存器PSW中的RS1 RS0位的组合来决定 没有选中的单元也可作为一般的数据缓存使用 系统上电复位时 默认选中第0组寄存器 寄存器 1 可用8位地址寻址 2 在指令中既可用名称表示 也可以使用单元地址表示 2 位寻址区在工作寄存器后的16个数据单元 20H 2FH 它们既可以作为一般的数据单元使用 又可以按位对每个单元进行操作 因此这16个数据单元又称作位寻址区 位寻址区共计128位 其位地址为00H 7FH 位地址的表示方式 1位地址的形式 2存储单元地址加位的形式 3 用户RAM区在内部RAM的低128个单元中 剩余的80个数据单元即30H 7FH为真正的用户RAM区 对于这些区域 用户只能以存储单元的形式来使用 通常在应用中也把堆栈开辟在这段区域 2 3 2内部数据存储器高128单元区 内部数据存储器的高128个单元是为专用寄存器提供的 因此该区也称作特殊功能寄存器区 SFR 它们主要用于存放控制命令 状态或数据 除去程序计数器PC外 还有21个特殊功能寄存器 其地址空间为80H FFH 这21个寄存器中有11个特殊功能寄存器具有位寻址能力 它们的字节地址刚好能被8整除 下面将对部分专用寄存器作简要介绍 1 累加器A 或ACC ACCumulator 累加器为8位寄存器 是程序中最常用的专用寄存器 在指令系统中累加器的助记符为A 存放操作数 大部分单操作数指令的操作取自累加器 很多双操作数指令的一个操作数也取自累加器 运算结果的暂存单元 加 减乘和除等算术运算指令的运算结果都存放在累加器A或AB寄存器中 数据传送的中转站 在变址寻址方式中累加器被作为变址寄存器使用在MCS 51中由于只有一个累加器 而单片机中的大部分数据操作都是通过累加器进行的 故累加器的使用是十分频繁的 1 专用寄存器简介 2 B寄存器 Bregister B寄存器为8位寄存器 主要用于乘除指令中 乘法指令的两个操作数分别取自累加器A和寄存器B 其中B为乘数 乘法结果的高8位存放于寄存器B中 除法指令中 被除数取自A 除数取自B 除法的结果商数存放于A 余数存放于B中 在其它指令中 B寄存器也可作为一般的数据单元来使用 3 程序状态字 PSW ProgramStatusWord 程序状态字是一个8位寄存器 用于寄存指令执行的状态信息 在状态字中 有些位状态是根据指令执行结果 由硬件自动完成设置的 而有些状态位则必须通过软件方法设定 PSW中的每个状态位都可由软件读出 PSW的各位定义如下 CY PSW 7 进位标志位在执行某些算术和逻辑指令时 可以被硬件或软件置位或清零 在算术运算中它可作为进位标志 加法进位 减法借位 在位操作 在位传送 位与 位或等 中作累加器使用 移位操作中用于构成循环移位通路 AC PSW 6 辅助进位标志位 半进位标志位 进行加法或减法操作时 当发生低四位向高四位进位或借位时 AC由硬件置位 否则AC位被置 0 在进行十进制调整指令时 将借助AC状态进行判断 F0 PSW 6 用户标志位该位为用户定义的状态标记 用户根据需要用软件对其置位或清零 也可以用软件测试F0来控制程序的跳转 RS1和RS0 PSW 4和PSW 3 寄存器组选择位该两位通过软件置 0 或 1 来选择当前工作寄存器组 表2 3寄存器组选择 OV PSW 2 溢出标志位当执行算术指令时 由硬件置位或清零来指示溢出状态 加减运算 有无符号数均可 中 OV 1表示加减运算结果超出了累加器A所能表示的符号数有效范围 128 127 即运算结果是错误的 反之 OV 0表示运算正确 即无溢出产生 无符号数乘法指令MUL的执行结果也会影响溢出标志 若置于累加器A和寄存器B的两个数的乘积超过了255 则OV 1 反之OV 0 由于乘积的高8位存放于B中 低8位存放于A中 OV 0则意味着只要从A中取得乘积即可 否则要从BA寄存器对中取得乘积结果 在除法运算中 OV 1表示除数为0 除法不能进行 反之 OV 0 除数不为0 除法可正常进行 P PSW 0 奇偶标志位每个指令周期由硬件来置位或清零用以表示累加器A中1的个数的奇偶性 若累加器中1的个数为奇数则P 1 否则P 0 4 数据指针DPTR数据指针DPTR为一个16位的专用寄存器 其高位用DPH表示 其低位用DPL表示 它既可以作为一个16位的寄存器来使用 也可作为两个8位的寄存器DPH和DPL使用 DPTR在访问外部数据存储器时既可用来存放16位地址 也可作地址指针使用 如MOVX DPTR A 5 I O端口P0 P3P0 P3为四个8位的特殊功能寄存器 分别是四个并行I O端口的锁存器 当I O端口的某一位用作输入时 对应的锁存器必须先置 1 6 定时器 计数器在MCS 51中 除8032 8052外都只有两个16位定时器 计数器T0和T1 它们由两个相互独立的8位寄存器组成TH和TL 共有四个独立的寄存器TH0 TL0 TH1和TL1 只可对这四个寄存器独立寻址 而不能作为一个16位寄存器来寻址 7 串行数据缓冲寄存器串行数据缓冲器SBUF用于存放将要发送或已接收的数据 它由发送缓冲器和接收缓冲器组成 将要发送的数据被送入SBUF时进入发送缓冲器 反之进入接收缓冲器 2 专用寄存器的单元寻址及位寻址 说明 对专用寄存器只能使用直接寻址方式 在指令中既可使用寄存器符号表示 也可使用寄存器地址表示 在21个可寻址的专用寄存器中 有11个寄存器是可以位寻址的 专用寄存器的83个可寻址位加上位寻址区的128个通用位 构成位处理器的整个数据位存储空间 3 程序计数器PC ProgramCounter PC是一个16位的计数器 其内容为将要执行的指令地址 寻址范围达64KB PC有自动加1功能 以实现程序的顺序执行 PC没有地址 是不可寻址的 因此用户无法对它进行读写 但在执行转移 调用 返回等指令时能自动改变其内容 以改变程序的执行顺序 2 3 3堆栈操作堆栈是一种数据结构 所谓堆栈 就是只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈称为入栈 PUSH 数据从堆栈中读出称之出栈 POP 数据操作规则 后进先出 LIFO 即先入栈的数据由于存放在栈的底部 因此后出栈 而后入栈的数据存放在栈的顶部 因此先出栈 1 堆栈的功用堆栈主要是为子程序调用和中断操作而设立的 其具体功能有两个 保护断点和保护现场 2 堆栈的开辟堆栈只能开辟在芯片的内部数据存储器中 即所谓的内堆栈形式 3 堆栈指针堆栈指针SP StackPointer 的内容是堆栈栈顶的存储单元地址 SP是一个8位寄存器 说明 系统复位后 SP的内容为07H 但由于堆栈最好在内部RAM的30H 7FH单元中开辟 所以在程序设计时应注意把SP值初始化为30H以后 图2 4两种不同类型的堆栈结构 4 堆栈类型 80c51使用向上生长型堆栈 操作规则如下 进栈操作 先SP加1 后写入数据 出栈操作 先读出数据 后SP减1 5 堆栈使用方式堆栈的使用有两种方式 自动方式 即在调用子程序或中断时 返回地址 断点 自动进栈 程序返回时 断点再自动弹回PC 指令方式 即使用专用的堆栈操作指令 进行进出栈操作 其进栈指令为PUSH 出栈指令为POP 例如保护现场就是指令方式进行操作 2 3 4内部程序存储器在MCS 51系列中 程序存储器被用来存放程序 常数或表格等 在80C51中 其片内有4K字节的ROM存储单元 地址为0000H 0FFFH 87C51有4K字节的EPROM 而80C52和87C52则有8K字节的片内存储器 80C31和80C32无片内程序存储器 所以片内程序存储器的有无是区分芯片的主要标志 MCS 51系列设置信号引脚 以其电平状态来区分程序存储器的有无 无片内程序存储器 接地 有片内程序存储器 接高电平 如何工作 程序计数器 PC 也叫PC指针 是取指地址 上电复位后内容为0000H 即从0000H地址的指令顺序执行 最大为FFFFH 所以程序空间为64K 64K空间分为片内ROM和片外ROM 但统一编址 在64K的程序存储器中 有一组保留单元0000H 002AH 其中0000H 0002H为系统的启动单元 剩下0003H 002AH均匀分为5个特殊的单元 存放5种中断源的中断地址区 外部中断0入口地址0003H定时器0中断入口地址000BH外部中断1入口地址0013H定时器1中断入口地址001BH串行口中断入口地址0023H 80C51单片机具有4个8位双向并行端口 P0 P3 共32根1 O口线 每一根1 O口线都能独立地用作输入或输出 这4个端口是单片机与外部设备进行信息 数据 地址 控制信号 交换的输人或输出通道 可以按字节寻址外 还可以按位寻址 2 480C51单片机的并行I O口 2 4 1P0口逻辑结构P0口地址为80H 位地址为80H 87H P0口各位口线的逻辑结构 由一个锁存器 两个三态输入缓冲器 一个多路复用开关以及控制电路和驱动电路等组成 P0口可以作为输入输出口 在实际应用中它通常作为地址 数据复用总线 在访问外部存储器时 P0口为真正的双向口 2 4 2P1口逻辑结构P1口地址为90H 位地址为90H 97H 只能作为通用数据I O口使用 电路逻辑如下图 P1口是一个准双向口 通常作为I O口使用 由于在其输出端接有上拉电阻 故可以直接输出而无需外接上拉电阻 2 4 3P2口逻辑结构P2口地址为A0H 位地址为A0H A7H 既可做通用I O口 又可作系统高位地址线 某一位的内部结构与P0类似 2 4 4P3口逻辑结构P3口地址为B0H 位地址为B0H B7H 虽然可做通用I O口 但在实际应用中 它的第二功能信号更为重要 某一位的内部结构如下图 2 580C51单片机的时钟与定时 单片机本身是一个复杂的同步时序系统 为保证同步工作方式的实现 单片机必须有时钟信号 以使其系统在时钟信号的控制下按时序协调工作 时序是指令执行过程中各信号之间的相互时间关系 2 5 1时钟电路单片机的时钟电路由振荡电路和分频电路组成 1 振荡电路在80C51芯片内部有一个高增益反相放大器 其输入端为芯片引脚XTAL1 输出端为引脚XTAL2 在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容 形成反馈电路 就构成了一个稳定的自激振荡器 如图2 9所示 图2 980C51单片机的振荡电路 电路中的电容一般取30pF左右 而晶体的振荡频率范围通常是1 2MHz 33MHz 2 分频电路振荡电路产生的振荡信号并不直接为单片机所用 要进行分频 以得到单片机各种相关的时钟信号 3 晶振频率1 2 33MHz 晶振频率高 系统时钟频率就高 单片机运行速度就快 4 从外部引入脉冲信号驱动时钟电路除了由振荡电路产生高频振荡信号外 还可从外部脉冲源直接引入 在由多片单片机组成的系统中 为了各单片机之间时钟信号的同步 引入唯一的外部脉冲信号作为各单片机的振荡脉冲 2 5 2定时单位 时序的定时单位共有4个 从小到大依次是 拍节 状态 机器周期和指令周期 1 振荡周期振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期 振荡周期即为拍节 P 2 时钟周期时钟周期又称作状态周期或状态时间S 它是振荡周期的两倍 它分为P1节拍和P2节拍 通常在P1节拍完成算术逻辑操作 在P2节拍完成内部寄存器之间的传送操作 3 机器周期一个机器周期由6个状态组成 如果把一条指令的执行过程分作几个基本操作 则将完成一个基本操作所需的时间称作机器周期 单片机的单周期指令执行时间就为一个机器周期 4 指令周期指令周期是最大的时序单位 即执行一条指令所占用的全部时间 通常为1个 2个 4个机器周期 练习1 一个机器周期 个振荡周期 个时钟周期 2 在MCS 51单片机中 如果采用6MHz晶振 1个机器周期为 2 680C51单片机的系统复位 复位是单片机的硬件初始化操作 复位后 单片机才能开始正常工作 RST引脚是复位信号的输入端 复位信号是高电平有效 其有效时间应持续2个机器周期以上 2 6 1复位方式与初始化状1 复位方式 1 加电复位 通过专用的复位电路产生复位信号 开机加电时 系统自动完成 2 手动复位 一次重新启动操作 死机 死循环或程序 跑飞 在实际应用中 总是把加电复位和手动复位结合在一起 形成一个综合的复位电路 2 初始化状态复位后的片内状态为 ALE信号变为无效状态 变为无效状态 ALE 0 1 2 6 2复位电路 1 复位电路概述使用过的复位电路 积分电路型 微分电路型 比较型和看门狗型 常用前两种 1 积分电路型用于产生低电平复位信号 见下图 2 微分电路型用于产生高电平复位信号 见下图 2 80C51基本复位电路 按健手动复位有电平方式和脉冲方式两种 上电自动复位是通过外部复位电路的电容充电来实现的 按健电平复位是通过使复

温馨提示

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

评论

0/150

提交评论