回想起当初学习AT89S52的日子还近在眼前:毕业后的第一年呆在亲戚公司做了10个月设备管理.乏味的工作和繁杂的琐事让我郁闷不已.思考很久后终于辞职.投奔我的同学去了,开始并不曾想到要进入工控行业,知识想找一份电子类技术职业,至于什么职业我根本没有目标可言.经过两个多月的挫折后我静下来思考,并上网查询一些前辈经验,又经过快2周的考虑我决定先自学单片机,毕竟电子信息专业的,有一点基础.于是买来了开发板,在网上下来了大量的资料,我还是得感谢网络上的前辈啊,他们的经验让新人少走了很多弯路.
我说下我的学习过程,每个人有每个人的学习方法,希望至少能给刚进入的朋友们一点信心吧.
语言选择: 在买来开发板前我其实已经看过3遍C语言教程了(潭浩强的).但是我选择了重头学习汇编指令.我花了1周熟悉汇编指令,在这一周里我先看透了开发板的原理图,不认识的芯片从网上下了资料,大概的了解芯片的功能.
实验: 我买了本<C51开发宝典>,根据别人的例子开始了实验.我记得我做第一个流水灯花了我2天时间.我按照别人例程完成后,又自己思考下能不能用别的方法实现,那时我自己又想了几种方法,虽然现在看来不足以称为好方法,但至少也算自己独立思考的了.这里我要说下我做实验并未按照开发板提供的实验去做,我是自己看完电路图然后自己订了个实现功能实验,实验如下:
第一个实验: 流水灯(开始一遍是参考例子,主要为了熟悉汇编语言的写法),然后自己用定时器再实现一遍,接着再自己整些花哨的流水花样.
第二个实验: 秒表.从0秒运行到24小时,按键可以停止,继续,复位.这个实验其实分为了点亮数码管--动态显示数码管--秒表计时三部分.我自己在实现了从1~9的计数后卡在了10之后的自动计数,无奈之下参考了前辈的10进制的程序,经过1周的努力完成了这第二个实验.
第三个实验S1820B测温. 从开始的打印出前辈的液晶程序看了有1周多,大概了解了1602液晶模块的驱动程序后又花了1周时间熟悉DS1820B的时序.在这个过程中几次痛苦的想放弃了,程序根本吃不透.最后我总算是将前辈的程序看了差不多,自己做这个实验时也仅仅是将显示的内容和位置作了修改,其他内容认为看懂了就偷懒没自己写.当看到程序跑起来后还是蛮开心的.
在开始的自学2个多月里我根本不懂IIC,SPI,和RS232,485等串行通信,每个芯片我都根据芯片手册的时序图来痛苦的吃读写指令/.后来进入公司后才发现之前自学的好多芯片是通过以上几种通信方式来通信的.
自学了2个多月后我也终于找到了我人生中的第二份工作可能也是很重要的一次转折的工作.在工作中我暂时还是以学习为主,需要学习的太多了,也是工作后我开始改用C语言写代码.在这里回头看看,我只想告诉新的朋友们:多上网看看前辈的经验,可以少走很多弯路.还有就是基础的知识还是必须自己去吃吃的.完!