学习单片机事半功倍的方法
怎么学单片机?经常看到在论坛上有人说不知道怎么入门单片机,像一只无头苍蝇一样,到处寻找方向。因为每个人受到的教育水平不同和个人理解能力的差异,有些想入门的同学就需要别人稍微的指点一下方向。
其实他们缺少的是学习方法和规划学习的路线。规划好自己的学习路线和找到一个好的学习方法,能让你事半功倍。这里说说我学习单片机的方法。
1、所有的事情都是从无到有的
就像我们开始学习汉字的时候,“一”这个字不是我们一开始就会的,写字本上写几百次,我们的脑袋就会知道它是一。选择一个具体入门的单片机例如51、STM8或者STM32等,购买一块开发板。开发板都会配备资料,大致的看个几遍,找一个最简单的流水灯程序跑一下,感受一下什么是单片机。
我们可以参考别的人程序,刚开始抄过来也无所谓,这里的抄不是指复制粘贴,而是对着别人的代码自己手动编程。通过烧录器让单片机运行起来,让我们了解写程序和实现单片机的运行流程。
无论写复杂的程序还是简单程序,流程都是大同小异的,总需要新建一个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。
2、知识点用到才学,用不到的暂时放一放。
大多数的研发人员不会去死记硬背芯片的资源,因为太多了,根本无法全部记住。对于初学者我敢说记完一本资料基本上就不想学了,而且还会出现刚看到后面的内容,前面的内容估计也快忘光了。单片机是一门现学现用的学科,需要用到的时候才去看,不是把书看完才用它来写程序。
就拿我们上面说的流水灯来举例,我们要了解关于流水灯的部分,像传感器、中断这些你根本不需要去了解。专心把流水灯需要用到的学好就可以了,单片机就是化整为零,需要哪部分就学习哪部分学完了马上去用。
3、程序一定要动手自己写
最开始的时候,我们可以什么都不懂,可以对着别人的程序写,去实现自己的第一个功能。但是我们要去总结别人程序的逻辑过程,看看每一句是干什么用的,达到什么目的。
看明白了之后,关掉别人的程序然后自己写一次,你会发现你还是写不出来,多看几遍多练几遍你就会发现你越写越多,这是每个初学者必经的过程。
当你完全写出来后再把题目稍微的改改,比如原来是显示八个流水灯,你可以改成间隔的显示四个流水灯,原来是从左到右你就改从右到左。当你还能写出来的时候,恭喜你你已经入门了。
4、调试程序时要细心、耐心和会求助找解决方法。
不少初学者写程序时,把代码写好后,放到单片机然后一运行,不是自己想要的结果,就原地爆炸了,把自己的程序往论坛上一发,然后就坐等别人来给自己分析。学会求助这个是没有问题的,但是自己也要学会去寻找问题,发现问题和解决问题。
现在网上资料多我们完全可以通过自己的方法去解决问题,甚至都可以找得到一模一样的程序去对照检查。每一个问题都是一次积累,积累多了以后犯错就会少。
5、制定一个用单片机实现的小项目。
我们用单片机来控制周边器件,达到我们想要达到的目的,这是一个项目。要实现这个项目,需要用到单片机上面的哪些模块,更或者需要连接外设等。
设立项目有利于我们去了解更多单片机的知识和去学习新的知识,更方便我们了解单片机的架构。知道哪些芯片能开发哪些项目,当自己所学这一款达不到自己的项目时,我们就会主动的去学习对应的芯片。就可以把学习从被动变为主动。
6.多看别人的代码
这个在学习初期是很有用,通过看别人的代码,学习别人的逻辑思路,特别是有多年从事编程经验的前辈,可以使自己编程水平得到迅速的提高;同时,也可以想象一下如果自己要实现这个目的自己要如何去编写程序。看看自己的不足取长补短。
7、尝试编写一下综合应用的程序。
当我们学习到一定程度时可以尝试写一下时钟这种综合性应用的程序,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,涉及的模块多了就要考验我们如何协调好各功能模块正常工作,这是我们要学习的重点。这是以后工作中也会遇到的问题。
学会这些我们就可以告别初学者这个段位了。
想要一起学习单片机的朋友,评论”我要入门“,有惊喜,加入我们,就可以与导师一对一互动,快速成长
有了Arduino你可以做一个会写字的时钟甚至可以DIY自己的3D打印机
Arduino
05年诞生于美丽的意大利,据说是以一个酒馆命名的。作为开发板,我们当年最熟悉不过是51单片机那类。
由于Arduino的开源性,它的发展真的是快,你要搞懂了,那可真是为所欲为。
今天这里IT极客数码,只介绍俩块板子,Arduino Uno(和我一起读:乌no,不要平时打牌打多了 读成you know)
还有个Arduino Mega 2560
Arduino Uno
Arduino Mega 2560
Plotclock
国内大家有翻译叫小贱钟,它就是不断的在白板上写着时间,然后擦掉,继续写,再擦掉,
其实说实话,你可以让它写字,写一个擦一个,表白神器,有没有!大家自个儿研究吧,plotclock的所有图纸和程序都是开源的~
Kossel mini
可能有些老哥知道这是三角洲 3d打印机 ,国内有大佬 改制了叫kossel 800 为啥800 ,800块你就能自制一个,当然mini原版也很便宜,贵的东西就一个——上银导轨
这款打印机就是使用的Arduino Mega 2560这款开发板,你看板子是开源的,整个3D打印机,也是开源的,据说这是国外某大学教授为了锻炼学生设计的,理念是,以3D打印机制造3D打印机,就是这台打印机的所有零部件都可以用另外一台3d打印机打印出来。这种开源精神真是佩服,想自己动手的通知去维基吧,直接搜kossel mini就出来了,某bao上的商家真是。
英文制作手册
中文翻译,资料在图中呢~
我自己当年也做了一台= =
年轻真好
直接CNC的边角
Mega 2560
当年的经历,真是,时代真好,一天不少于十个快递,想做什么就做什么,不感叹了~
(文/IT极客数码)
时间真是快呢
做了一把给自己,看我的置顶文章,喜欢的关注一下
相关问答
我是大一学生(开学大二),学习 单片机 之前应该先学会什么,具备什么能力,还有开发 单片机 软件用什么?1)爱好嵌入式控制的,或者想要将其培养为爱好的相关专业学生为什么首先强调要爱好呢?因为爱好是一个人做事的原动力,有爱好才能有激情,才能专注,才能为之...
如何看待学生写作业用 写字 机器人?每个年纪都有每个年纪的焦虑,对于成年人来说是怎么不被同龄人抛弃,而对于小学生来说,则是在这个欢乐的寒假的尾声,如何把作业给赶紧做完。极客君当年就是这...
十字旋转LED的原理,有人能通俗易懂地表述出来吗?LED的原理,都是通过视觉暂留效应,就是人在观察景物时,光信号传入大脑神经,经过一段短暂的时间,光的作用结束了,但是视觉形象并没有立刻消失。就像我们坐火...
将I2C当成普通IO口做按键开关功能,需要注意什么模式控制采用带记忆功能的单片机,可根据用户习惯记忆常用模式;手电结构上的防反...三、阳台改书房要素:写字台也是书房必不可少的写字台可以结合书柜一起定做,不...
调光的台灯何不调光的台灯有哪里不同还有什么多出来的部分吗...1:单片机控制LED的亮度,用的是PWM技术。LED显示屏能够显示不同的色彩,用的也是PWM技术对三色LED进行调光的。2:这种调光方法为通过调制LED驱动电流来完成LED灯...