STC系列单片机是宏晶公司生产的单片机,最典型的一款是STC89C51 单片机,即我们熟悉的所谓的 51 单片机。
可能有人不明白“单片机系列”的问题。例如,STC12C2052 和STC12C4052 两个型号有什么区别等。如果你留意单片机的数据手册,这些区别很好查到,以下内容是根据STC单片机的数据手册分析而来的。
① STC:出品的公司名。
② 12:产品大系列,STC单片机有 89、90、10、11、12、15 这几个大系列,每个系列都有自己的特点。89 系列是老旧而传统的单片机,可以和AT89 系列完全兼容,是 12T单片机。90 是基于 89 系列的改进型产品系列。10 和 11 系列是有着便宜价格的 1T单片机,有PWM、4 态I/O接口、EEPROM等功能,但都没有ADC这个高级功能。12 是增强型功能的 1T单片机,型号后面有“AD”的就是具有ADC功能的单片机。目前 12 系列是主流产品。15 系列是STC公司最新推出的产品,最大的特别是内部集成了高精度的R/C时钟,可以完全不需要接外部晶振。
③ C:这个位置一般是用来表示单片机工作电压的,如果是C或F,表示这款单片机是5V电压下工作的;如果是LE或L,则表示这款单片机是工作在 3V电压下的。
④ 20:这个位置是用来表示单片机内部Flash空间大小的,同时也隐含着EEPROM和RAM空间的大小。例如,在STC12C2052 的空间就是 2KB,在STC12C4052 的空间就是 4KB,再如,STC12C5A60S2 的Flash空间是 60KB,STC12C5A32S2 的Flash空间是 32KB。其中的 5A是系列名的一部分,没有什么含义,也不会有 6A、8A,只有 5A而已。
⑤ 52:也是系列名的一部分,是小系列名。
⑥ AD:是功能后缀,表示具有ADC功能的意思。如果后缀是S2 就表示具有 2 个串口的意思。
所以,STC12C2052 的空间就是 2KB,在STC12C4052 的空间就是 4KB,而这两款单片机因为是同一系列的,所以可以通用,只是Flash大小不一样。头文件可以共用一个。
说到头文件,也有是谈到单片机的功能区别了。例如,STC12C2052AD和STC12C4052AD在功能上是一样的,只有Flash大小不同。可以共用STC12C2052AD.h这个头文件,STC12C5A60S2 和STC12C5A32S2 的功能也一样,只是Flash大小有差别,可以共用STC12C5A60S2.h的头文件。不只是头文件,同一系列的单片机的数据手册也是同一本,每本数据手册的第一页都会写明,本手册所涉及单片机型号,它们是共用一本手册的。
另外,一些系列名还有不同,如STC12C5604AD中 56 表示的是系列名,04 才表示的是Flash大小。如果想了解STC单片机所有型号和系列关系,只要看一样东西就行了,那就是选型指南。
在本书的实例中,均采用STC系列的单片机。