第二章STC15F2K60S2单片机的基本结构_第1页
第二章STC15F2K60S2单片机的基本结构_第2页
第二章STC15F2K60S2单片机的基本结构_第3页
第二章STC15F2K60S2单片机的基本结构_第4页
第二章STC15F2K60S2单片机的基本结构_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

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

文档简介

1、1/109第二章第二章 STC15F2K60S2STC15F2K60S2单片机的单片机的基本结构基本结构本章学习目标本章学习目标掌握掌握STC15F2K60S2STC15F2K60S2单片机的基本结构单片机的基本结构掌握单片机掌握单片机I/O口的使用口的使用掌握单片机应用系统的典型构成掌握单片机应用系统的典型构成2/109一、单片机的内部结构一、单片机的内部结构 单片微型计算机(简称单片机)在一片芯单片微型计算机(简称单片机)在一片芯片上集成了前述微型计算机的功能结构,片上集成了前述微型计算机的功能结构,有些单片机不仅集成了有些单片机不仅集成了CPU、存储程序存储程序和和数据的存储器数据的存储

2、器、I/O接口接口、定时定时/计数器计数器等常等常规资源,而且还集成了工业测控系统中常规资源,而且还集成了工业测控系统中常用的用的模拟量模块模拟量模块。 2.1 STC15F2K60S2STC15F2K60S2单片机的基本结构单片机的基本结构3/109单片机产品单片机产品8051内核是内核是Intel 8051系列单片机的基本标准,许多参系列单片机的基本标准,许多参考书上将这种单片机称为考书上将这种单片机称为MCS-51系列单片机。系列单片机。MCS-51系列单片机的典型产品为系列单片机的典型产品为8051,它有,它有4K8ROM,128字节字节RAM,2个个16位定时位定时/计数器,计数器,

3、4个个8位位I/O口,一个串行口。口,一个串行口。5个中断源个中断源二十世纪二十世纪80年代,年代,Intel将将8051内核转让或出售给几家内核转让或出售给几家著名的著名的IC厂商,如厂商,如Philips,Atmel等。这样,等。这样,8051单片单片机就变成众多制造厂家支持的,发展成为上百个产品机就变成众多制造厂家支持的,发展成为上百个产品的大家族。的大家族。最常用的宏晶最常用的宏晶STC系列单片机,系列单片机,Atmel公司的公司的AT89系列系列等等51系列,等等。只要是系列,等等。只要是8051内核的单片机,它们的内核的单片机,它们的最基本结构是相同的,并且,指令系统完全兼容标准最

