硬件结构 单片机_第1页
硬件结构 单片机_第2页
硬件结构 单片机_第3页
硬件结构 单片机_第4页
硬件结构 单片机_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/6/30,1,第2章 单片机硬件结构,单片机原理及应用,2.1 逻辑结构及信号引脚,2.2 内部存储器,2.3 并行输入/输出口电路,2.4 电路与时序,2.5 工作方式,2,2020/6/30,2.1.1 结构框图 2.1.2 内部逻辑结构 2.1.3 信号引脚,2.1 逻辑结构及信号引脚,2.1.1 结构框图,8031无,2.1.2 内部逻辑结构,5,2020/6/30,MCS51 CPU,CPU内部结构:(1)运算器电路:,运算部件以算术逻辑运算单元ALU为核心,包含累加器ACC、B寄存器、暂存器、标志寄存器PSW等许多部件,它能实现算术运算、逻辑运算、位运算、数据传输等处理。

2、,算术运算单元ALU是一个8位的运算器,它不仅可以完成8位二进制数据加、减、乘、除等基本的算术运算,还可以完成8位二进制数据逻辑“与”、“或”、“异或”、循环移位、求补、清零等逻辑运算,并具有数据传输、程序转移等功能。ALU还有一个一般微型计算机没有的位运算器,它可以对一位二进制数据进行置位、清零、求反、测试转移及位逻辑“与”、“或”等处理。这对于控制方面很有用。,累加器ACC(简称为A)为一个8位的寄存器,它是CPU中使用最频繁的寄存器,ALU进行运算时,数据绝大多数时候都来自于累加器ACC,运算结果也通常送回累加器ACC。,6,2020/6/30,寄存器B称为辅助寄存器,它是为乘法和除法指

3、令而设置的。在乘法运算时,累加器A和寄存器B在乘法运算前存放乘数和被乘数,运算完后,通过寄存器B和累加器A存放结果。除法运算时,运算前,累加器A和寄存器B存入被除数和除数,运算后用于存放商和余数。,标志寄存器PSW是一个8位的寄存器,它用于保存指令执行结果的状态,以供程序查询和判别。,C(PSW.7):进位标志位。,AC(PSW.6):辅助进位标志位。,F0(PSW.5):用户标志位。,RS1、RS0(PSW.4、PSW.3): 寄存器组选择位。,OV(PSW.2):溢出标志位。,P(PSW.0):奇偶标志位。若累加器A中1的个数为奇数,则P置位,若累加器A中1的个数为偶数,则P清零。,7,2

4、020/6/30,(2)控制器电路:,MCS51 CPU,控制部件是单片机的控制中心,它包括定时和控制电路、指令寄存器、指令译码器、程序计数器PC、堆栈指针SP、数据指针DPTR以及信息传送控制部件等。它先以振荡信号为基准产生CPU的时序,从ROM中取出指令到指令寄存器,然后在指令译码器中对指令进行译码,产生指令执行所需的各种控制信号,送到单片机内部的各功能部件,指挥各功能部件产生相应的操作,完成对应的功能。,2.1.3 信号引脚,1、I/O口线功能 4个8位并行 I/O 接口引脚 P0.0P0.7 、P1.0P1.7 、 P2.0P2.7和 P3.0P3.7,2、控制线 ALE:地址锁存允许

5、信号端 PSEN:外部程序存储器读选通信号端 EA/ VPP :程序存储器选择信号端/ 编程电源输入端,为多功能引脚,可自动切换用作数据总线、地址总线、控制总线和或I/O 接口外部引脚。,80C51,2、控制线,RST/VPD:复位信号端和后备电源输入端。 输入10ms以上高电平脉冲,单片机复位。 VPD使用后备电源,可实现掉电保护。,3、电源及时钟引线 工作电源:VCC、VSS 时钟输入:XTAL1、XTAL2。,复位电路: (1)上电复位 (2)外部信号复位,2.2.1 内部数据存储器低128单元 2.2.2 内部数据存储器高128单元 2.2.3 堆栈操作 2.2.4 内部程序存储器 2

6、.2.5 存储器结构特点,2.2 内部存储器,11,2020/6/30,MCS51单片机存储器可以分成两大类: RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。 ROM是一种写入信息后不易改写的存储器。断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。,12,2020/6/30,低128单元是单片机的真正RAM存储器。,2.2.1 内部数据存储器低128单元,分为三个区域: 1 寄存器区: 4组寄存器(寄存器阵列)。 即4个工作寄存器0区3区。每组 8个寄存单元

