1999年,STC(宏晶科技公司简称)于深圳市成立,目前已是全球最大的8051单片机设计公司,也是新一代增强型8位单片微型计算机标准的制定者和领导厂商。STC主要从事增强型8051单片机研发、生产和销售,是国内最大的8051单片机经销商。2011年3月,STC从深圳市迁至南通市,更名为南通国芯微电子有限公司。
STC8051单片机有89、90、10、11、12、15这几个大系列,每个系列都有自己的特点。其中,89系列与AT89系列完全兼容,是12T单片机;15系列是最新推出的产品,最大的特点是内部集成了高精度的R/C时钟,可以完全不用外接晶振。典型STC8051单片机(例如STC15W4K32S4单片机)的主要资源如图1-3所示。
图1-3 典型STC8051单片机(STC15W4K32S4单片机)的主要资源
(1)大容量RAM:具有4096B片内大容量RAM数据存储器。
(2)大容量Flash:16/32/40/48/56/58/61/63.5KB片内Flash程序存储器,擦写次数10万次以上。
(3)大容量E 2 PROM:内置的E 2 PROM擦写次数可达10万次以上。
(4)宽电压:2.5~5.5V。
(5)低功耗:支持低速、空闲、掉电模式(可由外部中断或专用定时器唤醒)。
(6)ISP/IAP引脚:用于支持在系统编程/在应用编程,无须编程器/仿真器。
(7)高速度:1个时钟/机器周期,增强型8051单片机内核,速度比传统8051单片机快7~12倍。
(8)外部复位可省:编程时16级复位门槛电压可选,内置高可靠复位电路。
(9)外部晶振可省:编程时内部时钟频率可设置为5~30MHz(相当于普通8051单片机的60~360MHz)
(10)内部高精度R/C时钟(±0.3%),±1%温漂(-40~85℃),±0.6%常温下温漂(-20~65℃)。
(11)通用I/O端口:62/46/42/38/30/26个,复位后为准双向口/弱上拉(8051单片机传统I/O端口)
(12)高速ADC:8通道10位,速度可达30万次/s。
(13)比较器:可当1路ADC使用,并可用于掉电检测,支持外部CMP+与CMP-引脚信号进行比较,可产生中断信号,并可在CMPO引脚上产生输出(可设置极性),也支持外部CMP+引脚信号与内部参考信号进行比较。
(14)PWM/CCP引脚:6通道15位高精度PWM引脚(带死区控制)+2通道CCP引脚(利用它的高速脉冲可实现2路11~16位PWM),可用来实现8路DAC或2个16位定时器或2个外部中断。
(15)7个定时/计数器:5个16位可重装载定时/计数器(T0~T4,其中T0、T1兼容普通8051单片机的定时/计数器),并均可实现时钟信号输出。另外,SysClkO引脚可将系统时钟信号对外分频输出(÷1或÷2或÷4或÷16),2路CCP引脚可再实现2个定时器。
(16)可编程时钟信号输出引脚:对内部系统时钟信号或外部引脚的时钟信号进行分频输出。
① T0在P3.5引脚输出时钟信号。
② T1在P3.4引脚输出时钟信号。
③ T2在P3.0引脚输出时钟信号。
④ T3在P0.4引脚输出时钟信号。
⑤ T4在P0.6引脚输出时钟信号。以上5个定时/计数器输出时钟信号均可1~65536级分频输出。
⑥ 系统时钟在P5.4/SysClkO对外输出时钟信号(STC15系列8-pin单片机的主时钟信号通过P3.4/MCLKO引脚对外输出)。
(17)4个UART:为完全独立的高速异步串行通信模块,分时切换可当9组串口使用。
(18)硬件SPI:可通过专门指令与兼容SPI接口的器件通信。
STC15W4K32S4单片机的不同封装形式及引脚如图1-4所示。STC15W4K32S4单片机参考电路如图1-5所示。
图1-4 STC15W4K32S4单片机的不同封装形式及引脚
图1-5 STC15W4K32S4单片机参考电路
STC15系列单片机(简称STC15)I/O端口有多种工作模式以适应不同需求,这一点有别于传统型8051单片机。
STC15的I/O端口有P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,P4.0~P4.7,P5.0~P5.5,P6.0~P6.7,P7.0~P7.7。可用软件设置这些I/O端口的4种工作模式,分别为准双向端口/弱上拉(传统8051单片机输出)模式、推挽/强上拉模式、高阻输入模式、开漏模式。STC15系列单片机的I/O端口上电复位后为准双向端口/弱上拉(传统8051单片机的I/O端口)模式。STC15 I/O端口工作模式的设定如表1-1所示。每个I/O端口驱动电流均可达到20mA,但40针以上单片机整个芯片最大驱动电流不要超过120mA,20针以上32针以下(含32针)单片机整个芯片最大驱动电流不超过90mA。
表1-1 STC15 I/O端口工作模式的设定
虽然每个I/O端口在弱上拉(准双向口)/强推挽输出/开漏模式时均能承受20mA的灌电流,但还是要注意添加限流电阻,阻值可为1kΩ、560Ω、472Ω等。在强推挽输出时,引脚能输出20mA的拉电流(同样要加限流电阻),整个芯片工作电流推荐不超过90mA,即从MCU-VCC流入、MCU-GND流出的电流建议都不要超过90mA,整体流入/流出电流建议也不要超过90mA。
(1)准双向口/弱上拉模式。
准双向口/弱上拉模式用于引脚的输出和输入功能而不用重新配置引脚的输出状态。这是因为当引脚输出高电平时,引脚的驱动能力很弱,允许外部装置将其拉为低电平。当引脚输出低电平时,引脚的驱动能力很强,可吸收相当大的电流。
准双向口/弱上拉模式结构如图1-6所示。准双向口/弱上拉模式结构有3个上拉晶体管以适应不同的需要。在3个上拉晶体管中,有1个上拉晶体管称为弱上拉晶体管。弱上拉晶体管提供基本驱动电流使引脚输出高电平。当引脚输出高电平而由外部装置将其下拉到低电平时,弱上拉晶体管关闭而极弱上拉晶体管维持开状态。为了把这个引脚强拉为低电平,外部装置必须有足够的灌电流能力使引脚上的电压降到门槛电压以下。
图1-6 准双向口/弱上拉模式结构
对于5V单片机,弱上拉晶体管电流约为250μA;对于3.3V单片机,弱上拉晶体管电流约为150μA。
第2个上拉晶体管称为极弱上拉晶体管。当引脚悬空时,这个极弱上拉晶体管产生很弱的上拉电流将引脚上拉为高电平。对于5V单片机,极弱上拉晶体管电流约为18μA;对于3.3V单片机,极弱上拉晶体管电流约为5μA。
第3个上拉晶体管称为强上拉晶体管。当端口锁存器由“0”到“1”跳变时,强上拉晶体管用来加快引脚信号由“0”到“1”转换。当发生这种情况时,强上拉晶体管打开约2个时钟周期以使引脚能够迅速上拉到高电平。
STC 1T系列单片机为3.3V器件,如果用户在其引脚加上5V电压,将会有电流从引脚流向电源,这样导致额外的功率消耗。因此,建议不要在准双向口/弱上拉模式中向3.3V单片机引脚施加5V电压。
准双向I/O端口(弱上拉)带有一个施密特触发输入以及一个干扰抑制电路。准双向端口(弱上拉)读外部状态前,要先锁存为“1”,这样才可读到外部正确的状态。
(2)推挽/强上拉模式。
推挽/强上拉模式一般用于I/O端口需要更大驱动电流的情况。推挽/强上拉模式结构如图1-7所示。
图1-7 推挽/强上拉模式结构图
(3)高阻输入模式。
I/O端口处于高阻输入模式时,电流既不能流入引脚,也不能流出引脚。高阻输入模式结构如图1-8所示。
图1-8 高阻输入模式结构
(4)开漏模式。
I/O端口处于开漏模式时,引脚既可读外部状态,也可对外输出高电平或低电平。当引脚要正确读外部状态或对外输出高电平时,要外接上拉电阻。开漏模式结构如图1-9所示。
图1-9 开漏模式结构