4、基本结构是相同的,并且,指令系统完全兼容标准8051单片机。单片机。4/109 以目前市场上常见的以目前市场上常见的8051内核单片机内核单片机STC15F2K60S2为例,为例,说明单片机的内部结构。说明单片机的内部结构。STC12F2K60S2单片机主要集成单片机主要集成了以下资源:了以下资源:增强型增强型8051内核,单时钟机器周期,速度比传统内核,单时钟机器周期,速度比传统8051内核单片机内核单片机快快812倍倍60KB Flash程序存储器程序存储器;1KB数据数据Flash;2048字节的字节的SRAM3个个16位可自动重装载的定时位可自动重装载的定时/计数器(计数器(T0、T1

5、、T2)可编程时钟输出功能可编程时钟输出功能 至多至多42根根I/O口线口线 2个全双工异步串行口(个全双工异步串行口(UART)1个高速同步通信端口(个高速同步通信端口(SPI) 8通道通道10位位ADC3通道通道PWM/可编程计数器阵列可编程计数器阵列/捕获捕获/比较单元比较单元内部高可靠上电复位电路和硬件看门狗内部高可靠上电复位电路和硬件看门狗 内部集成高精度内部集成高精度R/C时钟,常温工作时,可以省去外部晶振电路。时钟,常温工作时,可以省去外部晶振电路。5/109STC15F2K60S2单片机的内部结构图STC15F2K60S2单片机内部结构框图单片机内部结构框图6/109STC15

6、F2K60S2单片机的内部资源单片机的内部资源中央处理器(中央处理器(CPU) 程序存储器(程序存储器(Flash)数据存储器(数据存储器(RAM)数据数据Flash存储器存储器定时定时/计数器计数器I/O接口接口通用异步串行通信接口(通用异步串行通信接口(UART)中断系统中断系统SPI接口接口高速高速A/D转换模块转换模块PWM(或捕获(或捕获/比较单元)比较单元)看门狗电路看门狗电路电源监控电源监控片内片内RC振荡器等模块振荡器等模块几乎包含了数据采集和控制中所需的所有单元模块,几乎包含了数据采集和控制中所需的所有单元模块, 可称得上一个片上系统(可称得上一个片上系统(SOC)7/109

7、1、CPU结构结构 单片机的中央处理器(单片机的中央处理器(CPU)由运算器和)由运算器和控制器组成。控制器组成。(1)运算器)运算器 以以8位算术位算术/逻辑运算部件逻辑运算部件ALU为核心,加上为核心,加上通过内部总线而挂在其周围的暂存器通过内部总线而挂在其周围的暂存器TMP1、TMP2、累加器、累加器ACC、寄存器、寄存器B、程序状态、程序状态标志寄存器标志寄存器PSW以及布尔处理机组成了整以及布尔处理机组成了整个运算器的逻辑电路。个运算器的逻辑电路。8/109算术逻辑单元算术逻辑单元ALU:用来完成二进制数的四则用来完成二进制数的四则运算和布尔代数的逻辑运算。运算和布尔代数的逻辑运算。

8、累加器累加器ACC又记作又记作A:是一个具有特殊用途的:是一个具有特殊用途的8位寄存器,在位寄存器,在CPU中工作最频繁,用来存放操中工作最频繁,用来存放操作数和运算结果。作数和运算结果。寄存器寄存器B:是专门为乘、除法设置的寄存器,是专门为乘、除法设置的寄存器,也是一个也是一个8位寄存器,用来存放乘法和除法中位寄存器,用来存放乘法和除法中的操作数及运算结果,对于其他指令,它只作的操作数及运算结果,对于其他指令,它只作暂存器用。暂存器用。程序状态字程序状态字(PSW):又称为标志寄存器,一):又称为标志寄存器,一个个8位寄存器,用来存放执行指令后的有关状位寄存器,用来存放执行指令后的有关状态信

9、息,供程序查询和判别之用。态信息,供程序查询和判别之用。 9/109PSW中有些位的状态是在指令执行过程中中有些位的状态是在指令执行过程中自动形成的,有些位可以由用户采用指令自动形成的,有些位可以由用户采用指令加以改变。加以改变。PSW的各位定义如下所示:的各位定义如下所示:位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P10/109CY(PSW.7):):进位标志位进位标志位 当执行加当执行加/减法指令时,如果操作结果的最高位减法指令时,如果操作结果的最高位D7出现进出现进/借位,则借位,则CY置置“1”,否则清,否则清“0”。执行。执行乘除运算后,乘除

10、运算后,CY清零。此外,清零。此外,CPU在进行移位操在进行移位操作时也会影响这个标志位。作时也会影响这个标志位。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P11/109AC(PSW.6):):辅助进位标志位辅助进位标志位 当执行加当执行加/减法指令时,如果低四位数向高减法指令时,如果低四位数向高四位数产生进四位数产生进/借位,则借位,则AC置置“1”,否则清,否则清零。零。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P12/109F0(PSW.5):):用户标志用户标志0。 该位是由用户定义的一个状态标志。可以

11、用软件该位是由用户定义的一个状态标志。可以用软件来使它置来使它置“1”或清或清“0”,也可以由软件测试,也可以由软件测试F0控控制程序的流向。制程序的流向。F1(PSW.1):):用户标志用户标志1。 该位是由用户定义的一个状态标志。与该位是由用户定义的一个状态标志。与F0类似,类似,可以用软件来使它置可以用软件来使它置“1”或清或清“0”,也可以由软,也可以由软件测试件测试F1控制程序的流向。控制程序的流向。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P13/109RS1,RS0(PSW.4PSW.3):):工作寄存工作寄存器组选择控制位器组选择控制位

12、,其详细介绍见后续内容。,其详细介绍见后续内容。OV(PSW.2):):溢出标志位溢出标志位。指示运算过。指示运算过程中是否发生了溢出,在执行指令过程中程中是否发生了溢出,在执行指令过程中自动形成。自动形成。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P14/109P(PSW.0):):奇偶标志位奇偶标志位 累加器累加器ACC中中1的个数为偶数,的个数为偶数,P=0;否;否则则P=1。每个指令周期都由硬件来置。每个指令周期都由硬件来置“1”或或清清“0”。在具有奇偶校验的串行数据通信。在具有奇偶校验的串行数据通信中,可以根据中,可以根据P设置奇偶校验位。

13、设置奇偶校验位。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P15/109布尔处理机布尔处理机是单片机是单片机CPU中运算器的中运算器的一个重要组成部分。一个重要组成部分。功能功能:为用户提供丰富的位操作功能,有相应的指令系统,:为用户提供丰富的位操作功能,有相应的指令系统,硬件有自己的硬件有自己的“累加器累加器”(进位位(进位位C,即,即CY),和自己的),和自己的位寻址位寻址RAM和和I/O空间,是一个独立的位处理机。空间,是一个独立的位处理机。 大部分位操作均围绕着其累加器大部分位操作均围绕着其累加器进位位进位位C完成。对完成。对 任何可直接寻址的

14、位,布尔处理机可执行置位、取反、转任何可直接寻址的位,布尔处理机可执行置位、取反、转移、位的读写等操作。在任何可寻址的位(或该位内容取移、位的读写等操作。在任何可寻址的位(或该位内容取反)和进位标志反)和进位标志C之间,可执行逻辑与、或操作,其结果之间,可执行逻辑与、或操作,其结果送回到进位标志送回到进位标志C。16/109(2)控制器)控制器 控制器是控制器是CPU的大脑中枢,包括定时控的大脑中枢,包括定时控制逻辑、指令寄存器、译码器、地址指针制逻辑、指令寄存器、译码器、地址指针DPTR及程序计数器及程序计数器PC、堆栈指针、堆栈指针SP、RAM地址寄存器、地址寄存器、16位地址缓冲器等。位

15、地址缓冲器等。17/109程序计数器程序计数器PC是一个是一个16位的程序地址寄存器,专门用来存放下位的程序地址寄存器,专门用来存放下一条需要执行的指令的内存地址,能自动加一条需要执行的指令的内存地址,能自动加1。当当CPU执行指令时,根据程序计数器执行指令时,根据程序计数器PC中的地中的地址从存储器中取出当前需要执行的指令码,并把址从存储器中取出当前需要执行的指令码,并把它送给控制器分析执行,随后程序计数器中的地它送给控制器分析执行,随后程序计数器中的地址自动加址自动加1,以便为,以便为CPU取下一个需要执行的指取下一个需要执行的指令码做准备。令码做准备。当下一个指令码取出执行后,当下一个指

