《STC15F2K60S2单片机的基本结构》由会员分享,可在线阅读,更多相关《STC15F2K60S2单片机的基本结构(110页珍藏版)》请在金锄头文库上搜索。
1、第三章第三章 STC15F2K60S2STC15F2K60S2单片机的基单片机的基本结构本结构本章学习目标本章学习目标掌握掌握STC15F2K60S2STC15F2K60S2单片机的基本结构单片机的基本结构掌握单片机掌握单片机I/O口的使用口的使用掌握单片机应用系统的典型构成掌握单片机应用系统的典型构成1一、单片机的内部结构一、单片机的内部结构 单片微型计算机(简称单片机)在一片芯片单片微型计算机(简称单片机)在一片芯片上集成了前述微型计算机的功能结构,有上集成了前述微型计算机的功能结构,有些单片机不仅集成了些单片机不仅集成了CPU、存储程序存储程序和和数数据的存储器据的存储器、I/O接口接口
2、、定时定时/计数器计数器等常规等常规资源,而且还集成了工业测控系统中常用资源,而且还集成了工业测控系统中常用的的模拟量模块模拟量模块。 3.1 STC15F2K60S2STC15F2K60S2单片机的基本结构单片机的基本结构2单片机产品单片机产品8051内内核核是是Intel 8051系系列列单单片片机机的的基基本本标标准准,许许多多参参考书上将这种单片机称为考书上将这种单片机称为MCS-51系列单片机。系列单片机。MCS-51系系 列列 单单 片片 机机 的的 典典 型型 产产 品品 为为 8051, 它它 有有4K8ROM,128字字节节RAM,2个个16位位定定时时/计计数数器器,4个个
3、8位位I/O口,一个串行口。口,一个串行口。二二十十世世纪纪80年年代代,Intel将将8051内内核核转转让让或或出出售售给给几几家家著著名名的的IC厂厂商商,如如Philips,Atmel等等。这这样样,8051单单片片机机就就变变成成众众多多制制造造厂厂家家支支持持的的,发发展展成成为为上上百百个个产产品品的大家族。的大家族。最最常常用用的的宏宏晶晶STC系系列列单单片片机机,Atmel公公司司的的AT89系系列列等等51系系列列,等等等等。只只要要是是8051内内核核的的单单片片机机,它它们们的的最最基基本本结结构构是是相相同同的的,并并且且,指指令令系系统统完完全全兼兼容容标标准准8
4、051单片机。单片机。3 以以目目前前市市场场上上常常见见的的8051内内核核单单片片机机STC15F2K60S2为为例例,说说明明单单片片机机的的内内部部结结构构。STC12C5A60S2单单片片机机主主要要集集成成了以下资源:了以下资源:增增强强型型8051内内核核,单单时时钟钟机机器器周周期期,速速度度比比传传统统8051内内核核单单片片机机快快812倍倍60KB Flash程序存储器程序存储器;1KB数据数据Flash;2048字节的字节的SRAM3个个16位可自动重装载的定时位可自动重装载的定时/计数器(计数器(T0、T1、T2)可编程时钟输出功能可编程时钟输出功能 至多至多42根根
5、I/O口线口线 2个全双工异步串行口(个全双工异步串行口(UART)1个高速同步通信端口(个高速同步通信端口(SPI) 8通道通道10位位ADC3通道通道PWM/可编程计数器阵列可编程计数器阵列/捕获捕获/比较单元比较单元内部高可靠上电复位电路和硬件看门狗内部高可靠上电复位电路和硬件看门狗 内部集成高精度内部集成高精度R/C时钟,常温工作时,可以省去外部晶振电路。时钟,常温工作时,可以省去外部晶振电路。4图3- 7 STC15F2K60S2单片机的内部结构图STC15F2K60S2单片机内部结构框图单片机内部结构框图5STC15F2K60S2单片机的内部资源单片机的内部资源中央处理器(中央处理
6、器(CPU) 程序存储器(程序存储器(Flash)数据存储器(数据存储器(RAM)数据数据Flash存储器存储器定时定时/计数器计数器I/O接口接口通用异步串行通信接口(通用异步串行通信接口(UART)中断系统中断系统SPI接口接口高速高速A/D转换模块转换模块PWM(或捕获(或捕获/比较单元)比较单元)看门狗电路看门狗电路电源监控电源监控片内片内RC振荡器等模块振荡器等模块几乎包含了数据采集和控制中所需的所有单元模块,几乎包含了数据采集和控制中所需的所有单元模块, 可称得上一个片上系统(可称得上一个片上系统(SOC)61、CPU结构结构 单单片片机机的的中中央央处处理理器器(CPU)由由运运
7、算算器器和和控控制器组成。制器组成。(1)运算器)运算器 以以8位位算算术术/逻逻辑辑运运算算部部件件ALU为为核核心心,加加上上通通过过内内部部总总线线而而挂挂在在其其周周围围的的暂暂存存器器TMP1、TMP2、累累加加器器ACC、寄寄存存器器B、程程序序状状态态标标志志寄寄存存器器PSW以以及及布布尔尔处处理理机机组组成成了了整整个运算器的逻辑电路。个运算器的逻辑电路。7算算术术逻逻辑辑单单元元ALU:用用来来完完成成二二进进制制数数的的四四则则运算和布尔代数的逻辑运算。运算和布尔代数的逻辑运算。累累加加器器ACC又又记记作作A:是是一一个个具具有有特特殊殊用用途途的的8位位寄寄存存器器,
8、在在CPU中中工工作作最最频频繁繁,用用来来存存放放操操作数和运算结果。作数和运算结果。寄寄存存器器B:是是专专门门为为乘乘、除除法法设设置置的的寄寄存存器器,也也是是一一个个8位位寄寄存存器器,用用来来存存放放乘乘法法和和除除法法中中的的操操作作数数及及运运算算结结果果,对对于于其其他他指指令令,它它只只作作暂暂存器用。存器用。程程序序状状态态字字(PSW):又又称称为为标标志志寄寄存存器器,一一个个8位位寄寄存存器器,用用来来存存放放执执行行指指令令后后的的有有关关状状态态信息,供程序查询和判别之用。信息,供程序查询和判别之用。 8PSW中中有有些些位位的的状状态态是是在在指指令令执执行行
9、过过程程中中自自动动形形成成的的,有有些些位位可可以以由由用用户户采采用用指指令令加以改变。加以改变。PSW的各位定义如下所示:的各位定义如下所示:位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P9CY(PSW.7):):进位标志位进位标志位 当当执执行行加加/减减法法指指令令时时,如如果果操操作作结结果果的的最最高高位位D7出出现现进进/借借位位,则则CY置置“1”,否否则则清清“0”。执执行行乘乘除除运运算算后后,CY清清零零。此此外外,CPU在在进进行行移移位位操作时也会影响这个标志位。操作时也会影响这个标志位。位号位号D7D6D5D4D3D2D1D
10、0符号符号 CYACF0RS1 RS0OVF1P10AC(PSW.6):):辅助进位标志位辅助进位标志位 当当执执行行加加/减减法法指指令令时时,如如果果低低四四位位数数向向高高四四位位数数产产生生进进/借借位位,则则AC置置“1”,否否则则清零。清零。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P11F0(PSW.5):):用户标志用户标志0。 该该位位是是由由用用户户定定义义的的一一个个状状态态标标志志。可可以以用用软软件件来来使使它它置置“1”或或清清“0”,也也可可以以由由软软件件测测试试F0控制程序的流向。控制程序的流向。F1(PSW.1):)
11、:用户标志用户标志1。 该该位位是是由由用用户户定定义义的的一一个个状状态态标标志志。与与F0类类似似,可可以以用用软软件件来来使使它它置置“1”或或清清“0”,也也可可以以由由软件测试软件测试F1控制程序的流向。控制程序的流向。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P12RS1,RS0(PSW.4PSW.3):工工作作寄寄存存器组选择控制位器组选择控制位,其详细介绍见后续内容。,其详细介绍见后续内容。OV(PSW.2):溢溢出出标标志志位位。指指示示运运算算过过程程中中是是否否发发生生了了溢溢出出,在在执执行行指指令令过过程程中中自动形成。自动形
12、成。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P13P(PSW.0):):奇偶标志位奇偶标志位 累累加加器器ACC中中1的的个个数数为为偶偶数数,P=0;否否则则P=1。每每个个指指令令周周期期都都由由硬硬件件来来置置“1”或或清清“0”。在在具具有有奇奇偶偶校校验验的的串串行行数数据据通通信中,可以根据信中,可以根据P设置奇偶校验位。设置奇偶校验位。位号位号D7D6D5D4D3D2D1D0符号符号 CYACF0RS1 RS0OVF1P14布布尔尔处处理理机机是是单单片片机机CPU中中运运算算器器的的一个重要组成部分。一个重要组成部分。功功能能:为为用
13、用户户提提供供丰丰富富的的位位操操作作功功能能,有有相相应应的的指指令令系系统统,硬硬件件有有自自己己的的“累累加加器器”(进进位位位位C,即即CY),和和自自己己的的位寻址位寻址RAM和和I/O空间,是一个独立的位处理机。空间,是一个独立的位处理机。 大部分位操作均围绕着其累加器大部分位操作均围绕着其累加器进位位进位位C完成。对完成。对 任任何何可可直直接接寻寻址址的的位位,布布尔尔处处理理机机可可执执行行置置位位、取取反反、转转移移、位位的的读读写写等等操操作作。在在任任何何可可寻寻址址的的位位(或或该该位位内内容容取取反反)和和进进位位标标志志C之之间间,可可执执行行逻逻辑辑与与、或或操
14、操作作,其其结结果果送回到进位标志送回到进位标志C。15(2)控制器)控制器 控控制制器器是是CPU的的大大脑脑中中枢枢,包包括括定定时时控控制制逻逻辑辑、指指令令寄寄存存器器、译译码码器器、地地址址指指针针DPTR及及程程序序计计数数器器PC、堆堆栈栈指指针针SP、RAM地址寄存器、地址寄存器、16位地址缓冲器等。位地址缓冲器等。16程序计数器程序计数器PC是是一一个个16位位的的程程序序地地址址寄寄存存器器,专专门门用用来来存存放放下下一条需要执行的指令的内存地址,能自动加一条需要执行的指令的内存地址,能自动加1。当当CPU执执行行指指令令时时,根根据据程程序序计计数数器器PC中中的的地地
15、址址从从存存储储器器中中取取出出当当前前需需要要执执行行的的指指令令码码,并并把把它它送送给给控控制制器器分分析析执执行行,随随后后程程序序计计数数器器中中的的地地址址自自动动加加1,以以便便为为CPU取取下下一一个个需需要要执执行行的的指指令码做准备。令码做准备。当当下下一一个个指指令令码码取取出出执执行行后后,PC又又自自动动加加1。这这样样,程程序序计计数数器器PC一一次次次次加加1,指指令令就就被被一一条条条条执行。执行。17堆栈堆栈主主要要用用于于保保存存临临时时数数据据、局局部部变变量量、中中断断或或子子程序的返回地址。程序的返回地址。STC15F2K60S2单单片片机机的的堆堆栈
16、栈设设在在内内部部RAM中中,是是一一个个按按照照“先先进进后后出出”规规律律存存放放数数据据的的区区域域。堆堆栈栈指指针针SP是是一一个个8位位寄寄存存器器,能能自自动动加加1或或减减1。当当数数据据压压入入堆堆栈栈时时,SP自自动动加加1;数数据据从从堆堆栈中弹出后,栈中弹出后,SP自动减自动减1。 复复位位后后,寄寄存存器器默默认认值值为为07H,堆堆栈栈区区在在08H开开始始的的区区域域。用用户户通通常常将将堆堆栈栈区区域域用用指指令令设设置置在内部在内部RAM的的80HFFH之间。之间。18数据指针数据指针DPTR一一个个16位位专专用用寄寄存存器器,由由DPL(低低8位位)和和DP
17、H(高(高8位)组成。位)组成。DPTR可可以以直直接接进进行行16位位操操作作,也也可可分分别别对对DPL和和DPH按字节进行操作。按字节进行操作。STC15F2K60S2单单片片机机有有两两个个16位位的的数数据据指指针针DPRT0和和DPTR1,这这两两个个数数据据指指针针共共用用同同一一个个地地址址,可可通通过过设设置置辅辅助助寄寄存存器器AUXR1中中的的DPS(AUXR1.0)位位来来选选择择具具体体使使用用哪哪一一个个数数据指针。据指针。 192 2、存储器的结构、存储器的结构STC15F2K60S2 结结构构特特点点:程程序序存存储储器器和和数数据据存存储储器器的的寻寻址空间是
18、分开的。址空间是分开的。结结构构划划分分:片片内内集集成成有有4个个物物理理上上相相互互独独立立的的存存储储器器空空间间:程程序序Flash存存储储器器、数数据据Flash存存储储器器(EEPROM)、内内部部数数据据存存储储器和外部数据存储器。器和外部数据存储器。20图3-8 STC15F2K60S2单片机存储器配置示意图21(1)程序)程序Flash存储器存储器功能:功能:存放用户程序、数据和表格等信息。存放用户程序、数据和表格等信息。空空 间间 大大 小小 : STC15F2K60S2片片 内内 集集 成成 了了60KB的的程程序序Flash存存储储器器,地地址址为为0000HF000H
19、。单单片片机机复复位位后后,程程序序计计数数器器PC的的内容为内容为0000H,从,从0000H单元开始执行程序。单元开始执行程序。 22特殊单元特殊单元在程序在程序Flash存储器中有些特殊的单元,这些单元是存储器中有些特殊的单元,这些单元是中断服务程序的入口地址中断服务程序的入口地址:0003H 外部中断外部中断0中断服务程序的入口地址中断服务程序的入口地址000BH 定时定时/计数器计数器0中断服务程序的入口地址中断服务程序的入口地址0013H 外部中断外部中断1中断服务程序的入口地址中断服务程序的入口地址001BH 定时定时/计数器计数器1中断服务程序的入口地址中断服务程序的入口地址0
20、023H 串行通信口串行通信口1中断服务程序的入口地址中断服务程序的入口地址002BH ADC中断服务程序的入口地址中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址中断服务程序的入口地址0043H 串行通信口串行通信口2中断服务程序的入口地址中断服务程序的入口地址004BH SPI中断服务程序的入口地址中断服务程序的入口地址23中断服务程序的入口地址中断服务程序的入口地址0053H 外部中断外部中断2中断服务程序的入口地址中断服务程序的入口地址005BH 外部中断外部中断3中断服务程序的入口地址中断服务程
21、序的入口地址0063H 定时定时/计数器计数器2中断服务程序的入口地址中断服务程序的入口地址0083H 外部中断外部中断4中断服务程序的入口地址中断服务程序的入口地址响响应应中中断断时时,单单片片机机自自动动转转到到相相应应的的中中断断入入口口地地址址去去执执行行程程序序。由由于于大大部部分分相相邻邻中中断断入入口口地地址址之之间间只只有有8个个地地址址单单元元,无无法法保保存存完完整整的的中中断断服服务务程程序序,一一般般在在中中断断入入口口的的地地址址区区存存放放一一条条无无条条件件转转移移指指令令,指指向向真真正正存存放放中中断断服服务务程程序序的的空空间间。中中断断响响应应后后,CPU
22、执执行行这这条转移指令,转去执行中断服务程序。条转移指令,转去执行中断服务程序。24使用指令使用指令 读读取取程程序序存存储储器器中中保保存存的的表表格格常常数数等等内内容时,使用容时,使用MOVC指令。指令。 程程序序Flash存存储储器器的的擦擦写写次次数数为为10万万次次以以上上,大大大大提提高高了了芯芯片片利利用用率率,降降低低了了开开发成本。发成本。25(2)数据存储器)数据存储器STC15F2K60S2 数据存储器也称为随机存取数据存储器。数据存储器也称为随机存取数据存储器。空间划分空间划分 在在物物理理上上和和逻逻辑辑上上都都分分为为两两个个地地址址空空间间:内内部部数据存储区和
23、数据存储区和扩展扩展数据存储区数据存储区 。261 1)内部数据存储区(又称为内部)内部数据存储区(又称为内部RAMRAM) 256字字节节内内部部RAM,存存放放中中间间结结果果和和过过程程数数据据。内内部部RAM的地址范围是的地址范围是00HFFH,共,共256个单元,分三部分:个单元,分三部分:低低128字字节节RAM(00H7FH):也也称称为为基基本本RAM区区。基基本本RAM区区又又分分为为工工作作寄寄存存器器区区、位位寻寻址址区区、用用户户RAM和和堆堆栈栈区区。可可以以直直接接寻寻址址和和间间接接寻寻址址。用用“MOV”和和“MOV Ri”形式的指令访问。形式的指令访问。高高1
24、28字字节节RAM(80HFFH):只只能能间间接接寻寻址址。用用“MOV Ri”形式的指令访问。形式的指令访问。特特殊殊功功能能寄寄存存器器(SFR)区区:地地址址范范围围为为80HFFH,只可直接寻址,用,只可直接寻址,用“MOV”形式的指令访问。形式的指令访问。27图3-9 内部数据存储器地址空间工作寄存器区工作寄存器区位寻址区位寻址区通用用户通用用户RAM和堆栈区和堆栈区特殊功能寄存器区特殊功能寄存器区内部数据存储器地址空间分配内部数据存储器地址空间分配28工作寄存器区工作寄存器区地地址址分分配配:00H1FH共共32个个单单元元。分分为为四四组组(每每一一组组称称为为一一个个寄寄存存
25、器器组组),每每一一组组包包括括8个个8位的工作寄存器,分别是位的工作寄存器,分别是R0R7。功功能能:通通过过使使用用工工作作寄寄存存器器,可可以以提提高高运运算算速速度度,也也可可以以使使用用其其中中的的R0或或R1存存放放八八位位地地址址值值,访访问问一一个个256字字节节外外部部RAM块块中中的的单单元元。另另外外,R0R7也也可可以以用用作作计计数数器器,在在指指令令作作用用下下加加1或减或减1。29工工作作寄寄存存器器组组的的选选择择:PSWPSW寄寄存存器器中中的的RS1RS1和和RS0RS0两两位位组组合合决决定定当当前前使使用用的的工工作作寄寄存存器器组组。可可以以通通过过位
26、位操操作作指指令令直直接接修修改改 RS1RS1和和RS0RS0的的内内容容,选选择择不同的工作寄存器组。不同的工作寄存器组。RS1(PSW.4)RS0(PSW.3)工作寄存器组工作寄存器组工作寄存器地址工作寄存器地址000R7R0对应的地址为对应的地址为07H00H011R7R0对应的地址为对应的地址为0FH08H102R7R0对应的地址为对应的地址为17H10H113R7R0对应的地址为对应的地址为1FH18H表3-1 工作寄存器组选择30位寻址区位寻址区20H2FH之之间间的的单单元元既既可可以以按按字字节节存存取取,也也可可以按位存取以按位存取共共128位位,地地址址范范围围是是00H
27、7FH。图3-10 内部RAM中的位地址31除除 了了 20H2FH之之间间的的单单元元可可以以位位寻寻址址外外,特特殊殊功功能能寄寄存存器器中中,直直接接地地址址可可被被8整整除除的的寄寄存存器器( 除除 了了 IP.7、IP.6和和 IE.6以以 外外 )也也可可以以进进行行位位寻址。寻址。图3-11 特殊功能寄存器中的位地址32用户用户RAM和堆栈区和堆栈区内部内部RAM中的中的30H7FH单元是用户单元是用户RAM和堆栈区。和堆栈区。一一个个8位位的的堆堆栈栈指指针针SP,并并且且堆堆栈栈区区只只能能设设置置在在内内部部数数据据存存储储区区。当当有有子子程程序序调调用用和和中中断断请请
28、求求时时,返返回回地地址址等信息被自动保存在堆栈内。等信息被自动保存在堆栈内。STC15F2K60S2单单片片机机复复位位后后,SP为为07H,使使堆堆栈栈事事实实上上由由08H单单元元开开始始,考考虑虑08H1FH单单元元分分别别属属于于工工作作寄寄存存器器组组13,若若在在程程序序设设计计中中用用到到这这些些工工作作寄寄存存器器,则则在在用用户户初初始始化化程程序序中中,最最好好把把SP的的值值改改变变为为80H或或更更大大的值。的值。STC15F2K60S2单单片片机机的的堆堆栈栈是是朝朝着着地地址址增增大大的的方方向向生生成的,即将数据压入堆栈后,成的,即将数据压入堆栈后,SP的值增大
29、。的值增大。 33高高128字节字节RAM和特殊功能寄存器和特殊功能寄存器对对于于STC15F2K60S2单单片片机机,80HFFH既既为为高高128字字节节RAM区区的的地地址址范范围围,又又为为特特殊殊功功能能寄寄存存器器区区(SFR)的的地地址址范范围围,地地址址空空间间重重叠叠,但物理上是独立的。但物理上是独立的。使使用用时时,通通过过不不同同的的寻寻址址方方式式加加以以区区分分:高高128字字节节的的RAM区区使使用用间间接接寻寻址址访访问问,特特殊殊功功能能寄寄存存器器使使用用直直接接寻寻址址访访问问。由由于于堆堆栈栈操操作作也也是是间间接接寻寻址址方方式式,所所以以,高高 128
30、 位位数数据据 RAM 亦亦可可作为堆栈区使用。作为堆栈区使用。34除除了了程程序序计计数数器器PC和和4个个工工作作寄寄存存器器组组外外,其其余的寄存器都在余的寄存器都在SFR区中。区中。特殊功能寄存器大体分为两类特殊功能寄存器大体分为两类 一类与芯片的引脚有关。如一类与芯片的引脚有关。如P0P5,它们实,它们实际上是际上是6个锁存器,每个锁存器附加上相应的输个锁存器,每个锁存器附加上相应的输出驱动器和输入缓冲器就构成了一个并行口。出驱动器和输入缓冲器就构成了一个并行口。 另一类为芯片内部功能的控制或者内部寄另一类为芯片内部功能的控制或者内部寄存器。如中断屏蔽及优先级控制、定时器、串行存器。
31、如中断屏蔽及优先级控制、定时器、串行口、口、SPI接口等。接口等。STC15F2K60S2单单片片机机的的特特殊殊功功能能寄寄存存器器及及其其复位值如表复位值如表3-2所列。所列。352)扩展数据存储区)扩展数据存储区 外外部部数数据据存存储储区区也也称称为为扩扩展展RAM区区(简简称称,XRAM)。片片内内集集成成了了1792字字节节的的外外部部RAM,地址范围为地址范围为0000H06FFH,可用于存放数据。,可用于存放数据。注注意意,这这里里的的“内内部部”和和“外外部部”是是逻逻辑辑上上的的概概念念,不不是指芯片内部和外部。是指芯片内部和外部。在汇编语言中,在汇编语言中,XRAM使用使
32、用“MOVX DPTR” 或者或者“MOVX Ri”指令访问。指令访问。在在C语言中,可使用语言中,可使用xdata声明存储类型即可。声明存储类型即可。 如:如:unsigned char xdata i= 0;36访访问问片片内内集集成成的的外外部部RAM时时,不不影影响响P0口口、P2口、口、P4.2、P4.4和和ALE。STC15F2K60S2单单片片机机还还可可以以访访问问片片外外扩扩展展的的64KB外部数据存储器。外部数据存储器。STC15F2K60S2单单片片机机的的外外部部扩扩展展I/O端端口口与与扩扩展展数数据据存存储储器器统统一一编编址址,因因此此外外部部I/O端端口口的的地
33、地址址占占用用扩扩展展数数据据存存储储器器的的地地址址单单元,用元,用MOVX指令访问。指令访问。37单单片片机机内内部部扩扩展展RAM是是否否可可以以访访问问受受辅辅助助寄寄存存器器AUXR( 地地 址址 为为 8EH, 复复 位位 值值 为为 01H) 中中 的的EXTRAM位控制。位控制。EXTRAM:0:内内部部扩扩展展RAM可可以以存存取取;地地址址小小于于700H时时,访访问问内内部部扩扩展展RAM;地地址址大大于于或或等等于于700H时时,则则访问单片机外部扩展的访问单片机外部扩展的RAM或或I/O空间。空间。1:禁止访问内部扩展:禁止访问内部扩展RAM。位号D7D6D5D4D3
34、D2D1D0位名称T0x12T1x12UART_M0x6T2RT2_C/ T2x12EXTRAMS1ST238(3)数据)数据Flash存储器存储器空空间间大大小小:集集成成了了1K字字节节的的数数据据Flash存存储储器,与程序空间是分开的器,与程序空间是分开的地地址址范范围围:0000H03FFH。这这1K字字节节的的数数据据Flash存存储储器器分分为为2个个扇扇区区,每每个个扇扇区区包包含含512字节,对应的地址范围分别为:字节,对应的地址范围分别为:第一扇区:第一扇区:0000H01FFH 第二扇区:第二扇区:0200H03FFH39使使用用方方法法:建建议议同同一一次次修修改改的的
35、数数据据放放在在同同一一个个扇扇区区,不不是是同同一一次次修修改改的的数数据据放放在在不不同同的的扇扇区区,不不一一定定用用满满。数数据据Flash存存储储器器的的擦擦除除操操作作是是按按扇扇区区进行的。进行的。 数据数据Flash存储器可以作为存储器可以作为EEPROM使用,擦写使用,擦写次数在次数在10万次以上,用于保存一些需要在应用过程万次以上,用于保存一些需要在应用过程中修改并且掉电不丢失的参数数据。在用户程中,中修改并且掉电不丢失的参数数据。在用户程中,可可以以对对数数据据Flash区区进进行行字字节节读读/字字节节编编程程/扇扇区区擦擦除除操作。操作。40二、单片机的引脚及功能二、
36、单片机的引脚及功能1、STC15F2K60S2单片机的引脚单片机的引脚封装封装LQFP-44封装封装图3-12 STC15F2K60S2单片机的引脚图41 DIP-40封装封装 图3-12 STC15F2K60S2单片机的引脚图42STC15F2K60S2单单 片片 机机的的逻逻辑辑符符号号图图 图3-13 STC15F2K60S2单片机的逻辑符号图43DIP-40封封装装的的STC15F2K60S2单单片片机机和和LQFP-44封封装装相相比比,除除了了没没有有P4.0、P4.3、P4.6、P4.7引脚外,其他资源和的单片机完全相同。引脚外,其他资源和的单片机完全相同。 由由于于DIP封封装
37、装的的单单片片机机焊焊接接比比较较容容易易,因因此此,对对于于初初学学者者,最最好好选选用用DIP封封装装的的单单片片机机进进行行学习。学习。注注意意:在在实实际际应应用用中中,设设计计单单片片机机应应用用系系统统的的原原理理图图时时,一一般般应应使使用用逻逻辑辑符符号号图图,以以便便进进行行电电路路分分析析,而而设设计计应应用用系系统统的的印印刷刷电电路路板板图图时时,必须使用单片机的引脚图。必须使用单片机的引脚图。44引脚引脚电源引脚电源引脚外接晶体引脚外接晶体引脚控制和复位引脚控制和复位引脚输入输入/输出(输出(I/O)引脚)引脚45(1)电源引脚)电源引脚Vcc:一一般般接接电电源源的
38、的5V。具具体体的的电电压压幅幅度度应参考单片机的手册。应参考单片机的手册。GND:接电源地。:接电源地。46(2)外接晶体引脚)外接晶体引脚XTAL1和和XATL2芯芯片片内内部部一一个个反反相相放放大大器器的的输输入入端端和和输输出出端。通常用于连接晶体振荡器。端。通常用于连接晶体振荡器。常见的连接方法如图所示。常见的连接方法如图所示。图3-14 常见的晶振连接方法47晶晶体体振振荡荡器器M的的频频率率可可以以在在4MHz48MHz之之间间选选择择,典典型型值值是是11.0592MHz(因因为为设设计计单单片片机机通通信信应应用用系系统统时时,使使用用这这个个频频率率的的晶晶振振可可以以准
39、确地得到准确地得到9600bits/s和和19200bits/s的波特率)。的波特率)。电电容容C1、C2对对时时钟钟频频率率有有微微调调作作用用,可可在在5100pF之间选择,典型值是之间选择,典型值是47pF。48STC15F2K60S2单单片片机机内内部部集集成成高高精精度度R/C时时钟钟,工工作作时时钟钟可可以以使使用用内内部部振振荡荡器器或或者者外外部部晶晶体振荡器(简称晶振)产生的时钟。体振荡器(简称晶振)产生的时钟。 40引引脚脚和和44引引脚脚封封装装的的STC15F2K60S2单单片片机机出出厂厂标标准准配配置置是是使使用用外外部部时时钟钟。内内部部集集成成的的高高精精度度R
40、/C时时钟钟工工业业环环境境下下的的温温漂漂为为1%,常常温温下下温温飘飘5,频频率率范范围围为为5MHz35MHz,可可以以在在编编程程时时设设置置。对对于于时时钟钟频频率率要要求求不不太太敏敏感感的的场合,内部场合,内部R/C振荡器完全能够满足要求。振荡器完全能够满足要求。 使使用用内内部部R/C振振荡荡器器时时钟钟时时,XTAL1和和XTAL2引脚悬空。引脚悬空。 49使使用用外外部部晶晶振振时时,常常见见的的连连接接方方法法与与图图3-14所所示的连接方法相同。示的连接方法相同。利利用用在在系系统统编编程程(In-System Programming,ISP)工工具具对对STC12C5
41、A60S2单单片片机机下下载载用用户户程程序序时时,可可以以在在选选项项中中设设置置选选择择使使用用外外部部晶晶体体振振荡器时钟或者使用内部荡器时钟或者使用内部R/C振荡器时钟。振荡器时钟。50(3)控制和复位引脚)控制和复位引脚ALE(与(与P4.5复用)复用) 功功能能:当当访访问问外外部部存存储储器器或或者者外外部部扩扩展展的的并并行行I/O口口时时,ALE(允允许许地地址址锁锁存存)的的输输出出用用于于锁锁存地址的低位字节。存地址的低位字节。标标准准8051单单片片机机的的ALE 脚脚对对系系统统时时钟钟进进行行6分分频输出,可对外提供时钟。频输出,可对外提供时钟。51当当8051单单
42、片片机机时时钟钟频频率率较较高高时时,ALE脚脚是是一一个个干扰源。干扰源。STC15F2K60S2单单片片机机直直接接禁禁止止ALE脚脚对对系系统统时时钟钟进进行行6分分频频输输出出,彻彻底底清清除除此此干干扰扰源源,有有利利于于系系统统的的抗抗干干扰扰设设计计。如如果果设设计计中中需需要要单单片片机机输输出出时时钟钟,可可以以利利用用STC15F2K60S2单单片片机机的的可编程时钟输出脚对外输出时钟。可编程时钟输出脚对外输出时钟。STC15F2K60S2单单片片机机的的ALE引引脚脚在在用用MOVX指令访问片外扩展器件时输出地址锁存信号。指令访问片外扩展器件时输出地址锁存信号。52RST
43、(与(与P5.4复用)复用) 当当振振荡荡器器运运行行时时,在在此此引引脚脚上上出出现现两两个个机机器器周周期的高电平将使单片机复位。期的高电平将使单片机复位。如如果果需需要要单单片片机机接接上上电电源源就就可可以以复复位位,则则需需要要使用使用上电复位上电复位电路。电路。图3-15 上电复位电路图53P5.4/RST/MCLKO脚脚出出厂厂时时默默认认为为I/O口口,可可以以通通过过 STC-ISP编编程程软软件件下下载载程程序序时时,将将其其设设置为置为RST复位脚。复位脚。STC15F2K60S2单单片片机机内内部部集集成成了了MAX810专专用用复复位位电电路路,时时钟钟频频率率在在1
44、2MHZ以以下下时时,复复位位脚脚可可接接1K电电阻阻再再接接地地,也也可可以以使使用用图图3-15所所示示的传统复位电路。的传统复位电路。54(4)输入)输入/输出(输出(I/O)引脚)引脚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。 551)I/O口的工作模式口的工作模式4种
45、种工工作作模模式式:准准双双向向口口/弱弱上上拉拉,推推挽挽/强强上上拉拉,输入输入/高阻和开漏模式。高阻和开漏模式。复位后为准双向口复位后为准双向口/弱上拉工作模式。弱上拉工作模式。每每个个口口的的工工作作模模式式由由2个个控控制制寄寄存存器器中中的的相相应应位位控制(控制(PnM0和和PnM1,n=0、1、2、3、4、5)。)。56例如,例如,P0M0和和P0M1用于设定用于设定P0口的工作模式,其口的工作模式,其中中P0M0.7和和P0M1.7用于设置用于设置P0.7的工作模式,的工作模式,P0M0.6和和P0M1.6用于设置用于设置P0.6的工作模式,以此类的工作模式,以此类推。推。P
46、nM17:0PnM07:0I/O口模式00准双向口(传统8051单片机I/O口模式),灌电流可达20mA,拉电流为270A,由于制造误差,实际为270uA150uA01推挽输入输出(强上拉输出,可达20mA,要加限流电阻,尽量少用)10仅为输入(高阻)11开漏(Open Drain),内部上拉电阻断开,要外加上拉电阻表3-5 I/O口工作模式设置57例例如如,若若设设置置P1.7为为开开漏漏模模式式,P1.6为为强强推推挽挽输输入入输输出出模模式式,P1.5为为高高阻阻输输入入模模式式,P1.4、P1.3、P1.2、P1.1和和P1.0为为弱弱上上拉拉模模式式,则则可可以以使使用用下下面面的代
47、码进行设置:的代码进行设置: MOV P1M1,#10100000B MOV P1M0,#11000000B58STC15F2K60S2单单片片机机的的每每个个I/O口口在在弱弱上上拉拉时时都都能能承承受受20mA的的灌灌电电流流(最最好好还还是是使使用用限限流流电阻,如电阻,如1K)在在强强推推挽挽输输出出时时都都能能输输出出20mA的的拉拉电电流流(也也要加限流电阻)。要加限流电阻)。整整个个芯芯片片的的工工作作电电流流推推荐荐不不要要超超过过90mA。即即从从 MCU-Vcc流流 入入 的的 电电 流流 不不 超超 过过 90mA, 从从MCU-GND流流出出的的电电流流不不超超过过90
48、mA,整整体体流流入入/流出电流都不能超过流出电流都不能超过90mA。592)I/O口的复用功能口的复用功能P0口口用用作作数数据据总总线线(D7D0)或或者者地地址址总总线线低低8位位(A7A0)。)。用作普通用作普通I/O。P1口口用作普通用作普通I/O。复复用用为为ADC转转换换输输入入、捕捕获获/比比较较/脉脉宽宽调调制制、SPI通通信信线线、第第二二串串口口或或者者第第二二时时钟钟输输出出,如如表所示。表所示。60表表3-6 P13-6 P1口的复用功能口的复用功能引脚引脚复用功能复用功能P1.0ADC0/CCP1(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道1)/RxD2(串口(
49、串口2输入)输入)P1.1ADC1/CCP0(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道0)/TxD2(串口(串口2输出)输出)P1.2ADC2/ECI(可编程计数器阵列定时器的外部时钟输入)(可编程计数器阵列定时器的外部时钟输入)/SS(SPI从器从器件选择)件选择)P1.3ADC3/ MOSI(SPI主机输出从机输入)主机输出从机输入)P1.4ADC4/ MISO(SPI主机输入从机输出)主机输入从机输出)P1.5ADC5/ SCLK(SPI时钟)时钟)P1.6ADC6/ XTAL2(外接晶体引脚)(外接晶体引脚)/RxD_3(串口(串口1输入备用切换引脚)输入备用切换引脚)P1.7A
50、DC7/ XTAL1(外接晶体引脚)(外接晶体引脚)/TxD_3(串口(串口1输出备用切换引脚)输出备用切换引脚)61P2口口用作地址总线的高用作地址总线的高8位输出。位输出。用作通用用作通用I/O口使用。口使用。用于用于SPI和捕获和捕获/比较比较/脉宽调制的备用切换端口脉宽调制的备用切换端口 引脚引脚复用功能复用功能P2.0A8/RSTOUT_LOW(复位后输出低电平引脚)(复位后输出低电平引脚)P2.1A9/ SCLK_2(SPI时钟备用切换引脚)时钟备用切换引脚)P2.2A10/ MISO_2(SPI主机输入从机输出备用切换引脚)主机输入从机输出备用切换引脚)P2.3A11/ MOSI
51、_2(SPI主机输出从机输入备用切换引脚)主机输出从机输入备用切换引脚)P2.4A12/ /ECI_3(可编程计数器阵列定时器的外部时钟输入备用切换引(可编程计数器阵列定时器的外部时钟输入备用切换引脚)脚)/SS_2(SPI从器件选择备用切换引脚)从器件选择备用切换引脚)P2.5A13/CCP0_3(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道0备用切换引脚)备用切换引脚)P2.6A14/ CCP1_3(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道1备用切换引脚)备用切换引脚)P2.7A15/ CCP2_3(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道2备用切换引脚)备用切换引脚)表3-
52、7 P2口的复用功能62P3口口用作通用用作通用I/O口使用。口使用。可可复复用用为为外外部部中中断断输输入入、计计数数器器输输入入、时时钟钟输输出出、第第一一串串口口和和外外部部总总线线的的读读/写写控控制制,如如表表所所示。示。63表表3-8 P33-8 P3口的复用功能口的复用功能端口引脚端口引脚复用功能复用功能P3.0RXD(串口(串口1输入)输入)/ /INT4 (外部中断(外部中断4,只能下降沿中断),只能下降沿中断)/T2CLKO(T2的时钟输出)的时钟输出)P3.1TXD(串口(串口1输出)输出)/T2CLKO(T2的外部输入)的外部输入)P3.2/INT0(外部中断(外部中断
53、0输入,既可上升沿中断也可下降沿中断)输入,既可上升沿中断也可下降沿中断)P3.3/INT1(外部中断(外部中断1输入,既可上升沿中断也可下降沿中断)输入,既可上升沿中断也可下降沿中断)P3.4T0(定时器(定时器0外部输入)外部输入)/ T1CLKOU(T1时钟输出)时钟输出)/ECI_2(可编程计(可编程计数器阵列定时器的外部时钟输入备用切换引脚)数器阵列定时器的外部时钟输入备用切换引脚)P3.5T1(定时器(定时器1外部输入)外部输入)/ T0CLKOU(T0时钟输出)时钟输出)/ CCP0_32(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道0备用切换引脚)备用切换引脚)P3.6/IN
54、T2(外部中断(外部中断2输入,只能下降沿中断)输入,只能下降沿中断)/RxD_2(串口(串口1输入备用切换输入备用切换引脚)引脚)/ CCP1_2(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道1备用切换引脚)备用切换引脚)P3.7/INT3(外部中断(外部中断3输入,只能下降沿中断)输入,只能下降沿中断)/TxD_2(串口(串口1输出备用切换输出备用切换引脚)引脚)/ CCP2(捕获(捕获/比较比较/脉宽调制脉宽调制通道通道2)/ CCP2_2(捕获(捕获/比较比较/脉宽调脉宽调制制通道通道2备用切换引脚)备用切换引脚)64P4口口作通用作通用I/O口使用。口使用。某某些些口口线线具具有有
55、复复用用功功能能,可可配配置置为为SPI通通信信线线、捕捉捕捉/比较比较/脉宽调制、第二串口线等。脉宽调制、第二串口线等。表表3-9 P43-9 P4口的复用功能口的复用功能端口引脚端口引脚复用功能复用功能P4.0MOSI_3(SPI主输出从输入备用切换引脚)主输出从输入备用切换引脚)P4.1MISO_3(SPI主输入从输出备用切换引脚)主输入从输出备用切换引脚)P4.2 (外部总线写控制信号)(外部总线写控制信号)P4.3SCLK_3(SPI时钟备用切换引脚)时钟备用切换引脚)P4.4 (外部总线读控制信号)(外部总线读控制信号)P4.5ALE(地址锁存控制信号,主要用于外部总线扩展)(地址
56、锁存控制信号,主要用于外部总线扩展) P4.6RxD2_2(第二串口输入备用切换引脚)(第二串口输入备用切换引脚)P4.7TxD2_2(第二串口输出备用切换引脚)(第二串口输出备用切换引脚)65P5口口P5.4/RST(复复位位脚脚)/MCLKO(内内部部R/C振振荡荡时钟输出;时钟输出;输输出出的的频频率率可可为为MCLK/1或或MCLK/2)/SS_3(SPI接接口口的的从从机机选选择择信信号号备备用切换引脚)。用切换引脚)。该该引引脚脚默默认认为为I/O口口,可可以以通通过过ISP编编程程将将其其设设置为置为RST(复位)引脚。(复位)引脚。P5.5没有复用功能。没有复用功能。66捕捕获
57、获/比比较较/脉脉宽宽调调制制(CCP)通通道道的的引引脚脚切切换换、SPI接接口口的的引引脚脚切切换换以以及及串串口口的的引引脚脚切切换换由由辅辅助助寄寄存存器器AUXR1(也也称称为为P_SW1,地地址址为为A2H,复复位位值值为为0000 0000B)和和外外设设功功能能切切换换寄寄存存器器P_SW2(地地址址为为BAH,复复位值为位值为xxxx xxx0B)确定。)确定。 位号位号寄存器名称寄存器名称D7D6D5D4D3D2D1D0AUXR1S1_S1S1_S0CCP_S1CCP_S0SPI_S1SPI_S00DPSP_SW2S2_S67捕捕获获/比比较较/脉脉宽宽调调制制(CCP)通
58、通道道可可以以在在三三个个地地方方切切换换,由由CCP_S1和和CCP_S0两两个个控控制位选择,其选择方法如表制位选择,其选择方法如表3-10所示。所示。CCP_S1CCP_S0切换引脚切换引脚00CCP在在P1.2/ECI,P1.1/CCP0,P1.0/CCP1,P3.7/CCP201CCP在在P3.4/ECI_2,P3.5/CCP0_2,P3.6/CCP1_2,P3.7/CCP2_210CCP在在P2.4/ECI_3,P2.5/CCP0_3,P2.6/CCP1_3,P2.7/CCP2_311无效无效表3-10 捕获/比较/脉宽调制(CCP)通道的切换68SPI可可以以在在三三个个地地方方
59、切切换换,由由SPI_S1和和SPI_S0两两个个控控制制位位选选择择,其其选选择择方方法法如如表表3-11所示。所示。SPI_S1SPI_S0切换引脚切换引脚00SPI在在P1.2/SS,P1.3/MOSI,P1.4/MISO,P1.5/SCLK01SPI在在P2.4/SS_2,P2.3/MOSI_2,P2.2/MISO_2,P2.1/SCLK_210SPI在在P5.4/SS_3,P4.0/MOSI_3,P4.1/MISO_3,P4.3/SCLK_311无效无效表表3-11 SPI3-11 SPI的引脚的引脚切换切换69串串口口1可可以以在在三三个个地地方方切切换换,由由S1_S1和和S1_
60、S0两两个个控控制制位位选选择择,其其选选择择方方法法如如表表3-12示。示。S1_S1S1_S0切换引脚切换引脚00串口串口1在在P3.0/RxD,P3.1/TxD01串口串口1在在P3.6/RxD_2/XTAL2,P3.7/TxD_2/XTAL1,串口串口1在在P1口时要使用内部时钟口时要使用内部时钟10串口串口1在在P1.6/RxD_3,P1.7/TxD_3 ,串口,串口1在在P1口时要使用口时要使用内部时钟内部时钟11无效无效表表3-12 3-12 串口串口1 1的引脚的引脚切换切换70串口串口2可以在两个地方切换,由可以在两个地方切换,由S2_S0控制位选择:控制位选择:0:串口:串
61、口2在在P1.0/RxD2,P1.1/TxD21:串口:串口2在在P4.6/RxD2_2,P4.7/TxD2_2GF2:通通用用标标志志位位。该该位位是是由由用用户户定定义义的的一一个个状状态态标标志志。可可以以用用软软件件来来使使它它置置“1”或或清清“0”,也可以由软件测试也可以由软件测试GF2控制程序的流向。控制程序的流向。ADRJ:留作备用。:留作备用。DPS:数据指针选择位。:数据指针选择位。0:使用缺省数据指针:使用缺省数据指针DPTR0;1:使用另一个数据指针:使用另一个数据指针DPTR1。713)STC15F2K60S2单片机单片机I/O口的结构口的结构准双向口工作模式的结构准
62、双向口工作模式的结构图3-16 准双向口工作模式的I/O位结构72I/O口口可可用用作作输输出出和和输输入入功功能能而而不不需需重重新新配配置置口口线输出状态。线输出状态。当当口口线线输输出出为为“1”时时I/O口口驱驱动动能能力力很很弱弱,允允许许外外部部装装置置将将其其拉拉低低。当当引引脚脚输输出出为为低低时时,它它的驱动能力很强,可吸收相当大的电流。的驱动能力很强,可吸收相当大的电流。每每个个端端口口都都包包含含一一个个锁锁存存器器,即即特特殊殊功功能能寄寄存存器器P0P5。这这种种结结构构在在数数据据输输出出时时,具具有有锁锁存存功功能能,即即在在重重新新输输出出新新的的数数据据之之前
63、前,口口线线上上的的数数据据一一直直保保持持不不变变。但但对对输输入入信信号号是是不不锁锁存存的的,所所以以外外设设输输入入的的数数据据必必须须保保持持到到取取数数指指令令执执行行为止。为止。73为为了了便便于于叙叙述述,以以后后将将6个个端端口口及及其其锁锁存存器器都都表表示为示为P0P5。准准双双向向口口有有3个个上上拉拉场场效效应应管管T1、T2、T3,以以适适应应不不同同的的需需要要。其其中中,T1称称为为强强上上拉拉,上上拉拉能能力力可可达达20mA;T2称称为为极极弱弱上上拉拉,上上拉拉能能力力一一般般为为30A;T3称称为为弱弱上上拉拉,一一般般上上拉拉能能力力为为150A 25
64、0A,典典型型值值为为200A。输输出出低低电电平平时,最大灌电流可达时,最大灌电流可达20mA。74当当口口线线寄寄存存器器为为1且且引引脚脚本本身身也也为为1时时,T3导导通通。T3提提供供基基本本驱驱动动电电流流使使准准双双向向口口输输出出为为1。如如果果一一个个引引脚脚输输出出为为“1”而而由由外外部部装装置置下下拉拉到到低低时时,T3断断开开,而而T2维维持持导导通通状状态态,为为了了把把这这个个引引脚脚强强拉拉为为低低,外外部部装装置置必必须须有有足足够够的的灌灌电电流流能力使引脚上的电压降到门槛电压以下。能力使引脚上的电压降到门槛电压以下。当当口口线线锁锁存存为为1时时,T2导导
65、通通。当当引引脚脚悬悬空空时时,这这个个极极弱弱的的上上拉拉源源产产生生很很弱弱的的上上拉拉电电流流将将引引脚脚上拉为高电平。上拉为高电平。当当口口线线锁锁存存为为0时时,T1、T2和和T3均均截截止止,T4导导通,引脚输出为低电平。通,引脚输出为低电平。75当当口口线线锁锁存存器器由由0到到1跳跳变变时时,T1用用来来加加快快准准双双向向口口由由逻逻辑辑0到到逻逻辑辑1的的转转换换。发发生生这这种种情情况况时时,T1导通约导通约2个时钟使引脚能迅速地上拉到高电平。个时钟使引脚能迅速地上拉到高电平。准准双双向向口口带带有有一一个个施施密密特特触触发发输输入入以以及及一一个个干干扰扰抑制电路。抑
66、制电路。当当从从端端口口引引脚脚上上输输入入数数据据时时,T4应应一一直直处处于于截截止止状状态态。假假定定在在输输入入之之前前曾曾输输出出锁锁存存过过数数据据0,则则T4是是导导通通的的,这这样样引引脚脚上上的的电电位位就就始始终终被被箝箝位位在在0电电平平,使使输输入入高高电电平平无无法法读读入入。因因此此,作作为为一一个个准准双双向向口口使使用用时时,输输入入数数据据时时,应应先先向向口口写写1,使使T4截截止止,然然后后方方可可作作高高阻阻抗抗输输入入。这这是是准准双双向口的主要特点。向口的主要特点。76推挽输入输出工作模式的结构推挽输入输出工作模式的结构图图3-17 3-17 推挽输
67、入输出工作模式的推挽输入输出工作模式的I/OI/O位结构位结构77推推挽挽输输入入输输出出工工作作模模式式的的下下拉拉结结构构与与准准双双向向口口的的下下拉拉结结构构相相同同,但但当当锁锁存存器器为为“1”时时可可提提供供持持续续的的强强上上拉拉。推推挽挽工工作作模模式式一一般般用用于于需需要要更更大驱动电流的情况。大驱动电流的情况。工工作作于于推推挽挽输输入入输输出出模模式式时时,一一个个I/O位位也也带带有有一一个个施施密密特特触触发发输输入入以以及及一一个个干干扰扰抑抑制制电电路路。此此时时,若若输输出出高高电电平平,拉拉电电流流最最大大可可达达20mA;若输出低电平,灌电流也可达;若输
68、出低电平,灌电流也可达20mA。78仅为输入(高阻)工作模式的结构仅为输入(高阻)工作模式的结构输输入入口口带带有有一一个个施施密密特特触触发发输输入入以以及及一一个个干干扰扰抑制电路。抑制电路。注注意意,仅仅为为输输入入(高高阻阻)工工作作模模式式下下,I/O口口不不提供提供20mA灌电流的能力。灌电流的能力。图3-18 仅为输入(高阻)工作模式的I/O位结构 79开漏输出工作模式的结构开漏输出工作模式的结构图图3-19 3-19 开漏输出工作模式的开漏输出工作模式的I/OI/O位结构位结构80当当口口线线锁锁存存器器为为0时时,开开漏漏输输出出关关断断所所有有上上拉拉场场效效应应管管。当当
69、作作为为一一个个逻逻辑辑输输出出时时,这这种种配配置置方方式式必必须须有有外外部部上上拉拉电电阻阻,即即通通过过电电阻阻外外接接到到Vcc。这这种种方方式式的的下下拉拉结结构构与与准准双双向向口口模模式式的的下拉结构相同。下拉结构相同。开开漏漏端端口口带带有有一一个个施施密密特特触触发发输输入入以以及及一一个个干干扰扰抑抑制制电电路路。这这种种工工作作模模式式下下,输输出出低低电电平平时时,灌电流也可达灌电流也可达20mA。811、P4口和口和P5口的使用口的使用对对STC15F2K60S2单单片片机机P4口口和和P5口口的的访访问问,如如同同访访问问常常规规的的P0/P1/P2/P3口口一一
70、样样,并并且且均均可可按按位位寻寻址址,P4的的地地址址C0H,P5口口的的地地址在址在C8H。3.2单片机的单片机的I/O口的使用口的使用822、上拉电阻的连接、上拉电阻的连接虽虽然然作作为为准准双双向向口口使使用用时时,单单片片机机内内部部已已经经集集成成了了上上拉拉场场效效应应管管,但但在在实实际际应应用用时时,一一般般情情况况下下,最最好好还还是是外外接接上上拉拉电电阻阻。例例如如,当当外外接接的的是是SPI/I2C等等漏漏极极开开漏漏的的电电路路时。时。83以以P0.0为为例例,接接上上拉拉电电阻阻的的电电路路连连接接如如图图所所示。示。典典型型的的上上拉拉电电阻阻的的阻阻值为值为5
71、.1K 或者或者10K 。图图3-20 3-20 上拉电阻的连接方法上拉电阻的连接方法843、拉电流方式和灌电流方式、拉电流方式和灌电流方式STC15F2K60S2单单片片机机的的I/O口口线线作作为为输输出出可可以以提提供供20mA的的驱驱动动能能力力,在在使使用用时时,可可采采用用拉拉电电流流或或灌电流灌电流方式。方式。以以P0.0控制发光二极管电路为例说明,电路连接如图所示。控制发光二极管电路为例说明,电路连接如图所示。图图3-21 3-21 拉电流方式和灌电流方式拉电流方式和灌电流方式85采采用用灌灌电电流流方方式式时时,应应将将单单片片机机的的I/O口口设设置置为为弱上拉弱上拉/准双
72、向口工作模式;准双向口工作模式;采采用用拉拉电电流流方方式式时时,应应将将单单片片机机的的I/O口口设设置置为为推挽推挽/强上拉工作模式。强上拉工作模式。 在在实实际际使使用用时时,应应尽尽量量采采用用灌灌电电流流方方式式,这这样样可可以以提提高高系系统统的的负负载载能能力力和和可可靠靠性性。有有特特别别需需要要时时,可可以以采采取取拉拉电电流流方方式式,如如供电线路要求比较简单时。供电线路要求比较简单时。86使用时应该特别注意使用时应该特别注意图图中中的的限限流流电电阻阻千千万万不不能能省省略略,否否则则,会会毁毁坏坏I/O口。口。在在按按键键扫扫描描电电路路中中的的两两侧侧需需要要各各加加
73、300 的的限限流流电电阻阻,或或者者在在编编程程时时不不要要出出现现按按键键两两端端的的I/O口口同时为低的情况。同时为低的情况。874、典型的三极管控制电路、典型的三极管控制电路单单片片机机I/O引引脚脚本本身身的的驱驱动动能能力力有有限限,如如果果需需要要驱驱动动功功率率较较大大的的器器件件,如如小小型型继继电电器器或或者者固固态态继继电电器器,可可以以采采用用单单片片机机I/O引引脚脚控控制制三三极极管管进进行行输输出出的方法。以的方法。以P0.0为例。为例。图图3-22 3-22 典型的三极管控制电路典型的三极管控制电路88如如 果果 用用 弱弱 上上 拉拉 控控 制制 , 建建 议
74、议 加加 上上 拉拉 电电 阻阻R1(3.3K 10K );如如果果不不加加上上拉拉电电阻阻R1,建议,建议R2的值在的值在15K 以上,或用强推挽输出。以上,或用强推挽输出。当当需需要要驱驱动动的的功功率率器器件件较较多多时时,建建议议采采用用ULN2008,其其内内部部采采用用达达林林顿顿结结构构,是是专专门门用用来来驱驱动动继继电电器器的的芯芯片片,甚甚至至在在芯芯片片内内部部做做了了一一个个消消去去线线圈圈反反电电动动势势的的二二极极管管。ULN2008的的输输出出端端允允许许通通过过IC电电流流200mA,饱饱和和压压降降VCE约约为为1V左左右右,耐耐压压BVCEO约约为为36V。
75、输输出出口口的的外外接接负负载载可可根根据据以以上上参参数数估估算算。采采用用集集电电极极开开路路输输出出,输输出出电电流流大大,可可以以直直接接驱驱动动继继电电器器或或固固体继电器体继电器(SSR)。ULN2008可以驱动可以驱动8个继电器。个继电器。895、I/O外部状态的输入外部状态的输入存存在在问问题题:当当I/O口口工工作作于于准准双双向向口口时时,由由于于STC15F2K60S2单单片片机机是是1个个时时钟钟周周期期(1T)的的8051单单片片机机,速速度度很很快快,如如果果通通过过指指令令执执行行由由低低变变高高指指令令后后立立即即读读外外部部状状态态,此此时时由由于于实实际际输
76、输出出还还没没有有变变高高,有有时时可能读入的状态不对。可能读入的状态不对。解解决决方方法法:在在软软件件设设置置由由低低变变高高后后加加1到到2个空操作指令延时,然后再读个空操作指令延时,然后再读I/O口的状态。口的状态。906、P1.7/XTAL1与与P1.6/XTAL2的特别说明的特别说明STC15F2K60S2系系列列单单片片机机的的所所有有I/O口口上上电电复复位位后均为准双向口后均为准双向口/弱上拉模式。弱上拉模式。但但是是由由于于P1.7和和P1.6口口还还可可以以分分别别作作外外部部晶晶体体或或时时 钟钟 电电 路路 的的 引引 脚脚 XTAL1和和 XTAL2, 所所 以以P
77、1.7/XTAL1和和P1.6/XTAL2上上电电复复位位后后的的模模式式不不一定就是准双向口一定就是准双向口/弱上拉模式。弱上拉模式。当当P1.7和和P1.6口口作作为为外外部部晶晶体体或或时时钟钟电电路路的的引引脚脚XTAL1和和 XTAL2使使 用用 时时 , P1.7/XTAL1和和P1.6/XTAL2上电复位后的模式是高阻输入。上电复位后的模式是高阻输入。91每每 次次 上上 电电 复复 位位 时时 , 单单 片片 机机 对对 P1.7/XTAL1和和P1.6/XTAL2的工作模式按如下步骤进行设置的工作模式按如下步骤进行设置首首先先,单单片片机机短短时时间间(几几十十个个时时钟钟)
78、会会将将P1.7/XTAL1和和P1.6/XTAL2设置成高阻输入;设置成高阻输入;然然后后,单单片片机机会会自自动动判判断断上上一一次次用用户户是是将将P1.7/XTAL1和和P1.6/XTAL2设置成普通设置成普通I/O口还是口还是XTAL1/XTAL2;如如果果上上一一次次用用户户是是将将P1.7/XTAL1和和P1.6/XTAL2设设置置成成普普通通I/O口口,则则单单片片机机会会将将P1.7/XTAL1和和P1.6/XTAL2上电复位后的模式设置成准双向口上电复位后的模式设置成准双向口/弱上拉;弱上拉;如如果果上上一一次次用用户户是是将将P1.7/XTAL1和和P1.6/XTAL2设
79、设置置成成XTAL1/XTAL2, 则则 单单 片片 机机 会会 将将 P1.7/XTAL1和和P1.6/XTAL2上电复位后的模式设置成高阻输入。上电复位后的模式设置成高阻输入。927、管脚、管脚P5.4/RST的特别说明的特别说明P5.4/RST即即可可作作普普通通I/O使使用用,也也可可作作复复位位管管脚脚。当当用用户户将将P5.4/RST设设置置成成普普通通I/O口口用时,其上电后为准双向口用时,其上电后为准双向口/弱上拉模式。弱上拉模式。每每次次上上电电时时,单单片片机机会会自自动动判判断断上上一一次次用用户户是是将将P5.4/RST设设置置成成普普通通I/O口口还还是是复复位位脚脚
80、。如如果果上上一一次次用用户户是是将将P5.4/RST设设置置成成普普通通I/O口口,则则单单片片机机会会将将P5.4/RST上上电电后后的的模模式式设设置置成成准准双双向向口口/弱弱上上拉拉。如如果果上上一一次次用用户户是是将将P5.4/RST设设置置成成复复位位脚脚,则则上上电后,电后,P5.4/RST仍为复位脚。仍为复位脚。931、单片机最小系统构成、单片机最小系统构成在在实实际际工工程程应应用用中中,由由于于应应用用条条件件及及控控制制要要求的不同,单片机外围电路的组成各不相同。求的不同,单片机外围电路的组成各不相同。单单片片机机的的最最小小系系统统就就是是指指在在尽尽可可能能少少的的
81、外外部部电路条件下,能使单片机独立工作的系统。电路条件下,能使单片机独立工作的系统。3.3单片机应用系统的典型构成单片机应用系统的典型构成94STC15F2K60S2集集 成成了了60KB程程序序存存储储器器、2048字字节节RAM、高高可可靠靠复复位位电电路路和和高高精精度度R/C振振荡荡器器,一一般般情情况况下下,不不需需要要外外部部复复位电路和外部晶振位电路和外部晶振只只需需要要接接上上电电源源,并并在在Vcc和和GND之之间间接接上滤波电容上滤波电容C1和和C2图3-23单片机最小系统95为为了了能能够够给给单单片片机机下下载载程程序序,可可以以在在RXD和和TXD引引脚脚上上连连接接
82、RS232和和TTL的的转转换换电电路路,以以连连接接计计算算机机,通通过过下下载载工工具具将将用用户户程程序序下下载载到到单片机中。单片机中。RS232和和TTL的转换电路如图所示。的转换电路如图所示。图3-24 RS232和TTL的转换电路962、非总线扩展方式的单片机应用系统构成、非总线扩展方式的单片机应用系统构成STC15F2K60S2单单片片机机内内部部已已经经有有60KB程程序序存存储储器器和和2048字字节节RAM,这这对对于于一一般般应应用的存储器需求已经足够。用的存储器需求已经足够。此此时时,单单片片机机的的P0、P2和和P4口口不不用用于于总总线线方方式式,即即P0口口和和
83、P2口口用用于于普普通通I/O口口功功能能;P4.2和和P4.4不不用用于于写写控控制制信信号号和和读读控控制制信信号号,也用于普通也用于普通I/O口功能。口功能。973、总线扩展方式的单片机应用系统构成、总线扩展方式的单片机应用系统构成应用背景应用背景 组组成成单单片片机机应应用用系系统统时时,如如果果存存储储器器容容量量不不够够,或或者者需需要要扩扩展展并并行行I/O,则则可可以以使使用用端端口进行系统的扩展。口进行系统的扩展。98图3-25 带有总线扩展的STC15F2K60S2单片机应用系统的连接示意图一个带有一个带有数据存储数据存储器和并行器和并行I/O扩展的扩展的单片机应单片机应用
84、系统的用系统的连接示意连接示意图如图所图如图所示。示。99由图中可以看出由图中可以看出使使用用单单片片机机进进行行系系统统扩扩展展时时,8位位的的数数据据总总线线由由P0口提供,口提供,16位的地址总线由位的地址总线由P2和和P0口构成。口构成。P0口口通通过过地地址址锁锁存存器器输输出出地地址址总总线线的的低低8位位,地地址址总总线线的的高高8位位由由P2口口提提供供。通通常常用用作作地地址址锁存器的芯片有锁存器的芯片有74LS373、74LS273等。等。P4口口中中的的/WR(P4.2)和和/RD(P4.4)引引脚脚的的作作用用是是写控制和读控制。写控制和读控制。ALE信信号号用用于于锁
85、锁存存器器的的锁锁存存控控制制,以以锁锁存存由由P0口输出的地址。口输出的地址。100为了说明为了说明STC15F2K60S2单片机访问外部单片机访问外部RAM的过的过程,首先介绍标准程,首先介绍标准8051单片机时序中的相关概念。单片机时序中的相关概念。(1)时时钟钟周周期期(T状状态态):CPU的的基基本本时时间间计计量量单单位,与晶振频率有关。位,与晶振频率有关。(2)机机器器周周期期:单单片片机机的的基基本本操操作作周周期期为为机机器器周周期期。标标准准8051单单片片机机的的一一个个机机器器周周期期分分为为6个个状状态态(S1S6),每每个个状状态态由由两两个个脉脉冲冲组组成成(称称
86、为为两两相相),前一个周期叫前一个周期叫P1,后一个周期叫,后一个周期叫P2。101一个机器周期由一个机器周期由12个时钟周期(也称为振荡周期)个时钟周期(也称为振荡周期)组成,如图所示。组成,如图所示。图3-26 标准8051的时序102STC15F2K60S2单单片片机机是是1时时钟钟周周期期/机机器器周周期期的的8051单单片片机机,在在同同样样的的外外部部时时钟钟频频率率下下执执行行同同样样的的代代码码,其其指指令令执执行行速速度度要要比比标标准准8051单单片机快片机快812倍。倍。当当用用户户在在较较低低的的外外部部时时钟钟频频率率下下运运行行时时,与与标标准准8051内内核核相相
87、比比,不不仅仅降降低低了了系系统统噪噪声声和和电电源源功耗,而且提高了处理能力。功耗,而且提高了处理能力。STC15F2K60S2单单片片机机的的总总线线速速度度是是可可以以设设置置的的 。 通通 过过 设设 置置 总总 线线 速速 度度 控控 制制 寄寄 存存 器器BUS_SPEED寄寄存存器器相相关关的的位位,可可以以达达到到设设置置总线速度的目的。总线速度的目的。103BUS_SPEED寄寄存存器器(地地址址为为A1H,复复位位值值为为XXXXXX10B)的定义如下:)的定义如下:其其中中,EXRST1和和EXRTS0用用于于设设置置外外部部RAM定定时选择(时选择(Extand RAM
88、 Time Selector)。)。位号位号D7D6D5D4D3D2D1D0位名称位名称-EXRTS1EXRTS0104执执行行MOVX指指令令时时读读写写控控制制信信号号的的脉脉冲冲宽宽度度,其其设置关系如表设置关系如表3-13所示。所示。利利用用MOVX指指令令访访问问外外部部RAM所所需需的的时时钟钟如如表表3-14所示。所示。表表3-13 EXRTS13-13 EXRTS1和和EXRTS0EXRTS0的设置的设置EXRTS1EXRTS0建立/保持/读写时间001个时钟周期012个时钟周期104个时钟周期118个时钟周期105访访问问片片外外扩扩展展RAM指指令令所所需需时时钟钟,可可以
89、以使使用用下下面面的计算公式:的计算公式:MOVX R0/R1 MOVX DPTRwrite(写写操操作作) 写写操操作作) ): 5N+3 write(写写操操作作) 写写操操作作) ): 5N+2read(读操作读操作): 5N+2 read(读操作读操作): 5N+1当当EXRTS1:0 = 0,0时,上式中时,上式中N=1;当当EXRTS1:0 = 0,1时,上式中时,上式中N=2;当当EXRTS1:0 = 1,0时,上式中时,上式中N=4;当当EXRTS1:0 = 1,1时,上式中时,上式中N=8.106对对于于STC15F2K60S2系系 列列单单 片片 机机 ,访访 问问 片片
90、外外扩扩 展展 RAM指指 令令 的的 速速度度 是是 可可 调调的。的。访访 问问 单单 片片机机 外外 部部RAM时时 的的时时 序序 图图 如如图所示。图所示。图3-27 访问单片机外部RAM时的时序图 107需要特别注意需要特别注意当当STC15F2K60S2应应用用于于总总线线扩扩展展方方式式时时,用用于于总总线线方方式式的的P0、P2和和P4口口的的P4.2和和P4.4不不可可再再用用于于普普通通I/O口口功功能能,即即使使在在地地址址空空间间较较宽宽裕裕时时P2口口没没有有用用于于高高8位位地地址线的址线的I/O口线也不可用于普通口线也不可用于普通I/O功能。功能。因因为为,在在
91、总总线线扩扩展展方方式式下下,P0口口当当作作地地址址/数数据据总总线线口口使使用用时时,由由于于访访问问外外部部存存储储器器的的操操作作不不断断,P0口口不不断断出出现现低低8位位地地址址或或者者数数据据,故故此此时时P0口口不不能能再再作作通通用用I/O口口使使用用。此此时时的的P2口口已已当当作作地地址址总总线线口口使使用用,由由于于访访问问外外部部存存储储器器的的操操作作不不断断,P2口口不不断断送送出出高高8位位地地址址,故此时故此时P2口也不能再作通用口也不能再作通用I/O口使用。口使用。108以以上上介介绍绍了了STC15F2K60S2单单片片机机的的应应用用系系统统构构成成方方式式。由由于于STC15F2K60S2单单片片机机内内部部已已经经有有60KB程程序序存存储储器器和和2048字字节节RAM,这对于一般应用的存储器需求已经足够。,这对于一般应用的存储器需求已经足够。因此,非总线扩展方式的应用最常见。因此,非总线扩展方式的应用最常见。109部分资料从网络收集整理而来,供大家参考,感谢您的关注!