STC-51单片机闲谈

本文最后更新于 2024年2月6日 上午

STC-51单片机闲谈

STC单片机,这个网站肯定不能不提。(想截个图结果网站访问不了了emm,这网站再我想用的时候崩了不止一次了)

STC单片机的网站让我笑喷了

现在网站恢复了,可惜它不存在了,已经会自动跳转到论坛。找个网图吧,,我记得最后上面这个大绿块已经开始宣传STC32了。

我记得之前还是合肥宏晶微电子,现在手册和官网(甚至域名)都变成了深圳国芯人工智能有限公司,,,8051想破脑袋也想不出来和AI有啥关系。

STC是做89C52起家的嘛,单片机人谁还没用过STC89C52。后来做了好多1T内核的产品现代8051单片机。

C51

我觉得,现在不选择8051单片机的一大理由是,8051无法使用标准C,而只能使用C51或汇编。这一致命缺陷直接决定了移植其它平台单片机C库的困难性,而且有很多语法都用不了。如果不是为了学8051内核只是为了应用层开发,那么去做8051开发,会很耗费精力和麻烦。

笔者最初也是先接触的51单片机。之后接触esp32,stm32等支持标准C的单片机后,因为某些原因回来开发stc8,移植库用了三个小时,然后做应用层开发出现各种离奇的问题,一个6个项的枚举,仿真硬是给我仿真出来一个0x0A,,,

刚接触时我的编程能力也欠佳,用Keil开发也没那么不舒服,近日回来,马上改为EIDE+SDCC+VScode、Keil assistant+VScode。

SDCC虽然有更好的标准C支持,但有个致命缺陷:

The linker sdld does not support function-level linking. The standard library, therefore, uses one source file per function.

It is not possible to eliminate the unused function while linking.

无法删除没有链接的函数!全都塞最终的hex里!用寄存器还好,用库函数的话简直是,,

KeilC51都有个LX51可以REMOVEUNUSED,,

现在,我认为,不支持标准C的,gcc或者armclang(LLVM)不支持的单片机,要尽量避开。

其一是,开发环境单一,必然很不舒服

其二,开发中又有各种禁忌,出一堆问题发现是单片机不支持标准C导致的;

其三,这种单片机要么是51,要么是OTP,要么是远古单片机,要么兼备。

远古单片机的工具链和开发环境,可谓emm。或者技术比较古早的公司,只会用51,你去了不是折磨你。

前两者,我想引用别人说的一句话:你做的单片机越便宜,你的工资就越低,只有追求极致成本的公司才会选择OTP,必然也压榨你的人力成本。嵌入式行业,不那么追求四五毛成本的产品多了去了。

STC8

STC8是一个比较成熟的产品系列了,而且是STC(目前)主推的8位机产品系列,外设也比较丰富。四年前,我用了我人生中第一块8051后就开始用stc8了,用过sop16,tssop20,lqfp32,dfn8,lqfp64,lqfp48等好多块产品。

体验比较差的是我的STC8H8K64U了,居然是A版本,,A版本的外部中断,RTC等好多地方都有问题,,我怀疑STC的测试是不是义工,还是干脆找网友测试,还是姚老板催的太急了,还是TSMC不给你流片,产品这么大缺陷就直接量产,,(好像0.18um掩膜也没那么贵

由此也可以体现出STC的实际实力,,

STC的库

STC的应用团队没有人会git就算了,就是同一zip包里面,库还不一致,独立例程有一套大差不差但是版本不同的库,,,我用根目录的库,发现缺几个宏,一看,在独立例程里面是有的,,“独立”

STC ARM

STC ARM的饼,在我最痴迷STC的那段时间(2020左右)就有了,这句话我真的烂熟于心:

image-20240205221822525

2021年的时候,STC官网还有这几句话:

大量客户提前预付定金,支持 STC 提前抢2023年的产能,确保维持 近16年 现货稳定供应的水平,这是大众心态,都是合理正确思维模式。成本持续上升/要抢,大势所趋,仓中有米,芯不慌,屯够/才是您的/不一定让您屯/只有长期合作的老客户才可以…

大批 STC 客户来电,请求 STC 价格适当调整,有底气去抢晶圆,抢封测产能,不要抢不到晶圆,抢不到封测产能,搞成欧美同行 订货 24 - 48 周 还交不了货,最后遭殃的还是用户。大批 STC 客户来电请求 STC MCU 价格合理上浮,积蓄战力,加速 STC 32-BIT M4 MCU 的推出,将 32-BIT MCU的价格拉回合理价位。

后来变成M33,后来变成STAR-MC1

image-20240205221935677

至于为什么到现在都不出,我问老姚,老姚这么说:

image-20240205222240157

同一天(2024/1/14):

image-20240205222522791

《其实已经设计好了》

image-20240205222551410

《STC33上面做好的东西都在,往51上移植》

看来不光我对STC有意见?

网友:“1年之内,都不要浪费时间在STC新出的ARM-M4”,你同意吗?-电子工程专辑 (eet-china.com)

STC32

STC32我认为是STC比较奇怪的产品线,因为用的是80251核,是英特尔在1996年推出的,不知道STC为什么沉迷于古老的8051系列内核。

8051还好,Keil,IAR,SDCC有三个编译器可用,80251就只有Keil C251一个编译器了。STC近几年也忙着摸索80251。说来,我之前申请了STC16的样品,后来这产品线就砍了,,

image-20240205222258939

另外,STC买了真不少域名啊

STC新官网:www.STCAI.com

STC官方论坛:www.STCAImcu.com

老官网: www.STCMCUdata.com

WWW.GXWMCU.COM

https://www.stcisp.com/ (这个的话不是官方的,但是这风格可谓一脉相传,而且宣传语都是这种风格)

我的二次入坑

其实根本原因是这个电路板的电路设计和程序设计差了一年多,那个时候我还没见识到标准C的魅力。有一个项目需要很小的封装,本来想上TSSOP20,后来发现DFN8也刚好够用,就用DFN8了。

image-20240206110315181

然后,如C51章节所说的。。

项目打算重开了,用py32的QFN16/20封装。另外py32的DFN8居然比stc8的还便宜,才7毛,,

参考

深圳国芯人工智能有限公司-产品_STC33F系列 (stcai.com)

MCS-51 - Wikipedia

STC32G资料及入门介绍-CSDN博客

STC单片机的网站让我笑喷了 - 知乎 (zhihu.com)


STC-51单片机闲谈
https://decaday.github.io/blog/stc8051-talk/
作者
星期十
发布于
2024年2月5日
更新于
2024年2月6日
许可协议