16、令码取出执行后,PC又自动加又自动加1。这。这样,程序计数器样,程序计数器PC一次次加一次次加1,指令就被一条条,指令就被一条条执行。执行。18/109堆栈堆栈主要用于保存临时数据、局部变量、中断或子主要用于保存临时数据、局部变量、中断或子程序的返回地址。程序的返回地址。STC15F2K60S2单片机的堆栈设在内部单片机的堆栈设在内部RAM中,中,是一个按照是一个按照“先进后出先进后出”规律存放数据的区域。规律存放数据的区域。堆栈指针堆栈指针SP是一个是一个8位寄存器,能自动加位寄存器,能自动加1或减或减1。当数据压入堆栈时,。当数据压入堆栈时,SP自动加自动加1;数据从堆;数据从堆栈中弹出后

17、,栈中弹出后,SP自动减自动减1。 复位后,寄存器默认值为复位后,寄存器默认值为07H,堆栈区在,堆栈区在08H开始的区域。用户通常将堆栈区域用指令设置开始的区域。用户通常将堆栈区域用指令设置在内部在内部RAM的的80HFFH之间。之间。19/109数据指针数据指针DPTR一个一个16位专用寄存器,由位专用寄存器,由DPL(低(低8位)和位)和DPH(高(高8位)组成。位)组成。DPTR可以直接进行可以直接进行16位操作,也可分别对位操作,也可分别对DPL和和DPH按字节进行操作。按字节进行操作。STC15F2K60S2单片机有两个单片机有两个16位的数据指针位的数据指针DPRT0和和DPTR

18、1,这两个数据指针共用同一个,这两个数据指针共用同一个地址,可通过设置辅助寄存器地址,可通过设置辅助寄存器AUXR1中的中的DPS(AUXR1.0)位来选择具体使用哪一个数据指)位来选择具体使用哪一个数据指针。针。 20/1092 2、存储器的结构、存储器的结构STC15F2K60S2 结构特点结构特点:程序存储器和数据存储器的寻:程序存储器和数据存储器的寻址空间是分开的。址空间是分开的。结构划分:结构划分:片内集成有片内集成有4个物理上相互独立个物理上相互独立的存储器空间:程序的存储器空间:程序Flash存储器、数据存储器、数据Flash存储器(存储器(EEPROM)、内部数据存储)、内部数

19、据存储器和外部数据存储器。器和外部数据存储器。21/109STC15F2K60S2单片机存储器配置示意图扩展数据存储器 内部数据存储器 程序Flash存储器特殊功能寄存器低128字节内部RAMFFH80H7FH00H0000H03FFH06FFH0000H60KBF000H0000H1KB程序Flash存储器数据Flash存储器1792字节扩展RAM高128字节内部RAM数据Flash存储器22/109(1)程序)程序Flash存储器存储器功能:功能:存放用户程序、数据和表格等信息。存放用户程序、数据和表格等信息。空间大小:空间大小:STC15F2K60S2片内集成了片内集成了60KB的程序的

20、程序Flash存储器,地址为存储器,地址为0000HF000H。单片机复位后,程序计数器。单片机复位后,程序计数器PC的的内容为内容为0000H,从,从0000H单元开始执行程序。单元开始执行程序。 23/109特殊单元特殊单元在程序在程序Flash存储器中有些特殊的单元,这些单元是存储器中有些特殊的单元,这些单元是中断服务程序的入口地址中断服务程序的入口地址:0003H 外部中断外部中断0中断服务程序的入口地址中断服务程序的入口地址000BH 定时定时/计数器计数器0中断服务程序的入口地址中断服务程序的入口地址0013H 外部中断外部中断1中断服务程序的入口地址中断服务程序的入口地址001B

21、H 定时定时/计数器计数器1中断服务程序的入口地址中断服务程序的入口地址0023H 串行通信口串行通信口1中断服务程序的入口地址中断服务程序的入口地址002BH ADC中断服务程序的入口地址中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址中断服务程序的入口地址0043H 串行通信口串行通信口2中断服务程序的入口地址中断服务程序的入口地址004BH SPI中断服务程序的入口地址中断服务程序的入口地址24/109中断服务程序的入口地址中断服务程序的入口地址0053H 外部中断外部中断2中断服务程序的入口地址中

22、断服务程序的入口地址005BH 外部中断外部中断3中断服务程序的入口地址中断服务程序的入口地址0063H 定时定时/计数器计数器2中断服务程序的入口地址中断服务程序的入口地址0083H 外部中断外部中断4中断服务程序的入口地址中断服务程序的入口地址响应中断时,单片机自动转到相应的中断入口地址去响应中断时,单片机自动转到相应的中断入口地址去执行程序。由于大部分相邻中断入口地址之间只有执行程序。由于大部分相邻中断入口地址之间只有8个个地址单元,无法保存完整的中断服务程序,一般在中地址单元,无法保存完整的中断服务程序,一般在中断入口的地址区存放一条断入口的地址区存放一条无条件转移指令无条件转移指令,

23、指向真正,指向真正存放中断服务程序的空间。中断响应后,存放中断服务程序的空间。中断响应后,CPU执行这执行这条转移指令,转去执行中断服务程序。条转移指令,转去执行中断服务程序。25/109使用指令使用指令 读取程序存储器中保存的表格常数等内读取程序存储器中保存的表格常数等内容时,使用容时,使用MOVC指令。指令。 程序程序Flash存储器的擦写次数为存储器的擦写次数为10万次万次以上,大大提高了芯片利用率,降低了开以上,大大提高了芯片利用率,降低了开发成本。发成本。26/109(2)数据存储器)数据存储器STC15F2K60S2 数据存储器也称为随机存取数据存储器。数据存储器也称为随机存取数据

