资深单片机技术牛人:谁才是真正的工程师?

资深单片机技术牛人:谁才是真正的工程师?,第1张

  吴鉴鹰在论坛连载的吴鉴鹰单片机项目《详细解析系列(连载)之基于单片机的实战项目》引起很大的反响,我相信很多人对这位达人十分感兴趣,本期社区达人,咱就来了解了解吴鉴鹰对学习、对工作的态度。

  下面开始电子发烧友论坛对吴鉴鹰的采访:

  1.电子发烧友:在论坛上你发表的单片机项目实战详解的连载贴引起很大的关注,大家都比较想了解您个人学习的历程与感想,与大家分享一下吧

  吴鉴鹰:在本科期间,就积极参与校园的各项活动,那时我对电子的感情用“痴迷”两个字来形容绝不为过,参加学校组织的各项比赛,在本科生期间,获得全省的电子设计大赛一等奖,飞思卡尔比赛二等奖。利于业余时间申请并获得专利10余项。

  那时候我们学校有一个电子协会,电子科技协会周末还常组织我们给学校里的同学做电器“义务维修”,当时我还以为义务维修是全免费的,后来才知道还是要赢利的……当时真的很不解,为什么学生还要赚学生的钱?虽然维修的费用比外面维修店要便宜很多,但心里还是着实不舒服了很长时间……那是这个社团第一次给我很不好的感觉……义务维修的过程中我学到了很多东西,维修一样以前没有接触过的东西,就迫使着自己要去最短时间内去学习相关的知识,而且还能从实际产品中学到很多成熟的产品设计技巧,更了解到导致一个产品结束使命的往往是设计上的很小的缺陷。另外,帮同学修东西的过程中能感受到很丰富的情感,也许一个很简单很破旧的随身听身后藏着一段什么样的美好回忆。也许将来我的设计也能带给使用他的人这样或那样的美好回忆……

  这些东西在后来的研究生学习和今后的工作中还是有一定的帮助的。

  2.电子发烧友:您对那些想学好单片机技术童鞋,有什么建议?

  吴鉴鹰:我凭借自己多年的项目经验,给几点自己的建议:

  首先,单片机应的学习该有一定的基础:电子技术方面要有数字电路模拟电路等方面的理论基础,特别是模拟电路;编程语言要求汇编语言或C语言,有很多工程师不建议学习汇编语言,我个人觉得学习汇编语言是很有必要的,学习汇编能让你更好的理解单片机内部的硬件。

  当汇编语言学的差不多的时候,然后再转入C语言学习。尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,执行速度快等优点,更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。汇编语言在单片机教材里面都会涉及,不需要单独购买教材和学习。

  C语言是一门学问,有很多专业书籍来讲解,并且对我们今后的编程生涯有绝对的好处,因此要深入学习,千万不要自以为看了某某的视频教程就以为掌握了C语言,那只是C语言的一部分。在这里给大家推荐一本单片机 C语言程序设计参考书,马忠梅等著,北京航空航天大学出版社出版的《单片机的C语言应用程序设计》,要求C语言基础。如果没学过C语言,建议学习清华大学谭浩强编写的C语言程序设计,这本书写的不错,通俗易懂。

  其次,是单片机教材选择。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,按内部结构体系派系分:51系列、PIC系列、AVR系列、摩托罗拉等等……我们没必要每样都学!因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就OK了!尤其是用C语言编程,就几乎不用分什么派系,但是我们要选择一款有代表性的知识范围广,并且入门容易,书籍多。一般来说,MCS-51系列单片机已经得到广泛的普及和应用,市场上它的资料也比较多,用的人也很多。

  3.电子发烧友:目前谈论比较多的是16位、32位MCU取代8位单片机,你觉得8位单片机是否会被取代吗?谈谈你的看法

  吴鉴鹰:根据摩尔定律:在的微处理器存储不穷,好像每年都会有很多新的产品推出,每18个月,处理器的速度提升一倍,价格减半。就像奔腾淘汰586一样。单片机的存在有他的原因,这需要从芯片的成本说起。像原来STM32很贵,现在成本也很低,就几块钱一片。

  决定芯片成本的因素一般有如下几个方面:

  1.芯片的流片量,流片量越大成本越低,所以有些高性能、高容量的16位单片机比8位的单片机还便宜。

  2.芯片的面积,芯片的面积越小,那么在一块晶圆上切下来的块数越多,成本越低。向ARM这样的芯片性能很好,但芯片面积相对也大,所以成本不容易降低。如果哪一天工艺提高了,那么ARM的成本很可能会大幅下降近而取代类似51的单片机。但目前来说大幅提升工艺的技术还没有。而且目前单片机在很多应用中是够用的,而且也有很多16位、32位的高性能单片机。究竟使用单片机还是ARM取决于产品的需求和成本的考虑。

  所以我的结论是短期内8位单片机是不会被淘汰的,因为毕竟工艺的提升不是一朝一夕能做到的,我的看法是8位单片机最终会被高端的处理器所替代。

  4.电子发烧友:有网友提出学习单片机C语言很难,这个要怎么去学习,应该养成哪些良好的编程作习惯?

  吴鉴鹰:C语言其实是学好单片机的一个重要的大梁,谈到编程习惯,我觉得这是一个很复杂的问题,需要注意的东西很多,由于篇幅所限,我就简单说几点吧!在以后的帖子中我会专门写一讲来讲述这个问题,欢迎大家到时关注!

  ①全局变量用具有描述意义的名字,局部变量用短名字。函数采用动作性的名字。保持一致性。

  ②缩进形式显示程序结构,使用一致的缩行和加括号风格。使用空行显示模块

  ③充分而合理地使用程序注释 给函数和全局数据加注释。不要注释不好的代码,应该重写。不要与代码矛盾。

  ④友好的程序界面,程序界面的方便性及有效性

  ⑤不要滥用语言技巧 使用表达式的自然形式。利用括号排除歧义。分解复杂的表达式。当心副作用,像++ 这一类运算符具有副作用。

  ⑥程序的健壮性:容错

  ⑦模块化编程

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2432214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-02
下一篇 2022-08-02

发表评论

登录后才能评论

评论列表(0条)

保存