STC系列单片机的结构与原理.ppt_第1页
STC系列单片机的结构与原理.ppt_第2页
STC系列单片机的结构与原理.ppt_第3页
STC系列单片机的结构与原理.ppt_第4页
STC系列单片机的结构与原理.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、2,第二章 STC系列单片机的结构与原理,3,主要内容,2.1 51内核单片机的内部基本结构简介 2.2 STC系列单片机简介 2.3 STC12C5A60S2单片机管脚功能 2.4 程序状态字寄存器 2.5 存储器及存储空间 2.6 I/O口工作方式及配置 2.7 时钟电路与时序 2.8 省电模式 2.9 复位电路,4,2.1 51内核单片机的内部基本结构简介,51内核单片机的内部结构框图,外部晶体振荡器与内部振荡电路共同产生单片机运行所需的时钟信号,负责运算、控制和调度,用于存放用户程序、常数、表格等信息,用于存放单片机运行过程中的运算数据及运算地址等,用来对片内各功能模块进行管理、控制和

2、监控的寄存器和反映各功能运行状态的寄存器,4个8位的并行I/O口,1个全双工异步串行口,2个16位的定时/计数器,实现定时和计数功能,5个中断源、2级中断优先级 的中断系统,1、16位寄存器 2、存放下一条将要执行的指令地址.程序中的指令是按照顺序存放在存储器中的某个连续区域.每条指令都有自己的地址,CPU根据PC中的指令地址从存储器中取出将要执行的指令. 3、具有自动加1功能,从而指向下一条将要执行的指令地址. 4、PC的值可以修改,一般程序是按顺序执行指令的.若改变了的PC的值,则程序将不再按顺序执行。,算术逻辑运算部件主要用来完成数据的算术和逻辑运算。ALU有2个输入端和2个输出端,其中

3、一端接至累加器,接收由累加器送来的一个操作数;另一端接收暂存器中的第二个操作数。参加运算的操作数在ALU中进行规定的操作运算,运算结束后,一方面将结果送至累加器,同时将操作结果的特征状态送标志寄存器,5,CPU的内部结构图,存放指令码所在存储单元的地址编码,用于存放从程序存储器中读出的指令代码,作为指令译码器的输入锁存器,用来对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号,单片机的控制中心,1、8位寄存器 2、累加器是一个特殊的寄存器,它的字长和微处理器的字长相同,累加器具有输入输出和移位功能,微处理器采用累加器结构可以简化某些逻辑运算。,8位寄存器,进行乘除法运算时,存放参

4、与运算的一个操作数。除此之外,作为一般REG使用,8位寄存器,用于记录运算过程中的状态,如是否借位、溢出等。,6,2.1 51内核单片机的内部基本结构简介,传统51内核单片机所具有的内部资源: 8位CPU; 程序存储器; 数据存储器; 特殊功能寄存器; 2个16位定时/计数器; 1个全双工异步串行口; 4个8位并行I/O口 5个中断源、2级优先级的中断系统,7,2.2 STC系列单片机简介,STC系列单片机主要有STC89C51xx 、STC90C51xx、 STC11/10 xx、STC12xx、STC15xx等系列,除STC15xx系列外,其他系列的引脚能够相互兼容,各系列新增的功能不完全

5、相同。,8,STC系列单片机的主要性能,(1)除最初生产的STC89/90 xx系列外,其余系列都是单时钟/机器周期运行模式(1T),工作频率在035MHZ的范围 (2)工作电压为5V和3V两种,供用户选择 (3)片内集成的用户应用程序空间0.5KB64KB不等 (4)内部数据存储器RAM有128B或256B,并集成了512B4096B的扩展RAM。,9,STC系列单片机的主要性能,(5)除STC89/90 xx系列外,片内都集成了可通过用户程序读、写及擦除的存储器EEPROM。 (6)内部集成专用复位电路、看门狗电路及外部掉电检测电路。 (7)除最初的STC89/90 xx系列外,内部集成了