24、存储器。空间划分空间划分 在物理上和逻辑上都分为两个地址空间:在物理上和逻辑上都分为两个地址空间:内部内部数据存储区和数据存储区和扩展扩展数据存储区数据存储区 。27/1091 1)内部数据存储区(又称为内部)内部数据存储区(又称为内部RAMRAM) 256字节内部字节内部RAM,存放中间结果和过程数据。内部,存放中间结果和过程数据。内部RAM的地址范围是的地址范围是00HFFH,共,共256个单元,分三部分:个单元,分三部分:低低128字节字节RAM(00H7FH):也称为基本):也称为基本RAM区。区。基本基本RAM区又分为工作寄存器区、位寻址区、用户区又分为工作寄存器区、位寻址区、用户R

25、AM和堆栈区。可以直接寻址和间接寻址。用和堆栈区。可以直接寻址和间接寻址。用“MOV”和和“MOV Ri”形式的指令访问。形式的指令访问。高高128字节字节RAM(80HFFH):只能间接寻址。用):只能间接寻址。用“MOV Ri”形式的指令访问。形式的指令访问。特殊功能寄存器特殊功能寄存器(SFR)区:地址范围为)区:地址范围为80HFFH,只可直接寻址,用只可直接寻址,用“MOV”形式的指令访问。形式的指令访问。28/1090区(R7R0)1区(R7R0)2区(R7R0)3区(R7R0)0FH08H17H10H20H2FH30H通用用户RAM和堆栈区(30H7FH)可直接或间接字节寻址 8

26、0HFFH只能间接寻址访问特殊功能寄存器区(80HFFH)只能直接寻址访问7FH80HFFH1FH18H位寻址区(16字节,共128位)也可以字节寻址07H00H4个工作寄存器区也可做RAM单元使用内部数据存储器地址空间 工作寄存器区工作寄存器区 位寻址区位寻址区 通用用户通用用户RAM和堆栈区和堆栈区 特殊功能寄存器区特殊功能寄存器区内部数据存储器地址空间分配内部数据存储器地址空间分配29/109工作寄存器区工作寄存器区地址分配地址分配:00H1FH共共32个单元。分为四组个单元。分为四组(每一组称为一个寄存器组),每一组包括(每一组称为一个寄存器组),每一组包括8个个8位的工作寄存器,分别

27、是位的工作寄存器,分别是R0R7。功能功能:通过使用工作寄存器,可以提高运算速:通过使用工作寄存器,可以提高运算速度,也可以使用其中的度,也可以使用其中的R0或或R1存放八位地址值,存放八位地址值,访问一个访问一个256字节外部字节外部RAM块中的单元。另外,块中的单元。另外,R0R7也可以用作计数器,在指令作用下加也可以用作计数器,在指令作用下加1或减或减1。30/109工作寄存器组的选择:工作寄存器组的选择:PSWPSW寄存器中的寄存器中的RS1RS1和和RS0RS0两位组合决定当前使用的工作寄存器组。可以通两位组合决定当前使用的工作寄存器组。可以通过位操作指令直接修改过位操作指令直接修改

28、 RS1RS1和和RS0RS0的内容,选择的内容,选择不同的工作寄存器组。不同的工作寄存器组。RS1(PSW.4)RS0(PSW.3)工作寄存器组工作寄存器组工作寄存器地址工作寄存器地址000R7R0对应的地址为对应的地址为07H00H011R7R0对应的地址为对应的地址为0FH08H102R7R0对应的地址为对应的地址为17H10H113R7R0对应的地址为对应的地址为1FH18H工作寄存器组选择31/109位寻址区位寻址区20H2FH之之间 的 单 元 既间 的 单 元 既可 以 按 字 节可 以 按 字 节存 取 , 也 可存 取 , 也 可以按位存取以按位存取共共128位,地位,地址

29、范 围 是址 范 围 是00H7FH。内部RAM中的位地址32/109除 了除 了 2 0 H 2FH之间的单之间的单元可以位寻址元可以位寻址外,特殊功能外,特殊功能寄存器中,直寄存器中,直接地址可被接地址可被8整整除 的 寄 存 器除 的 寄 存 器(除了(除了IP.7、IP.6和和IE.6以外)以外)也可以进行位也可以进行位寻址。寻址。图3-11 特殊功能寄存器中的位地址33/109用户用户RAM和堆栈区和堆栈区内部内部RAM中的中的30H7FH单元是用户单元是用户RAM和堆栈区。和堆栈区。一个一个8位的堆栈指针位的堆栈指针SP,并且堆栈区只能设置在内部数,并且堆栈区只能设置在内部数据存储

30、区。当有子程序调用和中断请求时,返回地址据存储区。当有子程序调用和中断请求时,返回地址等信息被自动保存在堆栈内。等信息被自动保存在堆栈内。STC15F2K60S2单片机复位后,单片机复位后,SP为为07H,使堆栈事实,使堆栈事实上由上由08H单元开始,考虑单元开始,考虑08H1FH单元分别属于工作单元分别属于工作寄存器组寄存器组13,若在程序设计中用到这些工作寄存器,若在程序设计中用到这些工作寄存器,则在用户初始化程序中,最好把则在用户初始化程序中,最好把SP的值改变为的值改变为80H或或更大的值。更大的值。STC15F2K60S2单片机的堆栈是朝着地址增大的方向生单片机的堆栈是朝着地址增大的

