单片机的学习,最重要的一点就是多实践。站在岸上学不会游泳。没有实践,恐怕永远也学不好单片机。我将和大家一起,选择一款适合自己的单片机实验板。
方案选择
我们主要有三个可选方案:
自己动手搭建学习板;
购买成品开发板;
使用Proteus等仿真软件。
方案一非常适合动手能力较强,想锻炼动手能力,时间比较充裕的读者选用。自己动手搭建电路,能让我们对单片机更加了解,充分锻炼了动手能力,对以后需要自己制作东西很有帮助。或许你只是用现成的开发板学完单片机,等到想给好友或者心仪的异性做点东西表达下自己的心意时,才发现不会焊板子,那实在非常尴尬。这种方案的缺点在于:各种零散的元件不是很方便购买,不过如果能在淘宝上找到合适的卖家就好了;只适合一开始搭建比较简单的电路,如果太复杂或者有一些不便于焊接的器件,就很麻烦了;比较耗费时间,容易出现一些疑难问题,并且很难解决,不过解决问题的过程中能加深对单片机的了解。
如果动手能力不强,没有很多时间精力自己搭电路,以及一些不方便自己搭建电路的情况(比如电路很复杂),可选用方案二。我会对这个方案做一些介绍,尤其是方便大家能将所购买的各种不同的开发板和文中内容联系起来,比如如何识读电路图。方案二既能让我们实际感受单片机的工作情况,又免去了自己搭电路的麻烦,非常适合初学者学习单片机的编程。
对于只想简单了解单片机、不打算实际动手和深入研究的读者,以及经济条件不好,不想花很多钱,或者不便购买电子元器件的读者,则可以选用方案三,对于较为复杂系统的开发过程,也要用到方案三。Proteus软件的使用,可以从网上找到一些学习资料,我只做一些简单介绍。
我们可以根据不同的需要,灵活选择不同的方案,还可以同时用三种方案去实践。
仿真软件Proteus
不论选择哪种方案,建议大家都了解一下Proteus软件的使用。Proteus是一款EDA软件(EDA = Electronic Design Automation,电子设计自动化),常用于单片机等数字电路仿真。
何为仿真呢?就是利用计算机软件来模拟一个实际系统,并利用计算机的运算存储能力辅助开发者进行设计。广义的理解,这个系统可以是电路,也可以是机械结构,甚至还可以是音乐、视频等。
优势
仿真软件有什么好处,为什么要掌握Proteus呢?我举一个不是很恰当的例子。现在很多人写一些文字材料,都是用电脑写的,在写的时候,经过了很多次的修改调整,才能比较满意,最后打印。在修改的过程中,我们可以利用电脑很自由的进行排版,剪切复制粘贴等操作。而如果用老式的打字机,每打一个字就直接印上去,或者直接手写,就不方便进行修改,特别麻烦,还浪费很多纸张。
同样,在实际项目中,我们开发一个产品往往需要进行很多次实验,经过不断的测试和修改,最后才能做出来符合要求的产品。而如果我们每次都修改实际的电路等部件时,同样会导致效率低,修改麻烦,浪费时间资源等问题。仿真软件还有一些好处,比如在Proteus中有很多虚拟仪器,如此示波器、逻辑分析仪、计数器、信号发生器等,其中有些仪器非常昂贵,我们往往不容易接触到,但是在仿真软件中,我们可以很容易的使用它们。
另外Proteus中,调试单片机程序也是非常方便的,我们可以轻松的查看单片机内部存储器存储的数据,大大方便了我们调试程序。而在实际电路中,想直接查看单片机内部的具体情况就很麻烦了。
缺陷
但是仿真自然也有其缺点。还是上面的例子,在电脑上编辑文本的时候,尽管编辑器已经非常好用了,但是跟纸质相比,还是有它的局限性。不容易直接看到这些文字被打印到纸上的效果,也不能像在纸上一样用笔自由的圈点批注。
同样在电路仿真中,对于单片机这样的数字电路来说,通常仿真结果会和实际情况相符;而对于一些复杂电路尤其是模拟电路,计算机软件仿真就很难做到和真实电路一样了。所以仿真只是辅助进行设计,电路通常还是需要实际搭建出来进行验证。所以如果有条件最好还是自己搭建电路,将软件仿真和实际电路结合起来进行学习。
总结
总体来说,条件允许的情况下,我的建议是这样的。
一开始的简单电路,我们有必要自己动手搭建来加强对单片机的认识;
后来我们学到一些单片机外设,电路连线比较多,自己搭建费时较多,而且容易出现接触不良等情况,可以选用一块好用的成品单片机开发板来学习;
当我们的程序出现问题、需要调试时,或者再到后来我们可能想自己设计制作一些作品,设计过程中电路可能需要经过多次修改,这时选用仿真软件分析、并结合实际电路实验将是一个不错的选择。
后面会对每种方案进行一些介绍,包括使用方法和技巧。正所谓萝卜青菜,各有所爱,大家可以根据自己的需要去选择。