6、RC振荡时钟电路,10,STC系列单片机的主要性能,(8)STC11/10 xx、STC12xx、STC15xx系列单片机中,I/O口复位后可设置成准双向口、强推挽、仅为输入、开漏(漏极开路)四种工作模式,I/O口线驱动能力均可达到20mA。而STC89/90 xx系列单片机只有准双向和开漏两种工作方式。 (9)STC11/10 xx、STC12C5A60S2、STC12C5201AD、STC15F100、STC15F2K60S2单片机内部有2个定时/计数器,STC89/90C51RC_RD+GUIDE单片机有3个定时/计数器。,11,STC系列单片机的主要性能,(10)具有23个频率可设置的

7、时钟输出口。 (11)有25个引脚可设置成外部中断。 (12)有24个可编程计数器(Programmable Counter Array,PCA)阵列,并可选择成脉宽调制PWM输出功能。 (13)8路A/D转换,转换速度可达4s。 (14)全双工异步串行口UART,可实现与外部设备之间的串行通信。,12,STC12C5A60S2单片机内部结构图,13,2.3 STC12C5A60S2单片机管脚功能,STC12C5A60S2单片机封装形式,14,2.3 STC12C5A60S2单片机管脚功能,1. I/O(输入/输出)引脚 (1)P0口 P0口可作为通用的I/O口,地址总线的低8位、数据总线接口

8、 。 (2)P1口 可作为I/O口使用,也可作为 A/D输入 。,15,2.3 STC12C5A60S2单片机管脚功能,P1 口 其 他 功 能,16,2.3 STC12C5A60S2单片机管脚功能,(3)P2口 可作为通用I/O口,访问外部扩展电路或数据存储器时,可作为地址总线的高8位 。 (4)P3口 除作为标准I/O口使用外,还具有其他功能。,17,2.3 STC12C5A60S2单片机管脚功能,P3口的其他功能,18,2.3 STC12C5A60S2单片机管脚功能,(5)P4口 P4.4P4.7组成P4口。,上电复位后,该引脚无任何功能,NA_P4.4=0,NA_P4.4=1,标准的I

9、/O引脚,ALE_P4.5=0,上电复位后,该引脚是ALE信号,访问外部扩展接口电路时输出正脉冲信号,控制片外的低8位地址锁存电路,ALE_P4.5=1,标准的I/O引脚,LVD_P4.6=0,外部低压检测引脚,LVD_P4.6=1,标准的I/O引脚,P4SW寄存器,该引脚在烧写程序时,可选择是复位还是P4.7 I/O口引脚,若选择成P4.7口,必须使用外部时钟。,19,2.3 STC12C5A60S2单片机管脚功能,(1)XTAL1:内部时钟电路反相放大器的输入端,接外部晶振的一个引脚。使用外部时钟源时,此引脚是外部时钟源的输入端。 (2)XTAL2:内部时钟电路反相放大器的输出端,接外部晶

10、振的另一个引脚;当直接使用外部时钟源时,此引脚可悬空或通过一个大电阻接地 (3)VCC:电源正极。 (4)GND:电源负极,20,2.4程序状态字寄存器,程序状态字寄存器PSW,CY进位或借位标志位。 当运算结果的最高位产生进位或者借位时, CY =1; 当运算结果的最高位没有产生进位或者借位时, CY =0。,AC辅助进位标志位。 在执行加法或减法指令时,若D3位向D4位有进位或借位,则AC置位,否则AC清零。,OV溢出标志位。 在执行加法或减法运算时,若运算的结果超出8位有符号数表示的范围-128+127,表示溢出,OV置1,否则OV清零。,P奇偶校验标志位。 用于记录A寄存器中1的个数的

11、奇偶性。若A寄存器中1的个数为奇数,则P置位,为偶数则清零。只要A寄存器中的数据发生改变,就会影响奇偶校验位P。,用户标识位0,用户标识位1,RS1、RS0:寄存器组选择位,用来选择当前的工作寄存器组,21,2.5 存储器及存储空间,2.5.1 程序存储器 在STC系列单片机中,不同型号的单片机内部集成Flash程序存储器的存储空间不同,从0.5KB64KB不等。 单片机复位后,程序地址指针寄存器PC的内容为0000H 。,22,2.5 存储器及存储空间,各中断服务程序入口地址,在程序存储器中,每个 中断都有一个固定的入口 地址,当中断发生并响应 后,单片机会自动跳转到 相应的中断入口地址处去

