如何从零基础学单片机是每位单片机爱好者或电子爱好者想得到的答案,我根据自己学单片机 一些经验与各位朋友们分享一下我学习单片机的经验,通过介绍我自己学习单片机的整个过程起到抛砖引玉的目的,同时希望能给单片机爱好者提供一个参考的作用。
单片机类型的选择
现在单片机种类繁多,各种类型的单片机琳琅满目尤其是对初学单片机爱好者感到无从适从,现在单片机有8位机以C51为代表、16位机以mps430为代表、32位机以STM32、ARM、DSP为代表。另外还具有支持精简指令(RISC)的单片机PIC和AVR等。在这众多类型的单片机中我建议朋友们先学一下以C51为内核的8位单片机,例如艾特梅尔(ATMEL)的和STC的,因为这种单片机的资料比较多,有很多的成功例程可以学习。这种单片机学起来上手非常快,便于我们建立对对单片机学习的信心。
学习单片机的软件的选择
我们知道单片机是一种可编程的控制器,可以很多次“烧写”程序和“擦除”程序,那么这就涉及到所用的编程软件和烧写程序的软件。我在学习单片机时常用的编程软件是KeiL μvision软件,我刚学习时所用的是KeiL μvision2,现在已经升级到KeiL μvision5版本了,能支持更多型号的单片机了,由于其出色的表现,现在这款软件我仍然在用。
关于烧写软件我用的有三款,但有的需要配备昂贵的烧写器,我建议刚学单片机的朋友用STC的烧写软件,这款软件免费,是绿色版不需要安装直接就能用,烧写时需要冷启动下载即可,操作非常方便,我现在做些小项目仍然用它来下载程序。
关于编程语言的选择现在有两种,一种是汇编语言另一种是C语言。由于汇编语言晦涩难懂指令比较多(有111条指令)不利于初者学习。我还是建议初学单片机的朋友学习C语言,它是非常重要的计算机编程语言,一些高端单片机所用的语言基本上都是以C语言为主,同时用C语言也减少了我们对单片机内部硬件结构的依赖。也为后续学习16或者32位单片机打下基础。
学习单片机硬件的选择
我们知道单片机是一门实用技术,我们学习它不是为了考试而是为了在今后能够应用给它设计出项目,其实用性很强。我对刚学习单片机的朋友建议通过自己焊接出自己的硬件电路,先从单片机最小系统开始焊接,慢慢进行拓展,比如最小系统焊完之后要焊接RS232下载电路,因为STC单片机需要通过它来下载程序。焊完之后可以焊接LED灯、数码管等等。这样我们循序渐进地编程通过软件对这些硬件进行控制。当我们通过编程对一个个单片机外设进行控制,当能都达到我们所要的结果时其喜悦心情是难以言表的,这也是我们学习单片机的动力。
如果我们没有焊接基础,那么可以购买单片机实验板来达到学习的目的。总之学习单片机就要多练习,有一句话叫“纸上得来终觉浅,绝知此事要躬行”就是这个道理。