注册登录才能更好的浏览或提问。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
刚刚走出校门时,对单片机比较陌生,知道有这种东西,也见过芯片,但具体是做什么的不知道。毕竟咱不是学电子、自动化的。
工作不久,我获得了一个培训的机会:我们购买了一台国产设备,由于生产商距离较远,设备又比较重要,所以派我去进行维修培训。这个机器的控制系统,就是基于8031单片机的。去之前,我去书店买了2本有关单片机的书籍,仔细阅读了一遍,感觉并不十分困难。厂方带我的工程师对那台设备很是熟悉,对单片机系统也有一定的了解,给我仔细分析了系统的结构,让我第一次了解了单片机系统的大致情况。回来后很长一段时间,再也没有接触到这类东西,基本上忘记了,偶尔也看看书,但看过就忘,没有任何提高。我一朋友说:你得参与开发一个项目,才能真正提高。
机会终于来了。一家小公司要开发一种仪器,要找一个兼职的抄图员。我刚好没什么事情,业余时间很多,离家比较近,而且这个是我的本行,于是就去了。用AUTOCAD画图对我来说是轻车熟路了,任务很快就完成了。没事就看他们电路控制这方面的事情。有2个工程师负责:1个负责硬件,设计电路啊、画板啊、焊接什么的。1个负责软件,编制程序。两个人配合得非常好,设计硬件的把电路图画好,GAL写好,然后把各个输入输出的端口地址告诉写软件的,写软件的就开始写程序,最后调试。可以说,这两个人都是不多见的高手。但也有缺陷,搞硬件的几乎不会写程序,搞软件的不会设计电路。
后来,由于公司内部出了问题,这两个人相继辞职不干了,总工让我试着接手他们的工作。我是个喜欢挑战的人,决心一试。应当说难度比较大,因为系统还是比较复杂的。但这两个人都有很好的设计习惯,让我很快就接手了任务。以硬件为例:电路图左边是输入,右边是输出,BUS、NETLABLE画得很有美感,名字起得让人望文生义,很容易理解。10几张电路图,他给我讲解了半个多小时就基本了解了。电路板也画得非常齐整。软件写得太棒了,用C语言写成的(也有一部分汇编),一看就是高手写的程序,结构化很强,变量一律是匈牙利标记法,变量名也是让人望文生义,知道表示什么。我和写这个程序的人只见过一面,也没有让他给我讲解程序,1000多行程序,我看了几天就读懂了,可见程序水平之高。有些人写个简单的小程序也是花样百出,跳来跳去,让人一头雾水,看不明白,其实都是些雕虫小技,人人都读得懂的代码才是最好的。
三个月以后,我彻底搞明白了系统,并对程序进行了修改,感觉自己有点入门了。但这个只是看别人的,改别人的,自己没有亲自做一个,总觉得差点什么,我得自己做一个什么。
机会又一次来了,公司要开发一个新产品,还得用单片机做控制板,这次我要试试了。由于有了前面的基础,原理图的设计和绘制一周就完成了,而且还不错,我很满意,也得到了高手的夸奖。电路板的绘制可是遇到了大麻烦,从来没有画过,没有任何技巧,那时候的PROTEL还是DOS版本的呢,自动布线几乎布不通,一块100CM2的电路板画了一个多星期都没有画通,后来还是高手给讲解了一下,才恍然大悟,很快就布通了。电路板图送去加工了,中间的时间刚好编程序。程序的编制也没有遇到太多的麻烦,由于是第一次写程序,我想用汇编试试,毕竟这是最基础的语言,和电路的硬件结合最紧密,能够更好的理解51系统。汇编语言不是好语言,结构性很差,程序跳来跳去,尽管我在可读性上费了很大的精力,但可读性依然很差。电路板加工回来,焊好电路,调试,很顺利,程序很快就跑起来了,第一次感到有很大的成就感。
不久之后,我用C语言重新写了代码,这下可读性提高了,一个中专文化的学生经过我的讲解之后,就能改我的程序了。而且,我将C语言编译之后的汇编代码于我自己写的汇编代码做了比较,发现C51的编译效率非常高,执行速度上几乎没有什么损失,有些代码甚是胜过我写的汇编代码,太神奇了。我作出决定:以后全面采用C51。现在,即使是中断服务程序,我也都用C语言来写了。
后来相继有几个项目,我越做越熟练,而且软硬兼施,一个人包办电路设计、电路板绘制、程序编制的全部工作。由于都是我一个人搞的,所以调试起来也现对容易。软件解决不了的地方我用硬件解决,硬件不方便的地方我用软件解决,越来越得心应手了。特别是做了一个单片机和微机通讯的控制项目以后,心理就更踏实了。这个机器用了6个89C2051,1个89C52,通过串口和计算机相连。在这个里面我偿试了很多东西:自感应、热插拔、诊断程序、更多的安全理念……。微机这边的程序也是我编制的,VB、数据库、FLASH动画……让我感到无比欣喜。我看到更广阔的世界和更多的可能。
从上一个项目结束到现在,4年没有搞过设计了。但那段日子让我受益颇多。
1.良好的工作习惯。画图、画板、焊接、编程,无不渗透这这个理念。我从学习单片机至今,应该说比较顺利。很大的一个原因就是我的几位老师有着良好的工作习惯,让我少走弯道,一路放歌走来,真要好好感谢他们。
2.阅读资料的能力。这个应该是我个人在工作中慢慢形成的。从一开始硬着头皮上,到后来吹着口哨看手册,然后写芯片的驱动程序,这个跨越需要下大功夫,没有什么捷径可言。
3.不断学习的精神。也曾经遇到过非常棘手的困难,得到不少人的指点和帮助,更多的是从书本中获得启迪。做设计也好,做维修也罢,要能不断更新自己的知识。人外有人,天外有天,做一个好的工程技术人员不容易,要终生保持相当强度的学习。
愿与各位同仁共勉。
|