51单片机流行了这么久,至今仍然很流行,现在所讲的51单片机一般是指国产的STC单片机,STC是一个很神奇的公司,在ST、TI、Microchip、NXP群雄逐鹿的今天,硬是杀出了一条血路,主要针对人群以大学生、初入门者居多。由51单片机所引发的讨论从来就没有停止过,STM8,STM32,AVR, PIC,MSP430单片机使用这么广泛、资料这么丰富,在入门的时候到底还要不要从51单片机开始?单片机大神在摒弃51,入门新手在纠结,这是一个值得讨论的问题。

forum.jpg

浓浓山寨风的STC官网

首先发表我的观点:

以51单片机作为入门,很有必要。相信很多单片机工程师、硬件工程师、电子工程师也都是以51单片机作为起点的。不仅如此,而且反对派中的大多数也是从51单片机过来的。理由如下:

1.与大学课程接轨

在大学里,电类专业,如电子信息工程、计算机科学与技术、电气自动化等,都会开设51单片机的专业课程。在这门课程里会讲解51单片机的基本硬件知识和编程。虽然现在很多单片机的性能和性价比都远远超过51单片机,但是大学课程更新较慢,而且授课老师都是利用延续下来的课件讲授51单片机,如果频繁更滑其他型号的单片机,老师新作课件麻烦,而且还要花精力去熟悉,老师没有时间也不愿意,所以就导致了大学里的单片机课程一直以51为中心。

我在上大学时也学习的51单片机,当时授课老师在教授这门课程的时候是基本脱离硬件的,以汇编编程为主,主要讲111条汇编指令,一堂课讲4条,当时跟听天书一样完全听不懂。这个汇编课件是老师积累了多年所形成的教案,汇编的指令清晰,教案的结构容易把控,课时容易规划 ,所以课件不会轻易改动,即使老师不用汇编编程。

forum.jpg

51单片机学习板

2.51单片机容易入门

在没有单片机的概念之前,如果直接入手STM32或者STM8S这类单片机,可能初学者感到很茫然。因为没有任何单片机寄存器的概念做铺垫,一开始就要了解单片机的方向寄存器还要了解单片机的数据寄存器,甚至还有库函数,一时间让初学者难以接受。51单片机的寄存器相对简单,作为准双向口,配置起来没有那么复杂。先把51单片机学好,再学其他单片机也是一种好方法。从这个角度来讲,51单片机比较容易入门。

forum.jpg

51单片机小制作-抢答器

3.51单片机资料丰富

51单片机作为最早传入国内的一个系列的单片机,应用有超过30多年的历史,甚至第一代接触51单片机的工程师还奋斗在岗位上,所以51单片机积累了太多的学习资料、例程、设计实例等。大学里的课程设计题目甚至毕业设计题目,在网上都能找到实际可用的资料,这也让很多学生有了参考,更愿意在此基础上去实现自己的设计,所以51单片机成了学生们的首选。由此也形成了一个非常庞大的灰色产业链,单片机课程设计、毕业设计代做,只要有需求就有供应,这些制作在网购平台上非常多,甚至有很多初创公司都是以51单片机开发板或者是代做设计起家的。

forum.jpg

51单片机小制作-循迹小车

4.51单片机也在不断创新

51单片机虽然有了这么久的历史,但是他却一直在更新,从Atmel的51单片机到STC的单片机,51单片机一直在改进,STC单片机已经改进的很适合国人的应用习惯,并且性能也在不断提升,片上资源也越来越丰富,当然与TI、ST、Microchip等国际知名半导体公司的差距还是挺大的,但是他的努力不应被否定。

forum.jpg

51单片机开发板

虽然我现在设计产品时主要应用STM32、PIC、NXP等,已经不再用51单片机了,但是我还是推荐51单片机作为入门工具,你有什么样的看法可以一起讨论。