大家好,我是石头,在论坛水了这么久,终于要浮出水面了。此时此刻我在从苏州回老家的车上,怀着无(chao)比(ji)兴(ke)奋(shui)的心情给大家分享我学习单片机以及参加比赛的经验和教训。
想必大多数的单片机初学者都是从最经典的51单片机开始的,启蒙老师应该就是那个号称“神一样的男人”的郭天祥老师,想当初抱着郭老师的《十天学会单片机和C语言编程》,看着郭老师录制的视频,仿佛打开了新世界,当初心里就想:LED灯真好玩,我甚至能让它呼吸。本来心里想着十天就能学会这个51,真简单,到了数码管就感受到自己的年轻气盛。看完视频感觉自己棒棒哒,好简单,我能行,然后一顿操作猛如虎的写好了程序,烧录程序,念着咒语,一声biu,然后
(表情代表我的心)。程序总会一点一点的去折磨你,磨炼你的内心,内心想的和实际达到的效果总会有偏差,只有在这一点一点的“痛苦”之中,技术才会有所提高。开始预计十天学会单片机,然而拖了5个月才勉强达到了初级阶段。从点灯到按键,再到数码管,然后中断定时器串口,再到关于通信方面的LCD1602,再到进阶的DS18B20,DS1302,IIC,EEPROM。51基本功能都熟悉之后我就在想,我能用这东西做些什么?仅仅是在学习板上点个灯?用板上的资源做一些简单的东西?这时候我开始了自己的初级小制作
(用1302和51做的一个木头小钟表)
(之前焊的略微失败的光立方) 慢慢的自己所学的东西能利用起来做一些小东西也是非常有成就感的。
在我们老师的带领下,我们开始接触了EEPW论坛,在这看了许多有技术含量的帖子,比如: 单片机模块化编程http://forum.eepw.com.cn/thread/267528/1, 教你做光立方的方法http://forum.eepw.com.cn/thread/262800/1。论坛里许多的东西都是开源并且很实用的,里面个个都是人才,说话又好听,我超喜欢EEPW这里面的。
之后,我们参加了省里的机器人比赛,我们主攻了一个项目:灭火机器人(灭火小车),然后就开始了51小车的终极之路,每天看着我得小车飘移横滑及追走,不断得挑战轮胎的极限,在抓地与横滑的来回博弈中游走,轮胎与地面摩擦发出尖锐的挠胎声,伴随着大马力引擎的咆哮,涡轮呼呼的喘息,以及泄压阀嗤咻嗤咻的一阵阵声浪,让人热血沸腾,经过精美涂装的飘移车,在轮胎摩擦产生的白色烟雾中优雅的甩尾——结果撞墙
小车就经过一次两次三次四次无数次的改装,程序就经过无数次的修改,终于,我们放弃了灭火小车(累瘫脸),因为比赛没有这一项了。然而车程并没有因此结束,我们进入了迷宫小车的新坑,经过层层磨炼,最终我们拿到了理想的成绩。
随着对51单片机的学习并应用,慢慢的感觉51的功能不够用了,比如89c51只有32 位I/O 口线 ,2个16 位定时器/计数器,5个中断源,两个中断优先级。在实际应用中,这些配置慢慢赶不上自己的需求了,这时我把目光放到了更加高级的32位单片机STM32,STM32F103系列就完全适合我去学习,刚好老师借给我一块STM32F103ZET6的板子,借助于EEPW里的帖子:大白带你重玩STM32系列http://forum.eepw.com.cn/thread/285781/1,我慢慢又入了STM32的坑,又参加了新的比赛。