7、(每单元8位),以 R0R7作寄存器名,暂存运算数据 和中间结果。 字节地址为00H1FH。 2 位寻址区 : 字节地址为20H2FH,既可 作RAM,也可位操作。 共有16个RAM单元,共128 位,位地址为00H7FH。 3 用户RAM区: 32个单元,地址为30H7FH, 在一般应用中常作堆栈区。,用PSW中的两位PSW.4和PSW.3来切换工作寄存器区,选用一个工作寄存器区进行读写操作。,14,2020/6/30,(1)寄存器区 寄存器通常用于存放操作数及中间结果,由于它们的功能及使用不做预先规定,因此称为通用寄存器,有时也叫工作寄存器。在任一时刻,CPU只能占用其中的一组寄存器,并且

8、把正在使用的那组寄存器称为当前寄存器。,(2)位寻址区 通常在使用中,“位”有两种表示方式。 一是,以位地址的形式:如位寻址区的第一位是00H2;二是以存储单元地址加位的形式表示,如20H.0。 (3)用户RAM区 在内部RAM低128单元中,通用寄存器产士32个单元,位寻址区占去16个单元,还剩余80个单元,作为供用户使用的一般洲区。 对于用户RAM区,只能以存储单元的形式来使用,其他没有任何规定和限制,但一般在应用中常把堆栈开辟在这个区域中。,15,2020/6/30,16,2020/6/30,2.2.2 内部数据存储器高128单元,内部RAM的高128单元 专用寄存器(SFR)区地址为8

9、0HFFH,特殊功能寄存器(SFR)也称专用寄存器,专门用于控制、管理片内算术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工作,用户在编程时可以给其设定值,但不能移作它用。分布在80HFFH地址空间,与片内数据存储器统一编址,除PC外,51子系列有21个特殊功能寄存器。它们的分配情况如下: CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈指针SP(81H),数据指针DPTR(82H、83H)。,并行接口:P0P3(80H、90H、A0H、B0H)。 串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF(99h),

10、电源控制寄存器PCON(87H)。,17,2020/6/30,18,2020/6/30,19,2020/6/30,其字节地址可被8整除。 专用寄存器: A、B、PSW、 DPTR、SP。 I/O接口寄存器: P0、P1、P2、P3、SBUF、TMOD、TCON、SCON ,有2套地址,字节地址:只21个有效(其中仅11个有位地址) 位地址:只83位有效,1、SFR(80HFFH)介绍:,21,2020/6/30,(1) 程序计数器PC(16位): CPU总是按PC的指示读取程序。PC是一个16位的计数器。其内容为将要执行的指令地址(即下一条指令地址),可自动加1。因此CPU执行程序一般是顺序方

11、式。当发生转移、子程序调用、中断和复位等操作,PC被强制改写,程序执行顺序也发生改变。 复位时,PC=0000H。,22,2020/6/30,(2) 累加器ACC(8位):,累加器Acc是一个最常用的专用寄存器,为8位寄存器。累加器的功能较多,地位重要。 其具有的功能概括如下: 累加器用于存放操作数,是ALU数据输入的一个重要来源,大部分单操作指令的一个 操作数取自累加器,很多双操作数指令中的个操作数也取自累加器; 累加器是从刀运算结果的暂存单元,用于存放运算的中间结果; 累加器是数据传送的中转站,单片机中的大部分数据传送都通过累加器进行;,23,2020/6/30,在变址寻址方式中把累加器作

