当前位置:主页 > 体育 > 足球 > 正文

看看单片机牛人成长感悟,让人豁然开朗

未知 2019-07-26 10:53

首先,自我介绍一下:电子工程师一枚,1988年生,11年毕业,在京工作五年,月薪20K。主要是因为自己比较懒,不愿意做比较累的工作,不然待遇还会更高,不过那样的话生活就没意思了,我喜欢慢慢的享受生活。我16年入驻快包平台,成为快包的优质服务商。到目前为止接过3个包,金额不大不小,个人独立完成,在赚点外快的同时找点自我满足感!

之所以把自己的经历写出来,一是无聊,最近在快包的项目刚刚做完;二是经常逛贴吧,在年轻人身上经常看到自己当年的影子,所以不希望他们走弯路。那么现在,就让时间回到2011年的夏天。

当时刚从大学毕业,专业是微电子学。严格地说,我的专业是制作芯片,而我现在的工作是应用芯片,已经走偏了。不过没办法,这个专业是学校新开的,各个老师都是学校东拼西凑过来的,那种感觉就像用韭菜和茄子做出来的大拌菜一样,吃起来怪怪的。我到快毕业都没想好该怎么找工作,刚好这个时候宿舍的一个哥们刚刚 参加了一个培训班回来。他觉得很好,于是跟我说:去MCU起航吧,那里还不错!

我就想无头苍蝇忽然遇到一扇窗户一样,毕业了家也没回,直接背上行李去培训部了。地点在燕郊的创业大厦,食宿条件很艰苦。住宿的地方是租的一个两居室,里面放满了上下铺,还有其他来参加培训的同学,他们来自各个地方。在之后的几个月里,我和他们结下了深厚的友情。

20个人,分成了四组,每组负责不同的项目。我在第一组,要做一个波形发生器出来;刚刚分到任务我有点晕,因为单片机我都还没摸过,就要做东西,这是不是有点不合适?虽然在大学里学过课程,但完全是理论课,东西都没见过,更别说做东西了。于是开始疯狂的找各种学习资料,刚开始各种看不懂,但是还是咬咬牙,开始搞了。

第一步,项目需求分析,为期一周。带我的老工程师要求我们第一步先去做需求分析,知道自己负责的项目在市场上有没有空间,该如何定位,技术指标如何确定,原理框图如何绘制。

于是,我们开始了疯狂的.......上网,是的上网查资料。凡是和波形发生器相关的内容,都下载下来,然后共享。相关的厂家、型号、技术指标、设计方 案、参照代码、市场分析等等等等,就记得那段时间是很疯狂的一段日子。我们像公司员工一样签到、签退,却要比他们更辛苦,因为我们晚上11点才离开实验 室,是每天!大脑像运行到极致的CPU一样,用力的查看着每一条可能有用的信息,每一次呼吸都感觉自己很累,不确定今天能得到什么结果,也不知道明天会怎 么样。于是,我不停的喝水,让自己有更多的上厕所的时间,这样可以多休息一会儿。

每周休息一天,日子很累,但却充实。我已经明显感觉到和波形发生器相关的各种关键词都充斥在我脑子里了,DDS、频率范围、单极性波形、双极性波形、调节 精度、输出波形峰值等等。但这些还不够,因为我们得到的这些信息都是搜集来的,并不确定可行性。一切的一切,需要下周一老张审核我们的方案。而我们的心 态,也从最开始的畏惧,逐渐被越来越多的疑问代替,然后抑制不住的想知道答案。

第二步,开始动手?NO!带我的老工程师说去逛市场吧!What?我们愣了.....好吧,最后才知道,原来是去中发电子市场采购。可以这么说,在北京搞电子 的,没有人不知道中发电子市场,你能想到的一切器件,在这都能找到。于是,一群菜鸟,选了一个阳光明媚的日子,兴冲冲的来到了中发电子市场,任人宰割.......

