从刚开始接触单片机,到现在已经有3年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
   大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
         ![](https://s1.51cto.com/images/blog/201903/28/d40120a202dd6e7239c2dc7e9644e7ed.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
   第一步(熟悉的过程):在网上找学习资料,在网上看了很多。印像最深的要数王云老师的云龙51单片机视频教程,因为这个教程从基础到复杂的编程慢慢深入,边讲边写代码,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,这时对51单片机也就没有感到陌生了。通过视频让我知道了该怎样学习单片机,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是C语言比汇编更好理解。
   第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,买了一款51单片机开发板,然后就开始了我的学习之旅,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。围绕单片机的LED灯进行控制,通过控制LED灯的亮、灭,熟悉了51单片机的内部的各种资源,这样就能使我在很短的时间内,将51单片机内部的各个功能部件全部都使用到了。
    第三步(项目实战的阶段):学习单片机的时候,虽然也编写了一些程序,但是那些都是一些很小的模块程序,并没有起到综合应用的目的,所以在这之后,我和另外一个学习硬件的同学一起组成了一个小的团队,进行项目实践开发,那时候,实验室的条件比价好,有很多的器件可以自己使用。所以,我们就设计了我们的第一个作品,基于单片机的液体点滴监控系统。做这个系统时,就将以前单片机所学的知识,做了一个综合的应用,包括有LCD1602控制,串口的控制等。
    经过以上三个步骤的学习之后,对于51单片机的开发基本上就算入门了。而对于其他类型的单片机,如飞思卡尔单片机,LPC2148 ARM7单片机,PIC16F887等,虽然每个系列的功能不一样,但是最基本的编程思想还是一样的,不同的可能就是编译器,程序下载的软件等差别,所以有了51单片机的开发基础之后,学习其他单片机所采用的方法就是一个差异化的学习,学习各种单片机不同的地方,这样,就能很快的熟悉一款新的型号的单片机。