如何学习单片机编程?我是一位单片机爱好者,对于如何学习编程,还是深有体会的。

首先,要具备有单片机方面的基础知识。我在校学过8051单片机汇编语言和FORTRAN语言,再就是微机原理和单片机工作原理,以及模电、数电、电路分析和电器控制。基础知识,我是有了,但你们发现没有,我没有学过C语言。我和大多数毕业生一样,基础会一点,但不是很熟悉。工作后,我对自己进行分析,发现除了做技术,别无他长。于是,我边工作边复习书本上的知识,并且还做了详细的笔记,把认为有价值的东西记在笔记本上,包括抄电路图,抄程序,并记录学习的心得体会。因为我熟悉8051单片机,当然学习的是这种单片机。由于那时网络不发达,信息闭塞,和外人交流很难,只能靠自己去理解,有时为了一个问题需要考虑很多天,问周围的人他们也不懂。一个偶然的机会,我遇到一位中专生,从他那里搞到KEIL编译器和烧录器,然后向他学习怎么编译生成HEX文件和烧录程序。单片机最简单的编程,就是对IO口进行操作,我很快就可以烧录自己的程序了。但是,他告诉我,你不会C语言,将来很难提高。于是,我又开始自学C语言。由于有FORTRAN语言基础,理解C语言还是比较容易的。为了能记住知识要点,我总是先看书,然后做笔记,有时还要到电脑上调试仿真,看看自己理解的和别人的结果是不是一样。当然一开始写程序时,就是把别人的代码看懂,然后在电脑上抄一遍,再编译,运行。有时候抄都能抄错,不是少了分号,就是少了逗号,最要命的就是用了中文符号。搞错了,自己也找不到原因,请教别人,别人说忙,懒得帮我看。总之,要先有单片机基础知识,才可以自学,否则,还是去花钱去培训机构学习吧。

其次是动眼、动脑、动手,多问,多总结。我叫它“三动两多”。动眼,就是看和单片机有关的书。动脑,就是思考和学习和单片机有关的问题,包括分析问题,解决问题。动手,就是写代码,编译调试程序。多问,就是多问自己为什么,有没有其他更好的方法来实现,包括给自己提问题,能找到老师问更好,大多是没有老师的,只能靠自己了。多总结是很重要的,避免下次踩坑。勤能补拙,书山有路勤为径,学海无涯苦作舟。你既然选择了技术,就选择了一辈子都在勤劳中度过。尤其是在打基础的时候,这几点必须要牢记。

再次就是测试单片机上所有的硬件资源。单片机的硬件资源通常有边沿中断、电平中断、IO输入输出,定时器、计数器、串口、复位等,以及I2C通讯和SPI通讯。将这些硬件通通写一个测试程序,看看运行结果和自己的设计意图是否一致。这样做的好处是,防止时间久了,自己会遗忘。能买到开发板最好,没有板子,只能软件仿真了。另外写程序时一定要做注释,多看看高手写的程序,不单单是看功能,还要看人家的代码书写风格,养成良好的编程习惯。如果能把单片机的硬件资源全部测试完了,基本上算是入门了。千万不要把别人代码编译烧录测试,但我们可以先读懂,然后按照他的功能要求,自己写一个程序测试,总比不动脑子要好。或者搞清楚别人写的好处在哪里,哪些地方是值得我们将来学习和借鉴的,以便用在将来的设计中。

最后就是找个项目提升自己。由于刚上路,胆子小,怕做不好,这种不自信的心理都是正常的。人生总是有很多第一次,过了这一关,就可以升级自己了。通常大公司不会给你这个机会,估计你得跳槽了,通常来说,小公司的机会较多。通常干两三个项目,基本上可以算是单片机工程师了。

找熟悉的单片机入门,先体验编程。不要一上来就搞系统,先学好裸机。因为问题会让你的热情消失殆尽,除非你有坚强的意志力,从简单入手,培养兴趣。让CPU带上系统,一般都需要走很长一段路。一是没人带,二是自己问题,三是老师不中。学习知识,有引路人会事半功倍。当然,仅满足于裸机的人,技术上很难走远。我们的目标就是走嵌入式之路。总之,能坚持下来的,都是精英。这期间会遇到各种困难,特别是在没人帮你的时候,你会更加孤独。兴趣是第一老师,你的热情不会因此而减退,狂热的追求,任何困难都无法阻止你前进的步伐。

最后祝大家准备过苦行僧的日子吧,让孤独永远伴随着你,你和单片机结婚吧。

