|
第一次知道"单片机"这三个字,那是1997年.那时我还在读中专,疯狂的在自学电子,这三个字是从上看到的,但当时对单片机没一点认识,电子方面也是一片空白,所以单片机到底是何物,就不得而知了. 中专毕业后在家乡任教.但对电子的爱好还是那么疯狂,于是一边教书,一边继续我的电子方面的学习.偶尔一次在学习机上看到了一个编程语言:G-Basic,马上就迷上了.于是不分日夜的啃Basic.可惜那时候我的工资是265 RMB,根本没有钱来买电脑于是用学习机编Basic学了1年.1999年公务员加了点工资,工资涨到了430 RMB,终于积了一点钱,于是在1999年冬花了1xxxRMB在旧货市场买了一部486 DX2(66MHZ),那是一个高兴啊.于是学点Quick Baci,Foxpro,然后学Borland C++5.0,再后来就学Visual C++6.0.
真正对单片机有感性认识,是在2002年冬.我有一个朋友在东莞一家公司做电子工程师,他知道我是学编程的,刚好他公司需要一个单片机编程的,就打电话问我.我此时不知道单片机为何物,自然没有下文,但他告诉我,月薪有2800RMB,这句话让我真正认识到了单片机(^_^)
接下来就是上网,搜索"单片机",搜索到的第一个地址就是这里.然后下了一些资料.我现在还记得我下了"陈明计"的一个OS(当然那时是胡乱下的),还下了一个2K 的Keil C,买了一本和,狂K了三个月,然后就跑出来了.
说真的,我学单片机,要感谢Keil C.因为如果不是他提供给我2K限制版,我就不会一直去专注搞汇编.那时候写的程序虽然很小(我们那个城市非常落后,我想买片子,都买不到,学习板就更别说了,一句话,就是看书而已,说上说什么我就跟着做什么--瞎蒙).后来实在讨厌了2K的限制,于是就仔细分析了Keil C生成的代码,一行一行,终于发现了ASM对应的机器代码和编码规律,于是就写了一个,直接对ASM汇编成hex或者bin.虽然从来没有烧录过软件,但我的编译程序生成的代码被仿真软件调入,汇编代码基本一致,也是很有成就感的.再后来,就仿照Keil C,加入了
模拟调试的代码,正是写这些代码的过程,让我明白了51的内部都大概多了些什么.使我对51单片机理解得比较深了.本来是想做C编译的,后来一直没有时间,加上后来找到了D版的Keil C,这个计划就不了了之了(^_^).现在想起来那段日子确实过得很苦,没有人教,学得非常辛苦.我还记得有一次,一连几天都弄不明白一个设备的地址为什么是0xfffe,想得头都痛了,后来不知道怎么搞的,突然就明白了,这种快感...嘿嘿,原谅我说快感两个字.
在后来,在广州找了一家开发公司做了,这是我第一次看到单片机.第一个项目很简单,用2051完成了.可惜的是,我一直都没有听说过2051,因为书上都写的是89C51之类的,所以第一个电路也是用89C51做的,多了n个IO啊,老板也不懂,但他知道多那么多IO不好,于是项目老不做板.直到有一天,有人拿着2051做的板子,我和老板才知道,这51原来还有20个脚的啊.这个丑,让老板知道我的简历是吹牛的了(偶在简历中写了偶有n年经验,哈哈).
再接着,跳啊,跳啊,不过一直没有停下学习的脚步.虽然到现在还是小虾一个,不过经过这两年,我想,对单片机的运用,应该是问题不大,但还有很多需要学习的东西.我想,一个人只要肯学习,那么不管他怎么笨,都应该鼓励他.我就是笨鸟,虽然没有先飞,但希望和各位DX一起飞翔在单片机的天空.
我学单片机最深的感受是:单片机难不难,不难,难在入门.单片机简单吗,也不简单,要精通运用也很难.不过总的来说,有电子基础,加点软件基础,学单片机就不是很难了. |
|