2007年2月我开始了我的
大家都知道,单片机是怎么用的,程序怎么编译,怎样烧到单片机的ROM里面,对开发流程凭书上简单的文字介绍有些模糊。于是我便开始在网上寻找关于单片机方面的资料,开始浏览各大网站进论坛和大虾们交流。有一次在论坛里看到一篇帖子,名为“40元做一个女孩子喜欢的东西,学习泡妞两不误”。我觉得有意思,便进去看了下,原来是用单片机做一个点阵显示屏,能显示很多漂亮的字。我想,哎呀!我好玩啊,于是我便开始在网上查找相关方面的资料,想自已做一个。首先,我得学习单片机的开发流程,得会KEIL软件。经过一番摸索,我组织了班上几个好学的同学一起买了编程器,和元器件开始动手了。刚开始的时候困难还挺多的,程序老是有错误,等程序调试通过了,硬件这边又有问题,不过我没有放弃,出了问题我总是能冷静下来思考。终于在几天之后,我的作品出来了,兴奋得我一夜没睡,第二天,便在寝室同学面前好生的炫耀了一把!
这次制作的成功经历,我收获不小,使我掌握了单片机的开发流程,明白了单片机的工作过程,在实际硬件中是怎样读取指令,提取数据的。也提高了我软硬件调试的能力。再加上主任看了我的作品后的一番鼓励,越发激起了我的自信心!
接下来的4月,我意外的接到系学生工作处主管陈老师来电,说我系承办了院校园文化艺术节的“南方擂台”知识抢答竞赛,而学校又没有抢答器,要我组织几个学生做一个抢答器。我当时想,那好啊,做抢答器不难。以前有用与非门做过,于是我便爽快的答应了陈老师,并**没有问题,保质保量完成。当是可能是我想得太简单了,抢答器不就八个按键一个数码管显示不就完了么,把**先抢到的组别显示出来。可是到主任给我们提要求的时候才发现抢答器要实现我功能远不只这么多,倒计时、蜂鸣提示、范规报警、电子计分器,这些我都没有考虑进来。主任也说了,这是一次院级的比赛,电子系做的东西要拿的出手,要做就做点样子出来。我想也好,虽有点难度,但符合我喜欢挑战难度的性格。我说“行”!这个活我做了!
接到任务开始布属,我把计分电路分了出去由其它几个同学做,我专攻抢答部分。由于没有独立设计电路的经验,刚开始得一步步慢慢深入,正好我会PROTEUS。软硬件的调度都靠它完成,这样可以省很多的时间。做抢答器,我们花了一个月的时间,没日没夜的调试程序(当时单片机课程还没学到定时器中断,还得一边自学。)做PCB板,采购元器件,安装,调试,运行。那时,他们的计分电路也做好了,用了16个数码管做显示。我们将计分和抢答电路板及数码管安装在了事先木制的外壳上,进行整体调试。记得那时正赶上五一放假,而五月8号就是比赛了。我们都没有休息,将工作间从实验室搬到了寝室。那段时间虽然辛苦,但很充实,每个人收获都**大。
为了让自己的编程水平能进一步提高,我将自己编写的程序发到了论坛里与大家共享,并下载网友们的程序进行分析。电子钟程序、液晶密码锁程序、跑马灯程序、大屏幕点阵屏程序、上下位机通信程序等等,这些我都能熟练的掌握。我认为,学编程读别人的程序非常重要,每个人都有不同的思维,相同的任务却有很多不同的方法,在每个程序里都能找到些经典的段子,让人回味。从中可以学到很多的方法,并且有些可以直接的引用。一个出色的程序员在编程时,并不是从零开始,而应该是先找出类似的例子进行分析,参考,看看有没有值得引用和借鉴的地方,加以修改,为自己所用。实践证明,这样做是对的。从当初不知如何着手到现在随手就能写个几百行,短短几个月,我进步还是蛮快的。
做单片机课设那会,我帮助了班上不少的同学,帮他们调试过硬件,修改过程序,并为他们解答了一系列的疑惑。当同学们投来羡慕的目光时,我很自豪,这些都是我努力的结果。当然,努力归努力,方法也很重要。在这里,我总结一下,与大家共勉:
1、基本功要杂实,要有一定的数模电基础。学单片机首先要搞清楚它的基本结构和存储单元的分配。
2、在学单片机的过程中,**好自己动手做一个单片机系统。先找现成的程序,现成的电路图,做成实物,并以这个例子为开端,带着疑问学习,往往更有目的,更主动。
3、有条件的话先个好的开发板,便实验时之用。没开发板,PROTEUS软件仿真也行。
4、多读有代表性的程序,读得多了自然就会学到很多的好方法。可买本单片机子程序集看看,也可网上下载程序分析。
5、多泡泡单片机相关的论坛,与大家多交流交流,单片机完全可以自学的。
我觉得以上几点相当重要,因为它对我帮助很大,算是将我领进了单片机的大门,以至于我学起来不那么吃力,没有感觉到像大家说的那样的难。我看过很多的程序,也调试过很多的程序,每一次收获都不小。我的实验室就是KEIL和PROTEUS。这使我做实验很方便。虽是虚拟的,但调试程序还是可以的,省去了很多的时间提高了效率。**近我在学CX51,因为学单片机掌握C语言是非常重要的,C语言的通用性对学习其它类型的单片机有很大的帮助。今后,我想做嵌入式系统工程师,想学ARM,想搞操作系统。所以我现在**打好基础,这样才能进步。
我学单片机的一些经历。其实我并不是很厉害,我懂的也只是一点皮毛,只是晓得单片机是怎么回事,能编几个小程序罢了。写这些我只是想记录一下我初学单片机的经历。同时对于那些想开始学习单片机的朋友们,还是可以有一些值得借鉴的地方。希望大家都能学好单片机,那些觉得难的学得吃力的同学要对自己有信心,要多做多练,这样才能培养学习兴趣。只要坚持就能如愿,同志们,加油!