31、方向生成的,即将数据压入堆栈后,成的,即将数据压入堆栈后,SP的值增大。的值增大。 34/109高高128字节字节RAM和特殊功能寄存器和特殊功能寄存器对于对于STC15F2K60S2单片机,单片机,80HFFH既为既为高高128字节字节RAM区的地址范围,又为特殊功能区的地址范围,又为特殊功能寄存器区寄存器区(SFR)的地址范围,地址空间重叠,的地址范围,地址空间重叠,但物理上是独立的。但物理上是独立的。使用时,通过不同的寻址方式加以区分:高使用时,通过不同的寻址方式加以区分:高128字节的字节的RAM区使用间接寻址访问,特殊功区使用间接寻址访问,特殊功能寄存器使用直接寻址访问。由于堆栈操作

32、也能寄存器使用直接寻址访问。由于堆栈操作也是间接寻址方式,所以,高是间接寻址方式,所以,高 128 位数据位数据 RAM 亦可作为堆栈区使用。亦可作为堆栈区使用。35/109除了程序计数器除了程序计数器PC和和4个工作寄存器组外,其个工作寄存器组外,其余的寄存器都在余的寄存器都在SFR区中。区中。特殊功能寄存器大体分为两类特殊功能寄存器大体分为两类 一类与芯片的引脚有关。如一类与芯片的引脚有关。如P0P5,它们实,它们实际上是际上是6个锁存器,每个锁存器附加上相应的输个锁存器,每个锁存器附加上相应的输出驱动器和输入缓冲器就构成了一个并行口。出驱动器和输入缓冲器就构成了一个并行口。 另一类为芯片

33、内部功能的控制或者内部寄另一类为芯片内部功能的控制或者内部寄存器。如中断屏蔽及优先级控制、定时器、串行存器。如中断屏蔽及优先级控制、定时器、串行口、口、SPI接口等。接口等。STC15F2K60S2单片机的特殊功能寄存器及其单片机的特殊功能寄存器及其复位值如表复位值如表3-2所列。所列。36/1092)扩展数据存储区)扩展数据存储区 外部数据存储区也称为扩展外部数据存储区也称为扩展RAM区(简称,区(简称,XRAM)。片内集成了)。片内集成了1792字节的外部字节的外部RAM,地址范围为地址范围为0000H06FFH,可用于存放数据。,可用于存放数据。注意注意,这里的,这里的“内部内部”和和“

34、外部外部”是逻辑上的概念,是逻辑上的概念,不不是指芯片内部和外部。是指芯片内部和外部。在汇编语言中,在汇编语言中,XRAM使用使用“MOVX DPTR” 或者或者“MOVX Ri”指令访问。指令访问。在在C语言中,可使用语言中,可使用xdata声明存储类型即可。声明存储类型即可。 如:如:unsigned char xdata i= 0;37/109访问片内集成的外部访问片内集成的外部RAM时,不影响时,不影响P0口、口、P2口、口、P4.2、P4.4和和ALE。STC15F2K60S2单片机还可以访问片外扩展单片机还可以访问片外扩展的的64KB外部数据存储器。外部数据存储器。STC15F2K

35、60S2单片机的外部扩展单片机的外部扩展I/O端口端口与扩展数据存储器统一编址,因此外部与扩展数据存储器统一编址,因此外部I/O端口的地址占用扩展数据存储器的地址单端口的地址占用扩展数据存储器的地址单元,用元,用MOVX指令访问。指令访问。38/109单片机内部扩展单片机内部扩展RAM是否可以访问受辅助寄存器是否可以访问受辅助寄存器AUXR(地址为(地址为8EH,复位值为,复位值为01H)中的)中的EXTRAM位控制。位控制。EXTRAM:0:内部扩展:内部扩展RAM可以存取;地址小于可以存取;地址小于700H时,时,访问内部扩展访问内部扩展RAM;地址大于或等于;地址大于或等于700H时,时

36、,则访问单片机外部扩展的则访问单片机外部扩展的RAM或或I/O空间。空间。1:禁止访问内部扩展:禁止访问内部扩展RAM。位号D7D6D5D4D3D2D1D0位名称T0 x12T1x12UART_M0 x6T2RT2_C/ T2x12EXTRAMS1ST2T39/109(3)数据)数据Flash存储器存储器空间大小:空间大小:集成了集成了1K字节的数据字节的数据Flash存储存储器,与程序空间是分开的器,与程序空间是分开的地址范围地址范围:0000H03FFH。这。这1K字节的数字节的数据据Flash存储器分为存储器分为2个扇区,每个扇区包含个扇区,每个扇区包含512字节,对应的地址范围分别为:

37、字节,对应的地址范围分别为:第一扇区:第一扇区:0000H01FFH 第二扇区:第二扇区:0200H03FFH40/109使用方法使用方法:建议同一次修改的数据放在同一个扇:建议同一次修改的数据放在同一个扇区,不是同一次修改的数据放在不同的扇区,不区,不是同一次修改的数据放在不同的扇区,不一定用满。数据一定用满。数据Flash存储器的擦除操作是按存储器的擦除操作是按扇区扇区进行的。进行的。 数据数据Flash存储器可以作为存储器可以作为EEPROM使用,擦写使用,擦写次数在次数在10万次以上,用于保存一些需要在应用过程万次以上,用于保存一些需要在应用过程中修改并且掉电不丢失的参数数据。在用户程

38、中,中修改并且掉电不丢失的参数数据。在用户程中,可以对数据可以对数据Flash区进行字节读区进行字节读/字节编程字节编程/扇区擦除扇区擦除操作。操作。41/109二、单片机的引脚及功能二、单片机的引脚及功能1、STC15F2K60S2单片机的引脚单片机的引脚封装封装LQFP-44封装封装STC15F2K60S2单片机的引脚图42/109 DIP-40封装封装 STC15F2K60S2单片机的引脚图43/109STC15F2K60S2单片机单片机的逻辑符号的逻辑符号图图 STC15F2K60S2单片机的逻辑符号图44/109DIP-40封装的封装的STC15F2K60S2单片机和单片机和LQFP