12、为变址寄存器使用。 单片机中大部分的数据操作都会通过累加器Acc进行,在程序比较复杂的运算中,累加器成了制约软件效率的“瓶颈”,很容易出现阻塞现象。为此在80c51中设置了一些不经过累加器的数据传送指令,例如,寄存器与直接寻址单元之间的数据传送指令,直接寻址单元与间接寻址单元之间的数据传送指令,寄存器、直接寻址单元、间接寻址单元与立即数之间的数据传送指令等,以缓和累加器的拥堵。 以至于后来发展的单片机,有的集成了多累加器结构,或者使用寄存器阵列末代替累加器,即赋予更多寄存器以累加器的功能,目的是解决累加器的“交通堵塞”问题。提高单片机的软件效率。,24,2020/6/30,(3) 寄存器B (

13、8位):,B是一个8位的寄存器,可以作为通用寄存器,存放各种数据。在乘除法指令中,乘法指令中的两个操作数分别取自累加器A和寄存器B,B为乘数,乘法操作后其结果存放于朋寄存器对中,B中存放高八位。除法指令中,被除数取自累加器A,除数取自寄存器B,结果商存放于累加器A,余数存放于寄存器B中。此外,B寄存器也可以作为一股数据寄存器使用。,25,2020/6/30,(4) 程序状态字PSW (8位):程序状态字是一个8位寄存器,用于存放程序运行的状态信息,这个寄存器的一些位可 由软件设置,有些位则由硬件运行时根据指令执行结果自动设置。功能说明如表所示。,cY或c7进位标志位 cY有两个功能,一是存放执

14、行某些算数运算时,存放进位标志,可被硬件或软件置位或清零;一是在位操作中作累加位使用,在位传送、位与、位或等位操作中都要使用进位标志。 当进行字节的加法(或减法)运算时,cY作为进位(或借位)标志位。如果运算结果的最高位(D7)有进位(或借位)时,cY育l,反之则为o。在进行布尔运算时,cY作为“位累加器”使用。运算前应存放一位操作数,运算后自动存放运算结果。,26,2020/6/30,AC辅助进位标志位 进行加、减运算时,当有低4位向高4位进位或信位时,Ac由硬件置位,否则被渭零。在进行十进制数运算时需要十进制调整,此时要用到Ac位状态进行判断。Ac辅助进位位也常用于十进制调整。 F0用户标

15、志位 为通用的“位”存储器,由用户定义的状态标志,四可用软件置位或复位,也可以靠软件测试四的状态以控制程序的执行顺序。开机时该位为“0”。 Rs1、Rs0:寄存器组选择控制位,27,2020/6/30,ov溢出标志位 主要反映带符号数运算的结果是否正确。带符号加减运算中,超出了累加器A所能表示的符号数有效范围(一128127)时,即产生溢出,ovl。表明运算结果错误。如果ov=0,表明运算结果正确,即无溢出产生。 执行加法指令ADD时,当位6向位7进位,而位7不向c进位时ov1;或者位6不向位7进位,而位7向c进位时,同样ov1。 乘法指令,乘积超过255时,ov1。表面乘积在AB寄存器对中。

16、若ov=0,则说明表面乘积没有超过255,乘积应在累加器A中。 除法指令,ovl,表示除数为o,运算不被执行。否则ovzo。,28,2020/6/30,P奇偶校验位 声明累加器A的台偶性,每个指令周期都由硬件来置位或清零,当Acc中有奇数个时,P=1,否则为0。在串行通信时,常作为一锁数据的奇偶校验位。 PSw1是保留位,末使用,(5) 数据指针DPTR (16位):,29,2020/6/30,(6) 堆栈指针SP:,栈指针是一个8位专用寄存器,用于指示栈项在内部RAM中的位置。它总是指出栈项的位置。在进行压栈操作时,sP自动加一,在进行出栈操作时,sP自动减一。当调用于程序或进入中断服务程序

17、时,堆栈都要自动保持主程序的断点地址,以便在于程序结束时能够正确返回到主程序。在复位状态时,sP为07H,堆栈区符由08H单元开始向上延伸。可以通过指令修改sP的内容,另行指定堆栈区的位置。,(7) 中断系统:,小断系统包括中断优先级寄存器IP、中断允许寄存器题。这两个寄存器内的各个位由指令直接置位或清零,设置中断系统的工作方式。,30,2020/6/30,2. 专用寄存器的字节寻址,注意: 21个可字节寻址的专用寄存器是不连续地分散在内部RAM高128单元之中,共83个可寻址位。尽管还剩余许多空闲单元,但用户并不能使用。 在22个专用寄存器中,唯一一个不可寻址的PC。PC不占据RAM单元,它

