STC15F2K60S2单片机的基本结构.ppt
《STC15F2K60S2单片机的基本结构.ppt》由会员分享,可在线阅读,更多相关《STC15F2K60S2单片机的基本结构.ppt(109页珍藏版)》请在三一办公上搜索。
1、1/109,第二章 STC15F2K60S2单片机的基本结构本章学习目标掌握STC15F2K60S2单片机的基本结构掌握单片机I/O口的使用掌握单片机应用系统的典型构成,2/109,一、单片机的内部结构 单片微型计算机(简称单片机)在一片芯片上集成了前述微型计算机的功能结构,有些单片机不仅集成了CPU、存储程序和数据的存储器、I/O接口、定时/计数器等常规资源,而且还集成了工业测控系统中常用的模拟量模块。,2.1 STC15F2K60S2单片机的基本结构,3/109,单片机产品8051内核是Intel 8051系列单片机的基本标准,许多参考书上将这种单片机称为MCS-51系列单片机。MCS-5
2、1系列单片机的典型产品为8051,它有4K8ROM,128字节RAM,2个16位定时/计数器,4个8位I/O口,一个串行口。5个中断源二十世纪80年代,Intel将8051内核转让或出售给几家著名的IC厂商,如Philips,Atmel等。这样,8051单片机就变成众多制造厂家支持的,发展成为上百个产品的大家族。最常用的宏晶STC系列单片机,Atmel公司的AT89系列等51系列,等等。只要是8051内核的单片机,它们的最基本结构是相同的,并且,指令系统完全兼容标准8051单片机。,4/109,以目前市场上常见的8051内核单片机STC15F2K60S2为例,说明单片机的内部结构。STC12F
3、2K60S2单片机主要集成了以下资源:增强型8051内核,单时钟机器周期,速度比传统8051内核单片机快812倍60KB Flash程序存储器;1KB数据Flash;2048字节的SRAM3个16位可自动重装载的定时/计数器(T0、T1、T2)可编程时钟输出功能 至多42根I/O口线 2个全双工异步串行口(UART)1个高速同步通信端口(SPI)8通道10位ADC3通道PWM/可编程计数器阵列/捕获/比较单元内部高可靠上电复位电路和硬件看门狗 内部集成高精度R/C时钟,常温工作时,可以省去外部晶振电路。,5/109,STC15F2K60S2单片机的内部结构图,STC15F2K60S2单片机内部
4、结构框图,6/109,STC15F2K60S2单片机的内部资源中央处理器(CPU)程序存储器(Flash)数据存储器(RAM)数据Flash存储器定时/计数器I/O接口通用异步串行通信接口(UART)中断系统SPI接口高速A/D转换模块PWM(或捕获/比较单元)看门狗电路电源监控片内RC振荡器等模块几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统(SOC),7/109,1、CPU结构 单片机的中央处理器(CPU)由运算器和控制器组成。(1)运算器 以8位算术/逻辑运算部件ALU为核心,加上通过内部总线而挂在其周围的暂存器TMP1、TMP2、累加器ACC、寄存器B、程序状态标志
5、寄存器PSW以及布尔处理机组成了整个运算器的逻辑电路。,8/109,算术逻辑单元ALU:用来完成二进制数的四则运算和布尔代数的逻辑运算。累加器ACC又记作A:是一个具有特殊用途的8位寄存器,在CPU中工作最频繁,用来存放操作数和运算结果。寄存器B:是专门为乘、除法设置的寄存器,也是一个8位寄存器,用来存放乘法和除法中的操作数及运算结果,对于其他指令,它只作暂存器用。程序状态字(PSW):又称为标志寄存器,一个8位寄存器,用来存放执行指令后的有关状态信息,供程序查询和判别之用。,9/109,PSW中有些位的状态是在指令执行过程中自动形成的,有些位可以由用户采用指令加以改变。PSW的各位定义如下所
6、示:,10/109,CY(PSW.7):进位标志位 当执行加/减法指令时,如果操作结果的最高位D7出现进/借位,则CY置“1”,否则清“0”。执行乘除运算后,CY清零。此外,CPU在进行移位操作时也会影响这个标志位。,11/109,AC(PSW.6):辅助进位标志位 当执行加/减法指令时,如果低四位数向高四位数产生进/借位,则AC置“1”,否则清零。,12/109,F0(PSW.5):用户标志0。该位是由用户定义的一个状态标志。可以用软件来使它置“1”或清“0”,也可以由软件测试F0控制程序的流向。F1(PSW.1):用户标志1。该位是由用户定义的一个状态标志。与F0类似,可以用软件来使它置“
7、1”或清“0”,也可以由软件测试F1控制程序的流向。,13/109,RS1,RS0(PSW.4PSW.3):工作寄存器组选择控制位,其详细介绍见后续内容。OV(PSW.2):溢出标志位。指示运算过程中是否发生了溢出,在执行指令过程中自动形成。,14/109,P(PSW.0):奇偶标志位 累加器ACC中1的个数为偶数,P=0;否则P=1。每个指令周期都由硬件来置“1”或清“0”。在具有奇偶校验的串行数据通信中,可以根据P设置奇偶校验位。,15/109,布尔处理机是单片机CPU中运算器的一个重要组成部分。功能:为用户提供丰富的位操作功能,有相应的指令系统,硬件有自己的“累加器”(进位位C,即CY)
8、,和自己的位寻址RAM和I/O空间,是一个独立的位处理机。大部分位操作均围绕着其累加器进位位C完成。对 任何可直接寻址的位,布尔处理机可执行置位、取反、转移、位的读写等操作。在任何可寻址的位(或该位内容取反)和进位标志C之间,可执行逻辑与、或操作,其结果送回到进位标志C。,16/109,(2)控制器 控制器是CPU的大脑中枢,包括定时控制逻辑、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP、RAM地址寄存器、16位地址缓冲器等。,17/109,程序计数器PC是一个16位的程序地址寄存器,专门用来存放下一条需要执行的指令的内存地址,能自动加1。当CPU执行指令时,根据程序计数
9、器PC中的地址从存储器中取出当前需要执行的指令码,并把它送给控制器分析执行,随后程序计数器中的地址自动加1,以便为CPU取下一个需要执行的指令码做准备。当下一个指令码取出执行后,PC又自动加1。这样,程序计数器PC一次次加1,指令就被一条条执行。,18/109,堆栈主要用于保存临时数据、局部变量、中断或子程序的返回地址。STC15F2K60S2单片机的堆栈设在内部RAM中,是一个按照“先进后出”规律存放数据的区域。堆栈指针SP是一个8位寄存器,能自动加1或减1。当数据压入堆栈时,SP自动加1;数据从堆栈中弹出后,SP自动减1。复位后,寄存器默认值为07H,堆栈区在08H开始的区域。用户通常将堆
10、栈区域用指令设置在内部RAM的80HFFH之间。,19/109,数据指针DPTR一个16位专用寄存器,由DPL(低8位)和DPH(高8位)组成。DPTR可以直接进行16位操作,也可分别对DPL和DPH按字节进行操作。STC15F2K60S2单片机有两个16位的数据指针DPRT0和DPTR1,这两个数据指针共用同一个地址,可通过设置辅助寄存器AUXR1中的DPS(AUXR1.0)位来选择具体使用哪一个数据指针。,20/109,2、存储器的结构STC15F2K60S2 结构特点:程序存储器和数据存储器的寻址空间是分开的。结构划分:片内集成有4个物理上相互独立的存储器空间:程序Flash存储器、数据
11、Flash存储器(EEPROM)、内部数据存储器和外部数据存储器。,21/109,STC15F2K60S2单片机存储器配置示意图,22/109,(1)程序Flash存储器功能:存放用户程序、数据和表格等信息。空间大小:STC15F2K60S2片内集成了60KB的程序Flash存储器,地址为0000HF000H。单片机复位后,程序计数器PC的内容为0000H,从0000H单元开始执行程序。,23/109,特殊单元在程序Flash存储器中有些特殊的单元,这些单元是中断服务程序的入口地址:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断
12、1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址,24/109,中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址响应中断时,单片机自动转到相应的中断入口地址去执行程序
13、。由于大部分相邻中断入口地址之间只有8个地址单元,无法保存完整的中断服务程序,一般在中断入口的地址区存放一条无条件转移指令,指向真正存放中断服务程序的空间。中断响应后,CPU执行这条转移指令,转去执行中断服务程序。,25/109,使用指令 读取程序存储器中保存的表格常数等内容时,使用MOVC指令。程序Flash存储器的擦写次数为10万次以上,大大提高了芯片利用率,降低了开发成本。,26/109,(2)数据存储器STC15F2K60S2 数据存储器也称为随机存取数据存储器。空间划分 在物理上和逻辑上都分为两个地址空间:内部数据存储区和扩展数据存储区。,27/109,1)内部数据存储区(又称为内部
14、RAM)256字节内部RAM,存放中间结果和过程数据。内部RAM的地址范围是00HFFH,共256个单元,分三部分:低128字节RAM(00H7FH):也称为基本RAM区。基本RAM区又分为工作寄存器区、位寻址区、用户RAM和堆栈区。可以直接寻址和间接寻址。用“MOV”和“MOV Ri”形式的指令访问。高128字节RAM(80HFFH):只能间接寻址。用“MOV Ri”形式的指令访问。特殊功能寄存器(SFR)区:地址范围为80HFFH,只可直接寻址,用“MOV”形式的指令访问。,28/109,内部数据存储器地址空间,工作寄存器区位寻址区通用用户RAM和堆栈区特殊功能寄存器区,内部数据存储器地址
15、空间分配,29/109,工作寄存器区地址分配:00H1FH共32个单元。分为四组(每一组称为一个寄存器组),每一组包括8个8位的工作寄存器,分别是R0R7。功能:通过使用工作寄存器,可以提高运算速度,也可以使用其中的R0或R1存放八位地址值,访问一个256字节外部RAM块中的单元。另外,R0R7也可以用作计数器,在指令作用下加1或减1。,30/109,工作寄存器组的选择:PSW寄存器中的RS1和RS0两位组合决定当前使用的工作寄存器组。可以通过位操作指令直接修改 RS1和RS0的内容,选择不同的工作寄存器组。,工作寄存器组选择,31/109,位寻址区20H2FH之间的单元既可以按字节存取,也可
16、以按位存取共128位,地址范围是00H7FH。,内部RAM中的位地址,32/109,除了20H2FH之间的单元可以位寻址外,特殊功能寄存器中,直接地址可被8整除的寄存器(除了IP.7、IP.6和IE.6以外)也可以进行位寻址。,图3-11 特殊功能寄存器中的位地址,33/109,用户RAM和堆栈区内部RAM中的30H7FH单元是用户RAM和堆栈区。一个8位的堆栈指针SP,并且堆栈区只能设置在内部数据存储区。当有子程序调用和中断请求时,返回地址等信息被自动保存在堆栈内。STC15F2K60S2单片机复位后,SP为07H,使堆栈事实上由08H单元开始,考虑08H1FH单元分别属于工作寄存器组13,
17、若在程序设计中用到这些工作寄存器,则在用户初始化程序中,最好把SP的值改变为80H或更大的值。STC15F2K60S2单片机的堆栈是朝着地址增大的方向生成的,即将数据压入堆栈后,SP的值增大。,34/109,高128字节RAM和特殊功能寄存器对于STC15F2K60S2单片机,80HFFH既为高128字节RAM区的地址范围,又为特殊功能寄存器区(SFR)的地址范围,地址空间重叠,但物理上是独立的。使用时,通过不同的寻址方式加以区分:高128字节的RAM区使用间接寻址访问,特殊功能寄存器使用直接寻址访问。由于堆栈操作也是间接寻址方式,所以,高 128 位数据 RAM 亦可作为堆栈区使用。,35/
18、109,除了程序计数器PC和4个工作寄存器组外,其余的寄存器都在SFR区中。特殊功能寄存器大体分为两类 一类与芯片的引脚有关。如P0P5,它们实际上是6个锁存器,每个锁存器附加上相应的输出驱动器和输入缓冲器就构成了一个并行口。另一类为芯片内部功能的控制或者内部寄存器。如中断屏蔽及优先级控制、定时器、串行口、SPI接口等。STC15F2K60S2单片机的特殊功能寄存器及其复位值如表3-2所列。,36/109,2)扩展数据存储区 外部数据存储区也称为扩展RAM区(简称,XRAM)。片内集成了1792字节的外部RAM,地址范围为0000H06FFH,可用于存放数据。注意,这里的“内部”和“外部”是逻
19、辑上的概念,不是指芯片内部和外部。在汇编语言中,XRAM使用“MOVX DPTR”或者“MOVX Ri”指令访问。在C语言中,可使用xdata声明存储类型即可。如:unsigned char xdata i=0;,37/109,访问片内集成的外部RAM时,不影响P0口、P2口、P4.2、P4.4和ALE。STC15F2K60S2单片机还可以访问片外扩展的64KB外部数据存储器。STC15F2K60S2单片机的外部扩展I/O端口与扩展数据存储器统一编址,因此外部I/O端口的地址占用扩展数据存储器的地址单元,用MOVX指令访问。,38/109,单片机内部扩展RAM是否可以访问受辅助寄存器AUXR(
20、地址为8EH,复位值为01H)中的EXTRAM位控制。EXTRAM:0:内部扩展RAM可以存取;地址小于700H时,访问内部扩展RAM;地址大于或等于700H时,则访问单片机外部扩展的RAM或I/O空间。1:禁止访问内部扩展RAM。,39/109,(3)数据Flash存储器空间大小:集成了1K字节的数据Flash存储器,与程序空间是分开的地址范围:0000H03FFH。这1K字节的数据Flash存储器分为2个扇区,每个扇区包含512字节,对应的地址范围分别为:第一扇区:0000H01FFH 第二扇区:0200H03FFH,40/109,使用方法:建议同一次修改的数据放在同一个扇区,不是同一次修
21、改的数据放在不同的扇区,不一定用满。数据Flash存储器的擦除操作是按扇区进行的。数据Flash存储器可以作为EEPROM使用,擦写次数在10万次以上,用于保存一些需要在应用过程中修改并且掉电不丢失的参数数据。在用户程中,可以对数据Flash区进行字节读/字节编程/扇区擦除操作。,41/109,二、单片机的引脚及功能1、STC15F2K60S2单片机的引脚封装LQFP-44封装,STC15F2K60S2单片机的引脚图,42/109,DIP-40封装,STC15F2K60S2单片机的引脚图,43/109,STC15F2K60S2单片机的逻辑符号图,STC15F2K60S2单片机的逻辑符号图,44
22、/109,DIP-40封装的STC15F2K60S2单片机和LQFP-44封装相比,除了没有P4.0、P4.3、P4.6、P4.7引脚外,其他资源和的单片机完全相同。由于DIP封装的单片机焊接比较容易,因此,对于初学者,最好选用DIP封装的单片机进行学习。注意:在实际应用中,设计单片机应用系统的原理图时,一般应使用逻辑符号图,以便进行电路分析,而设计应用系统的印刷电路板图时,必须使用单片机的引脚图。,45/109,引脚电源引脚外接晶体引脚控制和复位引脚输入/输出(I/O)引脚,46/109,(1)电源引脚Vcc:一般接电源的5V。具体的电压幅度应参考单片机的手册。GND:接电源地。,47/10
23、9,(2)外接晶体引脚XTAL1和XATL2芯片内部一个反相放大器的输入端和输出端。通常用于连接晶体振荡器。常见的连接方法如图所示。,常见的晶振连接方法,48/109,晶体振荡器M的频率可以在4MHz48MHz之间选择,典型值是11.0592MHz(因为设计单片机通信应用系统时,使用这个频率的晶振可以准确地得到9600bits/s和19200bits/s的波特率)。电容C1、C2对时钟频率有微调作用,可在5100pF之间选择,典型值是47pF。,49/109,STC15F2K60S2单片机内部集成高精度R/C时钟,工作时钟可以使用内部振荡器或者外部晶体振荡器(简称晶振)产生的时钟。40引脚和4
24、4引脚封装的STC15F2K60S2单片机出厂标准配置是使用外部时钟。内部集成的高精度R/C时钟工业环境下的温漂为1%,常温下温飘5,频率范围为5MHz35MHz,可以在编程时设置。对于时钟频率要求不太敏感的场合,内部R/C振荡器完全能够满足要求。使用内部R/C振荡器时钟时,XTAL1和XTAL2引脚悬空。,50/109,使用外部晶振时,常见的连接方法与图3-14所示的连接方法相同。利用在系统编程(In-System Programming,ISP)工具对STC12C5A60S2单片机下载用户程序时,可以在选项中设置选择使用外部晶体振荡器时钟或者使用内部R/C振荡器时钟。,51/109,(3)
25、控制和复位引脚ALE(与P4.5复用)功能:当访问外部存储器或者外部扩展的并行I/O口时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。标准8051单片机的ALE 脚对系统时钟进行6分频输出,可对外提供时钟。,52/109,当8051单片机时钟频率较高时,ALE脚是一个干扰源。STC15F2K60S2单片机直接禁止ALE脚对系统时钟进行6分频输出,彻底清除此干扰源,有利于系统的抗干扰设计。如果设计中需要单片机输出时钟,可以利用STC15F2K60S2单片机的可编程时钟输出脚对外输出时钟。STC15F2K60S2单片机的ALE引脚在用MOVX指令访问片外扩展器件时输出地址锁存信号。,53/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STC15F2K60S2 单片机 基本 结构
链接地址:https://www.31ppt.com/p-5449538.html