对于初学者来说,学单片机我认为就是三个阶段。
/***************************入门阶段*************************/
如果你开始,关键是要解:
什么是单片机?
单片机能做什么?
如何让单片机工作?
在这个阶段,我建议老老实实玩那个Low51单片机,老得掉牙。
现阶段初学者最重要的是学习如何将实际问题转化为单片机能够处理的算法,然后用单片机能够理解的语言写出算法。因此,一台简单、便宜、典型的51单片机当然是首选。
首先,51台单片机,无论是单片机芯片、开发板、下载器,价格都不贵,可以在100元内完成,相当多的初学者是预算紧张的学生,便宜当然有优势。
其次,51台单片机数据铺天盖地。虽然很多数据质量不是很好,但至少初学者可以快速敲出一个可以操作和结果的程序,这样初学者就不会失去兴趣。2012年刚接触单片机的时候,学校图书馆借的单片机教程简直就是天书。这句话是什么意思?那句话是什么?这是一个全方位的三维孟强迫啊,下午没有课坐在电脑前几个小时,已经昏昏欲睡,结果下载程序后,我想要的指示灯亮了!突然没有睡意,那个程序是不超过20行的点亮LED代码,但成就感油然而生,心里默念老子能写程序!,然后删除和修改,各种碰壁后,点亮这个LED我明白灯的程序,我一行的意思大概就清楚了。如果换成是IO操作麻烦的单片机,比如后面会提到的STM32呀、MSP430呀、STM8呀……那天下午一定要睡个好觉。~
第三,51单片机并不像预期的那么糟糕。毕竟,目前仍有相当多的产品使用51核单片机,51核也出现了许多变体。例如,杭州十字路口的交通信号灯,通过透明罩仔细看,里面有一个DIP大芯片40封装,芯片上印有三个大写字母:STC
交通信号灯(人行道灯)STC90C52RC单片机。照片拍摄于杭州市西湖区文二路宝珠北路交叉口。//STC是国内知名的51单片机品牌
在入门阶段,最重要的是找出如何将解决问题的过程转化为单片机语言。关键是学习编程语言(通常是C语言)和编程思路。首先,没有必要故意考虑代码效率等问题。人与单片机之间应首先建立可靠的连接,并将您的想法传输给单片机。如果你不能完成这一点,以后再面试。
/***************************进阶阶段*************************/
在这个阶段,我强烈建议不要使用51单片机,开阔视野,不要认为51开发征服了单片机,51只是单片机领域的冰山一角,加上其参考质量一般较低,不适合高级学习,然后把51放在一起,改变其他单片机。
市场上单片机的内核种类很多,现阶段请选择非51内核单片机。
推荐:STM8和ARM类单片机
这里不收ST公司的赞助,而是我用的次数比较多。STM8也是8位单片机,但显然不是51小儿科,寄存器配置比51复杂得多。简单粗暴的比较,以定时器为例,标准51单片机定时器1,定时器1专用约4个寄存器;STM8S该系列单片机的定时器1实际上有32个寄存器。捕获模式是什么?PWM模式,计数模式~确保刷新你对单片机的理解,让你觉得以前那些只是三脚猫的功夫……为啥我强烈建议用51入门呢?51功能不一定比同价位的其他单片机少多少,但配置真的很简单,对刚开始的小白很友好!并且,STM8不支持位置操作,原51单片机中的那种 ** it然后等于1,等于0的路被堵住了,我们应该找到另一种方法来实现它bit水平操作,这也是为后面打基础,玩了这么多单片机,我还没见过能 ** it非51内核单片机,甚至51内核,很多增强型51内核(STC除外)也不能 ** it,戒掉这句话真的像断奶,是成长过程中必须经历的重要过程。
玩过STM8之后,以尝试更先进的单片机,比如ARM内核的STM32(ARM内核单片机种类繁多,选择空间很大,不能一提ARM就想STM32,手机CPU还是ARM内核呢)。在这一步中,有必要学习更先进的编程理念和编程习惯,如开发函数库,如使用各种结构和指针,如变量和函数命名等。
当这一步结束时,你将对单片机有一个新的理解。无论是什么单片机,寄存器都是操纵杆。更换单片机只是更改寄存器的地址、定义和用法,所有的变化都离不开它的家族。除非是跑操作系统级别的嵌入式开发,否则换个内核、品牌、厂商、型号也不可能“我不会”,只能说是“我没用过”,看看厂家的文档,摆弄几个小时也就大体上了解了一款新的单片机。
/***************************高级阶段*************************/
在这个阶段,单片机的内核、平台等等已经不重要了,重要的是算法。于是乎,51单片机又可以拿出来了,这时的51和ARM在开发者眼里,差别不大,怎么方便怎么来。
例如,建议使用51来验证用51,因为51傻瓜式IO操作方便,逻辑冲突不易发生。
例如,在验证软件算法时,建议使用它ARM,可以在线Debug,监控变量和程序流程非常简单。
/***************************更高级阶段*************************/
人外有人天外有天,要记住,总有人比你多NB~