如何学习单片机编程?相关推荐

  1. 怎么学习单片机编程?单片机基础入门内容有哪些

    怎么学习单片机编程?其实吧,单片机学习起来不难,反而是一件比较有趣的事情,之所以新手感觉比较难是因为不知道该怎么入手,从哪里开始学起.那么要怎样才能从单片机的基础入门呢? 单片机的学习无外乎两个内容: ...

  2. 怎么学习单片机编程?粤嵌单片机基础入门内容

    怎么学习单片机编程?其实吧,单片机学习起来不难,反而是一件比较有趣的事情,之所以新手感觉比较难是因为不知道该怎么入手,从哪里开始学起.那么要怎样才能从单片机的基础入门呢? 单片机的学习无外乎两个内容: ...

  3. 零基础学c语言要多久,零基础学习单片机编程需要多长时间?

    单片机自学要多长时间 学习单片机就是学习单片机的硬件结构,内部资源与外设的应用.在C语言中(极少量的汇编)掌握各种功能的初始化,启动与停止,实现各种功能函数的编写与调试. 下面咱们就来分步骤看一下对于 ...

  4. 学习单片机编程第一天——点亮一个LED灯

    必要的一点说明:使用keil5编写程序,在STM32F103C8T6单片机上运行. 跳过无聊的新建工程文件等步骤,此次项目我们只针对三个文件进行操作,分别是: main.c         led.c ...

  5. 单片机编程软件很简单(二),keil单片机编程软件心得秘笈

    单片机编程软件为常用软件之一,单片机开发人员均用过多款单片机编程软件.那么,用单片机编程软件进行开发时,大家是否有独特新得呢?本文对单片机编程软件的讲解基于Keil C51,主要为大家介绍使用这款单片 ...

  6. 干货分享:单片机编程学习攻略!

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 阅读本文大概需要 3 分钟. 目前,一个学习与应用单片机的高潮正在工厂.学校及企事业 ...

  7. 单片机编程入门学习 这几问你能回答吗?

    单片机编程入门学习前,大家即使对单片机的了解浅薄,相信也明白C语言在单片机学习的重要性.至于再深入,可能就比较懵逼了. 1.C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记 ...

  8. 我是怎么提高单片机编程能力的?

    我对编程的兴趣源于黑客- 没想到最后竟然走了单片机开发的路线,或许是现实不允许我有梦想. 黑客的成长过于漫长,而我当务之急是找份工作糊口. 我并不是计算机专业,临近毕业对编程也一窍不通. 第一次自学的 ...

  9. 32单片机编程简单吗?单片机程序与桌面编程哪个难?

    STM32单片机编程对很多新手来说就像"天书". 我当初是学习了51单片机,然后就去找工作了,这已经是10年前了. 刚进入公司,老板先是让我维护老产品,也就是stc单片机做的项目, ...

最新文章

  1. usaco Pollutant Control
  2. 在AWS上搭建NEO私有链(1)
  3. maven 打包jar_Maven一定要会的这几个知识!
  4. 词嵌入应用_神经词嵌入的法律应用
  5. 图解算法学习笔记(三):递归
  6. 2009 .NET技术大会图文分享
  7. Guns 旗舰版2.1发布,更新树形表格
  8. 古风祥云PNG免抠素材,喜欢吗?
  9. kubernetes英语怎么读_英语音标怎么读?如何从零基础英语音标入门英语口语学习...
  10. Arduino编译bootloader
  11. java HelloWorld时报错:“找不到或无法加载主类“问题的解决办法
  12. Windows添加启动项的两种方法
  13. 20分钟带你学会博弈论
  14. Flutter Android权限问题
  15. Qt中打包程序运行时出现:0xc000007b错误
  16. Rayson API 框架分析系列之6: 客户端动态代理原理
  17. 同洲电子营收连续四年下滑 机顶盒市场遭蚕食
  18. 服务器怎么导入皮肤文件,Malody皮肤导入的详细技巧
  19. 使用Jwt验证登录demo
  20. 如何离线安装npm包

热门文章

  1. 仿制金山毒霸专杀工具界面实现源码
  2. oracle11gr2安装hard limit错误
  3. 如何让微信公众号具备查询功能?试试这个方法
  4. 机器学习:什么是困惑度?从信息熵和交叉熵谈起
  5. 【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 42页论文及代码
  6. R语言使用sd函数计算向量数据的标准差
  7. 计算机实现乘法和除法的运算逻辑
  8. 封包工具Enigma Virtual Box
  9. 安装ifconfig命令
  10. 定义Definition、公理、定理、推论、命题和引理的区别