想学单片机,选哪个型号矮粗笨的51单片机完胜高富美的STM32
51单片机流行了这么久,至今仍然很流行,现在所讲的51单片机一般是指国产的STC单片机,STC是一个很神奇的公司,在ST、TI、Microchip、NXP群雄逐鹿的今天,硬是杀出了一条血路,主要针对人群以大学生、初入门者居多。由51单片机所引发的讨论从来就没有停止过,STM8,STM32,AVR, PIC,MSP430单片机使用这么广泛、资料这么丰富,在入门的时候到底还要不要从51单片机开始?单片机大神在摒弃51,入门新手在纠结,这是一个值得讨论的问题。
浓浓山寨风的STC官网
首先发表我的观点:
以51单片机作为入门,很有必要 。相信很多单片机工程师、硬件工程师、电子工程师也都是以51单片机作为起点的。不仅如此,而且反对派中的大多数也是从51单片机过来的。理由如下: 1.与大学课程接轨在大学里,电类专业,如电子信息工程、计算机科学与技术、电气自动化等,都会开设51单片机的专业课程。在这门课程里会讲解51单片机的基本硬件知识和编程。虽然现在很多单片机的性能和性价比都远远超过51单片机,但是大学课程更新较慢,而且授课老师都是利用延续下来的课件讲授51单片机,如果频繁更滑其他型号的单片机,老师新作课件麻烦,而且还要花精力去熟悉,老师没有时间也不愿意,所以就导致了大学里的单片机课程一直以51为中心。
我在上大学时也学习的51单片机,当时授课老师在教授这门课程的时候是基本脱离硬件的,以汇编编程为主,主要讲111条汇编指令,一堂课讲4条,当时跟听天书一样完全听不懂。这个汇编课件是老师积累了多年所形成的教案,汇编的指令清晰,教案的结构容易把控,课时容易规划 ,所以课件不会轻易改动,即使老师不用汇编编程。
51单片机学习板
2.51单片机容易入门
在没有单片机的概念之前,如果直接入手STM32或者STM8S这类单片机,可能初学者感到很茫然。因为没有任何单片机寄存器的概念做铺垫,一开始就要了解单片机的方向寄存器还要了解单片机的数据寄存器,甚至还有库函数,一时间让初学者难以接受。51单片机的寄存器相对简单,作为准双向口,配置起来没有那么复杂。先把51单片机学好,再学其他单片机也是一种好方法。从这个角度来讲,51单片机比较容易入门。
51单片机小制作-抢答器
3.51单片机资料丰富
51单片机作为最早传入国内的一个系列的单片机,应用有超过30多年的历史,甚至第一代接触51单片机的工程师还奋斗在岗位上,所以51单片机积累了太多的学习资料、例程、设计实例等。大学里的课程设计题目甚至毕业设计题目,在网上都能找到实际可用的资料,这也让很多学生有了参考,更愿意在此基础上去实现自己的设计,所以51单片机成了学生们的首选。由此也形成了一个非常庞大的灰色产业链,单片机课程设计、毕业设计代做,只要有需求就有供应,这些制作在网购平台上非常多,甚至有很多初创公司都是以51单片机开发板或者是代做设计起家的。
51单片机小制作-循迹小车
4.51单片机也在不断创新
51单片机虽然有了这么久的历史,但是他却一直在更新,从Atmel的51单片机到STC的单片机,51单片机一直在改进,STC单片机已经改进的很适合国人的应用习惯,并且性能也在不断提升,片上资源也越来越丰富,当然与TI、ST、Microchip等国际知名半导体公司的差距还是挺大的,但是他的努力不应被否定。
51单片机开发板
虽然我现在设计产品时主要应用STM32、PIC、NXP等,已经不再用51单片机了,但是我还是推荐51单片机作为入门工具,你有什么样的看法可以一起讨论。
本文章由头条号:玩转嵌入式原创,如需转载请联系作者,感谢支持。会51单片机,如何快速过度到STM32单片机?
单片机是一种可编程的器件,现在所见到的电子产品中几乎都是以单片机为核心的,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚至比较高大上的ARM和DSP都可以看成是高级一点的单片机。
单片机是一种工具,由于可编程,所以大大简化了设计电路的复杂程度,软件可以很轻松的完成复杂的逻辑,所以单片机在电子产品中处处可见。对于8位单片机而言,其典型的代表就是51单片机,由于51单片机资料众多,大学里也开设了51单片机的课程,所以很多初学者都把51单片机作为入门的首选。
电路设计
但实际情况是,很多公司都选用STM8、STM32、AVR、MSP430、PIC系列的单片机去设计产品,而很少选用51单片机,原因是上述单片机功能更为强大、片上资源更为丰富,而且价格也不是很贵。所以很多朋友想问,会51单片机,再去学习STM32等功能更强大的单片机,该怎么过度?
51单片机开发板
答案是很容易过度。
单片机是一门工具,不同的单片机都是相通的,学会一款型号,可以很快的入手其他型号,单片机一通百通,做好产品才是最终的目的。51单片机到STM32的过度,不困难,仅体现在单片机寄存器的配置上,下面分几个方面进行说明。
1.从外围电路层面的过度
在产品设计中,单片机往往是核心,产品的不同功能需要不同的外设电路去支撑,同一外设电路不会因为单片机的更换而发生颠覆性的改动,所在外设电路这个层面上,不同平台的单片机其外设电路基本一致,只需要考虑GPIO口的复用功能即可。STM32单片机的片上资源更加丰富,使用合适的片上资源和GPIO端口甚至可以简化电路的设计
小米扫地机器人中的STM32单片机
2.从寄存器层面的过度
STM32单片机是32位的,51单片机是8位,STM32单片机片上资源丰富,功能强大,相应的其寄存器也就越多。但是同样的功能其区别不大,仅仅是寄存器的名称和配置方法不同。所以从51单片机过度过来后,要熟悉一下STM32单片机的寄存器和配置方法。
3.从库函数层面的过度
STM32单片机提供了库函数操作,这大大降低了编程的复杂度,官方都把片上功能和相应的寄存器都配置好了,形成了函数,用户只需要调用函数就可以实现片上功能的调用,这在51单片机是没有的。所以,从51单片机过度过来需要了解一下STM32单片机的固件库的使用方法。
Arduino中的ATMEGA
4.从编程层面的过度
现在基本都用C语言进行编程,唯有区别的还是寄存器的写法,其他语法一致,即便是跨平台移植,也容易操作。所以在这个层面上不存在困难的地方。
树莓派中的ARM
其实学单片机很容易,在前期学的是心理,只有克服了心理上对单片机的恐惧,才能踏踏实实的学好单片机的功能。万事开头难,想学单片机要尽早入手把开头尽可能提前,才能学好单片机。
综上所述,单片机是相通的,学会一款单片机很容易入手其他型号,很容易过度。
一个馒头引发的血案:初学单片机,还有必要从51单片机开始吗?
相关问答
如何从 51单片机 过度到 STM32 ?其实单片机都是相通的,学会一款型号,可以很快的入手其他型号,单片机只是一门工具,做好产品才是最终的目的。51单片机到STM32的过度,不困难,仅体现在单片机...其...
会使用 51单片机 的前提下,如何自学 stm32 ?如何学好STM32,很多初学者都有这样的疑惑或者迷茫,到底怎么做才能将STM32学会呢?这里和大家讲解下,我从从51转STM32的经历或者说是经验。我当时为什么...接下...
STM32 是什么啊,是32位的 单片机 吗?stm32是一种32位的单片机。单片机是嵌入式系统中最常用的核心部件,stm32本质上也是一种单片机。从事嵌入式方面工作,如果有一定的基础,可以从STM32单片机入...
STM32 是什么啊,是32位的 单片机 吗 - 懂得stm32是一种32位的单片机。单片机是嵌入式系统中最常用的核心部件,stm32本质上也是一种单片机。从事嵌入式方面工作,如果有一定的基础,可以从STM32...
stm32 f4与 51单片机 的区别?stm32f4是32位单片机,51单片机是8位单片机。stm32f4是32位单片机,51单片机是8位单片机。
stm32 编程语言?STM32和51单片机相比,代码效率高(32位包含信息量大,多数指令一个字节搞定)、执行速度快(72MHz系统时钟不是盖的)、功能强大(外设丰富、管脚多、管脚功能可...
51单片机 和32单片机对比?51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flashROM技术的发展,8031单片机取得了长足的进...
stm32单片机 中串口通信为什么地址都是一个字节?这是由串口通讯用户层协议决定的,例如最常用的modbusrtu协议,协议规定,通讯地址必是1个字节,这与你使用stm32还是51单片机无关。现行的串口通讯协议很多,...
我玩过我 51 和 STM32单片机 ,会绘制PCB,学过模电数电,最能适应什么工作?作为一名嵌入式开发工程师,我觉得适合从事单片机开发工作,为什么这么说呢?因为目前51单片机和STM32单片机是目前使用非常广泛的单片机,很多公司都是基于这两...
51 和32 单片机 区别?所代表的公司不同,内部资源不同。51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flashROM技术...