博主从2017年初,即大二第二学期才接触的单片机。但是苦于之前的大学课程没有认真学,所以接触单片机的时候非常吃力。出于想帮助一些没有高手带的新手少踩一些坑,也算是对我以前所学的一次总结。现在想系统总结一下应该怎么快速地学好单片机。
1、学习之前应该快速的学习一下C语言,但是不用学的太深,对于基本的语法要懂,指针也要了解一下。一般高数和电路分析基础在大一是必修课了,这个也要学好,需要用到。
此阶段可以看视频也可以看书,最主要的是要照着书本打代码,这是基本功。最忌眼高手低。
2、第二阶段买一套51单片机的开发板,了解寄存器和一些简单的外设等。如果有学了模拟电子技术和数字电子技术,对于理解单片机原理会有所帮助。
记得买资料齐全的,最重要的就是要有配套的教学视频。有些商家很坑,不会给你配套齐全。如果视频和开发板不是对应的,对于新手入门真的会比较吃力,很难学懂,最主要是打击学习兴趣。
注:这个阶段就是跟着视频学,多动手勤动脑。有遇到不懂的自己勤思考,先搞清楚自己的问题在哪,试着自己解决,如果解决不了,就上网找找。我遇到很多同学问别人问题的时候都不知道自己是哪里不懂,也没有自己对于问题的猜测,我觉得这是没有思考的表现。
3、跳出开发板,动手设计几个基于单片机的简单设计或者参加比赛,目的就是上手一个项目,可以让自己快速地深入理解单片机。
如温湿度测试,电子时钟,计数器,寻迹小车等这些小项目可以在论坛上找到,可以借鉴别人的,照着别人做,加入自己的创意,遇到不懂地就查资料。
此阶段需要学一下PCB制板,学会用AD(Altium Desiger)或者protel99。
当你学到这里,相信你已经可以自己动手做一些自己期待的东西了!
不过毕竟51单片机功能简单,如果你觉得自己很喜欢搞这些东西,可以学一下更高级的arm芯片系列的,市场上也比较主流,功能也更加强大。
对于应该学习51和32这个问题,我刚接触的时候也是非常纠结,但是经过后来的学习,我的想法是不主张跳过51单片机直接学STM32。因为STM32寄存器很多,跟51相差很多,很难一下子理解。51虽小但五脏俱全,能够快速入门。而学完51再学32就轻而易举了。我们还是应该一个台阶一个台阶慢慢爬,不要太急于求成而反而做不好。不要把时间花在纠结上,应该把时间拿来学多点东西。
本文是个人拙见,如有错误的地方,望各位高手指正。