12、 执行程序。,23,2.5 存储器及存储空间,2.5.2 片内RAM 片内RAM的结构图,STC15F100单片机仅有128字节,访问低128字节RAM既可直接寻址,如MOV A,20H;又可寄存器间接寻址,如MOV A,R0,特殊功能寄存器只能直接寻址,24,2.5 存储器及存储空间,2.5.2 片内RAM 片内RAM的结构图,访问低128字节RAM既可直接寻址,如MOV A,20H;又可寄存器间接寻址,如MOV A,R0,STC12C5A60S2单片机内部集成了256字节,访问高128字节RAM时,只能采用寄存器间接寻址,但可以作为堆栈区。,特殊功能寄存器只能直接寻址,R0、R1、R2、R

13、3、R4、R5、R6、R7,即可位寻址,又可字节寻址,数据缓冲区、堆栈区、工作单元,片内RAM低128字节的结构图,2.5 存储器及存储空间,26,2.5 存储器及存储空间,工作寄存器组区分布情况,00H1FH为工作寄存器组区,共32字节分为四组,每组包含8个8位的工作寄存器,编号均为R0R7,但属于不同的物理空间。,27,2.5 存储器及存储空间,RS1和RS0工作寄存器组的选择,28,2.5 存储器及存储空间,片内RAM中20H2FH单元为位寻址区,共16字节,128个位。这128个位每一位都有一个位地址,每位都可以按位寻址使用,位地址范围为00H7FH,30H7FH是一般RAM区,也可称

14、作用户RAM区和堆栈区。 堆栈指针SP是一个8位的专用寄存器,指示堆栈顶部在RAM中的位置。单片机复位后,堆栈指针SP为07H,实际上堆栈由08H单元开始 。,29,1.什么是堆栈?,在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。,2.堆栈的作用是什么?,子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。 保护现场/恢复现场 数据传输,堆栈区与堆栈指针,堆栈区通过堆栈指针SP进行管理,堆栈指针寄存器 SP 总是指向栈顶,压栈时先 (SP)+1 然后数据进栈;弹栈时数据先出栈 然

15、后(SP)-1。,3.堆栈指针:,30,已经存入堆 栈的数据,数据进栈,数据进栈时:首先SP+1指向,指向新的栈顶,00H,20H,2FH,7FH,1FH,30H,普通RAM区,位寻址区,工作寄存器区,31,00H,20H,2FH,7FH,1FH,30H,普通RAM区,位寻址区,工作寄存器区,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,数据出栈,32,注意: 系统复位后SP寄存器的初值为07H,当有数据进入堆栈时,将从08H单元开始存放,但这一般是不允许的,因为08H1FH属于工作寄存器区,不宜占用;20H2FH是位地址区,30H以

16、后还要留出部分作为运算数据暂存区。因此,必须通过数据传送指令重新设置SP的初值。 如果片内仅有128字节RAM,最好将SP设置在4FH以上单元。若片内有高128字节RAM,可将SP初值设置在80H以上单元。如: MOV SP,#4FH ; 将堆栈设在50H单元之后,33,2.5 存储器及存储空间,2.5.3 特殊功能寄存器 单片机内部集成了若干功能模块,每个模块都有自己的控制寄存器,对所有功能模块的寄存器进行了统一的编址,组成了特殊功能寄存器(Special Funtion Register,SFR)。 特殊功能寄存器主要是用来对片内各功能模块进行管理、控制、监控的寄存器和反映各功能运行状态的

17、寄存器。,34,表26 特殊功能寄存器举例说明,35,2.5 存储器及存储空间,2.5.4 扩展RAM 扩展RAM 分为片内扩展RAM和片外扩展RAM。 片内扩展RAM和片外扩展RAM,访问时都必须通过数据指针(DPTR)进行访问。,36,2.5 存储器及存储空间,1.数据指针DPTR 数据指针(DPTR)是一个16位的专用寄存器,也可以分成DPL(82H)和DPH(83H)两个8位的寄存器使用 。 STC系列单片机有两个16位的数据指针DPTR0和DPTR1,在使用时统称为DPTR。这两个数据指针共用同一个地址 。,37,2.5 存储器及存储空间,辅助寄存器AUXR1中的DPS位来确定具体被

