本帖最后由 zlc 于 2012-3-30 23:28 编辑
当你掌握了如何用单片机完成一个项目,你也就学会了如何使用单片机。不知道这样理解对不对,我是个新,目前还不会使用单片机。做为一个维修电工,不会用单片机总觉得少了点什么,但也不迫切,学习单片机应该是兴趣使然。
在网上看过不少新手或是为怎么学习单片机而困惑,或是为学习什么单片机而困惑,还有为学不学而困惑的。我原来也很困惑,但现在不了,想要看清庐山真面目,就要站在比庐山还要高的高度。学习单片机也是一样吧,不管出于什么目的(有爱好单片机、有必须用单片机、有以此为筹码多赚点钱的,还有认定此路必是光明大道的),单片机总是要揉进项目里去的,哪怕是只点亮一只LED。从项目的角度去看单片机,去学习单片机,也许不会觉得困惑和迷茫。每一个项目都应该可以是这样的,对需求进行提取、抽象为功能,运用各种手段实现功能,最后升华为满足需求,至此一个项目完成。学习单片机也是一样,在学习单片机之前先完成这样一个项目:
1、 我为什么要学习单片机?
2、 我要学习什么单片机?
3、 我要怎么要学习单片机?
1、 我为什么要学习单片机?俗话说,技多不压身。多一技能总不是坏事,多学学没有坏事,学吧!
2、 我要学什么单片机?其实学什么单片机都是一样的,51说简单也不简单,那ARM就难吗?虽然我没学,但我不认为它有多难。一切从应用出发,需要什么样的单片机就用什么样的单片机,就学什么样的单片。如果没有基础还是有些束缚的,还是要从8位机出发的。比如51、AVR、PIC都可以。我就是没有基础,所以选择PIC,选择PIC不是偶然。如果就单一芯片,我觉得51比PIC应用要多,AVR同理,PIC没有优势,但PIC族群庞大(不知道我说的是不是那么回事)。再说硬件稳定性和参数的一致性,我觉得PIC就有优势了(这里我并不想提抗干扰,那与个人水平密切相关)。这里的选择与芯片本身的架构、指令、难易成度无关,完全从需求出发(如果没有基础还是一步步来的)。以上基于我个人的片面了解,拍砖可以,别打脸。
3、 我要怎么学单片机?其实这是最重要的(有人经常问我:“在学校里你都学到了什么啊”,我会告诉他:“学习方法”)。其实曾经学过什么,学到了什么并不重要,重要的是你要知道如何学习你需要的,这就是所谓的学习方法。这一点在单片机这一行业,或者嵌入式系统,再者软件行业,无不如此。CPU:4位、8位、16位、32位、64位,谁知道会不会再出来个128位。单片机:51、PIC、AVR、ARM7、ARM9、ARM11,现在有M0。软件:原来有B语言,后来有C语言,再后来C++、C#、JAVA、delphi、.NET等等。那么,你觉得我们学得过来吗,无论学多少,都会有新的东西出来,那么你还要学习什么,还要学习多久?我的这段话你是否会明白些什么?这也许和学习单片机没什么联系,但这很重要。从小学到大学,再到生活、工作,我都在学习中,通过不段的学习我们了解知识,了解生活,了解工作,同时也在认识自我,但在学习的过程中,你有没有发现一些东西,像软件的架构,也像欧姆定律(其实并不是“欧姆”,而是“定律”),像习惯成自然,也有点像“潜规则”。那么在学习的过程中,你有没有发现你的“软件架构”呢?这就是所谓的学习方法。如果你掌握了学习方法,无论在哪个角落你都会是一个亮点。说了这么多,还是要回到单片机上来,学习单片机也是一样,要确定学习方法,也许这比学习的过程要纠结,但这是事半功倍的事,没理由不去办(当然有好的学习方法,你不去学,也是没有用的。)
说到这里,我想我可以明确我的单片机学习方法了,就是把单片机揉到项目里去(还是那句话:哪怕是只点亮一个LED)。就拿点亮一个LED为例吧:
分析需求:使一个LED点亮。
抽象功能:用一个MCU控制一只LED点亮,上电即点亮。
功能实现(硬件):电源(要有电才行),MCU最小系统(这是MCU工作的基础,不了解就查资料吧),一个LED并且连接到MCU(查LED的工作参数并匹配外围器件)。
功能实现(软件):确定实现语言,选择软件开发环境,用编程语言抽象功能。(我想学习单片机软件占的比例大些,以后慢慢分析吧,必竟我还不会编程)
升华到满足需求。
{
明天继续学
}
不知道我理解的对不对,没自信啊!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
有没有学过书法,你知道把“一”“二”“三”,各写1000遍是什么感觉吗?要不就试试吧,开始的时候,会很认真,往后就会心烦,再往后就有点要发疯的感觉,想撕掉这张纸,想折断手里的笔,就是要发火,(要么放弃吧,不必这么折磨自己),要么坚持一下,再坚持一下(那是自己的心魔)——再后来,你就会发现,你很细心的体会落笔,运笔,抬笔,虽然都是横,但每笔都不同。那是一种心境,你会乐于其中。
上面我只是举个例子,对于学习,心境尤为重要。
急于求成(学了I/O就想做项目),
好高骛远(学着PIC,看着AVR好,拿起AVR又看到ARM),
心绪难平(他是个大侠,我要去学习他。那是个人物我要跟上他的步伐等等),
形式主义(读完一本书就当学会了,做完例程就当懂了),
还有一种一张嘴就要例程,有问题就等贴回复(多问有助于学习,三人行必有我师,但不要忘了,学习的主体是自己,而不是“师”)(多说一句:国内的教育之悲。)
更有人这样想:我学会了单片机(或者某某)能挣多少钱啊?对这样的人我也说几句:
1、行行出状元
2、没有夕阳的行业,只有夕阳的思维
3、搞原子_弹的不如卖茶叶蛋的(这谁都明白吧)
4、ARM可能用在玩具上,51也可能用在飞船上(这句话的意思是:挣钱的不是单片机,而是你的脑袋)
从一个引脚开始,从一个寄存器开始,从一条指令开始,从学习前三分钟的冥想开始,放下浮躁的心绪,你会发现每一个引脚后面都是一个庞大体系的电路,每一个寄存器都是那么的重要,每一条都可以拓展,到这个时候,你或许会发现,你所学的已经不是单片机了,单片机只是你的工具,仅此而已。你要学的是如何用它来实现你脑袋里所想的。(话说远了)
浮躁是可怕的心魔,要不断的积极的正确的自我暗示和自我引导,在浮躁的时候不防放下工作或学习,听一段轻缓的音乐(要纯音乐),写写书法,或者做一段瑜伽,当然冥想也不错。
一周热门 更多>