39、-44封装相比,除了没有封装相比,除了没有P4.0、P4.3、P4.6、P4.7引脚外,其他资源和的单片机完全相同。引脚外,其他资源和的单片机完全相同。 由于由于DIP封装的单片机焊接比较容易,因此,封装的单片机焊接比较容易,因此,对于初学者,最好选用对于初学者,最好选用DIP封装的单片机进行封装的单片机进行学习。学习。注意:在实际应用中,设计单片机应用系统的注意:在实际应用中,设计单片机应用系统的原理图时,一般应使用逻辑符号图,以便进行原理图时,一般应使用逻辑符号图,以便进行电路分析,而设计应用系统的印刷电路板图时,电路分析,而设计应用系统的印刷电路板图时,必须使用单片机的引脚图。必须使用单

40、片机的引脚图。45/109引脚引脚电源引脚电源引脚外接晶体引脚外接晶体引脚控制和复位引脚控制和复位引脚输入输入/输出(输出(I/O)引脚)引脚46/109(1)电源引脚)电源引脚Vcc:一般接电源的:一般接电源的5V。具体的电压幅度。具体的电压幅度应参考单片机的手册。应参考单片机的手册。GND:接电源地。:接电源地。47/109(2)外接晶体引脚)外接晶体引脚XTAL1和和XATL2芯片内部一个反相放大器的输入端和输出芯片内部一个反相放大器的输入端和输出端。通常用于连接晶体振荡器。端。通常用于连接晶体振荡器。常见的连接方法如图所示。常见的连接方法如图所示。XTAL2XTAL1C2C1GNDM单

41、片机常见的晶振连接方法48/109晶体振荡器晶体振荡器M的频率可以在的频率可以在4MHz48MHz之之间选择,典型值是间选择,典型值是11.0592MHz(因为设计单片(因为设计单片机通信应用系统时,使用这个频率的晶振可以机通信应用系统时,使用这个频率的晶振可以准确地得到准确地得到9600bits/s和和19200bits/s的波特率)。的波特率)。电容电容C1、C2对时钟频率有微调作用,可在对时钟频率有微调作用,可在5100pF之间选择,典型值是之间选择,典型值是47pF。49/109STC15F2K60S2单片机内部集成高精度单片机内部集成高精度R/C时时钟,工作时钟可以使用内部振荡器或者

42、外部晶钟,工作时钟可以使用内部振荡器或者外部晶体振荡器(简称晶振)产生的时钟。体振荡器(简称晶振)产生的时钟。 40引脚和引脚和44引脚封装的引脚封装的STC15F2K60S2单片机单片机出厂标准配置是使用外部时钟。内部集成的高出厂标准配置是使用外部时钟。内部集成的高精度精度R/C时钟工业环境下的温漂为时钟工业环境下的温漂为1%,常温,常温下温飘下温飘5,频率范围为,频率范围为5MHz35MHz,可以,可以在编程时设置。对于时钟频率要求不太敏感的在编程时设置。对于时钟频率要求不太敏感的场合,内部场合,内部R/C振荡器完全能够满足要求。振荡器完全能够满足要求。 使用内部使用内部R/C振荡器时钟时

43、,振荡器时钟时,XTAL1和和XTAL2引脚悬空。引脚悬空。 50/109使用外部晶振时,常见的连接方法与图使用外部晶振时,常见的连接方法与图3-14所所示的连接方法相同。示的连接方法相同。利用在系统编程(利用在系统编程(In-System Programming,ISP)工具对)工具对STC12C5A60S2单片机下载用户单片机下载用户程序时,可以在选项中设置选择使用外部晶体程序时,可以在选项中设置选择使用外部晶体振荡器时钟或者使用内部振荡器时钟或者使用内部R/C振荡器时钟。振荡器时钟。51/109(3)控制和复位引脚)控制和复位引脚ALE(与(与P4.5复用)复用) 功能:当访问外部存储器

44、或者外部扩展的并行功能:当访问外部存储器或者外部扩展的并行I/O口时,口时,ALE(允许地址锁存)的输出用于(允许地址锁存)的输出用于锁存地址的低位字节。锁存地址的低位字节。标准标准8051单片机的单片机的ALE 脚对系统时钟进行脚对系统时钟进行6分分频输出,可对外提供时钟。频输出,可对外提供时钟。52/109当当8051单片机时钟频率较高时,单片机时钟频率较高时,ALE脚是一个脚是一个干扰源。干扰源。STC15F2K60S2单片机直接禁止单片机直接禁止ALE脚对系统脚对系统时钟进行时钟进行6分频输出,彻底清除此干扰源,有分频输出,彻底清除此干扰源,有利于系统的抗干扰设计。如果设计中需要单片利

45、于系统的抗干扰设计。如果设计中需要单片机输出时钟,可以利用机输出时钟,可以利用STC15F2K60S2单片机单片机的可编程时钟输出脚对外输出时钟。的可编程时钟输出脚对外输出时钟。STC15F2K60S2单片机的单片机的ALE引脚在用引脚在用MOVX指令访问片外扩展器件时输出地址锁存信号。指令访问片外扩展器件时输出地址锁存信号。53/109RST(与(与P5.4复用)复用) 当振荡器运行时,在此引脚上出现两个机器周当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单片机复位。期的高电平将使单片机复位。如果需要单片机接上电源就可以复位,则需要如果需要单片机接上电源就可以复位,则需要使用使用上电