18、在物理上是独立的,因此是不可寻址的寄存器。 对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址。,MCS-51的寄存器在片内RAM都有映像地址。使用时,既可用寄存器名,也可用对应单元地址。,32,2020/6/30,2.2.3 堆栈操作,堆栈是只允许在其一端进行数据插入和数据删除操作的线性表,是一种数据结构。数据与入堆栈称为插入运算(Push),也叫入栈;数据从堆栈中读出称为删除运算(POP),也叫出栈。堆栈进循的是“后进先出”的数据操作规则,即先入栈的数据由于存放在栈的底部,因此后出栈:而后入栈的数据存放在栈的项部,因此先出栈。,堆栈的开辟 鉴于单片机的特点,

19、堆栈只能开辟在芯片的内部数据存储器中,即所谓的内堆栈形式。 Mcs51也是这样的,内堆栈操作速度快,但堆栈容量有限。,33,2020/6/30,堆栈的作用 堆栈主要是为子程序调用和中断操作而设立的。主要功能是:保护断点和保护现场。在计算机转去执行子程序或中断服务之前,预先把主程序的断点保护起来,为程序的正确返回作准备,因为在计算机中无论是执行子程序调用操作还是执行中断操作,最终都要返回主程序。 计算机在转去执行子程序或中断服务程序以后,很可能要使用单片机中的一些寄存器单元,这样就会破坏这些寄存单元中的原有内容。为了既能在于程序或中断服务程序中使用这些寄存单元,又能保证在返回主程序之后恢复这些寄

20、存单元的原有内容,在转中断服务程序之前要把单丹机中各有关寄存单元的内容保存起来,这就是现场保护。 堆栈主要是为中断服务操作和子程序调用而设立的,将断点和现场内容保存在堆栈中。当计算机进行多级中断嵌套及多重子程序嵌套时,就要求堆栈具有足够的容量或者足够的深度。此外,堆栈也可以用于数据的临时存放,在程序设计中时常用到。,向上生长型 (向地址增大的方向生成):MCS51系列 堆栈类型 向下生长型(向地址较低的方向生成):MCS96系列 堆栈指针SP (8位): MCS51系列的堆栈是按“先进后出”原则存取数据的存储区。 MCS51堆栈设在片内RAM区。 数据入栈时:先SP自动加1,后写入数据,SP始

21、终指向栈顶地址。 “先加后压” 数据出栈时:先读出数据,后SP自动减 1,SP始终指向栈顶地址。 “先弹后减” 复位时 SP=07H。但在程序设计时应将SP值初始化为30H以后, 以免占用宝贵的寄存器区和位地址区。,35,2020/6/30,堆栈有两种使用方法,一种是自动方式,即在调用于程序或中断时,返回地址(断点)自动进栈。程序返回时,断点再自动弹回Pc。这种堆栈操作无需用户干预,因此称为自动方式。 另一种是指令方式,即使用专用的堆栈操作指令,进行进出栈操作。其进栈指令为PusH,出栈指令为PoP。例如现场保护就是指令方式的进栈操作:而现场恢复就是指令方式的出栈操作。,堆栈的使用方法,36,

22、2020/6/30,2.2.4 内部程序存储器,80C51内有4KB ROM,其地址为0000H0FFFH(内部ROM)。 其中0000H0002H是系统的启动单元。 系统复位后(PC)0000H,开始取指令执行程序。 如果不从0000H开始,应存放一条无条件转移指令,以便直接 转去执行指定的程序。 作用: (1)用来存放固化了的用户程序,取指地址由程序计数器PC给出, PC具有自动加1的功能; (2)固化一片数据区,存放被查询的表格和参数等。,程序存储器用于存放用户程序和表格常数。一个微处理器能够执行某种任务,除了它们强大的硬件外,还需要它们运行的软件。其实微处理器只是完全按照人们预先编写的

23、程序执行。设讨人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码存放于程序存储器中。,37,2020/6/30,0003H000AH 外部中断0(INT0)中断地址区 000BH0012H 定时器/记数器0(T0)中断地址区 0013H001AH 外部中断1(INT1)中断地址区 001BH0022H 定时器/计数器1(T1)中断地址区 0023H002AH 串行(RI/TI)中断地址区,中断入口:0003H0023H,中断服务程序存放方法: (1)从中断地址区首地址开始

