《C51结构及原理》PPT课件.ppt_第1页
《C51结构及原理》PPT课件.ppt_第2页
《C51结构及原理》PPT课件.ppt_第3页
《C51结构及原理》PPT课件.ppt_第4页
《C51结构及原理》PPT课件.ppt_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用,第2章 80C51结构及原理,2.6 80C51的并行口结构与操作,本章共分七节,主要讲述:,2.1 80C51系列概述,2.2 80C51的基本结构与应用模式,2.3 80C51典型产品资源配置与引脚封装,2.4 80C51的内部结构,2.5 80C51的存储器组织,2.0 微型计算机功能部件概述,2.0 微型计算机知识 2.0.1 微型计算机功能部件,一、微型计算机基本组成,图 1.1 微型计算机的基本组成,CPU结构框图,二、微型计算机功能部件,中央处理器 CPU(微处理器),1算术逻辑单元ALU 运算器的核心部件,执行算术运算、逻辑运算、移位、比较等各种数据处理的操作。,CPU微型计算机的核心部件 CPU由运算器、控制器组成。,(一) 运算器 运算器进行数据分析、计算和处理。 运算器由算术逻辑单元ALU,累加器A ,寄存器组,标志寄存器F,二十进制调整电路等组成,2寄存器组 1)工作寄存器(通用寄存器) 用来暂存ALU待处理的数据和中间结果。,(一) 运算器,2)特殊功能寄存器SFR(专用寄存器) 规定了特殊用途的寄存器,其内容会影响计算机的工作方式和过程。,3. 累加器(Accumulator) 使用最频繁的寄存器,配合ALU进行各种数据处理。 运算时,一个操作数来自A,另一个操作数可来自CPU内部的工作寄存器,运算结果仍送回A。,4.标志寄存器 标志寄存器F(Flag)又称状态寄存器,用来存放ALU运算结果的状态。例如溢出OV、进位C、辅助进位AC、奇偶P、结果为零Z等。 5.二十进制调整 二十进制调整电路,对BCD码运算结果进行调整。,(一) 运算器,(二) 控制器,1.指令部件: 读取程序指令、指令译码、修改程序指针。,1)程序计数器 PC:存放当前指令地址。 CPU执行程序时,先按PC给出的地址到存储器取一条指令,PC自动加1。CPU执行完一条指令,再到存储器取下一条指令,。,处理程序指令,并协调各逻辑部件按一定时序工作。, 执行调用子程序或发生中断时,CPU会自动将当前 PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。,程序计数器PC, PC不属于特殊功能寄存器,不可访问,在物理结构上是独立的。 PC是一个16位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,因此也称为地址指针。 PC的基本工作方式有:, 自动加1。CPU从ROM中每读一个字节,自动执行 PC+1PC;, 执行转移指令时,PC会根据该指令要求修改下一次 读ROM新的地址;,程序计数器具有三种功能: 复位功能:通电进入初始状态,PC内容自动清零。 计数功能:每取指令代码一个字节, PC自动加1。 直接置位功能:直接接受内部总线送来的数据。 2) 指令寄存器IR :暂存当前指令。 指令操作码送指令译码器。 3) 指令译码器ID :将每条指令译码变成控制电平,(二) 控制器,(二) 控制器,CPU执行程序的简要过程: 1)PC给出当前指令的存储地址。,2. 时序部件 时钟和内部分频电路。时钟信号经过分频,与指令译码信号组合,形成一定节拍的时序信号,控制各逻辑部件协调工作。,PC=,PC=,PC=,2)CPU到存储器取指令,PC自动加1,3)指令译码器对指令译码, CPU执行指令。,4)CPU到存储器取指令,PC=PC+1。,5)CPU执行下一条指令,,指令代码 i,指令代码 i,指令寄存器,三、存储器与读写操作,位 b (bit):一个二进制位,信息最小单位。 字节 B (Byte):8位为一个字节。 字长 W (Word Length):一个字包含的二进制位数。,(一) 存储器基本信息单位,(二)存储器结构,存储器功能:存放程序和数据等信息。 存储内容:程序或数据的二进制代码。 存储地址:存储器每个单元的位置编号 存储器容量:指存储单元的多少。 如存储器容量为1KB = 10248位。,(三)存储器读写操作,存储器读: CPU从存储器中取出信息。 存储器写: CPU将信息存入存储器。,存储器的读写操作:,2.发出读写控制时序信号,对选定单元进行读或写。,1.CPU先送出一个确定的单元地址给存储器,(四) 半导体存储器,RAM:随机读写存储器。 能方便读出和改写信息,但失电后信息将不复存在。RAM常用作数据存储器,暂存各种现场数据、运算结果和正在调试的程序。,ROM:只读存储器。 工作时从ROM中读出信息,不能随意改写。断电后信息不会丢失。ROM常用作程序存储器,存放已调试好的固定程序和常数。,程序存储器:存放程序指令代码。 每个指令周期CPU自动对程序存储器读操作。,数据存储器:存放待处理数据。 数据存储器读写操作发生在CPU执行程序的过程中。,(五)堆栈,(1) 堆栈的含义 堆栈:是读写存储器RAM中的一个特殊区域,在堆栈 段内,按照“先进后出”(First In and Last Out,缩写为 “FILO”)的方式保存数据。 作用:存放断点地址或暂存数据 例如:调用子程序的过程中要保护现场、保留断点 地址;返回主程序前,要恢复现场、返回断点 地址。,堆栈有两种操作方式: 压栈:将数据送入堆栈; PUSH 弹出: 把堆栈内容取出。POP 堆栈指针SP(Stack Pointer):是一个专用地址寄存器,它始终指向栈顶(即当前存取的堆栈单元地址)。 执行压栈操作,则(SP)=(SP)+1,SP指向新的栈顶; 执行弹出操作,则(SP)=(SP)-1,SP指向新的栈顶。,(2)堆栈操作与堆栈指针,在使用堆栈之前,先给SP赋值,以规定堆栈的起始位置,称为栈底。 在MCS-51中执行指令:MOV SP,#60H即设SP=60H (60H为栈底) 当数据压入堆栈后,SP自动加1,即RAM地址单元加1以指出当前栈顶位置。8051的这种堆栈结构属于向上生长型的堆栈(另一种属于向下生长型的堆栈)。 8051的堆栈指针SP是个双向计数器。在压栈时SP内容自动增值,出栈时自动减值,存取信息必须按着“后进先出”或“先进后出”的原则。 堆栈的操作示意图见下图:,,堆栈的压入与弹出示意图,主程序,中 断 嵌 套 过 程,以下图为例,说明堆栈是如何按照“先进后出”工作方式工作的?,主程序,SP60H,66H, ,SP62H, ,66H,60H,SP66H,60H, ,66H,60H,SP64H,a)执行主程序时,b)执行子程序1时,c)执行子程序3时,d)执行子程序2时,图:中断嵌套过程,四、 I/O接口,I/O接口是联系微型计算机与外部设备的桥梁。每一台外部设备必须通过I/O接口与计算机连接。,微型计算机有多种功能I/O接口: PIO:并行 I/O接口。 SIO:串行 I/O接口。 CTC:定时计数器。 ADC、DAC:A/D、D/A转换器。 INT:中断输入口。,1.3.2 微型计算机结构特点,微型计算机由大规模集成电路组成,微型机应用系统一般也采用特定功能的大规模集成电路器件和组件。,总线(Bus):微型计算机各功能部件的连接线,各功能部件之间的公共信息通道。 总线宽度:总线上能并行传送的二进制位数。 内部总线:CPU或单片机芯片内部各逻辑部件之间的信息传输线。通常为单总线结构。 外部总线:指微型机各功能芯片之间的信息传输线。CPU或单片机芯片应用系统的主要外部引线。 系统总线:微机系统各逻辑功能板卡之间的信息传输线。通常为统一标准总线。,2.0.2 微型计算机的结构特点,1、 微型机的总线结构,数据总线(DB)-双向,用于传输数据。 地址总线(AB)-单向,用于传送地址信息。 控制总线(CB)-双向,用于传输控制信号。,总线结构图,微型计算机总线的主要信号线:,(二) 数据总线 DB 双向三态。传送程序和数据的二进制代码。 数据总线宽度一般与微型机的字长相同。,(三) 控制总线CB 单向三态。传送各种控制脉冲、联络、状态电平等信号,使存储器、I/O接口等部件协调工作。 控制总线的根数根据微型计算机控制功能的需要而定。,(一) 地址总线 AB 单向三态。传送存储器和 I/O接口的地址信息。 地址总线宽度决定计算机寻址空间(最大寻址)。,MCS-51有16根地址总线,寻址空间216 = 64K=65536,2、 单片机的结构特点,3、 单片机系统结构性能 (一)高可靠性、高抗干扰能力 (二)配置灵活 (三)丰富的位处理功能 (四)功能齐全 (五)系统设计简便,一块芯片集成了CPU、存储器和I/O接口等功能部件。 内部总线为单总线结构,地址、数据和控制三种信息分时占用内部总线。 外部总线用于连接片外扩展存储器和I/O接口芯片。 单片机的芯片引脚为多功能引脚,以节省芯片引脚。,2.0.3 微型计算机软件,(二)汇编语言 与机器语言指令一一对应的英文单词缩写,称为指令助记符。汇编语言编写的程序称为汇编语言程序。 MCS-51两个寄存器相加汇编语言指令:ADD A,R0,(三)高级语言 语句和语法接近人们习惯的表达方式。高级语言编写的程序称为高级语言源程序。,(一)机器语言 指令的二进制代码,又称指令代码。机器语言指令组成的程序称目标程序。 MCS-51两个寄存器相加的机器语言指令 00101000,1 、 计算机语言,2、不同计算机语言的应用,源程序通过编译得到机器能执行的目标程序。,汇编语言程序可以高效率利用计算机资源,目标程序占用内存少,执行速度快,适合于自动测控系统反应快速、结构紧凑的要求。实际应用中,常与C语言配合使用。 高级语言程序容易掌握,通用性好,但编译程序系统开销大,目标程序占用内存多,且执行时间比较长,多用于科学计算、工业设计、企业管理。,2.0.4 微型计算机的工作原理 1. 冯诺依曼存储程序工作原理,数据和程序以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式 控制器根据存放在存储器中的指令序列(即程序)工作,并由一个程序计数器(PC)控制指令的执行。控制器具有判断能力,能够根据计算结果选择不同的动作流程 存储程序工作原理是指把程序存储在计算机内,使计算机能像快速存取数据一样地快速存取组成程序的指令。为实现控制器自动连续地执行程序,必须先把程序和数据送到具有记忆功能的存储器中保存起来,然后给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、执行,直到完成全部指令操作为止,即控制器通过指令流的串行驱动实现程序控制,2. 微型计算机的工作过程,微型计算机的工作过程就是执行程序的过程,而程序由指令序列组成,因此,执行程序的过程,就是执行指令序列的过程,即逐条地从存储器中取出指令并完成指令所指定的操作。 由于执行每一条指令,都包括取指、译码和执行三个基本步骤,所以,微型计算机的工作过程,也就是不断地取指令、译码和执行的过程,直到遇到停机指令时才结束机器的运行。,2. 微型计算机的工作过程,下面我们简单说明微处理器的基本工作过程。计算机的工作过程是不停的取指令和执行指令的过程,实际上,这个过程是由CPU完成的。机器语言程序的指令(二进制代码)是按顺序存放在存储器中的。除非遇到转移指令,否则顺序执行,CPU加电工作后,程序计数器PC被置入程序的启动地址(这是硬件设计保证的)。PC中的地址送到地址总线上,并发出相应的控制信号从存储器相应单元取指令,送入指令寄存器,通过指令译码器对指令译码分析后,就能确定指令的长度(以字节为单位)。对多字节指令,将分几次取入。PC的内容增加相应的值,并重复上述过程。无条件转移指令就是用该指令决定的地址取代PC中的内容(下一条指令的地址),从而改变正常的执行顺序。条件转移指令是根据前面指令执行的结果(即由前面的指令所决定的处理器当前状态)来决定是否取代PC的内容。如减法指令后跟有一条“为零转移”指令,执行这条转移指令时,需测试PSW中零标志位。若减法结果不为零,继续按原指令序列执行下一条指令;若减法结果为零,从所转移的目标地址开始执行新的指令序列。循环常用条件转移指令完成。有些微机中还有把计数和测试及条件转移指令组合在一起的指令。,3. 微型计算机的工作过程 (8051) 计算8+4=?,存储器地址 对应的机器指令 汇编语言程序 对应的操作 0000H 01110100 (74H) MOV A , #08H; 将立即数08传送到累加器A中 00001000 (08H) 0002H 00100100 (24H) ADD A , #04H; 计算两个数的和,结果存放到A中 00000100 (04H) 0004H 00000010 (02H) LJMP 2200H; 跳转到地址2200H执行 00100010 (22H) 00000000 (00H) 2200H 11111000 (F8H) MOV R0 , A; 将两数的和保存到寄存器R0中 2201H ,3. 微型计算机的工作过程(8086) 计算8+4=?,汇编语言程序 对应的机器指令 对应的操作 MOV AL,08H 10110000 将立即数1传送到累加寄存器AL中 00000001 ADD AL, 04H 00000100 计算两个数的和,结果存放到AL中 00000010 MOV 0008, AL 10100010 将AL中的数传送到地址单元0008 00001001 00000000 HLT 11110100 停机,4. 微型计算机的工作过程,2.1 80C51系列概述,2.1.1 MCS-51系列 (1)MCS-51是Intel公司生产的一个单片机系列名称。属于这一系列的单片机有多种,如:,8051/8751/8031; 8052/8752/8032; 80C51/87C51/80C31 80C52/87C52/80C32等 。,(2)该系列生产工艺有两种:,CHMOS是CMOS和HMOS的结合,既保持了HMOS高速度和高密度的特点,还具有CMOS的低功耗的特点。在产品型号中凡带有字母“C”的即为CHMOS芯片,CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。,一是HMOS工艺(高密度短沟道MOS工艺)。二是CHMOS工艺(互补金属氧化物的HMOS工艺)。,(3)在功能上,该系列单片机有基本型和增强型两大类:,增强型: 8052/8752/8032 80C52/87C52/80C32,基本型: 8051/8751/8031 80C51/87C51/80C31,(4)在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM和ROMLess(无片内程序存储器)。如:,80C51有4K字节的掩膜ROM; 87C51有4K字节的EPROM ; 80C31在芯片内无程序存储器。,2.1.2 80C51系列, Intel的:80C31、80C51、87C51,80C32、80C52、87C52等; ATMEL的:89C51、89C52、89C2051等; Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品 。,80C51是MCS-51系列中CHMOS工艺的一个典型品种 ;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:,2.2 80C51的基本结构与应用模式,2.2.1 80C51的基本结构,2.2.2 80C51的应用模式 一、总线型单片机应用模式,总线型应用的“三总线”模式 非总线型应用的“多I/O”模式,二、非总线型单片机应用模式 非总线型单片机已经将用于外部总线扩展用的I/O口线和控制功能线去掉,从而使单片机的引脚数减少、体积减小。对于不需进行并行外围扩展,装置的体积要求苛刻且程序量不大的系统极其适合。非总线型单片机典型产品如: AT89C2051/AT89C4051。,2.3 80C51典型产品资源配置与引脚,2.3.1 80C51典型产品资源配置,由表可见: (1)增强型与基本型在以下几点不同:,片内ROM字节数:从4K增加到8K; 片内RAM字节数:从128增加到256; 定时/计数器从2个增加到3个; 中断源由5个增加到6个。,(2)片内ROM的配置形式:,无ROM(即ROMLess)型,应用时要在片外扩展程序存储器;,掩膜ROM(即MaskROM)型,用户程序由芯片生产厂写入;, EPROM型,用户程序通过写入装置写入,通过紫外线照射擦除;, FlashROM型,用户程序可以电写入或擦除(当前常用方式)。,还有OTPROM型(一次性编程写入ROM) 产品,具有较高的环境适应性和可靠性。,2.3.2 80C51的引脚封装,总线型,非总线型,2.4 80C51的内部结构,2.4.1 80C51的内部结构,一、80C51的微处理器(CPU),(1)运算器 累加器ACC ; 寄存器B ; 程序状态字寄存器PSW 。,(2)控制器 程序计数器PC ; 指令寄存器IR ; 定时与控制逻辑。,二、80C51的片内存储器 在物理上设计成程序存储器和数据存储器两个独立的空间(称为哈佛结构):, 内部ROM容量4K字节 范围是:000H0FFFH,内部RAM容量128字节 范围是:00H7FH,微机的存贮器结构分类 普林斯顿结构和哈佛结构 普林斯顿结构 微机只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,即ROM和RAM的地址同在一个队列里分配不同的地址空间。CPU访问存储器时,一个地址对应唯一的存储器单元,可以是ROM也可以是RAM,并用同类访问指令。,MCS-51单片机存贮器结构特点,MCS-51单片机存贮器结构特点,哈佛结构 程序存储器和数据存储器分开的结构形式 8051的存储器在物理结构上采用哈佛结构; 分程序存储器空间和数据存储器空间; 有四个存储空间: 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器空间,三、80C51的I/O口及功能单元,四个8位的并行口,即P0P3。它们均为双向口,既可作为输入,又可作为输出。每个口各有8条I/O线。,有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);,有2个16位的定时/计数器 ;,有1套完善的中断系统。,四、80C51的特殊功能寄存器(SFR),内部有SP,DPTR(可分成DPH、DPL两个8位寄存器),PCON,IE,IP等21个特殊功能寄存器单元,它们同内部RAM的128个字节统一编址,地址范围是80HFFH。这些SFR只用到了80HFFH中的21个字节单元,且这些单元是离散分布的。,增强型单片机的SFR有26个字节单元,所增加的5个单元均与定时/计数器2相关。,2.4.2 80C51的时钟与时序,一、80C51的时钟产生方式,内部时钟 外部时钟,二、80C51的时钟信号,一个机器周期包含12个晶振周期或6个时钟周期,指令的执行时间称作指令周期 (单、双、四周期),二、80C51的典型时序,各指令的微操作在时间上有严格的次序,这种微操作的时间次序我们称作时序。,单字节指令 双字节指令,1、单周期指令时序,2个机器周期中ALE信号有效4次,后3次读操作无效。,2、双周期指令时序,在第二机器周期无读操作码的操作,而是进行外部数据存储器的寻址和数据选通 。ALE信号会出现非周期现象。,访问外部RAM的双周期指令时序,2.4.2 时钟周期和机器周期, 时钟周期。,80C51振荡器产生的时钟脉冲频率的倒数,是最基本最小的定时信号。, 状态周期。,它是将时钟脉冲二分频后的脉冲信号。状态周期是时钟周期的两倍。状态周期又称S周期。在S周期内有两个时钟周期,即分为两拍,分别称为P1和P2,机器周期是6个状态周期、 12个时钟周期。 当时钟频率为12MHz时,机器周期为1S; 当时钟频率为6MHz时,机器周期为2S。,(3) 机器周期,80C51单片机工作的基本定时单位,简称机周。 一个机器周期含有6个状态周期,分别为S1、S2、S6,每个状态周期有两拍,分别为S1P1、S1P2、S2P1、S2P2,S6P1、S6P2,(4) 指令周期,指CPU执行一条指令占用的时间(用机器周期表示)。80C51执行各种指令时间是不一样的,可分为三类:单机周指令、双机周指令和四机周指令。其中单机周指令有64条,双机周指令有45条,四机周指令只有2条(乘法和除法指令),无三机周指令。,四、CPU的时序,2.3时钟及复位电路,8051时序的定时单位有3种: 节拍P和状态周期S 节拍:fosc经2分频后的前/后半个周期P1P2 状态周期S:包含两个节拍P1P2 2) 机器周期T=12*Tosc fosc的12分频,12个节拍。 6个状态周期:S1S2S6 3) 指令周期Ti执行一条指令的时间 8051最少1Ti,最多4个Ti,8051时钟电路,2.3时钟及复位电路,例如: fosc=12MHz 机器周期Ti: Ti=121/fosc =121/12MHz=1s,图2-9 80C51的取指执行时序 a) 单字节单周期指令,例:INC A b) 双字节单周期指令,例:ADD A,#data c)单字节双周期指令,例 INC DPTR d)双字节双周期指令:例 PHSH direct,牢牢记住: 振荡周期(时钟周期)= 晶振频率fosc的倒数; 1个机器周期 = 6个状态周期 1个机器周期 = 12个时钟周期; 1个指令周期 = 1、2、4个机器周期,例如: fosc=12MHz 机器周期Ti: Ti=121/fosc =121/12MHz=1s,2.4.3 80C51单片机的复位,一、复位电路 复位目的是使单片机或系统中的其它部件处于某种确定的初始状态。,上电复位电路 按键与上电复位,二、单片机复位后的状态,PC=0000H,所以程序从0000H地址单元开始执行; 启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM的内容 ;,特殊功能寄存器复位后的状态是确定的 : P0P3=FFH,各口可用于输出,也可用于输入; SP=07H,第一个入栈内容将写入08H单元; IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断、串行通讯的波特率不加倍; PSW=00H,当前工作寄存器为0组。,2.5 80C51的存储器组织,80C51存储器可以分成两大类:, RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。, ROM是一种写入信息后不易改写的存储器。断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。,2.5.1 80C51的程序存储器配置,PC是16位的计数器,所以能寻址64KB的ROM。 80C51内部有4KB的掩膜ROM,87C51在内部有4KB的EPROM,而80C31在内部没有程序存储器。,2.5.2 80C51的数据存储器配置,80C51存储空间配置图,一、工作寄存器区,低端32个字节分成4个工作寄存器组,每组8个单元。当前工作寄存器组的机制便于快速现场保护。,PSW的RS1、RS0 决定当前工作寄存器组号 寄存器0组 :地址00H07H; 寄存器1组 :地址08H0FH; 寄存器2组 :地址10H17H; 寄存器3组 :地址18H1FH。,二、位寻址区,三、通用RAM区,位寻址区之后的30H至7FH共80个字节为通用RAM区。这些单元可以作为数据缓冲器使用。这一区域的操作指令非常丰富,数据处理方便灵活。,在实际应用中,常需在RAM区设置堆栈。80C51的堆栈一般设在30H7FH的范围内。栈顶的位置由SP寄存器指示。复位时SP的初值为07H,在系统初始化时可以重新设置。,2.5.3 80C51的特殊功能寄存器(SFR),一、与运算器相关的寄存器(3个),累加器ACC,8位。用于向ALU提供操作数,许多运算的结果也存放在累加器中;,寄存器B,8位。主要用于乘、除法运算。也可以作为RAM的一个单元使用;,程序状态字寄存器PSW,8位。其各位含义为: CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0; AC:辅助进位、借位标志; F0:用户标志位,由用户自己定义; RS1、RS0:当前工作寄存器组选择位; OV:溢出标志位。有溢出时OV=1,否则OV=0; P:奇偶标志位。ACC中结果有奇数个1时P=1,否则 P=0。,程序状态字寄存器 PSW:,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。,AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DA A”指令时自动要判断这一位,我们可以暂时不关心它。,F0 (PSW.5)可由用户定义的标志位。,PSW.6,PSW.5,特殊功能寄存器(PSW),程序状态字寄存器 PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。,RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0R7分别代表08H 0FH单元。,RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元。,RS1,RS0 = 1 1 则选择了工作寄存器组 3 区R0R7分别代表18H 1FH单元。,PSW.4 PSW.3,RS1,RS0 = 0 0 则选择了工作寄存器组 0 区R0R7分别代表00H 07H单元。,程序状态字寄存器 PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。,RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0R7分别代表08H 0FH单元。,RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元。,RS1,RS0 = 1 1 则选择了工作寄存器组 3 区R0R7分别代表18H 1FH单元。,PSW.4 PSW.3,RS1,RS0 = 0 0 则选择了工作寄存器组 0 区R0R7分别代表08H 0FH单元。,片内RAM前32个单元(00H1FH)是工作寄存器区 (由PSW中的RS1,RS0决定),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器区3,工作寄存器区2,工作寄存器区1,工作寄存器区0,程序状态字寄存器 PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,OV (PSW.2)溢出标志位。 OV=1时特指累加器在进行带符号数(-128+127)运算时出错(超出范围);OV=0时未出错。,PSW.1 未定义。,P (PSW.0)奇偶标志位。 P=1表示累加器中“1”的个数为奇数 P=0表示累加器中“1”的个数为偶数 CPU随时监视着ACC中的“1”的个数,并反映在PSW中,PSW.2,PSW.1,二、指针类寄存器(3个),堆栈指针SP,8位。它总是指向栈顶。 堆栈操作遵循“后进先出”的原则,入栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时, 先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。可见,80C51单片机的堆栈区是向地址增大的方向生成的。,数据指针DPTR,16位。用来存放16位的地址。 它由两个8位的寄存器DPH和DPL组成。间接寻址或变址寻址可访问片外的64KB范围的RAM或ROM数据。,三、与口相关的寄存器(7个),并行I/O口P0、P1、P2、P3,均为8位;,串行口数据缓冲器SBUF; 串行口控制寄存器SCON; 串行通讯波特率倍增寄存器PCON(一些位还与电源控制相关,所以又称为电源控制寄存器)。,四、与中断相关的寄存器(2个),中断允许控制寄存器IE; 中断优先级控制寄存器IP。,五、与定时器/计数器相关的寄存器(6个),定时/计数器T0的两个8位计数初值寄存器TH0、TL0,它们可以构成16位的计数器,TH0存放高8位,TL0存放低8位; 定时/计数器T1的两个8位计数初值寄存器TH1、TL1,它们可以构成16位的计数器,TH1存放高8位,TL1存放低8位; 定时/计数器的工作方式寄存器TMOD; 定时/计数器的控制寄存器TCON。,2.6 80C51的并行口结构与操作,2.6.1 P0口、P2口的结构,一、 P0口的结构,1、 P0用作通用I/O口,当系统不进行片外的ROM扩展,也不进行片外RAM扩展时,P0用作通用I/O口。,在这种情况下,单片机硬件自动使C=0,MUX开关接向锁存器的反相输出端。,另外,与门输出的“0”使输出驱动器的上拉场效应管T1处于截止状态。因此,输出驱动级工作在需外接上拉电阻的漏极开路方式。,作输出口时,CPU执行口的输出指令,内部数据总线上的数据在“写锁存器”信号的作用下由D端进入锁存器,经锁存器的反向端送至场效应管T2,再经T2反向,在P0.X引脚出现的数据正好是内部总线的数据。,作输入口时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是“读锁存器”指令还是“读引脚”指令来决定。,执行“读修改写”类输入指令时(如:ANL P0,A),内部产生的“读锁存器”操作信号,使锁存器Q端数据进入内部数据总线,在与累加器A进行逻辑运算之后,结果又送回P0的口锁存器并出现在引脚。,读口锁存器可以避免因外部电路原因使原口引脚的状态发生变化造成的误读。,在执行“MOV”类输入指令时(如:MOV A,P0),内部产生的操作信号是“读引脚”。注意,在执行该类输入指令前要先把锁存器写入“1”,使场效应管T2截止,使引脚处于悬浮状态,可以作为高阻抗输入。,否则,在作为输入方式之前曾向锁存器输出过“0”,则T2导通会使引脚箝位在“0”电平,使输入高电平“1”无法读入。所以,P0口在作为通用I/O口时,属于准双向口。,2、P0用作地址/数据总线,当系统进行片外的ROM扩展或进行片外RAM扩展,P0用作地址/数据总线时。,在这种情况下,单片机内硬件自动使C=1,MUX开关接向反相器的输出端,这时与门的输出由地址/数据线的状态决定。,CPU在执行输出指令时,低8位地址信息和数据信息分时地出现在地址/数据总线上。P0.X引脚的状态与地址/数据线的信息相同。,CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总线上,P0.X引脚的状态与地址/数据总线的地址信息相同。然后,CPU自动地使转换开关MUX拨向锁存器,并向P0口写入FFH,同时“读引脚”信号有效,数据经缓冲器进入内部数据总线。,P0口作为地址/数据总线使用时是一个真正的双向口。,二、 P2口的结构,1、 P2用作通用I/O口,当不在单片机芯片外部扩展程序存储器,只扩展256B的片外RAM时,仅用到了地址线的低8位,P2口仍可以作为通用I/O口使用。,执行输出指令时,内部数据总线的数据在“写锁存器”信号的作用下由D端进入锁存器,经反相器后送至场效应管T,再经T反相,在P2.X引脚出现的数据正好是内部总线的数据。,P2口用作输入时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作

温馨提示

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

评论

0/150

提交评论