资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第2章,8051单片机的体系结构,主讲 朱兆优,本章学习要点:,(1)8051单片机内部结构、功能部件;,(2)8051单片机引脚名称、功能和三总线信号;,(3)单片机的存储结构、编址、特殊功能寄存器;,(4)单片机工作时序、时钟电路、复位电路;,(5)单片机I/O的结构功能特点;,(6)单片机的工作模式。,2.1 8051单片机内部结构,八大功能部件:,(1),微处理器,(8位CPU),(2),程序存储器,(ROM、EPROM或Flash等),(3),数据存储器,(RAM、E2PROM),(4),四个8位并行可编程I/O端口,(P0、P1、P2、P3),(5),一个串行口,(UART),(6),两个16位定时器/计数器,(T0/T1),(7),中断系统,(含8个中断源、2个优先级),(8),特殊功能寄存器,(SFR),还包含:,时钟振荡器、总线控制器和供电电源,此外,有的还有,其它功能部件,,如:,A/D、D/A,PWM、PCA,WDT,SPI、I,2,C、ISP、IAP,8051单片机内部结构图,2.2 8051单片机芯片引脚功能,单片机芯片,方形封装方式,引脚图,2.2 8051单片机芯片引脚功能,单片机芯片引脚功能,1主电源引脚,(1)GND 接地,(2)VCC正常操作时为十5V电源。,2时钟电路引脚,(1)XTAL1:,(2)XTAL2:,3控制线与电源复用引脚,(1)RST/VPD:,RST,是复位信号,,高电平,有效。,VPD,为第二功能,即备用电源输入端。,(2)ALE/PROG:,ALE,为地址锁存允许信号输出引脚。,PROG,为编程信号,第二功能,,低电平,有效。,(3),PSEN,:片外ROM选通信号输出端,,低电平,有效。,(4)EAVPP:,EA,为内部和外部ROM控制端,当EA1,时,从内ROM开始访问,当EA0时,只访问外部ROM,VPP,是编程电源输入端,4并行输入/输出引脚,(1),P0口,(2),P1口,(3),P2口,(4),P3口,P3口每一位可用作,第二功能,,而且P3口的每一条引脚都可以独立设置为第一功能的,I/O口功能,和,第二功能,。,2.3 8051中央处理器,单片机的CPU是完整的1位微计算机。这个1位微计算机包含CPU、位寄存器、I/O口和指令集。,CPU内部,包含:,1、运算器,2、控制器,3、存储器。,2.3.1 运算器,运算器包含:,1.,算术逻辑运算单元ALU,-算术运算、逻辑运算,2.,累加器A,-相当于数据加工厂,3.,位处理器,-位运算,4.,BCD码修正电路,-十进制数的运算处理,5.,PSW,-记录程序运行状态,2.3.2 控制器,单片机的指挥部件,,主要任务是,识别指令,,,控制各功能部件,,保证各部分,有序工作,。,主要包括指令寄存器、指令译码器、程序计数器、程序地址寄存器、条件转移逻辑电路、时序控制逻辑电路。,按键手动复位,有电平方式和脉冲方式两种。,对于8031单片机无内部程序存储器,EA接低电平,从片外读取程序执行。,ADD A,30H,(1)微处理器(8位CPU),图2-19中(b)的电路能输出高、低两种电平的复位控制信号,以适应外围I/O接口芯片所要求的不同复位电平信号。,(2)程序存储器(ROM、EPROM或Flash等),这是P3口与其它各口的不同之处。,PCON电源控制寄存器格式如下:,52子系列内部有256个单元的数据存储器,用户RAM区范围为30HFFH,共208个单元。,(2)(RAM)和(ROM)在操作使用上是严格区分的,不同的操作指令不能混用。,8051单片机存储器从物理结构上分四种:,3、P0W为端口输出写信号,用于锁存输出状态,这个1位微计算机包含CPU、位寄存器、I/O口和指令集。,1、有一根地址和数据总线。,晶体的振荡频率在12MHz之间。,1、指令、指令译码及控制器,指令-,就是完成某项操作的命令。,指令译码-,对指令进行解析和翻译,控制器-,发出相应的控制信息,指挥运算器和存储器协同完成指令所要求的操作。,例如:,下面是单片机的一条指令:,00100101 00110000,(A)+(30H),该指令是加法指令,指令占2字节,2、指令集和指令助记符,指令译码器所能解析系统在设计时规定的。,为直观表达,用指令助记符表示。,例如,上面的加法指令的助记符为:,ADD A,30H,3、程序及程序计数器PC,什么叫计算机程序:,为完成一个完整的运算任务,按照执行步骤用计算机指令编写的指令集合。,执行程序指示:,地址由PC指示。,执行程序时,在计算机控制器的控制下,取指令装置会按PC的指向从存储器中读出第一条指令并译码,执行指令所要求的操作。,2.3.3 程序执行过程,执行程序线路实际上按PC的指取指令运行,PC就象引路人,称为程序指针。执行流程如下图:,程序指令取指执行过程,1、复位PC=0000,2、从PC取指,PC+1,3、取数据,4、执行指令,5、取下一条指令,2.4 8051单片机的存储结构,8051单片机存储器采用,哈佛结构,:,1、有一根地址和数据总线。,2、程序存储器空间和数据存储器空间采用独立编址。,3、拥有各自的寻址方式和寻址空间。,2.4.1 8051单片机的存储器结构,8051单片机存储器从物理结构上分四种:,1、片内程序存储器(只读存储器ROM),(,类型:,ROM、PROM、EPROM、E2PROM、Flash),2、片外程序存储器(,类型同上,),3、片内数据存储器(读写存储器RAM),(,类型:,SRAM、DRAM、E2PROM、Flash),4、片外数据存储器(,类型同上,),从寻址空间分布上分三种:,程序存储器、内部数据存储器外部数据存储器。,从功能作用上可五种:,程序存储器、内部数据存储器、特殊功能寄存器、位地址空间存储器和外部数据存储器。,2.4.1 8051单片机的存储器结构图,2.4.2 程序存储器:,可寻址的地址空间为64KB,从0000H开始编址,最大地址可至FFFFH。,用EA信号选择片内、片外程序存储器,:,对于STC89C51单片机(片内有4 KB),编址为00000FFFH,EA 接高电平,从片内0000H开始执行程序。,对于8031单片机无内部程序存储器,EA接低电平,从片外读取程序执行。,中断向量:,单片机至少有5个中断地址,在0000002FH程序存储器地址之间占5个特殊地址,被固定用于5个中断源的中断服务程序入口地址。中断地址如下:,2.4.3 片内数据存储器,1、片内RAM编址,片内数据存储器(RAM),128B/256B),用来存放程序运行时所需要的常数或变量。编址如下:,51子系列,片内RAM有128字节编址为007FH,特殊功能寄存器块有128字节编址为为80FFH,52子系列,片内RAM有256字节,低128字节编址为007FH,(直接寻址),高128字节编址为80FFH,(间接寻址),SFR有128字节编址为为80FFH,(间接寻址),2、内部数据存储器的划分,片内RAM编址为007FH,分,工作寄存器区,、,位寻址区,、,数据缓冲区,和,堆栈数据区,三个部分。结构如下图:,(1)工作寄存器区,从上图中可以看到,单片机内部RAM的001FH区是R工作寄存器区,分为四个组,由RS1、RS0配置选择:,(2)位寻址区,内部RAM的20H2FH为位寻址区域(见表2-4)。,这16个单元(共128位)的位地址编址范围为00H7FH。,(3)数据缓冲区,内部RAM的30H7FH是数据缓冲区,也称为用户RAM区,共80个单元。,52子系列内部有256个单元的数据存储器,用户RAM区范围为30HFFH,共208个单元。,工作寄存器区和位寻址区的地址及单元数与上述一致。,3、堆栈和堆栈指针,堆栈的概念:,是一种数据项按序排列的数据结构,采用后进先出,这种后进先出操作的缓冲器区称为堆栈。,堆栈指针总是指向栈顶。,堆栈就好比水桶或手枪中的弹匣,更象一个装兵乓球的小圆筒。,堆栈的几个名词:,满堆栈、空堆栈、递增堆栈和递减堆栈,堆栈特点:后进先出,堆栈有3个具体功能:,(1)保护断点,(2)现场保护,(3)临时暂存数据,2.4.4 特殊功能寄存器,单片机是通过特殊功能寄存器(SFR)对各种功能部件进行集中控制。如下表:,2.4.5 外部数据存储器,单片机,一般的内部RAM,只有128 B或256B。,现在有,大RAM容量,单片机或集成了Data Flash的单片机。,系统需要,海量存储器,必须扩展外部存储器。,扩展外部存储器方式:,(1)并行方式扩展(最大64KB),(2)串行方式扩展(最大1MB以上),存储器使用总结如下:,(1)地址有重叠性,用不同的控制命令分开。,(2)(RAM)和(ROM)在操作使用上是严格区分的,不同的操作指令不能混用。,(3)位地址空间有两个区域:,20H2FH区和SFR区,(4)片外数据存储器区中,RAM存储单元与单片机外部扩展的I/O端口是统一编址的。,2.5 并行I/O端口,共有4个8位双向I/O口,共32口线。每位均有自己的锁存器(SFR),输出驱动器和输入缓冲器。,多路开关,功能,:用于控制选通,I/O,方式,还是,地址,/,数据输出方式,方式控制,:由内部控制信号产生,输入锁存器,两个输入缓冲器,(,BUF1,和,BUF2),推拉式,I/O,驱动器,2.5.1 P0口位图内部结构,BUF2,BUF1,5、P0R2为,读引脚,信号,执行“MOV A,P0”时该信号有效,6、读引脚(端口)时,输出锁存器应为“1”,说明:,1、当控制信号为0时,P0口做双向I/O口,为漏极开路(三态),2、控制信号为1时,P0口为地址/数据复用总线(用于口扩展),3、P0W为端口输出写信号,用于锁存输出状态,4、P0R1为,读锁存器,信号,执行“ANL P0,#0FH”时该信号有效,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,图1、P0口内部结构,读锁存器,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,2.5.2 P1口内部结构,P1口内部结构如图2所示,输出部分有内部上拉电阻R*约为20K。,其他部分与P0端口使用相类似(读引脚时先写入1)。,写数据,读端口,2.5.3 P2口内部结构,2、当控制信号为1时,P2口输出地址信息,,此时单片机完成外部的取指操作或对外部数据存储器16位地址的读写操作。,3、当P2口作为普通I/O口使用时,用法和P1口类似。,说明:,1、P2可以作为通用的I/O,也可以作为,高8位地址,输出。,P,0.3,地址锁存器,CB,I/O,A,15,A,14,A,13,A,12,A,11,A,10,A,9,A,8,A,7,A,6,A,5,A,4,A,3,A,2,A,1,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,DB,AB,P,1.0,P,1.1,P,1.2,P,1.3,P,1.4,P,1.5,P,1.6,P,1.7,RESET,P,3.0,P,3.1,P,3.3,P,3.4,P,3.5,P,3.6,P,3.7,V,SS,V,CC,P,0.0,P,0.1,P,0.2,P,0.5,P,0.6,P,0.7,EA,ALE,PSEN,P,2.7,P,2.6,P,2.5,P,2.4,P,2.3,P,2.2,P,2.1,P,2.0,P,3.2,MCS-51片外总线结构示意图,返回,MCS-51单片机片外总线,P,返回,单片机,8031,P2.0,P2.1,P2.2,A8,A9,A10,ALE,RD,74LS,373,G,6264,A7,A6,A5,A4,A3,A2,A1,A0,O0,O1,O2,O3,O4,O5,O6,O7,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,OE,CE,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,D0,D1,D2,D3,D4,D5,D6,D7,WE,WR,P2.7,P2.3,P2.4,A11,A12,6264,WE,单片机,8031,:,.,A8,.,.,ALE,RD,74LS,373,G,A7,.,.,A0,:,OE,CE,Q0,.,.,Q7,D0,.,.,D7,A12,WR,D7,.,.,D0,2.5.4 P3口内部结构,说明:,1、做普通端口使用时,第二功能应为“1”。,2、使用第二功能时,输出端口锁存器应为“1”。,3、变异功能(),P3.0 TXD P3.4 T0,P3.1 RXD P3.5 T1,P3.2 INT0 P3.6 WR,P3.3 INT1 P3.7 RD,1,输出I/O口,1,读I/O口,1,1,(3)只有,P0口,是一个真正的,双向口,,,P1P3口,都是,准双向口,。,原因:,P0口作数据总线使用时,为保证数据正确传送,需解决芯片内外的隔离问题,,即只有在数据传送时芯片内外才接通;否则应处于隔离状态。为此,P0口的输出缓冲器应为三态门。,(4)P3口具有第二功能。因此在P3口电路增加了第二功能控制逻辑。这是P3口与其它各口的不同之处,。,P3口的第二功能,2.6 单片机时序与复位,时钟电路用于产生单片机工作所必需的时钟控制信号。,2.6.1 时钟电路,时钟频率直接影响单片机的,速度,,电路的质量直接影响系统的,稳定性,。常用的时钟电路有两种方式:,内部时钟,方式和,外部时钟,方式。,一、内部时钟方式,内部有一个用于构成振荡器的,高增益反相放大器,,其输入端:XTAL1,输出端:XTAL2。,C1,和,C2,典型值通常选择为,30pF,左右。,晶体的振荡频率,在,12MHz,之间。,某些高速单片机芯片的时钟频率已达,40MHz,。,二、外部时钟方式,常用于多片单片机同时工作。,三、时钟信号的输出,为应用系统中的其它芯片提供时钟,但需增加驱动能力。,2.6.2 机器周期、指令周期与指令时序,一、时钟周期,单片机的,基本时间单位,。,若时钟的晶体的振荡频率为fosc,则时钟周期Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。,二、机器周期,CPU,完成一个基本操作所需要的时间,。,执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。MCS-51单片机每,12个时钟周期为一个机器周期,,一个机器周期又分为6个状态,:,S1S6,。,每个状态又分为两拍,:,P1和P2,。因此,,一个机器周期中的12个时钟周期表示为:,S1P1、S1P2、S2P1、S2P2、SP6P1、S6P2,三、指令周期,执行一条指令时,可分为,取指令阶段,和,指令执行阶段,。,取指令阶段,,,PC中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。,指令执行阶段,,对指令操作码进行译码,以产生一系列控制信号完成指令的执行。,ALE信号是为地址锁存而定义的,,以时钟脉冲1/6的频率出现,在一个机器周期中,ALE信号两次有效(注意,在执行访问外部数据存储器的指令MOVX时,将会丢失一个ALE脉冲),8051,X2,X1,Vss,TTL,外接时钟源,Vcc,时钟电路,需外接晶振的频率,1.212MHZ,,,C1,和,C2,取,3010PF,X1,X2,C2,C1,X,8051,振荡电路,S1,S2,S3,S4,S5,S6,S1,S2,P1,P2 P1,P2 P1 P2,P1 P2 P1,P2 P1,P2,P1 P2 P1 P2,f,osc,一个状态周期,一个机器周期,T=12*(1/fosc),X,2,CPU,的时序(时钟周期、状态周期、机器周期),若外接晶振为12MHz时,则单片机的四个周期的具体值为:,时钟周期,1/12MHz,1/12s,状态周期,1/6s,机器周期,1s,指令周期,1,4s,可用于计算指令、程序的执行时间,以及定时器的定时时间,2.6.3 复位电路,单片机的初始化操作,摆脱死锁状态。,引脚RST加上,大于2个机器周期(即24个时钟振荡周期)的高电平就可使MCS-51复位。,复位时,PC初始化为0000H,,使MCS-51单片机从0000H单元开始执行程序。,除PC之外,复位操作还对其它一些寄存器有影响,见,表2-8,(P43),。,SP=07H,P0-P3的引脚均为高电平,。,在复位有效期间,,ALE脚,和,PSEN,*,脚,均为高电平,内部RAM的状态不受复位的影响。,2.7.2 复位电路,片内复位结构:,上电自动复位,和,按钮复位,最简单的上电自动复位电路:,按键手动复位,,有,电平方式,和,脉冲方式,两种。,电平方式 脉冲方式,两种实用的兼有上电复位与按钮复位的电路。,图2-19中(b),的电路能输出高、低两种电平的复位控制信号,以适应外围I/O接口芯片所要求的不同复位电平信号。,74LS122为单稳电路,实验表明,,F较好。,2.6.4 复位和复位状态,单片机复位后,各个特殊功能寄存器的复位状态如表2-8所示,2.7 单片机的省电工作模式,单片机工作方式:,(1)正常工作方式,(2)空闲模式,(3)掉电模式,空闲模式,和,掉电模式,由PCON中的IDL和PD位设置。,PCON电源控制寄存器格式如下:,PCON,的字节地址为87H,不能位寻址,系统复位时PCON=00 x1 0000B。,IDL=1,进入空闲模式。,(1)用中断方式退出空闲模式。,(2)用硬件复位方式退出空闲模式。,PD=1,进入掉电模式。,STC89C51单片机的功耗:,(1)正常工作时功耗为25 mA,(2)空闲节电模式下功耗是6.5 mA,(3)掉电模式时功耗仅50,A。,
展开阅读全文