大多数人都熟悉国产STC系列单片机。 STC使用MCS-51指令集,是传统的51核。 指令集结构比较简单。 现在STC基本上就是51单片机的代表了(不是指性能)。 它的功能比较简单,但信息量却很大。 它是学习微控制器最流行的一种。
市面上有很多针对51单片机设计的学习开发板,每个开发板基本都配有几十GB的学习视频资料。 一般来说,入门级学习不需要任何人。 如果买了开发板,就可以学习单片机的各种外设和功能。 不过我个人更喜欢看书,因为我觉得看视频太啰嗦,拖慢学习速度。
2015年,STC还正式推出了开发板,可以以大学的名义申请。 你只需要提供相应的资质就可以免费获得一定数量的开发板,但是现在一切都结束了。 开发板采用了当时最新的IAP15系列芯片。 硬件和软件配备齐全。 官方的学习资料、芯片手册、烧录软件也是中文的。 可以在STC官网()上找到。
不过STC的官网确实给人一种山寨的感觉。 花花绿绿的让人忍不住吐槽,而且查找资料实在是太不方便了。
STC官网封面
烧录工具:
STC开发的专用烧录工具(STC-ISP)确实是一大亮点。 它有很多功能,包括:
所有STC芯片烧录下载都可以使用加密ID下载,保护程序安全。 支持将目标程序文件打包并烧录软件生成新的exe升级软件,方便量产后的程序升级。 芯片选型,查看芯片资源及价格,查看芯片封装类型、IO定义等。查看各芯片各外设的示例程序,下载芯片手册。 可作为串口收发助手使用,不需要单独的串口助手软件。 新的IAP15系列芯片可用于建立硬件仿真。 它可以用作波特率计算器、定时器计算器、软件延迟计算器等。它可以直接生成寄存器配置代码,将复位引脚配置为普通IO,并在可视化软件上设置内置振荡器速率。
STC-ISP烧录工具
它确实是一个多功能工具。 如果集成编辑器+编译器功能,那将是世界上独一无二的。 面对如此好用的刻录工具,对于只用它来下载程序的朋友来说是不是有点浪费呢? 如果还有不熟悉的童鞋功能,可以在下方评论区写下来。
编程环境IDE
STC系列单片机软件编程语言采用C51语言,类似于标准C语言的简化版本。 两者的语法和格式是相同的。 多了一些关键字如:“sbit”位定义、“code”常量声明等。一些关键字如“const”常量声明关键字也被减少了。
STC系列单片机编程软件IDE采用“KEIL FOR C51”。 注意,keil有很多版本,如:KEIL FOR ARM、KEIL FOR C51等,安装后图标是一样的,只是支持的芯片内核不同。 第一个专用于 ARM 内核,第二个用于 51 内核。 两者还可以根据安装包的大小来区分。 一般KEIL FOR C51版本的软件安装包不会超过100MB,但KEIL FOR ARM版本一般在300M以上。
C51 的 KEIL
该编程软件是付费的。 非付费软件有软件编译大小限制。 超过一定数量的代码后,会出现编译错误信息。 不过一般个人学习使用的话,可以使用注册机软件免费破解到2020年。至于2020年后做什么,应该会有新的注册机出来了。
IDE集成了编辑器和编译器功能。 该软件没有内置STC微控制器模型。 如果要编译STC单片机工程,需要将芯片型号添加到烧录工具STC-ISP中的软件安装目录中,即可找到并使用
STC芯片列表
KEIL的编译功能还可以,但是编辑器功能确实很难用。 没有代码提示。 编辑器背景颜色主题可以修改,但是颜色比较单一。我一般都是使用Visual Studio Code进行代码编辑,然后使用KEIL编译。 这样一来,虽然两个软件可以来回切换,但效率会高很多。
视觉工作室代码
片上和片上外设:
下面我们就拿STC经典的STC89C52和最新系列的STC15F2K60S2的几个主要参数分别来看看。
STC89C52:
STC15F2K60S2:
可以看到,经过这么多年的STC实施,自家产品的性能得到了很大的提升。 增加了很多功能外设以满足主流应用的需求,如ADC模数转换、硬件PWM等,同时也推出了很多小型SOP-8系列封装的微控制器。 ,用于较小的场合,价格可以在1.5元左右。
优缺点对比:STC芯片本身正在改进,但价格相对国外其他同等性能的主流芯片来说还是比较贵。 模拟功能还没有跟上。 只有一些高端芯片支持硬件在线仿真,并且需要设置一些东西。 这仅限于开发功能,但许多应用程序不愿意使用STC。 时钟管理比较混乱,各个外围设备不独立运行,牵一发而动全身。 例如,有些串口没有独立的波特率发生器,因此必须占用某个定时器的资源才能使用该外设,并且两者必须同时使用。 这看起来很麻烦,而且很难分配功能。 没有专用的IDE。 如果STC官网推出一款STC专用的IDE,可以直接支持编辑、编译、模拟、烧录,对新手来说会更加友好。 我相信市场渗透率不会是现在这样。
很多数量比较大的产品宁愿使用新塘等其他薄膜。 毕竟,它们都需要性价比和成本核算。 但该类芯片的学习资料普遍较少,需要专业人员根据手册来开发产品,不适合入门学习。
“下次我会给大家介绍一下STM8系列单片机的详细情况,后续还会有一些教程。”
如果有任何问题或错误,请在下面评论。