18、使用的数据指针 。,DPS=0,选择DPTR0,DPS=1,选择DPTR1,AUXR1(A2H):,38,2.5 存储器及存储空间,2.访问扩展RAM 访问片内或片外扩展RAM由辅助寄存器AUXR中的EXTRAM位决定 。,EXTRAM=0时,访问片内扩展RAM,EXTRAM=1时,访问片外扩展RAM,AUXR(8EH):,访问片外扩展RAM必须将EXTRAM位置1,否则默认访问片内扩展RAM。,39,2.5 存储器及存储空间,片内扩展RAM与片外扩展RAM地址的描述,片外低地址部分与片内扩展的地址重叠,40,2.5 存储器及存储空间,单片机与片外RAM的连接图,41,2.6 I/O口工作方式

19、及配置,I/O引脚的内部输出框图,42,2.6 I/O口工作方式及配置,2.6.1 I/O口的工作方式 STC89/90系列单片机的I/O口引脚只有准双向和开漏两种输出工作方式,而STC11/10 xx、STC12xx、STC15xx系列单片机的所有I/O口引脚均可由软件配置成:准双向、强推挽、仅为输入或开漏输出4种工作方式。每个I/O口驱动能力均可达20mA,但整个芯片最大不能超过各自的上线值。,43,2.6 I/O口工作方式及配置,2.6.1 I/O口的工作方式 Px(x=0,1,2,3,4,5)口引脚的工作方式由特殊功能寄存器PxM1和PxM0相应位的配置决定。 Px口各引脚的工作方式配

20、置(x=0,1,2,3,4),该寄存器的D7D0位中的某一位,44,2.6 I/O口工作方式及配置,P5口各引脚的工作方式配置,该寄存器的D3D0位中的某一位,2.6 I/O口工作方式及配置,举例:,MOV P2M1,#10100000B;,P2M1寄存器,MOV P2M0,#11000000B;,P2M0寄存器,运行上述两条指令后,P2.7引脚设置成开漏输出,P2.6为强推挽输出,P2.5为仅为输入,P2.4/P2.3/P2.2/P2.1/P2.0为准双向口,2.6 I/O口工作方式及配置,2.6.2准双向口输出配置 准双向输出内部结构,要求上升沿、下降沿要较陡,“强上拉”,“极弱上拉”,“

21、弱上拉”,0,1,截止,截止,截止,导通,输出低电平,1,0,导通,导通,导通,截止,输出高电平电平,0,截止,2个CPU时钟周期延时后,由1变0时,导通,47,2.6 I/O口工作方式及配置,2.6.2准双向口输出配置 对准双向输出配置的几点说明:,如果引脚用于输入状态,需要先向外写出1,即输出为高。,1,0,导通,导通,导通,截止,输出高电平电平,截止,2个CPU时钟周期延时后,注意:读外部引脚状态前,要先输出高电平,使d管截止,才可读到正确的外部输入状态。,48,2.6 I/O口工作方式及配置,2.6.3强推挽输出配置 强推挽输出内部结构,1,0,截止,导通,1,0,1,导通,截止,0,

22、49,2.6 I/O口工作方式及配置,2.6.4仅为输入配置 仅为输入方式内部结构,49,在仅为输入配置情况下,所有输出管均截止,对外呈现高阻状态,对输入没有任何影响 。,50,2.6 I/O口工作方式及配置,2.6.5开漏输出配置 开漏输出内部结构,在开漏输出配置情况下,所有上拉管始终处于截止状态 。,0,1,导通,开漏输出,1,0,截止,高阻态,51,2.6 I/O口工作方式及配置,2.6.6 PWM输出时I/O口的状态 PCA用作PWM输出时,引脚的输出状态与设定PWM输出之前对该引脚的配置有关。 当设定为PWM功能之前的状态为准双向或强推挽输出时,设定PWM功能输出后的状态均为强推挽输

