谨以此文纪念我的一年半的大学单片机历程
谨以此文献给正在寻找方向的学弟学妹们
首先说明的事实是:直到现在在单片机上我还是一个菜鸟.再表明另外一个非常个人的观点:比8位或者16位单片机更高级的32位嵌入式操作系统并不一定是单片机后面需要征服的高山.
绝大多数学生是穷人,至少学生应该把自己当作穷人.大多数工作不到5年以上的人是穷人,至少我认为自己现在是个穷人.穷人能学单片机吗?穷人能有自己的单片机开发环境吗?答案是肯定的.穷人有穷人的方法嘛,你不信?
我的学校,在我们这一届开单片机课程的时候,在51系列单片机已经占领中国80%市场的情况下.为了继续使用Z8为打中国市场而赠送给我们学校的开发系统,他毅然选择了让我们学习Z8.直到现在我都还不知道当时做试验用的芯片是什么型号,因为那个时候在网上就没有查到他的资料.整一学期关于Z8的所有资料都仅仅限于我们学校老师自己编写的课本---因为找不到其他资料.由于学习的是Z8,由于Z8的稀少,由于之前对单片机一点概念都没有,在学完单片机后一直认为单片是非常贵的东西.因此虽然它是个好东西也一直没有敢去动它.我的时间还是一如既往的献给了硬件,做做模拟的无线传输,做作功放,修修收音机,搞搞单放机.直到.......
无论你信不信,我的单片机启蒙老师都是我的一个学弟.海南的一个壮实小伙.在他的介绍下知道了单片机还有51系列的,知道使用51系列的人比我们学校的男生都多,知道了在百度上输入51单片机搜索的结果是几天都翻不完的.当然这些都还不是我去玩51机的理由,唯一的理由是我居然知道了原来一个51系列的单片机89C51只要9块钱.同时我的这个师弟还热情的把他的烧写器接给了我,那个烧写器要98呢,贵啊.但是老用别人的烧写器也不是办法啊.所以就师弟的建议下把他的烧写器电路改了改,网上DOWN下资料和上编程软件自己做.用了芯片:89C51,MAX232,MC34063 ,TLC2272,74LS164,两个7805,一个7812.买了一块万用板,在我们通信老师的实验室用了3天时间和无数条导线终于连接成功了我的烧写器.最后算算也就30来块钱还可以接受.
当然了,要用还是要先学了.不要抱怨你没有好的老师指导.网络就是好老师,所以你再穷上网的费用还是要掏的.不过哪个时候我已经有实验室的钥匙了,所以电脑和上网都不是太愁,单片机网上的公认的典型教材是平凡老师的<<平凡单片机>>.,不过那个时候我看的资料比较杂,而且属于那种喜欢看热闹不愿意做事的人.所以一直到烧写器做好半年都没用来写过一片单片机.最大的爱好就是在网上看看资料,最多就是在keil里面写写几行代码然后软仿真.刚开始写代码的时候还是用的汇编,但是汇编写过几百行后JMP到那里我自己都知道了,所以到后来毅然选择了C,从大一学完C一直到大三,两年没用过,所以基础十分的差,直到大学毕业我写的代码都没有用过一个指针,凡是都是用数组代替.除了网络,买书还是必要的,大学里面单片机的书就买了两本,那个时候不比现在关于单片机C的书满天飞,并且忌于书也太贵(一般情况下单价高于30的书我都不会买).一本是电子工业出版社的<<单片机应用系统设计技术>>,这本书汇编和C都说了,属于是一本查阅型的书有比较简单的例子.定价31买的时候有个8.5折,也就低于30了.这本书到现在一直留在身边.另外一本是人民邮电出版社的<<单片机典型模块设计实例导航>>,定价36,讲的全是实例,并且有部分硬件内容.当时认为这本书巨好,所以也就买了.最后毕业的时候留给了一个实验室的研究生.不过后来发现网上有扫描电子版的.
硬件有了,软件有了,书有了,该学的学了,该写的写了,也该弄点实际的玩玩了,就在这个时候在网上发现了支持ISP的89S52.知道了原来单片机也可以只用3条线就把程序写进去,而且有软件和一点点硬件通过并口就可以写程序.这个消息让我守着原来做的那个烧写器伤心了好几天.然后花了半天时间和不到10块钱又做了一个烧写器,这次弄完后,并且就在烧写器旁边加了几个74LS14驱动LED,想烧写完成后直接通过跳线复位89S52直接看效果,可惜的是烧写完成后,跳线后单片机一直不起振,最后憋得没办法,又另外找了一块万用板焊了个实验板,把烧好程序的89S52插上去用,当时S系列的稳定性比起C系列的稳定性差远了,89S52用手一摸晶体的引脚程序就挂了.不过由于那个时候沉溺于搞硬件,所以做完第一个实验就开始做实验板,加什么按键,NE555,数码管,串口.一直加到实验室买了伟纳电子的51开发系统.支持以后我的实验板大多数时候都是放在盒子里,从此开始用伟纳的开发系统测试毕业设计的代码.
尽管如此,我也一直认为,能在毕业设计中写完代码和完成PCB板并测试通过程序,大部分功劳都是我的那些万用板上搭起来的东西.但毕竟我的毕业设计是老师接的项目的一部分,其中涉及到400M以上的高频的PCB和数据传送,不能期望再用万用板和导线若干来实现了.不过对于初学者和入门的各位,尤其是我们现在严重缺乏硬件条件的学校的同学们,花比较少的钱自己买来元件拼凑起来自己的实验环境来学习单片机是一个锻炼硬件和软件的好途径.
当然对于哪些小有闲钱的同志们,也可以买开发板的散装套件自己组装,这样可以节约调试的时间,毕竟导线连元件是非常烦人的事.如果你很急于看到结果并且对硬件不太感兴趣那就买些开发板.但是对于专注于32位嵌入系统软件的同志们,还是使用现成的开发板,毕竟SMD是没办法焊到万用板上,并且32位中的嵌入式软件讲究就不是一点两点了.