46、复位上电复位电路。电路。单片机RST/VPDGNDCr10uFRr10KVcc上电复位电路图54/109P5.4/RST/MCLKO脚出厂时默认为脚出厂时默认为I/O口,可口,可以通过以通过 STC-ISP编程软件下载程序时,将其设编程软件下载程序时,将其设置为置为RST复位脚。复位脚。STC15F2K60S2单片机内部集成了单片机内部集成了MAX810专专用复位电路,时钟频率在用复位电路,时钟频率在12MHZ以下时,复位以下时,复位脚可接脚可接1K电阻再接地,也可以使用图电阻再接地,也可以使用图3-15所示所示的传统复位电路。的传统复位电路。55/109(4)输入)输入/输出(输出(I/O)

47、引脚)引脚STC12C5A60S2单片机最多可以有单片机最多可以有44根根I/O口口线,线,44根根I/O口线分别为:口线分别为:P0口口(8根):根):P0.0P0.7P1口口(8根):根):P1.0P1.7P2口口(8根):根):P2.0P2.7P3口口(8根):根):P3.0P3.7P4口口(8根):根):P4.0P4.7P5口口(2根):根):P5.4、P5.5。 56/1091)I/O口的工作模式口的工作模式4种工作模式:准双向口种工作模式:准双向口/弱上拉,推挽弱上拉,推挽/强上拉,强上拉,输入输入/高阻和开漏模式。高阻和开漏模式。复位后为准双向口复位后为准双向口/弱上拉工作模式。

48、弱上拉工作模式。每个口的工作模式由每个口的工作模式由2个控制寄存器中的相应个控制寄存器中的相应位控制(位控制(PnM0和和PnM1,n=0、1、2、3、4、5)。)。57/109例如,例如,P0M0和和P0M1用于设定用于设定P0口的工作模式,其口的工作模式,其中中P0M0.7和和P0M1.7用于设置用于设置P0.7的工作模式,的工作模式,P0M0.6和和P0M1.6用于设置用于设置P0.6的工作模式,以此类的工作模式,以此类推。推。PnM17:0PnM07:0I/O口模式00准双向口(传统8051单片机I/O口模式),灌电流可达20mA,拉电流为270A,由于制造误差,实际为270uA150

49、uA01推挽输入输出(强上拉输出,可达20mA,要加限流电阻,尽量少用)10仅为输入(高阻)11开漏(Open Drain),内部上拉电阻断开,要外加上拉电阻I/O口工作模式设置58/109例如,若设置例如,若设置P1.7为开漏模式,为开漏模式,P1.6为强推挽输入为强推挽输入输出模式,输出模式,P1.5为高阻输入模式,为高阻输入模式,P1.4、P1.3、P1.2、P1.1和和P1.0为弱上拉模式,则可以使用下为弱上拉模式,则可以使用下面的代码进行设置:面的代码进行设置: MOV P1M1,#10100000B MOV P1M0,#11000000B59/109STC15F2K60S2单片机的

50、每个单片机的每个I/O口在弱上拉时口在弱上拉时都能承受都能承受20mA的灌电流(最好还是使用限流的灌电流(最好还是使用限流电阻,如电阻,如1K)在强推挽输出时都能输出在强推挽输出时都能输出20mA的拉电流(也的拉电流(也要加限流电阻)。要加限流电阻)。整个芯片的工作电流推荐不要超过整个芯片的工作电流推荐不要超过90mA。即。即从从MCU-Vcc流入的电流不超过流入的电流不超过90mA,从,从MCU-GND流出的电流不超过流出的电流不超过90mA,整体流,整体流入入/流出电流都不能超过流出电流都不能超过90mA。60/1092)I/O口的复用功能口的复用功能P0口口用作数据总线(用作数据总线(D

51、7D0)或者地址总线低)或者地址总线低8位位(A7A0)。)。用作普通用作普通I/O。P1口口用作普通用作普通I/O。复用为复用为ADC转换输入、捕获转换输入、捕获/比较比较/脉宽调制、脉宽调制、SPI通信线、第二串口或者第二时钟输出,如通信线、第二串口或者第二时钟输出,如表所示。表所示。61/109P1P1口的复用功能口的复用功能引脚引脚复用功能复用功能P1.0ADC0/CCP1(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道1)/RxD2(串口(串口2输入)输入)P1.1ADC1/CCP0(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道0)/TxD2(串口(串口2输出)输出)P1.2ADC

52、2/ECI(可编程计数器阵列定时器的外部时钟输入)(可编程计数器阵列定时器的外部时钟输入)/SS(SPI从从器件选择)器件选择)P1.3ADC3/ MOSI(SPI主机输出从机输入)主机输出从机输入)P1.4ADC4/ MISO(SPI主机输入从机输出)主机输入从机输出)P1.5ADC5/ SCLK(SPI时钟)时钟)P1.6ADC6/ XTAL2(外接晶体引脚)(外接晶体引脚)/RxD_3(串口(串口1输入备用切换引脚)输入备用切换引脚)P1.7ADC7/ XTAL1(外接晶体引脚)(外接晶体引脚)/TxD_3(串口(串口1输出备用切换引脚)输出备用切换引脚)62/109P2口口用作地址总线

