51单片机中国什么时候流行的 51单片机真的过时了吗

抒情君 28

大家好我是小火,想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。对于51单片机是否过时的讨论从来就没有停止过,有人说51单片机是学习单片机的基础。也有人说51单片机是过时的产品,现在大部分产品应用已经不再选用了,失去了市场就业等同于学习的必要性。就算从51单片机学起,工作后基本用的是32位MCU做项目,基本用不到51。

51单片机指MCS-51系列单片机,CICS指令集。由Intel公司开发,其结构增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源,内有128个RAM单元及4K的ROM。其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前国内的 51单片机市场主要为国产宏晶的产品STC系列其号称低功耗,稳定与廉价的特点。

51单片机不再是学习的基础

51单片机是学习的基础这句话本身并没有错。当时在大学的课程里,51无疑是学习的基础——毕竟那时没有更高级的单片机可以供使用,教材的也是有限,老师的水平也是参差不齐,而51单片机正符合这样的需求,不仅有大量的成型的教材,广泛的示例,当时工作的实际项目也是51单片机为主,于是51单片机理所当然的成为当时的学习基础。按照莫尔定律,电子行业每18个月更新换代,10年前的技术现在已经更新了6代了——事实也确实如此。

目前32位Crtex-M系列单片机的各种教程已经普及,其学习的难度一直在降低。以意法半导体公司的STM32F系列单片机来说,意法半导体在推广产品初期大量赠送了核心板。免费赠送的核心板不仅有流行的32位Cortex-M系列微处理器,更在板上集成在线调试器。开发板附赠的光盘或者链接更是提供了大量的示例源代码。我们只需要安装开发环境即可直接编译与下载调试。这时,如果再说51单片机是学习嵌入式的基础肯定是不合时宜了。

51单片机寄存器的操作是它的优点?

51单片机可以学习寄存器的操作,这一点儿是肯定的。我们分析一下原因。在MSC-51单片机的编程环境中,最初是以汇编语言为主要编程语言。使用汇编语言的目的就是直接操作寄存器的,汇编语言是无法做到C语言的函数调用与封装的。如果说51单片机是以操作寄存器为优点,我觉得更应该说51 单片机操作寄存器是一种无奈,是只有一个选项的选择题。

我们现在的Cortex-M系列单片机也可以学习寄存器。在硬件设计中,硬件的操作方式就是寄存器的操作,但是其实现却是可以不同。各微处理器提供的C语言库函数包其实质就是将操作寄存器的指令进行了C语言环境下的封装。我们这里用ST官方库函数举一个示例:

void USART_Init (USART1, *USART_InitStruct);//实现串口1的初始化,简单明了,无需注释

在这里也想举一个示例来说明寄存器操作的步骤,但是操作寄存器实在是太复杂了,笔者不想去浪费时间去整理了。

通俗易懂的C语言,方便移植的C语言与硬件平台相对应的编译器联合,就能完成硬件的操作。人的本性就是能用简单、方便的方式处理问题,就绝对不用复杂的方式处理。

51单片机的成本低吗?

成本是左右项目开发的主要因素。项目的立项主要考虑成本,销售的定价主要成本。低成本的方案才符合市场的需求。可是,51单片机真就是最低成本了吗?单片机发展到现在,部分Cortex-m0系列的32位单片机的成本也和51差不了多少。但是性能已经是51单片机的好几倍了,而且更加容易开发与方便维护。

其实51开发还有一个成本:开发难度成本。51单片机不能在线调试,有一些问题在编程初期没有发现,只有与硬件连接后才会显现出现来,例如控制操作中经常用到的延时。这时在线调试的巨大优势就体现出来了,它可以极其方便的查看微处理器当时的状态,使得问题的分析变得相对简单。有效降低开发的难度,缩短开发周期,节约成本。

嵌入式系统的学习是非常枯燥而又有挑战性的事情。由于与实际的硬件直接连接,不仅要考虑编写的正确性,而且还要考虑硬件的可靠性。这时,简单、高效的软件编写就变向的降低我们开发难度与风险。51单片机对于嵌入式已经是明日黄花,有高学习能力的同学在学习嵌入式的时候是可以向51单片机说再见了!

但是我们每个人的能力是存在差异的,就好像电动车可以占据很大的市场,但是自行车依然会被人们所保留、所使用,每个人都会选择适合自己本身的教材,大多数人觉得简单的东西,可能对于一些人来说就是非常的困难,多种路线发展,选择合适自己的道路才是最重要的。

本期先分享到这里,想要学习单片机编程的同学可以持续关注小火,回复我要入门,与我们一起成长,喜欢的可以点个赞关注我们!

上一篇:

下一篇:

  推荐阅读

分享