很多同学现在还不知道什么是单片机,对于大一的新生来说你可以不知道,但是对于机械电子协会的成员来说你就不应该不知道什么是单片机。当然在这里我也不多介绍什么是单片机,而是说说怎样学单片机。
如何开始上手,如何开始熟练这个过程给大家讲讲。先说说单片机,我现在用得单片机时德州仪器(TI)产的,当然这个德州不是中国德州,而是美国的德州。型号是MSP430,是一款超低功耗的单片机。什么是超低功耗我也不知道用4uA能不能给说明白了,要不举个例子吧:我们去济南开研讨会的时候,TI的工程师给我们演示的用一个苹果插上铜片和锌片来产生电都可以让一个电子钟工作,如果苹果不烂可以工作一个星期。当然并不建议所有的入门同学都来学MSP430,因为这个芯片来到中国的时间不是很长,资料不是很多。要开发和学习都有挺大的难度。就我个人的建议是先学51单片机。因为这个单片机在中国市场上发展了几十年了,现在工程中用的比较多的也是MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大(关键我们大三的时候要开这门课,学的就是51)。等学51入门了之后可以转学别的,或者继续学习51,但是不管学习哪个都要把它学精了才能有用武之地。精通一个之后再学别的芯片就简单多了。
单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《平凡单片机应用设计》,是个网友写的,非常好。当然别的书也可以像是《例说8051》等等很多都很基础。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘 、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课 ,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C 语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容 易的事。
步骤:
1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂的。
2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。
3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。 )
4.自己完全设计具有个人风格的电路,产品,。。。你已经是高手了。 。。。。
单片机是一门实践性非常强的学科,没有实践一切都是“空中楼阁”,花点钱买块开发板是非常必要的。(“开发板就好比农民种地的种子,只要能合理利用,它便会生根发芽,最后定能收获丰盛的果实。想要种好地,不要不舍得去买好种子”。)学习单片机,建议大家一定要多做实验,一开始可以模仿别人的程序在开发板上做些简单的实验,模仿别人的程序时千万不要满足只在实验板上运行一下,一定要自己动手把程序敲进电脑、一句一句分析透彻,不懂的地方拿出课本看看,不适合的地方自己动手改一改,琢磨琢磨别人的程序,然后再编译、下载,只有这样边做边看书,才能使那些看来很复杂的、摸不着头脑的单片机的知识变的很具体,只有不断的做实验,在实践中学习,才能真正扎实掌握单片机的基本知识,有了这些单片机的基本知识和自己的切身体会及经验以后,你变可以自己动手来练习你想做的设计了。
单片机程序的开发说到底,就要靠勤学、多练,多积累。这个世界上像牛顿、爱因斯坦的太少了,很少有人有真正的创新思维能力,我认为一般来说所谓的创新能力就是在别人的基础上有所改进。单片机的开发也不例外,只有在掌握了单片机的基础知识后,才能谈创新和创造。所谓这些基础知识掌握的好坏并不能从你的单片机课程考了多少分来判断,而是要看你自己到底在开发板上调试过多少小型的源程序,又是否真正掌握了这些源程序。这些源程序可以是看了别人写的正确的源程序,自己动手在实验板上调试并进行修改;也可以是参照别人程序自己又有了新思路,然后再重新写过。写程序正如盖房子,不要指望房子的一砖一瓦都自己去做,别人已经把盖房的原料做好,你只要拿来,直接使用或稍作修改,就可以用来盖你的房子了,如果一切都自己去做,那么也许你一辈子都不可能住上这栋新房子。编程序也是这样,有了一些基本的源程序,参加全国电子大赛或编写大型的软件就像搭积木一样,你最多只要稍作修改就行了。如果没有这些平时的积累,一切都是茫然。有人说“一切从零开始”,这句话本来就是骗人的,现在没有什么人做什么事可以一切是从零开始,除非你回到原始社会。永远记住一句话,“站在别人的肩膀上,你会看的更远”!
买一块开发板,就是买一个平台,“有了平台,你便可以轻松的爬上别人的肩膀”。有了单片机的实验平台,你才能去试验更多的程序,才能积累更多的模块化的小的源程序,积累更多的单片机开发的经验和思路,才能踏进单片机开发的大门。这只是我多年学习单片机的一点心得,当年也走过了一些弯路,现在只是把我的真实的想法告诉更多的朋友,希望你们在学习单片机的道路上少走些弯路。
“千里之行,始于足下”,单片机的学习,没有捷径可走,只有不断实验,不断练习,您才能在单片机的天空下自由翱翔。
思想有多远就能走多远。。。。。