53、的高用作地址总线的高8位输出。位输出。用作通用用作通用I/O口使用。口使用。用于用于SPI和捕获和捕获/比较比较/脉宽调制的备用切换端口脉宽调制的备用切换端口 引脚引脚复用功能复用功能P2.0A8/RSTOUT_LOW(复位后输出低电平引脚)(复位后输出低电平引脚)P2.1A9/ SCLK_2(SPI时钟备用切换引脚)时钟备用切换引脚)P2.2A10/ MISO_2(SPI主机输入从机输出备用切换引脚)主机输入从机输出备用切换引脚)P2.3A11/ MOSI_2(SPI主机输出从机输入备用切换引脚)主机输出从机输入备用切换引脚)P2.4A12/ /ECI_3(可编程计数器阵列定时器的外部时钟输

54、入备用切换引(可编程计数器阵列定时器的外部时钟输入备用切换引脚)脚)/SS_2(SPI从器件选择备用切换引脚)从器件选择备用切换引脚)P2.5A13/CCP0_3(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道0备用切换引脚)备用切换引脚)P2.6A14/ CCP1_3(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道1备用切换引脚)备用切换引脚)P2.7A15/ CCP2_3(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道2备用切换引脚)备用切换引脚)P2口的复用功能63/109P3口口用作通用用作通用I/O口使用。口使用。可复用为外部中断输入、计数器输入、时钟输可复用为外部中断输入、计数器输

55、入、时钟输出、第一串口和外部总线的读出、第一串口和外部总线的读/写控制,如表所写控制,如表所示。示。64/109P3P3口的复用功能口的复用功能端口引脚端口引脚复用功能复用功能P3.0RXD(串口(串口1输入)输入)/ /INT4 (外部中断(外部中断4,只能下降沿中断),只能下降沿中断)/T2CLKO(T2的时钟输出)的时钟输出)P3.1TXD(串口(串口1输出)输出)/T2CLKO(T2的外部输入)的外部输入)P3.2/INT0(外部中断(外部中断0输入,既可上升沿中断也可下降沿中断)输入,既可上升沿中断也可下降沿中断)P3.3/INT1(外部中断(外部中断1输入,既可上升沿中断也可下降沿

56、中断)输入,既可上升沿中断也可下降沿中断)P3.4T0(定时器(定时器0外部输入)外部输入)/ T1CLKOU(T1时钟输出)时钟输出)/ECI_2(可编程计(可编程计数器阵列定时器的外部时钟输入备用切换引脚)数器阵列定时器的外部时钟输入备用切换引脚)P3.5T1(定时器(定时器1外部输入)外部输入)/ T0CLKOU(T0时钟输出)时钟输出)/ CCP0_32(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道0备用切换引脚)备用切换引脚)P3.6/INT2(外部中断(外部中断2输入,只能下降沿中断)输入,只能下降沿中断)/RxD_2(串口(串口1输入备用切输入备用切换引脚)换引脚)/ CCP1

57、_2(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道1备用切换引脚)备用切换引脚)P3.7/INT3(外部中断(外部中断3输入,只能下降沿中断)输入,只能下降沿中断)/TxD_2(串口(串口1输出备用切输出备用切换引脚)换引脚)/ CCP2(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道2)/ CCP2_2(捕获(捕获/比较比较/脉脉宽调制宽调制通道通道2备用切换引脚)备用切换引脚)65/109P4口口作通用作通用I/O口使用。口使用。某些口线具有复用功能,可配置为某些口线具有复用功能,可配置为SPI通信线、通信线、捕捉捕捉/比较比较/脉宽调制、第二串口线等。脉宽调制、第二串口线等。P4P4口

58、的复用功能口的复用功能端口引脚端口引脚复用功能复用功能P4.0MOSI_3(SPI主输出从输入备用切换引脚)主输出从输入备用切换引脚)P4.1MISO_3(SPI主输入从输出备用切换引脚)主输入从输出备用切换引脚)P4.2 (外部总线写控制信号)(外部总线写控制信号)P4.3SCLK_3(SPI时钟备用切换引脚)时钟备用切换引脚)P4.4 (外部总线读控制信号)(外部总线读控制信号)P4.5ALE(地址锁存控制信号,主要用于外部总线扩展)(地址锁存控制信号,主要用于外部总线扩展) P4.6RxD2_2(第二串口输入备用切换引脚)(第二串口输入备用切换引脚)P4.7TxD2_2(第二串口输出备用

59、切换引脚)(第二串口输出备用切换引脚)WRRD66/109P5口口P5.4/RST(复位脚)(复位脚)/MCLKO(内部(内部R/C振荡振荡时钟输出;时钟输出;输出的频率可为输出的频率可为MCLK/1或或MCLK/2)/SS_3(SPI接口的从机选择信号备用切换引脚)。接口的从机选择信号备用切换引脚)。该引脚默认为该引脚默认为I/O口,可以通过口,可以通过ISP编程将其设编程将其设置为置为RST(复位)引脚。(复位)引脚。P5.5没有复用功能。没有复用功能。67/109捕获捕获/比较比较/脉宽调制脉宽调制(CCP)通道的引脚切)通道的引脚切换、换、SPI接口的引脚切换以及串口的引脚切接口的引脚

60、切换以及串口的引脚切换由辅助寄存器换由辅助寄存器AUXR1(也称为(也称为P_SW1,地址为地址为A2H,复位值为,复位值为0000 0000B)和外)和外设功能切换寄存器设功能切换寄存器P_SW2(地址为(地址为BAH,复位值为复位值为xxxx xxx0B)确定。)确定。 位号位号寄存器名称寄存器名称D7D6D5D4D3D2D1D0AUXR1S1_S1S1_S0CCP_S1CCP_S0SPI_S1SPI_S00DPSP_SW2S2_S68/109捕获捕获/比较比较/脉宽调制脉宽调制(CCP)通道可以在三)通道可以在三个地方切换,由个地方切换,由CCP_S1和和CCP_S0两个控两个控制位选择

温馨提示

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

评论

0/150

提交评论