嘿嘿,其实《51单片机从入门到精通》算是我的单片机启蒙书了,其实这个书名毫无新意,类似的简直是一抓一大把。但是我的经历告诉我,即便是再平凡的书,善加利用也会有很大帮助。就是这本在普通不过,甚至还有几处错误的书,帮助我从认识单片机开始,直到完成了我的第一个作品。
还是先从大一说起吧。最早听说 “单片机” 这个词是在开学不久之后的一次科研班会上。当时一位学长来给我们介绍了一些电子制作之类的相关信息。但是说实话,大一刚来,真没听懂多少东西。真正记住的也就只有 “51” “单片机” 等几个词。后来到图书馆借了几本相关的书,但是毕竟大一没什么相关的知识,翻了几遍也没看出个所以然,后来也就不了了之了。
然后就到了大二。上学期也没想起来,到了下学期有个校内的电子设计大赛,可以说我是比赛拿到题之后才决定要参加的,而且当时对单片机的了解基本还是个零,但是因为当时已经学过微机原理,正在学汇编,借来的书已经基本能看懂了。而且比赛会持续大概一个月的时间,于是我就这样从零开始准备比赛了...
虽然我对单片机不是很了解,但是编程的逻辑思维还是比较强的。当时先是在书上大体看了一下各种功能实现的原理,比如数码管、串口、定时器、中断、继电器等等,然后设计了自己程序的大体结构。程序原理搞明白之后就开始画流程图,当时画得非常详细,基本上详细到每一步判断哪个值,改哪个变量。其实后来再一想,当时基本上相当于已经用伪代码把程序写出来了....然后就是实际写程序了。因为当时正在学汇编,尽管学长都说汇编难,不好用,网上也都是这样说,我还是坚持用了汇编。得益于之前流程图的详细,具体写程序的时候就很简单了:看这一部的操作,到指令表里找到实现的指令写进去。就这样一点一点的写,当时大概是花了三个晚上,密密麻麻写了两页纸。然后又花了一个晚上打到电脑里,编译之后竟然只有十几个错误,改了几处语法上的错误之后竟然就通过了。这对于第一次写程序的我来说真的是一个很大的鼓舞....虽然之后的事实证明编译通过离正确运行还有很遥远的距离.....
然后就开始做硬件仿真。其实现在看来当时做的都是很简单的东西,也就是一个四位数码管,两个继电器,加上串口通信。但是这些对于第一次接触的我来说,每一步都会有很大的收获,当最后仿真成功,屏幕上那个虚拟的电机虚拟串口发出的指令转起来的时候,真的是感觉很有成就感...(因为当时想得比较简单,直接就用了两个继电器搭了一个H桥,控制正反转是够用了)。
下一步就到做硬件了。我当时的想法就是软件没搞出来就不去碰硬件。毕竟是第一次做,软件都不一定能搞出来,而硬件可是要花钱的啊...嘿嘿。硬件电路就没有什么好说的了,都是找的现成的驱动电路。
最终,这道题目因为出题老师的失误导致无法完成,作为补偿就给了个参加当年省电赛的名额。其实参加电赛的那一个暑假才是进入大学以来最快乐的时光,可以自由做自己喜欢的事,不过那就是后话了。
自此,我也算是入了单片机的门了。现在回想起来,最想和刚入门的朋友说的就是,单片机不是什么复杂的东西,仅仅一本书就可以让你熟练应用起来。当然要想更深一步还要多加努力,但是关键要有信心,然后坚持下去。信心和恒心,这就是成功的关键!
差不多就写这些吧,不知不觉就罗嗦了这么多,不知有没有人愿意看完啊...其实自己会的越多,就越明白自己的无知。做的一些东西在别人没做过的看来或许很牛、很复杂,能做出来很了不起,但是自己做出来的倒真的觉得没什么,自己还有很多不会的,比自己牛的大有人在。真能做到像前几天那个二货那样会个IO操作就以为自己很牛,整天拿来做跑马灯连数码管都不会驱动还以为老子天下第一到处显摆的人真的只是少数。做技术的嘛,还是要谦虚一些,学无止境啊。
PS.本来想把做的那个板子拿上来晒一晒的,但是因为放假回家了,板子留在宿舍了。其实我对这个板子还是有点信心的,布局感觉还不错,放完假以后看有没有人想看,哈哈