单片机[ch02]mcs-51单片机的硬件结构及工作原理_第1页
单片机[ch02]mcs-51单片机的硬件结构及工作原理_第2页
单片机[ch02]mcs-51单片机的硬件结构及工作原理_第3页
单片机[ch02]mcs-51单片机的硬件结构及工作原理_第4页
单片机[ch02]mcs-51单片机的硬件结构及工作原理_第5页
已阅读5页,还剩199页未读 继续免费阅读

下载本文档

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

文档简介

2018/7/27,1,第二章 MCS-51单片机的硬件结构及工作原理,2.1 单片机的内部结构,2018/7/27,2,部分单片机实物,2018/7/27,3,单片机内部结构框图,2018/7/27,4,单片机的基本组成,(1) 运算器 用于实现算术和逻辑运算,包括: ALU(算术和逻辑单元) ACC(累加器) PSW(程序状态字) 寄存器B 暂存器1 暂存器2,2018/7/27,5,单片机的基本组成,(2) 控制器 用于控制单片机程序运行和协调各部件正常工作的“指挥中心”,包括: PC(程序计数器) PC+1计数器 指令寄存器 指令译码器 时序及控制电路,2018/7/27,6,单片机的基本组成,(3) 内部数据存储器 内部128字节的RAM(针对MCS-51单片机); 内部256字节的RAM(针对MCS-52单片机); (4) 内部程序存储器 早期版本的MCS-51无内部程序存储器; 扩展型MCS-51片内包含容量不等(1K64K)的程序存储器; 内部程序存储器种类包括ROM、EPROM、Flash等。,2018/7/27,7,单片机的基本组成,(5) 并行I/O端口 MCS-51单片机有四个8位并行I/O端口P0P3; 这些端口既可按字节操作也可按位操作; P0口可复用为数据总线和低8位地址总线; P2口可作为地址总线的高8位; P3口为多功能口,可作为串行口、中断输入及计数器的外部输入/输出。,2018/7/27,8,单片机的基本组成,(6) 定时器/计数器 51单片机内部有2个16位定时器/计数器T0和T1; 52单片机内部增加了一个16为定时器/计数器T2; (7) 串行通信接口 51单片机内部有1个全双工的UART(通用串行收发器),可设置为多种工作模式;,2018/7/27,9,单片机的基本组成,(8) 中断控制系统 51单片机内部有5个中断源; 这些中断源可分为2个中断优先级; (9) 时钟电路 51单片机内部振荡电路配合外部晶振或外部输入的时钟信号,可产生时钟脉冲序列,控制CPU内部逻辑电路运行。,2018/7/27,10,单片机的基本组成,除了8位CPU外,MCS-51内部还具备一个很强的位处理器,它实际上是一个完整的1位字长的计算机; 该位处理器包含完整的1位CPU,位RAM、位寻址寄存器、I/O端口控制和指令集; 从严格的意义上说,51是由8位CPU和1位CPU构成的双CPU单片机。,2018/7/27,11,第二章 MCS-51单片机的硬件结构及工作原理,2.2 单片机的封装及 引脚功能说明,2018/7/27,12,2.2.1 单片机的封装,单片机主要有DIP、PLCC和TQFP三种封装形式,各种封装的具体尺寸、引脚间距等详细信息请参阅芯片的数据手册(Datasheet)。,2018/7/27,13,2.2.2 单片机的引脚功能说明,所有引脚号均以DIP40封装为例。低有效信号由前缀“n”或“#”表示 1. 电源引脚VCC(40脚)和GND(20脚) VCC:供电,目前有多种供电电压以及一些宽电压范围的单片机。最常用的供电电压为+5V GND:地特别注意:单片机的供电和电源去耦情况对系统能否正常工作至关重要!,2018/7/27,14,2.2.2 单片机的引脚功能说明,2. 外接晶振引脚XTAL1和XTAL2 XTAL1(第19脚):单片机内部晶体振荡电路的反相器的输入端; XTAL2(第18脚):单片机内部晶体振荡电路的反相器的输出端;,2018/7/27,15,2.2.2 单片机的引脚功能说明,3. 控制信号引脚 (1) RST/VPD 第9脚,输入信号。RST为复位信号输入端。单片机正常工作时RST引脚应保持低电平。 在RST引脚上输入两个机器周期(24个时钟周期)以上的高电平时,单片机将进入并保持复位状态,直到RST信号重回低电平。VPD为内部RAM的备用电源输入端。如果主电源VCC发生断电或电压降到一定值时,可通过VPD为单片机内部RAM提供电源,以保证片内RAM中的信息不丢失。,2018/7/27,16,2.2.2 单片机的引脚功能说明,3. 控制信号引脚 (2) ALE/nPROG 第30脚,输出信号; ALE为地址锁存允许信号。在访问外部存储器时,ALE用来锁存P0端口输出的低8位地址信号。在不访问外部存储器时,ALE也以时钟振荡频率的1/6的固定速率输出,可作为时钟输出; nPROG是对8751内部EPROM编程时的编程脉冲输入端。,2018/7/27,17,2.2.2 单片机的引脚功能说明,3. 控制信号引脚 (3) nPSEN 第29脚,输出信号。 外部程序存储器(ROM)的读选通信号。当访问外部ROM时,nPSEN产生负脉冲作为外部ROM的选通信号;在访问外部RAM或片内ROM时,不会产生有效的nPSEN信号。 nPSEN可驱动8个LS TTL负载。,2018/7/27,18,2.2.2 单片机的引脚功能说明,3. 控制信号引脚 (3) nEA/VPP 第31脚,输入信号。 访问外部程序存储器的控制信号。 nEA接地,单片机从外部程序存储器取指令。 nEA接高,单片机首先访问内部程序存储器,当访问地址超过内部程序存储器范围时,自动访问外部程序存储器。 该引脚还用于外部编程器对内部程序存储器编程时输入编程电压。,2018/7/27,19,2.2.2 单片机的引脚功能说明,4. 多功能I/O口P0P3 (1) P0端口 第3932脚,双向信号,多功能端口。 8位漏极开路的双向I/O端口; 在扩展外部总线时,分时作为低8位地址总线和8位双向数据总线。 P0端口可驱动8个LS TTL负载。,2018/7/27,20,2.2.2 单片机的引脚功能说明,4. 多功能I/O口P0P3 (2) P1端口 第18脚,双向信号。 具有内部上拉电路的8位准双向I/O端口。 可驱动4个LS TTL负载。,2018/7/27,21,2.2.2 单片机的引脚功能说明,4. 多功能I/O口P0P3 (3) P2端口 第2128脚,双向信号,多功能端口。 具有内部上拉电路的8位准双向I/O端口; 在扩展外部总线时,用作高8位地址总线。 可驱动4个LS TTL负载。,2018/7/27,22,2.2.2 单片机的引脚功能说明,4. 多功能I/O口P0P3 (4) P3端口 第1017脚,双向信号,多功能端口。 具有内部上拉电路的8位准双向I/O端口; 该端口的每一位都可以作为其它功能模块的输入/输出及控制引脚使用,具体定义如下:,2018/7/27,23,2.2.2 单片机的引脚功能说明,4. 多功能I/O口P0P3 P3端口的第二功能,2018/7/27,24,第二章 MCS-51单片机的硬件结构及工作原理,2.3 单片机的微处理器,2018/7/27,25,单片机的核心部件是一个8位高性能的微处理器,它是计算机中运算器和控制器的总称,是单片机的指挥中心和执行机构; 在单片机运行过程中,微处理器的作用是产生合适的时序读入和分析每条指令代码,根据每条指令代码的功能要求,指挥并控制单片机的有关部件和器件,具体执行指定的操作; 单片机的微处理器由8位运算器(算术/逻辑运算单元)ALU、布尔处理器、时序和控制部件以及若干寄存器等主要部分组成。,2018/7/27,26,2.3.1 运算器,1. 算术/逻辑运算部件 算术/逻辑运算部件(ALU)的主要功能是实现8位二进制数的加、减、乘、除四则算术运算和与、或、非、异或等逻辑运算,以及循环、清0、置1、加1、减1等基本操作; 单片机的ALU还具备特有的位处理功能,即可以对单独的一位进行置1、清0、取反以及逻辑与、或和位判断转移等操作,特别适合面向测控领域的应用。,2018/7/27,27,2.3.1 运算器,2. 累加器A 累加器A是运算、处理时的暂存寄存器,用于提供操作数和存放运算结果。其他如逻辑运算、移位等操作也都要通过累加器A,所以累加器A是运算器中应用最为频繁的寄存器; 累加器A直接与ALU和内部总线相连,一般的信息传送和交换均需通过累加器A; 由于相当多的运算都要通过累加器,这种形式客观上影响了指令的执行效率。,2018/7/27,28,2.3.1 运算器,2. 累加器A MCS-51对部分操作进行了优化,可将累加器A旁路,将数据信息直接传送到目的单元,节省了累加器A转送的中间环节; 由直接寻址或间接寻址方式操作的数据信息可以从片内的任意地址单元直接传送到另一目的地址单元,而不必经过累加器A转送; 逻辑等操作也可在寄存器与变量之间直接进行,从而减少了中间环节,加快了传送速度,增强了实时性。,2018/7/27,29,2.3.1 运算器,3. 寄存器B 寄存器B是进行乘、除算术运算时的辅助寄存器; 在进行乘法运算时,累加器A和寄存器B分别存放两个相乘的数据,指令执行后,乘积的高位字节存放在B寄存器中,低位字节存放在累加器A中; 在进行除法运算时,被除数存放在累加器A中,除数存放在寄存器B中。指令执行后,商存放在累加器A中,余数存放在寄存器B中; 在不进行乘、除法运算的其他情况下,寄存器B可用做一般的寄存器或中间结果暂存器。,2018/7/27,30,2.3.1 运算器,4. 程序状态字寄存器PSW PSW是一个8位的寄存器,它用于寄存当前指令被执行后的相关状态,为下条或以后的指令执行提供状态条件; 许多指令的执行结果将影响PSW中某些状态标志位; MCS-51单片机PSW的重要特点是可以软件编程,即可通过程序改变PSW中的状态标志。PSW的结构及各位状态标志的定义如下:,2018/7/27,31,2.3.1 运算器,4. 程序状态字寄存器PSW,Cy:进位标志位。当指令运算结果的最高位产生进位或借位时置位(Cy=1),否则复位(Cy=0)。除此之外,Cy还在布尔处理器中作为位累加器使用,常用“C”表示。 AC:辅助进位标志,又称半字节进位标志位。在进行加法或减法运算中,当一个字节的低4位数向高4位数有进位或借位时,AC将被硬件置位,否则就被清零。AC常被用于BCD码运算时的十进制调整。,2018/7/27,32,2.3.1 运算器,4. 程序状态字寄存器PSW,F0:用户自定义标志。可由用户通过程序对其置位或复位,具体含义也由用户定义。 RS1,RS0:工作寄存器区选择控制位。可由软件置位或清零,共四种组合,每种组合对应一个工作寄存器区。,2018/7/27,33,2.3.1 运算器,4. 程序状态字寄存器PSW,OV:溢出标志; 带符号数加减运算:OV=1表示加减运算的结果超出了目的寄存器A所能表示的带符号数的范围(-128+127); 无符号数乘法指令MUL:当AB的结果超过255时,OV=1,否则OV=0。由于乘法运算的积的高8位放在B内,低8位放在A内,因此,当OV=0时,只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积; 除法指令DIV:当除数为0时,OV=1,否则OV=0。,2018/7/27,34,2.3.1 运算器,4. 程序状态字寄存器PSW,P:奇偶标志位。 该位在每个指令周期期间都由硬件来置位或清零,以表示累加器A中1的位数的奇偶性:若A中1的位数为奇数,则P置位,否则清0,因此该位是针对累加器A中1的个数的偶校验。 该标志位可用来生成串行通信中的奇偶校验位。,2018/7/27,35,2.3.2 控制器,单片机的控制器主要包括: 程序计数器(PC); 程序地址寄存器; 指令寄存器; 指令译码器; 条件转移逻辑电路; 时序控制逻辑电路。,2018/7/27,36,2.3.2 控制器,PC用于存放下一条将要从程序存储器中读取的指令的地址; 指令寄存器是用来存放从程序存储器中读出的指令代码的专用寄存器; 指令寄存器将指令代码输出到指令译码器,由指令译码器对该指令代码进行识别和译码,将译码结果通过时序控制逻辑电路发出对应的定时、控制信号,控制指令的操作执行; 对于运算类指令,还需根据运算结果来更新程序状态字PSW中对应的标志位。,2018/7/27,37,2.3.3 振荡器、时钟电路及时序,1. MCS-51的振荡器及时钟电路 MCS-51单片机片内有一个高增益反相放大器,其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体和微调电容,或输入外部时钟信号,构成振荡器:,2018/7/27,38,2.3.3 振荡器、时钟电路及时序,1. MCS-51的振荡器及时钟电路 单片机的一个机器周期包含S1P1、S1P2S6P6共6个状态,12个时钟周期,2018/7/27,39,2.3.3 振荡器、时钟电路及时序,1. MCS-51的振荡器及时钟电路 振荡周期:和单片机相连的晶体振荡器的周期; 时钟周期:又称状态周期或S周期,是晶体振荡频率的1/2,一个时钟周期分为P1和P2两拍,P1时通常完成算术逻辑操作,P2时完成内部寄存器之间的数据传输。,2018/7/27,40,2.3.3 振荡器、时钟电路及时序,1. MCS-51的振荡器及时钟电路 机器周期:一个机器周期由6个时钟周期(12个振荡周期)组成,分为S1P1、S1P2、S6P1、S6P2,可以用机器周期把一条指令划分成若干个阶段,每个机器周期完成某些规定的操作。目前很多新型单片机的机器周期可简化为14个时钟周期,在同样的晶振频率下执行指令更快; 指令周期:执行一条指令所占用的全部时间。一个指令通常含有14个机器周期。,2018/7/27,41,2.3.3 振荡器、时钟电路及时序,2. MCS-51指令执行时序 每一条指令的执行都包括取指和执行两个阶段。在取指阶段,CPU从程序存储器(ROM)中取出指令的操作码及操作数,然后再执行这条指令的逻辑功能; MCS-51的指令分为单周期、多周期,指令长度分为单字节、多字节等多种。其取指、执行过程如图所示:,2018/7/27,42,2.3.3 振荡器、时钟电路及时序,2. MCS-51指令执行时序 单字节单周期,2018/7/27,43,2.3.3 振荡器、时钟电路及时序,2. MCS-51指令执行时序 双字节单周期,2018/7/27,44,2.3.3 振荡器、时钟电路及时序,2. MCS-51指令执行时序 单字节双周期,2018/7/27,45,2.3.3 振荡器、时钟电路及时序,3. 访问外部程序存储器(ROM)时序 单片机读外部程序存储器(不访问外部RAM)的时序,2018/7/27,46,2.3.3 振荡器、时钟电路及时序,4. 访问外部数据存储器(RAM)时序 单片机读外部数据存储器(RAM)的时序,2018/7/27,47,第二章 MCS-51单片机的硬件结构及工作原理,2.4 单片机的复位,2018/7/27,48,2.4.1 单片机的复位功能,在单片机的RST引脚上保持2个机器周期以上的高电平,单片机即复位; 只要RST引脚保持高电平,单片机就循环复位。当RST从高电平变为低电平后,MCS-51从0000H地址开始执行程序。单片机内部复位电路如下:,2018/7/27,49,2.4.1 单片机的复位功能,只要RST/VPD引脚输入的高电平不撤除,单片机就一直保持复位状态。 单片机复位完成后,其内部各寄存器恢复到初始状态。各寄存器复位后的初始值如下页表所示:,2018/7/27,50,单片机复位后内部特殊寄存器初值,2.4.1 单片机的复位功能,2018/7/27,51,2.4.2 常用的复位电路,(1) 分立元件复位电路,上电后RST引脚上的波形(示意图),2018/7/27,52,2.4.2 常用的复位电路,(2) 专用复位集成电路 MAX811 有多种供电电压及复位门槛电压版本; 支持手动复位; 有高低两种电平的复位信号输出; 体积小,可靠性高。 X5045/25045 有多种供电电压及复位门槛电压版本; 支持手动复位; 包含4Kb的E2PROM; 具有看门狗功能。,2018/7/27,53,第二章 MCS-51单片机的硬件结构及工作原理,2.5 单片机的存储系统,2018/7/27,54,2.5.1 单片机存储系统结构,存储器是组成计算机的三大主要部件之一。 存储器的功能是存储信息,包括程序和数据,存储这两种信息的存储器分别被称为程序存储器和数据存储器。 单片机的存储系统的结构有两种类型: 冯诺依曼结构:程序存储器和数据存储器在一个存储地址区间统一编址; 哈佛结构:程序存储器和数据存储器在不同的存储空间各自独立编址; MCS-51采用的是哈佛结构。它的存储系统分为多个存储空间,结构较为复杂。,2018/7/27,55,2.5.1 单片机存储系统结构,1. MCS-51存储系统的特点 程序存储器和数据存储器分开,有各自的寻址系统、控制信号和特定的功能。 程序存储器和数据存储器、内部存储器和外部存储器、字节地址和位地址的编址都从零开始,因此在编址上有重叠,CPU通过不同的指令形式及控制信号来区分寻址的存储空间。 CPU使用内部RAM作为工作寄存器空间,I/O接口采用存储器对应方式。工作寄存器、I/O口锁存器和内部RAM统一编址。 具有一个功能很强的布尔处理器,位寻址空间为256位。,2018/7/27,56,2.5.1 单片机存储系统结构,2. MCS-51存储系统的编址 MCS-51的存储系统结构如下图所示:,2018/7/27,57,2.5.1 单片机存储系统结构,2. MCS-51存储系统的编址 MCS-51单片机具有6个存储器编址空间,分别是: 片内程序存储器空间,又称片内ROM; 片外64K字节的程序存储器空间,又称片外ROM; 片内128字节(MCS-51)或256字节(MCS-52)的数据存储器空间,称为内部RAM; 片外64K字节的数据存储器空间,又称外部RAM; 特殊功能寄存器空间,又称SFR空间; 位寻址空间。,2018/7/27,58,2.5.2 程序存储器,程序存储器用于存放程序、常数及表格。程序存储器由片内和片外两部分组成; MCS-51的内部和外部的程序存储器的编址范围是0000H0FFFFH,共64KB,由nEA(External Access,外部程序存储器访问控制,低有效)信号来选择: nEA = 1:选择访问内部程序存储器。当PC的值在内部程序存储器范围之内,CPU访问内部程序存储器;而当PC的值大于内部程序存储器编址范围时,CPU自动生成有效的nPSEN信号,访问外部程序存储器; nEA = 0:时选择访问外部程序存储器。此时不管PC值的大小或有无内部程序存储器,CPU总是访问外部程序存储器。,2018/7/27,59,2.5.3 数据存储器,1. 外部数据存储器 外部数据存储器以16位的特殊功能寄存器DPTR作为地址指针,可寻址64K字节空间,也可以使用8位地址作为指针,访问外部数据存储器的低256字节。nRD/nWR作为外部数据存储器的读/写选通信号。,2018/7/27,60,2.5.3 数据存储器,2. 内部数据存储器 MCS-51单片机内部有128个字节的数据存储器(RAM); MCS-52单片机内部有256个字节的数据存储器(RAM); 内部RAM可以用作数据缓冲器、堆栈、工作寄存器组和软件标志等; CPU对内部RAM有丰富的操作指令; 内部RAM地址范围为00H7FH(MCS-51)或00H0FFH(MCS-52)。,2018/7/27,61,2.5.3 数据存储器,2. 内部数据存储器 (1) 工作寄存器组 MCS-51单片机内部有4个工作寄存器组,每组8个工作寄存器,都记为R0R7; 工作寄存器可以直接和累加器A以及内部RAM之间进行数据传送、算术及逻辑运算等操作,也可以在寄存器间接寻址时提供地址; 单片机的工作寄存器组包含在内部数据存储器中,占用地址为00H1FH共32字节的内部RAM单元。,2018/7/27,62,2.5.3 数据存储器,2. 内部数据存储器 (1) 工作寄存器组 用户可以通过改变程序状态字PSW中的RS1、RS0两位来任选一个工作寄存器区,RS1、RS0和工作寄存器区的对应关系如下表所示:,2018/7/27,63,2.5.3 数据存储器,2. 内部数据存储器 (2) 位寻址空间 对字节内部的每一个位(bit)都独立编址且每一位都可以独立置位、复位的存储空间,称为位寻址空间; MCS-51单片机内部RAM的20H2FH共16个字节的RAM单元除了可以字节寻址外,还具有位寻址功能; 16个字节共128位的位地址分别为00H7FH,CPU能直接寻址并置位或复位这些位。字节地址、位地址的对应关系及低128字节RAM的地址分配如下图所示:,2018/7/27,64,2.5.3 数据存储器,2. 内部数据存储器 (2) 位寻址空间 MCS-51单片机片内低128字节RAM地址分配图,2018/7/27,65,2.5.3 数据存储器,2. 内部数据存储器 (3) 堆栈和数据区 MCS-51单片机使用内部RAM作为堆栈; 堆栈可以设在内部RAM的任意区域内,但是要避开单片机的工作寄存器组和程序的变量区; 栈顶的位置由堆栈指针SP指出; 堆栈指针SP为8位寄存器,数据入栈时SP递增。,2018/7/27,66,2.5.4 特殊功能寄存器,MCS-51单片机内除程序计数器(PC)和4个工作寄存器区外,所有其它寄存器如I/O端口数据锁存器、定时器/计数器、状态寄存器、串行口数据缓冲器和各种控制寄存器都是以特殊功能寄存器(SFR)的形式出现的。 MCS-51及52系列单片机共有25个特殊功能寄存器,它们离散地分布在80H0FFH的地址空间内。程序可以使用直接寻址的方式访问特殊功能寄存器,也可以对这些特殊功能寄存器进行算术及逻辑运算。 MCS-51及52系列单片机特殊功能寄存器的符号及字节地址见下页表。,2018/7/27,67,2.5.4 特殊功能寄存器,MCS-51/52单片机特殊功能寄存器的符号及字节地址表,2018/7/27,68,2.5.4 特殊功能寄存器,MCS-51/52单片机特殊功能寄存器的符号及字节地址表,2018/7/27,69,2.5.4 特殊功能寄存器,MCS-51/52单片机特殊功能寄存器的符号及字节地址表,2018/7/27,70,2.5.4 特殊功能寄存器,近期推出的一些新型的MCS-51/52系列单片机内部集成了更多的片上外设,例如A/D及D/A转换器、看门狗定时器、PWM控制器等; 新增片上外设的功能控制基本都是通过增加新的SFR实现的,设计时应仔细参考所选芯片的数据手册。,2018/7/27,71,第二章 MCS-51单片机的硬件结构及工作原理,2.6 MCS-51单片机并行I/O端口结构及其功能,2018/7/27,72,2.6 MCS-51单片机并行I/O端口结构及其功能,MCS-51单片机共有4个8位双向并行I/O端口,分别命名为P0P3; 4个端口共32个引脚。每一位引脚均由各自的锁存器、输出驱动器和输入缓冲器组成。,2018/7/27,73,2.6.1 并行I/O端口的内部结构,1、P0端口的内部结构及其功能描述 P0端口的8个引脚分别表示为P0.0P0.7; P0为多功能端口; 功能一:为双向的、可位寻址的8位I/O端口,既可按字节进行8位的数据输入/输出,又可以按位单独进行输入/输出操作; 功能二:在单片机扩展系统总线时,它分时提供低8位地址总线及数据总线;P0端口的一位结构如下页图所示:,2018/7/27,74,2.6.1 并行I/O端口的内部结构,1、P0端口的内部结构及其功能描述P0端口的一位结构图:,2018/7/27,75,2.6.1 并行I/O端口的内部结构,1、P0端口的内部结构及其功能描述P0端口作为I/O口使用时的工作特点: 硬件电路自动使“控制”线为0,二选一复用器倒向锁存器的#Q端; 此时场效应管(FET)Q2的控制端与#Q接通; 与门(4)输出为0,使场效应管Q1截止; 根据上述分析,输出级Q2是漏极开路的开漏电路; P0用作输出端口时,必须外接上拉电阻才能保证高电平的输出; P0用作输入端口时,必须先输出1,使Q2截止,才能正确输入端口引脚上的电平。,2018/7/27,76,2.6.1 并行I/O端口的内部结构,2、P1端口的内部结构及其功能描述P1端口的一位结构图:,2018/7/27,77,2.6.1 并行I/O端口的内部结构,2、P1端口的内部结构及其功能描述P1端口的工作特点: P1端口是一个标准的准双向端口; P1内部取消了上拉的FET,而以一个上拉电阻代替; 因P1内部上拉电阻阻值较大,故上拉驱动能力较弱,除了有低功耗要求的应用系统,最好外接10K左右的上拉电阻; P1内部下拉FET仍存在,因此P1在作为输入时,仍需先向端口数据锁存器输出1,使输出驱动FET截止,保证数据读入的正确性; 在MCS-52系列单片机中,P1.0和P1.1具有第二功能,分别是作为定时器/计数器2的外部输入端和定时器/计数器2的外部控制输入,分别以T2和T2EX表示。MCS-51系列单片机无此功能。,2018/7/27,78,2.6.1 并行I/O端口的内部结构,3、P2端口的内部结构及其功能描述P2端口的一位结构图:,2018/7/27,79,2.6.1 并行I/O端口的内部结构,3、P2端口的内部结构及其功能描述P2端口的工作特点: P2端口是一个准双向端口; P2端口在系统扩展外围总线时输出高8位地址,此时P2不可作为通用I/O端口使用; P2端口输出高8位地址时,硬件电路自动设置“控制”线使二选一复用器倒向“地址”端,使输出的高8位地址输出到P2.x引脚; 当P2端口作为通用I/O使用时,单片机控制二选一复用器倒向P2.x锁存器的Q端,此时P2端口的功能和使用方法都类似于P1端口; 系统复位时,端口锁存器自动置1,输出的下拉驱动器截止,P2端口可直接作为输入口使用。,2018/7/27,80,2.6.1 并行I/O端口的内部结构,4、P3端口的内部结构及其功能描述 P3端口的一位结构图:,2018/7/27,81,2.6.1 并行I/O端口的内部结构,4、P3端口的内部结构及其功能描述P3端口的工作特点: 当P3端口使用第一功能(通用I/O口)输出数据时,“第二输出功能”信号应保持高电平,使与非门开锁,此时端口数据锁存器的输出端Q可以控制P3.x引脚上的输出电平; 当P3端口使用第二输出功能时,P3端口对应位的数据锁存器应置1,使与非门开锁,此时“第二输出功能”输出的信号可控制P3.x引脚上的输出电平; 当P3端口作为输入端口时,无论输入的是第一功能还是第二功能的信号,相应位的输出锁存器和“第二输出功能”信号都应保持为1,使下拉驱动器截止; 输入部分有两个缓冲器,第二功能专用信息的输入取自和P3.x引脚直接相连的缓冲器,而通用I/O端口的输入信息则取自由“读引脚”信号控制的三态缓冲器的输入,经内部总线送至CPU。,2018/7/27,82,2.6.1 并行I/O端口的内部结构,5、并行I/O端口的读-修改-回写操作 单片机对端口的读写操作有两种不同的形式:对端口锁存器的读写操作和对引脚的读操作; 在CPU发出写锁存器信号时,将来自内部总线的数据写入锁存器;在CPU发出读锁存器信号时,锁存器的输出Q被送到内部总线上; 在CPU发出读引脚信号时,端口引脚上的电平信号被传送到内部总线上; 有些指令在执行中需要先读入锁存器的值,经过运算,然后把运算结果重新写入锁存器。这类指令称为读-修改-回写指令。,2018/7/27,83,2.6.1 并行I/O端口的内部结构,5、并行I/O端口的读-修改-回写操作 下表中的指令在执行过程中都是读入端口锁存器的值而不是读引脚的电平。通常这类指令的目的操作数为一个端口或端口的某一位。,2018/7/27,84,2.6.1 并行I/O端口的内部结构,5、并行I/O端口的读-修改-回写操作,2018/7/27,85,2.6.1 并行I/O端口的内部结构,总结 单片机的I/O端口可以字节操作或位操作,使用灵活; P1端口通常作为通用I/O端口使用; 系统扩展外部总线时,P0端口分时复用为外部数据总线和低8位地址总线,P2端口作为高8位地址总线使用,P3.6和P3.7作为读写控制信号使用; P3端口其它引脚经常使用第二功能; P0P3驱动能力各不相同,设计电路时需注意外接上拉电路的使用。,2018/7/27,86,第二章 MCS-51单片机的硬件结构及工作原理,2.7 单片机外部总线扩展,2018/7/27,87,2.7.1 单片机外部总线扩展,单片机的内部集成了组成计算机的基本功能部件,一块单片机就相当于一个基本的计算机系统; 对于智能仪器、仪表、小型测控等简单应用系统,可直接使用单片机而不必扩展外围芯片,极为方便高效; 对于一些较大的应用系统,单片机芯片内集成的资源往往就显得不足,这时就要在其外围扩展一些器件,以适应系统的需要; 单片机应用系统中扩展的器件必须从属于单片机,受单片机的支配和指挥,扩展器件和单片机之间必须互相连接并交换必要的信息; 用于连接CPU和扩展器件的公用信息通路称为总线。,2018/7/27,88,2.7.1 单片机外部总线扩展,单片机的总线分为地址总线、数据总线和控制总线; 系统总线扩展时,单片机的P0端口分时作为地址总线低8位和数据总线;P2端口作为地址总线的高8位; 单片机的控制总线包括#WR、#RD和#PSEN; #WR为数据总线写选通信号; #RD为数据总线读选通信号; #PSEN为程序存储器读选通信号。 单片机通过ALE引脚控制地址锁存器(74373或74573等8D锁存器)实现单片机P0端口的地址总线/数据总线的时分复用。,2018/7/27,89,2.7.1 单片机外部总线扩展,MCS-51/52单片机扩展三总线结构图,2018/7/27,90,2.7.2 地址空间的分配及译码,地址空间的分配,是在16位地址线所决定的64KB可寻址范围内,给外部扩展的可编程或可寻址的器件划分有效地址空间范围的过程; 在扩展了多个外围器件的单片机系统中,单片机是通过地址总线和控制总线来选择和确定具体的被寻址器件或存储单元的。要完成这一操作功能需进行两方面的寻址: 片选:选择并确定被寻址的器件(芯片); 字选:在片选信号有效的情况下,寻址该器件(芯片)内部的某个存储单元或功能寄存器。 地址空间的分配有两种方法: 线选法; 地址译码法。,2018/7/27,91,2.7.2 地址空间的分配及译码,1. 线选法 线选法的原理: 将多余的地址线(即除去系统正常功能所需占用的地址线外)作为片选信号线的地址分配方法,某根地址线有效,则对应的某个器件(芯片)被选中并激活,处于工作状态。 优点: 硬件实现简单,不需附加其他器件(例如译码器之类),可减少硬件的成本; 缺点: 每根地址线只能用于选通一个设备,占用地址范围大,可扩展器件数量少。,2018/7/27,92,2.7.2 地址空间的分配及译码,2. 地址译码法 地址译码法的原理: 根据应用系统扩展资源的配置情况,有选择地占用一定量的地址线,经译码逻辑生成片选信号线; 优点: 地址空间安排灵活,可减少每个扩展器件占用的地址空间范围,增加扩展器件的数量; 缺点: 电路较线选法复杂,成本高。,2018/7/27,93,2.7.2 地址空间的分配及译码,3-8译码器74LS138,2018/7/27,94,2.7.2 地址空间的分配及译码,具体译码实例,2018/7/27,95,2.7.3 扩展外部程序存储器的电路设计,单片机扩展外部程序存储器电路原理图,2018/7/27,96,2.7.3 扩展外部程序存储器的电路设计,单片机扩展外部数据存储器电路原理图,2018/7/27,97,2.7.3 扩展外部程序存储器的电路设计,单片机扩展外部数据存储器的读写时序,2018/7/27,98,第二章 MCS-51单片机的硬件结构及工作原理,2.8 单片机定时器/计数器的结构及功能,2018/7/27,99,51单片机有两个16位定时器/计数器,分别为T0和T1。T0和T1又分别可分为两个8位定时器/计数器,名为TH0/TL0和TH1/TL1; 定时器/计数器的本质是计数器: 当选择单片机的机器周期作为计数对象时,由于机器周期出现的频率和晶振频率之间的关系是固定的,对固定频率的信号进行计数实际上就是定时器; 当对通过T0引脚(P3.4)或T1引脚(P3.5)引入的外部脉冲作为计数对象时,它们是计数器。 定时器/计数器的工作方式由单片机内部的特殊功能寄存器TMOD指定;定时/计数的开始/停止以及状态变化监控则由特殊功能寄存器TCON来指定/保存;,2.8.1 定时器/计数器的结构及工作原理,2018/7/27,100,2.8.1 定时器/计数器的结构及工作原理,51单片机定时器/计数器结构,2018/7/27,101,当T0或T1用做定时器时,其计数脉冲来源于晶振时钟输出信号的12分频,即每个机器周期使计数器加1; 因此只要单片机的晶振频率选定,机器周期也就随之确定,从而使对机器周期的计数转换为对确定时间的计数; 例如,当单片机晶振频率选择为12MHz时,一个机器周期就是1s,即计数器对机器周期每计数一次,就是1s。 当T0或T1用做计数器时,只要T0或T1引脚上有一个从1到0的负跳变,相应的计数器就加1; 由于单片机只在每个机器周期的S5P2状态对T0及T1引脚上的电平进行一次采样,同时单片机需要用两个机器周期来识别一次负跳变,所以单片机计数器的最高计数频率为晶振频率的1/24。,2.8.1 定时器/计数器的结构及工作原理,2018/7/27,102,不管是作为定时器还是计数器,T0和T1的计数器都只能递增计数; 当16位计数器的计数值增加到0FFFFH时,下一次计数脉冲的到达将会使计数器的值回到0000H,计数器产生溢出信号,置位相应的标志位,并向主机申请中断; 由于递增计数的特性,当设定计数次数时,必须以计数器的计数量程减去要设置的计数次数作为初值赋给计数器,才能在设定的计数次数后置位标志位,向CPU申请中断。 T0和T1分别由两个8位特殊功能寄存器THx和TLx(x=0或1)组成,它们可被软件编程设置为不同的组合状态(13位、16位或两个独立的8位计数器),从而形成定时器/计数器的4种工作方式,这些工作方式的选择及控制都由两个特殊功能寄存器TMOD和TCON中的内容来决定。,2.8.1 定时器/计数器的结构及工作原理,2018/7/27,103,1、工作方式控制寄存器TMOD,2.8.2 定时器/计数器的控制与状态寄存器,位宽8位的TMOD寄存器分成高低两部分,各4位,分别用于定义T1和T0的工作模式及选择工作方式,对应位的功能相同; TMOD的字节地址为89H,位于单片机内部RAM高128字节的SFR区中; TMOD不能位寻址(由于其地址不能被8整除); 复位后TMOD中的所有位均为0。,2018/7/27,104,2.8.2 定时器/计数器的控制与状态寄存器,(1) M1M0:工作模式选择位 M1M0两位共可定义四种定时器/计数器的工作方式,2018/7/27,105,2.8.2 定时器/计数器的控制与状态寄存器,(2) C/T:定时器/计数器功能选择位 当该位为0时为选择定时(Timer)功能,即定时器/计数器的内部计数器对单片机的机器周期进行计数,从而实现定时功能; 当该位为1时为选择计数(Counter)功能,即定时器/计数器的内部计数器对单片机的T0或T1引脚引入的外部脉冲进行计数。,2018/7/27,106,2.8.2 定时器/计数器的控制与状态寄存器,(3) GATE:门控位 当GATE=0时,TCON寄存器中的TR0或TR1(定时器/计数器运行控制位)为1则可立即启动定时器/计数器0或1; 当GATE=1时,不但要求TR0或TR1为1,而且要求单片机的#INT0或#INT1引脚的输入也为高电平时,才能启动定时器/计数器0或1。,2018/7/27,107,2.8.2 定时器/计数器的控制与状态寄存器,2、定时器控制寄存器TCON,TCON寄存器的高4位存放定时器/计数器的运行控制位和溢出标志位,其余4位为外部中断的触发方式控制位和中断请求标志,暂不介绍。,2018/7/27,108,2.8.2 定时器/计数器的控制与状态寄存器,TF1:定时器/计数器1(T1)的溢出标志。当T1计数溢出时,由硬件将此位置1。TF1可供程序查询,同时也是定时器/计数器1的中断请求标志。如果中断系统被设置允许该中断,则当CPU响应中断,进入中断服务程序后,由硬件将TF1自动清0,不需要软件处理; TF0:定时器/计数器0(T0)的溢出标志。其功能和操作方式同TF1。 TR1:定时器/计数器1(T1)的运行控制位。通过软件置1或清0来启动或停止T1内部计数器的计数; TR0:定时器/计数器0(T0)的运行控制位。其功能和操作方式同TR0。 单片机复位后,TCON寄存器的所有位均为0。,2018/7/27,109,2.8.3 MCS-51定时器/计数器0和1的工作方式,方式0:13位定时器/计数器,GATE=0时,TRx=1则开始计数 GATE=1时,TRx、INTx都为1才开始计数,C/#T=0,对OSC/12计数,为定时器 C/#T=1,对Tx引脚引入的负脉冲计数,特别注意: 此方式为TL的5bit + TH的8bit计数,初始化时容易出错。,2018/7/27,110,2.8.3 MCS-51定时器/计数器0和1的工作方式,方式1:16位定时器/计数器,此方式除了TLx、THx共16位都参与计数外,其余的和方式0完全相同。,2018/7/27,111,2.8.3 MCS-51定时器/计数器0和1的工作方式,方式2:自动重装入8位定时器/计数器,TLx计数溢出的同时,自动控制将THx中的值重新装入TLx,采用此工作方式,可以避免用程序重新装入初值所引起的定时误差,适用于需要精确定时的应用场合,通常用作串口的波特率发生器。,2018/7/27,112,2.8.3 MCS-51定时器/计数器0和1的工作方式,方式3:双8位定时器/计数器,在这种方式下,T0被拆分成两个独立的8位计数器。T1无此功能。,2018/7/27,113,2.8.4 MCS-51定时器/计数器2的工作方式,增强型的MCS-52单片机除了定时器/计数器0和1之外,还集成了一个功能极强的定时器/计数器2,命名为T2; T2是一个16位位宽的定时器/计数器,分为TH2和TL2两个8位计数器,由特殊功能寄存器T2CON和T2MOD来设置与控制。,2018/7/27,114,2.8.4 MCS-51定时器/计数器2的工作方式,1. 定时器/计数器2的控制寄存器T2CON T2CON寄存器用于控制定时器/计数器2的启动和停止,还包括溢出标志及工作方式选择位等,字节地址为0C8H,可以位寻址。其格式及各位定义如下:,2018/7/27,115,2.8.4 MCS-51定时器/计数器2的工作方式,1. 定时器/计数器2的控制寄存器T2CON TF2(T2CON.7):定时器/计数器2溢出中断请求标志位。当定时器/计数器2加1计数计满回0溢出时由内部硬件置TF2为1,向CPU请求中断处理。但当RCLK位或TCLK位为1时将不置位。该位置位后必须由软件进行复位; EXF2(T2CON.6):定时器/计数器2外部中断请求标志位。当引脚T2EX(P1.1)上的电平由高电平变成低电平(负跳变)引起T2的“捕获”或“重装”操作且EXEN2位为1时,将置EXF2位为1,向CPU申请中断。同样,EXF2位必须由软件复位为0。,2018/7/27,116,2.8.4 MCS-51定时器/计数器2的工作方式,1. 定时器/计数器2的控制寄存器T2CON RCLK(T2CON.5):串行通信接收时钟允许位。当RCLK位被置位为1时,单片机的串行口使用T2的溢出信号作为串行口工作方式1或3的接收时钟;当RLCK位被复位为0时,单片机的串行口使用T1的溢出信号作为接收时钟; TCLK(T2CON.4):串行通信发送时钟允许位。当TCLK位被置位为1时,单片机的串行口使用T2的溢出信号作为串行口工作方式1和3的发送时钟;当TCLK位被复位为0时,单片机的串行口使用T1的溢出信号作为发送时钟。,2018/7/27,117,2.8.4 MCS-51定时器/计数器2的工作方式,1. 定时器/计数器2的控制寄存器T2CON EXEN2(T2CON.3):定时器/计数器2外部采样允许位。如果T2没有被用于串行口时钟发生器,则当EXEN2位被置位为1时,T2EX(P1.1)引脚上的负跳变将激活T2的“捕获”或“重装”操作;当EXEN2位被清0时,T2忽略T2EX引脚上的信号; TR2(T2CON.2):定时器/计数器2运行控制位。当软件设置TR2为1时,启动T2,开始计数运行;当TR2被置为0时,则停止计数操作; C/#T2(T2CON.1):定时器/计数器2的工作方式选择位。当C/#T2被置为1时,选择对从T2引脚(P1.0)引脚引入的外部脉冲进行计数操作;当C/#T2被位置为0时,则选择对机器周期进行计数的定时器模式。,2018/7/27,118,2.8.4 MCS-51定时器/计数器2的工作方式,1. 定时器/计数器2的控制寄存器T2CON CP/#RL2(T2CON.0):T2的捕获或重装模式选择位。 当CP/#RL2为1且EXEN2也为1时,在T2EX(P1.1)引脚上的负跳变将激活T2的捕获操作; 当CP/#RL2为0且EXEN2为1时,则T2计数溢出,或者T2EX端(P1.1)输入负跳变,都将引起T2的重装操作; 当RCLK位为1或TCLK位为1时,CP/#RL2位不起作用。当T2计数溢出时,将迫使T2自动进行重装操作。T2的自动重装寄存器是16位的,和T0、T1的自动重装模式相比,可进行更长时间的精确定时。,2018/7/27,119,2.8.4 MCS-51定时器/计数器2的工作方式,2. 定时器/计数器2的工作方式 T2是一个16位的计数器,可工作在定时方式或对外部脉冲的计数方式。 当计数器溢出时,置位中断请求标志位TF2,向CPU请求中断处理。它通过特殊功能寄存器T2CON的相关位进行设置。,2018/7/27,120,2.8.4 MCS-51定时器/计数器2的工作方式,1). 自动重装方式 T2的16位自动重装方式和T2CON中的EXEN2标志位有关。同时,特殊功能寄存器T2MOD中的DCEN位还可选择加1计数(DCEN=1)或者减1计数(DCEN=0)方式。特殊功能寄存器T2MOD的格式及其有关位的含义如下:,2018/7/27,121,2.8.4 MCS-51定时器/计数器2的工作方式,1). 自动重装方式 T2OE(T2MOD.1):T2的输出允许位。在定时器模式下该位置1时可在T2引脚(P1.0)上输出50占空比的可变频率方波信号; DCEN(T2MOD.0):此位置1时允许T2工作在递增/递减计数方式; DCEN=0:T2工作在递增计数方式; DCEN=1:T2EX引脚(P1.1)上的电平决定T2工作在递增计数还是递减计数方式; 特殊功能寄存器T2MOD的字节地址为0C9H,不可位寻址。复位后最低两位为00。,2018/7/27,122,2.8.4 MCS-51定时器/计数器2的工作方式,1). 自动重装方式 DCEN=0时: 在这种情况下,T2CON中的EXEN2可选择两种不同的工作方式。 EXEN2=0时,T2递增计数到0FF

温馨提示

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

评论

0/150

提交评论