24、,在中断地址区中直接存放; (2)从中断地址区首地址开始,存放一条无条件转移指令, 以便中断响应后,通过中断地址区,再转到中断服务 程序的实际入口地址区去。,程序存储器保留的单元:,2.2.5 存储器结构特点,普林斯顿结构: 程序和数据共用一个存储器逻辑空间,统一编址。,哈佛结构: 程序与数据分为两个独立存储器逻辑空间,分开编址。,物理上4个存储器地址空间: 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 逻辑上3个存储器地址空间: 64KB 程序存储器 256B 片内数据存储器 64KB 片外数据存储器,MCS51共有四个8位的双向并行I/O口,分别记作P0、P1、P2和P3

25、。实际上它们已被归入专用寄存器之列。 口是一个综合概念,是一个集数据输入缓冲、数据输出驱动及锁存等多项功能为一体的I/O电路。对于口有时也称为端口。,2.3 并行输入/输出口电路,P0口:,一个数据输出锁存器和两个三态数据输入缓冲器。一个多路转接电路MUX在控制信号的作用下, MUX可以分别接通锁存器输出或地址/数据线。当作为通用的I/O口使用时,内部的控制信号为低电平,封锁与门将输出驱动电路的上拉场效应管(FET)截止,同时使MUX接通锁存器Q端的输出通路。,43,2020/6/30,P0用作通用I/O口 当系统不进行片外的ROM扩展,也不进行片外RAM扩展时,P0用作通用I/O口。 在这种

26、情况下,单片机硬件自动使控制C=0,MUX开关接向锁存器的反相输出端。 另外,与门输出的“0”使输出驱动器的上拉场效应管T1处于截止状态。因此,输出驱动级工作在需外接上拉电阻的漏极开路方式。,漏极开路是驱动电路的输出三极管的发射极开路,可以通过外接的上拉电阻提高驱动能力。,44,2020/6/30,作输出口时,CPU执行口的输出指令,内部数据总线上的数据在“写锁存器”信号的作用下由D端进入锁存器,经锁存器的反向端送至场效应管T2,再经T2反向,在P0.X引脚出现的数据正好是内部总线的数据。 作输入口时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是“读锁存器”指令还是“读

27、引脚”指令来决定。,45,2020/6/30,P0用作通用I/O口 CPU在执行“读修改写”类输入指令时,内部产生的“读锁存器”操作信号,使锁存器Q端数据进入内部数据总线,在与累加器A进行逻辑运算之后,结果又送回P0的口锁存器并出现在引脚(如:ANL P0,A) 。读口锁存器可以避免因外部电路原因使原口引脚的状态发生变化造成的误读。,46,2020/6/30,CPU在执行“MOV”类输入指令时,内部产生的操作信号是“读引脚” (如:MOV A,P0) 。注意,在执行该类输入指令前要先把锁存器写入“1”,使场效应管T2截止,使引脚处于悬浮状态,可以作为高阻抗输入。否则,在作为输入方式之前曾向锁存

28、器输出过“0”,则T2导通会使引脚箝位在“0”电平,使输入高电平“1”无法读入。所以,P0口在作为通用I/O口时,属于准双向口。,47,2020/6/30,P0用作地址/数据总线 当系统进行片外的ROM扩展或进行片外RAM扩展,P0用作地址/数据总线时。 在这种情况下,单片机内硬件自动使C=1,MUX开关接向反相器的输出端,这时与门的输出由地址/数据线的状态决定。 CPU在执行输出指令时,低8位地址信息和数据信息分时地出现在地址/数据总线上。P0.X引脚的状态与地址/数据线的信息相同。 CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总线上,P0.X引脚的状态与地址/数据总线的地址信

29、息相同。然后,CPU自动地使转换开关MUX拨向锁存器,并向P0口写入FFH,同时“读引脚”信号有效,数据经缓冲器进入内部数据总线。 P0口作为地址/数据总线使用时是一个真正的双向口。,P1口:,作通用I/O口使用,输入输出原理特性与P0口作为通用I/O接口使用时一样。在电路结构上与P0口有一些不同之处。首先它不再需要多路转接电路MUX;其次是电路的内部有上拉电阻,与场效应管共同组成输出驱动电路。这样,作为输出口使用时,已能向外提供推拉电流负载,无需再外接上拉电阻。,P1口是通用的准双向I/O口。输出高电平时,能向外提供拉电流负载,不必再接上拉电阻。当口用作输入时,须向口锁存器写入1。,P2口:

30、,P2口电路中比P1口多了一个多路转换电路MUX,这又正好与P0口一样。P2口也可以作为通用I/O口使用。这时多路转接开关倒向锁存器的Q端。但通常应用情况下,P2口是作为高位地址线使用,此时多路转接开关应倒向相反方向。,50,2020/6/30,P2用作通用I/O口 当不需要在单片机芯片外部扩展程序存储器,只需扩展256B的片外RAM时,只用到了地址线的低8位,P2口仍可以作为通用I/O口使用。 CPU在执行输出指令时,内部数据总线的数据在“写锁存器”信号的作用下由D端进入锁存器,经反相器反相后送至场效应管T,再经T反相,在P2.X引脚出现的数据正好是内部总线的数据。 P2口用作输入时,数据可

31、以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是“读锁存器”指令还是“读引脚”指令来决定。,51,2020/6/30,P2用作地址/数据总线 当需要在单片机芯片外部扩展程序存储器或扩展的RAM容量超过256字节时,单片机内硬件自动使控制C=1,MUX开关接向地址线,这时P2.X引脚的状态正好与地址线的信息相同。,CPU在执行“读修改写”类输入指令时内部产生的“读锁存器”操作信号使锁存器Q端数据进入内部数据总线,在与累加器A进行逻辑运算之后,结果又送回P2的口锁存器并出现在引脚。 CPU在执行“MOV”类输入指令时,内部产生的操作信号是“读引脚”。应在执行输入指令前要把锁存器写入“

32、1”,从而使引脚处高阻抗输入状态。 所以,P2口在作为通用I/O口时,属于准双向口。,P3口:,P3口的特点在于为适应引脚信号第二功能的需要。 对于第二功能为输出的信号引脚,当作为I/O使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。 当输出第二功能信号时,该位的锁存器应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。,53,2020/6/30,P3用作第一功能的通用I/O口 当CPU对P3口进行字节或位寻址时(多数应用场合是把几条口线设为第二功能,另外几条口线设为第一功能,这时宜采用位寻址方式),单片机内部的硬件自动将第

33、二功能输出线的W置1。这时,对应的口线为通用I/O口方式。,54,2020/6/30,P3用作第一功能的通用I/O口 作为输出时,锁存器的状态(Q端)与输出引脚的状态相同; 作为输入时,也要先向口锁存器写入1,使引脚处于高阻输入状态。输入的数据在“读引脚”信号的作用下,进入内部数据总线。,P3口在作为通用I/O口时,也属于准双向口。,55,2020/6/30,P3用作第二功能使用 当CPU不对P3口进行字节或位寻址时,内部硬件自动将口锁存器的Q端置1。这时,P3口作为第二功能使用。 P3.0 :RXD(串行口输入); P3.1 :TXD(串行口输出); P3.2 : 外部中断0输入; P3.3

34、 : 外部中断1输入; P3.4 :T0(定时器0的外部输入); P3.5 :T1(定时器1的外部输出); P3.6 : (片外数据存储器“写”选通控制输出); P3.7 : (片外数据存储器“读”选通控制输出)。,56,2020/6/30,57,2020/6/30,端口小结:,P0、P1、P2、P3口的电平与CMOS和TTL电平兼容。 P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。 P1、P2、P3口的每一位能驱动4

35、个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。 由于单片机口线仅能提供几毫安的电流,当作为输出驱动一般的晶体管的基极时,应在口与晶体管的基极之间串接限流电阻。,58,2020/6/30,端口小结:,(1)系统总线: 地址总线(16位):P0(地址低8位)、P2口(地址高8位) 数据总线(8位):P0口(地址/数据分时复用,借助ALE); 控制总线(6根):P3口的第二功能和9、29、30、31脚; (2)供用户使用的端口:P1口、部分未作第二功能的P3口; (3)P0口作地址/数据时,是真正的双向口,三态

36、,负载能力 为8个LSTTL电路; P1P3是准双向口,负载能力为4个LSTTL电路。 (4)P0P3在用作输入之前必须先写“1”,即: (P0)=FFH (P3)=FFH 。,59,2020/6/30,2.4 电路与时序,CPU的功能,就是以不同的方式执行各种指令。不同的指令其功能各异。有的指令涉及CPU各寄存器之间的关系;有的指令涉及单片机核心电路内部各功能部件的关系;有的则与外部器件发生关系。则是通过复杂的时序电路完成不同的指令功能的。事实上,控制器按照指令的功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路,完成某种操作*在什么时候发生什么控制信号,去启动何种部件动作,这