第三步,用汇编语言熟悉单片机的基本功能。是的,你没看错,是汇编语言!就是说,之后的项目也要用汇编去完成。当时没有想明白,但是当我一个月后熟练的掌握51的底层结构的时候,我已经有点懂了。先从ORG开始,然后是MAIN...再然后MOVE来MOVE去,别人怎么写,我就抄过来,背下来,然后反复写几遍,竟然就懂了。

从对单片机的一无所知,到跌跌撞撞不小心滚进单片机的大门,就这么发生了。那几天是异常兴奋的,我感觉我就是万能的神,我可以控制一切芯片。每段代码,我写了好多遍,然后又下载了好多遍,每一次成功、失败的过程都激励着我前进。

记得有一天在调试数码管,代码改了一下,重新烧录,结果整个电路忽然就不工作了。我愣了,不至于啊,改动不是很大,就算有问题,也不至于整个电路没反应。 于是我花了一个下午查看代码、检查电路都没找到问题。到了晚上,我想再下载一次试试吧,代码没动,烧录进去,结果忽然就好了。

我瞬间愣了一下,放佛想到了什么,马上打开AT89S52的器件手册(之前有粗略看过),第一页的一个参数解决了我的所有疑惑:该芯片的flash区擦写次数为10000次。换句话说,因为多次擦写程序,导致这块单片机的程序存储区寿终正寝,已经快被我玩死了!

这是我第一次感觉,虽然你找过很多资料,学习过很多知识,刚开始或许不觉得有什么用,但他一定会在你未来发展的路上起到一定的价值!!!

当时的我们,没有开发板,只有一块面包板。所有要用的东西,都是自己焊接的。可能耽误了很多时间,但是对后来工作中电路的检查能力,起到了很好的锻炼。这里还是要说一句:初学者少碰protues仿真,什么时候用?当你已经 完全学会单片机,在项目中要验证代码和原理可行性的时候再去仿真。想通过protues仿真来学习单片机,这真的是笑话了!

第四步,真的要动手开始做了。玩真的!具体指标记不清了,大概是:4×4矩阵键盘控制,数码管显示,频率10HZ~1000HZ按键可控,三角波、正弦 波、方波可选。难点主要在频率可通过按键控制上,就是说从10到1000,我随便输入一个数字,输出端都要给出相应的频率。频率是通过定时器定时中断控制 的,这就要求有一个算法,能根据输入值,计算出每次频率更新时,需要赋给的定时器初值。这涉及到16位的除法运算,汇编里面的除法器貌似只有8位,不够 用。没办法,我们到处找16位除法的算法,最后用减法循环模拟了一个,效果还不错。

后面的事情,很顺利了。大家的项目陆陆续续都出来,然后坐在一起进行经验交流。还有件事比较重要,就是学习C语言。虽然汇编效率高,但毕竟移植性太差,已经慢慢没落了,而C语言的生命力还很强,很多地方都能用到。

学完C语言,开始接触AVR和430单片机。在51里面摸爬滚打了一个月,可以说,我们是把51揉碎了,一点一点学完的,跟那种自学,仿真,或者看视频的效果完全不一样。当我拿到430的开发板的时候,我只用了3天时间去熟悉它。前面一天熟悉开发环境和开发软件,后面两天看相关例程。因为我们学习过、动手过、实战过、焊接过、调试过,当我们再去看这些高级单片机的时候,真的是一种轻而易举、水到渠成的感觉。

总结:单片机入门可能比成长还要困难,刚开始的时候你可能摸不着头脑,就算看了很多学习资料也不会立即出结果,但是前期这些学习资料、基础经验的积累会在你成长的过程中逐渐显现出来,在日后的开发设计中发挥重要作用。所以,无论何时,都不要放弃学习的机会!

单片机学习资料强烈推荐,笔者精选了“单片机原理及应用”、“单片机c语言编程实例大全”、“十天学会单片机实例100”、“周立功写给学单片机年轻人的话”等学习资料,希望帮助更多的工程师学习成长!!

看看单片机牛人成长感悟,让人豁然开朗

标签