23、出; 当设定为PWM功能之前的状态为开漏时,PWM输出的状态为开漏; 当设定PWM功能之前的状态仅为输入时,PWM输出功能无效。,52,2.7 时钟电路与时序,2.7.1 时钟电路 外部时钟电路,STC系列单片机也可以选择内部的RC振荡所产生的时钟,供电电源为5V的单片机内部的RC振荡器,频率在11MHz17MHz不等,电源为3V单片机片内RC振荡频率在8MHz12MHz不等。随着温度的变化,内部RC振荡器的频率会有一些温漂,再加上制造误差,故内部RC振荡器只适用于对时钟频率精确度要求不严格的场合。,53,2.7 时钟电路与时序,2.7.2时钟分频及分频寄存器 时钟分频寄存器CLK_DIV中的

24、CLKS2、CLKS1、CLKS0三位所决定外部晶体振荡或内部RC振荡器频率的分频情况,CLKS2、CLKS1、CLKS0三个位对时钟进行分频,使单片机可以在较低频率下工作。,54,2.7.2时钟分频及分频寄存器,55,2.7 时钟电路与时序,2.7.3 时序 CPU的时序就是CPU在执行指令的过程中,产生的各种控制信号在时间上的相互关系 。 单片机每执行一条基本操作需要的时间称为机器周期,执行完一条指令所需要的时间称为指令周期,不同的指令其指令周期是不同的。 STC系列单片机中除STC89/90系列外,其他系列的机器周期为一个时钟周期的时间,即一个时钟周期(1T)方式 。,2.7.3 时序

25、当访问片外扩展接口时,单片机的速度要与外部扩展电路的速度相适应。,速度控制寄存器BUS_SPEED,P0口地址建立到ALE信号的下降沿所需时间和低8位地址继续维持原来的状态的持续时间 由ALE1、ALE2来确定,读、写控制信号的持续时间 由RWS2、RWS1、RWS0三位来确定,2.7.3 时序 通过MOVX指令时序了解时序的概念。,T1,T1,T2,T1,T1,T2,58,2.8 省电模式,STC系列单片机有3种省电模式,它们分别是:低速模式、空闲模式和掉电模式。正常工作模式下,STC12C5A60S2单片机的典型功耗是27mA,而掉电模式下的典型功耗0.1A,空闲模式下的典型功耗1.3mA

26、。 1.低速模式,低速模式由时钟分频寄存器CLK_DIV控制,可以对系统时钟进行分频,降低工作时钟频率,从而实现降低功耗。,59,2.8 省电模式,PCON(87H),PD=1,单片机进入掉电模式,60,2.8 省电模式,1,0,单片机进入空闲模式后,时钟电路仍然为外部中断、低压检测电路、定时/计数器、看门狗、A/D转换、串行口等提供时钟信号,可以正常运行,仅CPU停止工作。所有片内RAM、I/O口、特殊功能寄存器维持进空闲模式前那一刻的状态不变。,2.空闲模式,任何一个中断的产生,都可以将单片机唤醒,同时硬件自动将IDL清0。,61,2.8 省电模式,3.掉电模式,x,1,单片机进入掉电模式

27、后,内部时钟停振。由于无时钟源,CPU、定时/计数器、看门狗、A/D转换、串行口等停止工作。外部中断、低压检测电路可允许工作。所有片内RAM、I/O口、特殊功能寄存器维持进入掉电模式前那一刻的状态不变。,仅有外部中断或上电复位能自动将PD位清0,将CPU从掉电模式下唤醒。,62,2.9 复位电路,任何单片机在启动运行前都需要复位,其目的是使中央处理器CPU和系统中的其他模块都处于一个确定的初始状态,并从这个初始状态开始工作。 STC系列单片机有4种复位方式:RST第一复位引脚上的高电平控制复位、外部低压检测复位(第二复位引脚)、软件复位、看门狗复位。,63,2.9 复位电路,2.9.1 上电复位 复位电路,当外部电路上电瞬间,电容C两端的电压为0,在电源通过单片机内部电阻对C充电的过程中,RS

温馨提示

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

评论

0/150

提交评论