37、就是CPU的时序。 CPU芯片设计一旦完成, CPU时序就固定了。MCS51时序图如下图所示。,60,2020/6/30,2.4 电路与时序,2.4.1 时钟电路 Mcs51系列的单片机片内部有一个高增益反相放大器,其XTAL1端和XTAL2端用于外接石英晶体和微调电容,构成振荡器。电容c1和c2对频率有微调作用,电容容量的选择范围为5-30pF。,62,2020/6/30,2.4 电路与时序,2.4.1 时钟电路 时钟频率范围要求在1.2MHz12MHz之间。 1内部时钟方式: 内部一个高增益反相放大器与片外石英 晶体或陶瓷谐振器构成了一个自激振荡器。 晶体振荡器的振荡频率决定单片机的时钟频

38、率。,在引脚XTALl和XTAL2外接晶振,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。电容器cl和c2起稳定振荡频率、快速起振的作用,其电容值一般在530pF。 晶振频率的典型值为12MHz,采用6MHz的情况也比较多。内部振荡方式所得的时钟信号比较稳定。实用电路中使用较多。,63,2020/6/30,2.4 电路与时序,2外部时钟方式: 外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的钟与外部信号保持同步。 在使用外部时钟时,8051的XTAL2用来输入外时钟信号,而XTALl接地;对于CHMOS

39、型80c51单片机,此时钟信号必须从XTALl输入,而XTALl2悬空。,2.4.2 时序定时单位,时钟周期:振荡频率的倒数。 机器周期:完成一个基本操作所需要的时间。 一个机器周期由12个时钟周期组成。 指令周期:一条指令的执行时间。 以机器周期为单位:可包含1个4个机器周期。,思考题: 设应用单片机晶振频率为12MHz, 问机器周期为多少?指令周期分别为多少?,fosc=12MHz MC=12/ fosc =12/12MHz =1s,65,2020/6/30,MCS51系列单片机的一个机器周期包含12个时钟周期(振荡周期),这12个周期分为6个状态,分别为S1S6,其中每个状态又分为2拍,

40、分别为Pl和P2。因此,一个机器周期中的12个时钟周期表示为SlPl、S1P2、S6N、6P2。,2.4.3 典型指令时序,振荡脉冲并不直接使用,由XTAL2端送往内部时钟电路(fosc): 经过2分频,向CPU提供2相时钟信号P1和P2 ( f拍节= 1/2fosc); 再经3分频,产生ALE时序( fALE = 1/6 fosc) ; 经过12分频,成为机器周期信号( MC = 12 /fosc),如下图所示。 需要指出的是,CPU的运算操作在P1期间,数据传送在P2期间。,67,2020/6/30,典型指令的取指和执行时序:,通常,每个机器周期,ALE两次有效,第1次发生在S1P2和S2

41、P1期间,第2次在S4P2和S5P1期间。 每一条指令的执行都可以包括取指和执行两个阶段。在取指阶段,CPU从程序存储器ROM取出指令操作码及操作数,然后再执行这条指令的逻辑功能。对于绝大部分指令,在整个指令执行过程中,ALE两次有效,第1次发生在S1P2和S2P1期间,第2次在S4P2和S5P1期间。ALE信号的有效宽度为1个s状态。每出现一次观信号,CPU就进行一次取指操作。,在MCS51指令系统中,有单字节指令、双字节指令和三字节指令。每条指令执行的时间都要占1个或几个机器周期。单字节指令和双字节指令都可能是单周期和双周期,而三字节指令都是双周期,只有乘除法指令占4个周期。,68,202

42、0/6/30,69,2020/6/30,访问外部数据存贮器的指令MOVX的时序,它是一条单字节双周期指令。在第1机器周期S5开始时,送出外部数据存贮器的地址,随后读或写数据。读写期间在ALE端不输出有效信号,在第2机器周期,即外部数据存贮器已被寻址和选通后,也不产生取指操作。,MCS51单片机时序,1,2,11,12,3,4,5,6,7,8,9,10,1,2,S1P2,S2P1,S4P2,S5P1,可通过测量ALE 确定CPU是否工 作,ALE有时钟 的特点。,71,2020/6/30,80C51,复位、程序执行、单步执行、掉电保护、低功耗以及EPROM编程和校验等六种工作方式。 2.5.1

