上大学时,因为痴迷机器人制作,我开始自学单片机。随着深入了解,我开始对单片机产生浓厚的兴趣。室友们在开黑玩dota,我在搭电路敲代码;室友们在看天下霸唱的小说《鬼吹灯》无法自拔,我在读郭天祥的自述《我的大学六年》斗志昂扬。就这样,学习了一段时间C语言和单片机,我就开始着手制作机器人。经过一年多时间,我制作的机器人数量不断的增多,对单片机的理解和使用也有了很大的提升。后来我的好友也开始学习单片机,可没多久他就跑来和我抱怨单片机太难学,我就让他去网上买了一套单片机开发板,或许这样学习会更容易一点。别说,开发板上的资源还挺丰富,流水灯、数码管、矩阵键盘、LED点阵、红外遥控器、直流电机、步进电机、LCD屏......应有尽有,还配有视频教程。这可比我当初自己搭建的最小系统板强多了,这下应该没问题了。

单片机怎么学_单片机学习方法

单片机开发板

果然,没过多久好友就告诉我:“单片机其实还是挺简单的嘛。“我给他设计了几个小项目,他瞄了一眼,说这个太简单,涉及到的知识点开发板上的教程都有讲过,不用再做了,自己回去找点别的项目做。过了一段时间,我的机器人小组要招新人,考题是根据提供的材料现场制作一辆循迹避障智能车。我的好友也来了,看着他自信满满的样子,我也就放心了。可是最后的结果出乎我的意料,他什么都没做出来,他自己也很诧异,明明想法是有的,可是却无从下手。后来,又有几个学弟在学单片机的时候也存在这种问题。我开始认真的思考他们的问题所在:

初学阶段过度依赖单片机开发板,完全跟着开发板的教程学习,缺乏主动性。

对单片机的认知不足,急于求成,恨不得一天就把单片机学会,导致基础不扎实。

盲目自信,跟着教程学习了板上所有资源就觉得自己已经学会了单片机,不屑于从简单的项目开始做起。

遇到疑难问题总是逃避,不积极处理,总想留在以后解决。

误认为单片机主要学习内容就是写代码,不重视底层硬件知识和接口电路知识。

总而言之,没有找到正确的学习方法。

那为什么我在学习单片机过程中没有出现他们的这些现象呢?

第一点,我没有使用开发板进行学习,我不是说开发板不好,其实开发板是很好的单片机学习入门工具,但仅限于入门,它的延展性太差,无法引导大家更深入的学习。

第二点,我学习单片机主要是为了制作机器人,而机器人制作则恰好为我深入学习单片机开辟了一条正确的道路:当我制作红外循迹智能车时,我认识了红外反射传感器,设计了红外传感器接口电路和H桥电机驱动电路,编写了多路红外传感器扫描和PWM调速代码;当我制作CCD循迹智能车时,我认识了图像传感器,设计了图像传感器接口电路,编写了图像传感器的驱动程序和简单的图像处理算法,认识了opencv开源库,学习了PID控制算法;当我制作六足机器人的时候,我认识了舵机,开发了多路舵机控制器,开始学习Labview编写上位机;当我制作自平衡车的时候,我认识了加速度传感器和陀螺仪,了解了卡尔曼滤波,加深了对PID的认识;当我......

在这些机器人的制作过程中,我熟练掌握了各种调试技巧,注重代码编写的质量,面向接口编程,接触了设计模式,归纳了编程中常见错误......就这样,沿着机器人制作这条路去学习单片机,不会因为某一个模块代码简单就不写,不会因为某一个模块电路简单就不画,更不会因为眼前的困难而放弃,因为我的目标就是完成我的机器人制作。

说了这么多,只是想让大家知道我的方法并不是空穴来风,而是我这么年来的经验之谈,即使现在已经工作好几年,我依然通过这种方式在进步。当然,这也只是我的一家之谈,希望对你有所帮助。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查