STC单片机原理及应用:从器件、汇编、C到操作系统的分析和设计(立体化教程)(第2版)
上QQ阅读APP看书,第一时间看更新

2.4 STC单片机的架构及功能

本节将以STC公司的IAP15W4K58S4单片机为例,对STC单片机的架构和功能进行说明,如图2.12所示。

图2.12 STC15W4K32S4系列单片机的内部结构

注:(1)该型单片机属于STC15W4K32S4系列,该系列单片机提供了系统在线仿真、系统在线编程、无须专用仿真器,以及可远程升级的功能。

(2)IAP15W4K58S4单片机本身就是仿真芯片。

2.4.1 单片机实现的功能

STC15W4K32S4系列单片机的主要特点包括:

(1)片内集成高达4KB容量的RAM数据存储空间。

(2)采用了增强型8051 CPU内核,达到1个时钟/1个机器周期的性能,比传统的8051速度快7~12倍,比STC早期的1T系列单片机(如STC12/11/10系列)快20%。

注:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。

一般情况下,一个机器周期由若干个状态周期组成。通常用内存中读取一个指令字的最短时间来规定CPU周期。

注:时钟周期,又称为振荡周期,是处理操作的最基本单位。

(3)采用宽电压供电技术,其工作电压为2.5~5.5V。

注:当单片机工作在较高时钟频率时,建议其工作电压为2.7~5.5V。

(4)采用低功耗设计技术,该系列单片机可以工作在:低速模式、空闲模式、掉电模式。

注:当工作在掉电模式时,可通过外部中断或者内部掉电唤醒定时器唤醒。

(5)内置高可靠复位电路,不需要外部复位。当使用ISP编程时,提供16级可选的复位门槛电压。

(6)内置R/C时钟电路,无须使用外部晶体振荡器。当使用ISP编程时,内部时钟频率为5~35MHz。振荡器频率特性为:①在正常温度时,温漂为±0.3%;②在-40~+85℃时,温漂为±1%;③在-20~+65℃时,温漂为±0.6%。

注:也可以使用外部有源或者无源晶体振荡器产生的时钟作为单片机的输入时钟信号。STC推荐使用内部的R/C时钟电路。

(7)提供了大量的掉电唤醒资源,包括:INT0/INT1(上升沿/下降沿中断均可),INT2/INT3/INT4(下降沿中断);CCP0/CCP1/RxD/RxD2/RxD3/RxD4/T0/T1/T2/T3/T4引脚;内部掉电唤醒专用定时器。

(8)该系列单片机提供了16KB、32KB、40KB、48KB、56KB、58KB、61KB和63.5KB容量的片内Flash程序存储器,擦写次数可达10万次以上。

(9)片内大容量EEPROM功能,擦写次数可达10万次以上。

(10)芯片集成了8通道10位的高速模拟-数字转换器(Analog to Digital Converter,ADC),采样速度可达30万次采样/秒。

(11)芯片集成比较器模块。可以用作1路ADC,并可用作掉电检测;支持外部引脚CMP+与外部引脚CMP—进行比较,可产生中断,并可在引脚CMPO上产生输出(可设置极性);也支持外部引脚CMP+与内部带隙电压进行比较。

(12)片内集成6通道15位带死区控制的专用高精度脉冲宽度调制(Pulse Width Modulation,PWM)模块。此外,还提供了2通道CCP模块,通过它的高速脉冲输出功能可实现2路11~16位PWM。它们可以用来实现以下功能,即8路数字到模拟转换器(Digital to Analog Converter,DAC)功能;2个16位定时器功能;2个外部中断(支持上升沿/下降沿中断)功能。

注:CCP是英文单词的缩写,即Capture(捕获)、Compare(比较)和PWM(脉冲宽度调制)。

(13)片内集成最多7个定时器/计数器模块,其中:5个16位可重载定时器/计数器,包括:T0/T1/T2/T3/T4(T0和T1与普通8051单片机的定时器/计数器模块兼容),均可实现时钟输出。通过引脚MCLKO,可以将分频(分频因子为1、2、4、16)后的系统时钟SYSCLK输出。此外,2路CCP也可实现2个定时器功能。

(14)片内提供可编程时钟输出功能。实现对内部系统时钟,或者连接到外部引脚的时钟进行分频后输出。其中,P3.5引脚输出定时器/计数器0的时钟T0CLKO;P3.4引脚输出定时器/计数器1的时钟T1CLKO;P3.0引脚输出定时器/计数器2的时钟T2CLKO;P0.4引脚输出定时器/计数器3的时钟T3CLKO;P0.6引脚输出定时器/计数器4的时钟T4CLKO;P5.4引脚对外输出分频后的系统时钟SYSCLK。

注:①前面5个定时器/计数器的输出时钟,可实现1~65536级分频。

②对于15系列8个引脚封装的单片机而言,在P3.4引脚输出分频后的系统时钟SYSCLK。

(15)片内集成4个完全独立的超高速串口/UART。

注:通过分时复用的方法,可当作9个串口。

(16)片内集成硬件看门狗定时器(Watch Dog Timer,WDT)模块。

(17)该系列单片机采用了先进的指令集架构,100%兼容普通8051指令集。此外,提供了硬件乘法/除法指令。

(18)该系列单片机提供了通用输入/输出(General Purpose Input/Output,GPIO)资源,根据不同器件,可提供26、30、42、38、46、62个GPIO端口。当对单片机复位后,将GPIO配置为准双向I/O口或弱上拉模式,这与传统的8051单片机一致。在复位后,可以通过模式寄存器将GPIO设置为4种模式,即准双向口/弱上拉、强推挽/强上拉、仅为输入/高阻以及开漏。每个I/O口驱动能力最大可达到20mA,但整个芯片的电流最大不能超过120mA。

2.4.2 STC单片机的架构

STC是system chip的缩写,意味着随着半导体工艺的不断演进和发展,在摩尔定律指引的框架范围内,STC公司的8051单片机芯片内将要集成越来越多的外设。并且,芯片性能不断提高,价格不断降低。例如,STC公司最新的STC8系列单片机性能又有了很大的提升,主要体现在:

(1)依次顺序执行完全部的111条指令仅需要147个时钟,而传统的8051则需要1944个时钟。

(2)内部提供了3个可选的时钟源,即内部24MHz高精度IRC时钟、内部32kHz的低速IRC、外部4~33MHz晶振或外部时钟信号。

(3)提供两种低功耗模式,即IDLE模式和STOP模式。

(4)与IAP15W4K58S4相比,数字外设功能进一步增强(4个串口、5个定时器、4组PCA、8组增强型PWM以及I2C、SPI接口)。此外,模拟外设功能也进一步增强(速度高达800K的12位15路ADC、比较器)。

从上可知,STC的8051单片机朝着片上系统的方向发展,即集成的外设越来越多,芯片成本越来越低,器件的整体性能不断提高,这一切都提高了8051单片机的市场竞争力。

对于8051单片机开发人员而言,需要站在系统级的角度来把握整体设计思路,软件和硬件协同设计、协同仿真和协同调试是他们所需要具备的设计能力。

思考与练习2-7:STC公司的8051单片机将朝着___的方向发展,其发展符合___定律的指导框架。

思考与练习2-8:随着STC 8051单片机的集成度不断提高,___、___和___是开发者需要具备的能力。

思考与练习2-9:请说明软件和硬件协同设计的含义(提示,PWM可以使用软件模拟实现,也可以通过专用的PWM硬件模块实现,但是两者实现方法和性能有着本质的区别)。

思考与练习2-10:请说明软件和硬件的协同调试的含义。