43、复位方式和复位电路 单片机系统在工作时,经常会进入复位工作状态,在启动单片机运行时也需要复位,用户应知道其复位状态。所谓复位状态,是指CPU和系统中的其他部件都处于一个确定的初始状态,单片机的软、硬件就从这个状态开始工作。 复位是单片机的初始化操作,主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。 新启动。 RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即二个机器周期)以上。 例 :若使用频率为6MHz的晶振,则复位信号持续时间应超过 4s才能完成复位操作。,2.5 工作方式,73,2020/6/30,产生复位信号的电路逻辑如

44、图,复位引脚RSTVpd通过片内施密特触发器与片内复位电路相连。复位电路在每一个机器周期的S5P2去采样施密特触发器的输出。欲使单片机可靠复位,要求RsTVpd复位端保持两个机器周期以上的高电平。 作为对外部复位信号的响应,CPU进行内部各种复位操作不影响片内RW的内容,当vcc上电后,RW的内容是随机的。但复位操作使PSEN和ALE两个控制引脚信号为高电平,处于准备工作状态。,74,2020/6/30,单片机复位后,内部各寄存器,PC及SFR进入复位,其状态如表。,在表中“x”表示状态任意。记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。

45、,上电自动复位和按键手动复位:,上电自动复位通过电容充电来实现的,Vcc的上升时间 不超过1ms,就可以实现自动上电复位。 按键脉冲复位利用RC微分电路产生的正脉冲来实现的。,76,2020/6/30,2.5.2 程序执行方式,程序执行方式是单片机的基本工作方式。 由于复位后PC=0000H,因此程序执行总是从地址0000H开始,但一般程序并不是真正从0000H开始,为此就得在0000H开始的单元中存放一条无条件转移指令,以便跳转到实际程序的入口去执行。,77,2020/6/30,单步执行方式,所谓单步执行,是指在外部单步脉冲的作用下,使单片机一个单步脉冲执行一条指令后就暂停下来,再一个单步脉

46、冲再执行一条指令后又暂停下来。它通常用于调试程序、跟踪程序执行和了解程序执行过程。,单片机没有单步执行中断,MCS-51单片机的单步执行也要利用中断系统完成。MCS-51的中断系统规定,从中断服务程序中返回之后,至少要再执行一条指令,才能重新进入中断。,将外部脉冲加到INT0引脚,平时让它为低电平,通过编程规定INT0为电平触发。那么,不来脉冲时INT0总处于响应中断的状态。 在INT0的中断服务程序中安排下面的指令: PAUSE0:JNB P3.2,PAUSE0 ;若INT0=0,不往下执行 PAUSE1:JB P3.2,PAUSE1 ;若INT0=1,不往下执行 RETI ;返回主程序执行

47、下一条指令,2.5.3 掉电保护方式,单片机系统在运行过程中,如发生掉电故障,将会丢失RAM和寄存器中的程序和数据,其后果有时是很严重的。 掉电保护处理先把有用信息转存,然后再启用备用电源维持供电。,信息转存: 所谓信息转存是指当电源出现故障时,应立即将系统的有用信息转存到内部RAM中。信息转存是通过中断服务程序完成的。,79,2020/6/30,系统中设置一个电压检测电路,一旦检测到电源电压下降,立即通过INT0/1产生外部中断请求,中断响应后执行中断服务程序,并将有用信息送内部RAM中保护起来,即通常所说的“掉电中断”。 掉电后时钟电路和CPU皆停止工作,只有内部只RAM单元和专用寄存器继续工作,以保持其内容。,2.5.4 80C51的低功耗方式,8051掉电保护方式实际上就是低功耗方式。 CHMOS的80C5I却有两种低功耗方式, 即待机方式和掉电保护方式。 待机方式和掉电方式都是由专用寄存器PCON (电源控制寄存器) 来控制的。,81,2020/6/30,1、 待机方式:,待机方式振荡器仍然运行。并向中断逻辑、串行口和定时器/计数器电路提供时钟,但CPU不能工作,与CPU有关的如SP、PC、PSW、ACC以及全部通用寄存器也都被“冻结”在原状态。,对于在野外环境的便携式智能仪器仪表中,常用电池对单片机供

温馨提示

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

评论

0/150

提交评论