要学习单片机,有必要根本的模拟与数字电路的常识、根本的计算机理论常识与操作常识、理解C言语的根本规矩与句子,一起还要有一本经典的单片机教材,下面是学习单片机的一些心得体会,期望对咱们有所协助。
1、万事开头难、要英勇迈出第一步。开端的时分,不要老是给自己找托言,说KEIL不会建项目啦、没有试验板啦之类的。遇到困难要一件件霸占,不会建项目,就先学它,这方面网上教程许多,随意找找看一下,做几回就懂了。然后能够参阅别的人程序,抄过来也无所谓,写一个最简略的,让它运转起来,先培育一下自己的感觉,知道写程序是怎样一回事,不管写大程序仍是小程序,要做的工序不会差多少,总得建个项目,再装备一下项目,然后建个程序,参加项目中,再写代码、编译、生成HEX,刷进单片机中、运转。有必要了解这一套工序。个人以为,一块学习板仍是必要的,写好程序在上面运转一下看成果,学习效果会好许多,仿真器就看个人需求了。单片机是重视理论和实践的,光看书不着手,是学不会的。
2、常识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后边的,前面的估量也快忘光了,所以,最好结合实践程序,用到的时分才去看,不用说非要把书从第一页看起,看完它才来写程序。比方你写流水灯,彻底就没必要看中止的常识,专注把流水灯学好便是了,这是把整本书化整为零,一小点一小点的啃。
3、程序不要光看不写,必定要自己写一次。最开端的时分,啥都不理解,能够抄人家的程序过来,看看每一句是干什么用的,到达什么意图,运转后有什么成果,看理解了之后,就要自己写一次,你会发现,原来看理解他人的程序很简略,但到自己写的时分却一句也写不出来,这便是距离。。。当你自己能写出来的时分,阐明你就真的懂了。。。
4、有必要学会把握调试程序的办法。不少人写程序,把代码写好了,然后一运转,不是自己想要的成果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运转?然后就等他人来给自己剖析。这是一种很欠好的行为,应该自己学会发现问题和学会怎样处理问题。这就需求学习调试程序的办法,比方KEIL里,能够下断点啦,检查寄存器内容等等,这些都是调试程序的办法,当你发现你写的程序运转成果和你幻想中不相同的时分,你能够单步,也能够下断点,然后盯梢,检查各相关寄存器内容,看看程序运转过中是不是有什么误差,找出影响成果的当地,改正过来。这一个进程十分重要,通进程序的排错,你能够学到的常识是书上得不到的。
5、找到处理问题思路比找到代码更重要。咱们用单片机来操控周边器材,到达咱们想到的意图,这是一个标题,而怎样写出一个程序,来操控器材按你想要的成果去运作,这个便是解题的思路。要写程序,就得先找到处理问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,能够说,这不是一种学习的情绪,无助于你编程水平的前进。我简直不怎样看人家的代码,大都时分是看他人的思路,有方框图最好,没有的话文字阐明也能够,要从代码中看出他人处理问题的思路,是适当困难的,特别是大型的程序,看起来是十分的累人,所以现在我也理解了,曾经读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎样去处理了,那么剩余的仅仅你组织代码去完结,这就现已不是什么问题了。举个比方:数码管动态扫描,没写过的初学者或许搞不清是怎样回事,其实,便是分时让每一时刻段时只操控一只数码管显现数字,几只数码管轮番显现,由于速度很快,人眼的看起来是悉数数码管都亮的。理解是这么一回事,作业就好办了,剩余的作业,无非是你组织让一只只数码管轮番显现出相应的数值。显现数字,然后延时一下,再下一只显现数字,延时,知道是这样,咱们实践程序上只需做到这样就能够:往段口送段码,然后翻开位选显现一只,延时一下,再封闭位选,再送出段码,再翻开另一只位选..仅此而已。有了处理问题的思路,咱们就能问题拆分开来,然后逐个的处理,假如动态扫描的原理都没懂,不知道怎样做,那么这个程序是怎样也写不出来的。
6、开动脑筋,运用多种办法,不断优化自己的程序。想想用各种不同办法来完结同一功用。这是一个操练和前进的进程,一个问题,你处理了,那么你再想想,能不能换种写法,也能够完结同一功用,或许说,你写出来的代码,能不能再精简一点,让程序履行功率更高,这个进程,便是一个前进的进程。许多常识和经历的取得,并不是直接写在书让你看就能够得到的,需求自己去实践,开动脑筋,经历才干得到堆集,编程水平才干有所前进。
7、看他人的代码,学习人家的思路。这个在学习初期是很有用,经过看他人的代码,特别是有多年编程经历的人写出的具有必定水平的代码,能够使自己编程水平得到敏捷的前进,一起,也能够结合他人的编程办法,与自己的主意交融在一起,写出更高水平的代码,从中得到前进。但要留意,切忌将学习变成抄袭,更不是抄袭完了就以为自己学会了,这样做只会使你让步。
8、测验编写一下归纳使用的程序。从流水灯学起,到动态扫描,再到中止,那么,你能够试试写一下时钟这种归纳性使用的程序,不要小看时钟,要写好它不是一件简略的作业,它包含了单片机大部分的常识,比方有按键(IO读取)、动态扫描(IO输出)、中止等,怎样和谐好各功用模块正常作业,才是编程者需求学习的当地,当你独自写一个功用的时分,比方按键读取,你或许感觉很简略,由于你的程序啥也不做,仅仅读按键。但把它和其它功用混合在一起,怎样在整个程序运转中使每一部分都正常作业,这就不是写一个按键读取这么简略的作业,功用模块之间有或许会相互影响,比方你需求让数码管既能显现,又要去处理按键读取,怎样使这两部分都正常作业,这便是一个和谐进程。当你有了这个处理和谐才能,你就算是入门了。
9、着重于培育处理问题的才能,而不是详细看自己编写了多少代码或许做过什么。“学单片机要点在于学习处理问题的思路,而不是局限于详细的芯片类型和言语”这一直是我的座右铭,是我学单片机多年来感悟出来的。常常看到有人说“你会驱动XX芯片,真牛啊”“你搞过XX项目,真凶猛”之类的话,其实这是十分片面的,搞过XX芯片,搞过XX项目,只能阐明你做过这一项目,它仅仅你的成绩,并不是代表才能就必定高。真实的才能应该是:“遇到没有处理过的问题或器材,能使用自己已学的常识,敏捷找到处理问题的办法。”这个才是才能。写程序的进程便是一个发明的进程,简直没有彻底相同的项目,每次你遇上的简直都不相同,所以你具有的有必要是你面临新项目时的发明才能,而不是标榜着你以往做过多少项目。当然,成绩也能从另一旁边面反映你的经历和水平。
10、假如有或许,多学习计算机专业的常识,比方数据结构等。这些是你处理问题的基础常识,你把这些常识使用得越好,就会发现越简略找到处理问题的办法,这便是为什么一个学计算机专业的人编的程序和一个非计算机专业的人编的程序有差异的原因。也是一个菜鸟进军到高手所要装备的常识。假如咱们把编程分为微观编程和微观编程,那么微观编程便是写详细的代码,比方操控某某器材的句子;而微观编程便是怎样对整个程序进行布局、组织,使功用模块以你想要的方法去运转,得出你想要的成果。如前所说“会操控XX器材”这些只能算是微观编程,能做到这一步还只能算是菜鸟等级,假如面临一个新的器材,你心里没底,没把握去写这个操控程序,那阐明你仍是一个初级的菜鸟。当你有了必定的编程经历,操控过适当数量的器材之后,你就会发现,操控器材这些作业都是类似的、重复的作业,表现不出编程的水平,最多也是写得好与欠好的不同,只能算是一些小技巧的使用。而对整个程序进行布局、组织这些才是最头痛的作业,能到达微观编程和微观编程都做好才是真实的高手。关于规划越大的程序,越能表现出这一点。
11、面临一个新项目时,多自己开动脑筋,不要急于找他人的程序。有不少人面临一个新项目时,第一步想到的便是网上找他人写过的代码,然后抄一段,自己再写几句,凑在一起就完结任务,这尽管或许是省时刻,但肯定晦气你的学习。当你接到一个新项目时,应该先自己构思一下整个程序的架构,想想怎样来完结,有或许的话,画一个流程图,简略的能够画在脑子里,对程序中用到的数据、变量有一个开始的组织,然后自己着手去写,遇到真实没办法处理的当地,再去讨教他人,或看他人是怎样处理的,这样首要最少你自己动过脑想过,自己有自己的思路,假如你一开端就看他人的程序,你的思想就会受限在他人的思想里,自己想再立异就更难了,这样你自己永久也没办法前进,由于你是走在他人的影子里。
12、多使用网络的查找,学会提问题。一般来说,学习进程中,你遇上的问题,前人们大都也有遇上的,所以假如有什么不理解,在自己处理不了的时分,最好先到网上查找一下,看能不能找到答案,找不到再到论坛里提问,提问也要有意图性,尽量简略明了的描绘问题,让协助你的人能够用最少的时刻就看懂你说什么,究竟人家协助你是免费的,时刻也是有限的。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/259328.html