|
强烈要求学习单片机的同志们看完:
前言:
近来在论坛总是见到一些菜鸟们在大叫:“我想学单片机”,“我要学单片机”,“如何入门啊?”,“你们怎么这么厉害,是怎样学的??”等等等等一系列的问题,实在是看多了也感到烦了,今天,就由我电子白菜厚着面皮,顶着无数老虾的砖头,在这里写上一篇单片机学习心得,让菜鸟们勇敢地跨出第一步。
首先解释什么是虾米先,以我个人意见吧,1。来单片机论坛的时候能够看懂大多数家伙在说什么,(当然不是看懂他们在灌水的帖子啦)并且能适当地提出问题(非弱智的问题)和讨论,解答别人的问题。 2。当希望自己用单片机开发一个东东,或公司要求开发一个方案的时候,能够很快地在心中建立一个基本模型,知道应该需要些什么知识,而自己又掌握多少,并根据一定的灵感开始搜索资料。就是以上这2点了,如果你满足了,基本下面的东西你就当作是故事来读就可以了。
然后是心态问题,不久前看到有人这么问:“我想学单片机啊,因为听说很有钱途,请问学那种单片机最有钱途??”这个问题,我看到了就觉得反感,可以这么说,在这个坛子混的单片机大虾只有两种:第一是一直从事单片机类工作的;第二是爱好者,爱好者包括从事单片机工作的和非单片机工作的。的确,单片机是有一定的钱途,但对于那些本来不是从事单片机工作的,而又没有兴趣的,单从钱的角度出发的家伙,想学好单片机??恐怕是做白日梦。我个人认为,技术,是兴趣、生活需要、和个人目标的结合。而不是单单的向钱看!要知道,当一个相当艰难的项目完成的时候,开发者那种手舞足动的兴奋,不是完全来自于项目提成的奖金!所以炼虾米的第一要素是:爱好!!以上是我认为学单片机应该具备的技术心态。
然后该说到单片机的学习上了,很多人抱怨自己学校没有单片机课上,所以自己不会单片机。其实并不然,以我为例,我以前在学校的确有单片机的课上,不过直到上完一个学期的单片机,我还是不知道自己在学什么!!考试的时候老师预先公布资料和答案了,考试的时候我们就抄上去就是了,结果,到考完试的一刻,我突然有点领悟:“我知道什么是中断啦”。。。。是的,一个学期的单片机,我就知道了这么多了。后来?后来是完全的自学,自己研究走出来的,如果*学校那点所谓单片机,我早捡破烂去了!!所以对于我们这类非名校的学生哥而言,技术离不开自学。
第一章:偶然
这篇文章叫虾米是怎样炼成的,而不是什么单片机速成,所以我是在写故事,而不是在写教材。
我单片机起步于2002年10月1号,这个是个重要的日子。但注意,我在2002年9月的时候有了自己第一台烧写器和简单的实验板,但那时候不叫起步,因为我把这东西买回来了,还根本不怎么会用。
为什么我记得是2002年10月1号?而没有记错为10月2号?呵呵。。。
2002年国庆前几天,学校开始举办电子设计竞赛了,因为学校每次举办比赛,经费都是问题,所以这个什么电子竞赛根本不会隆重宣布,其实我当时还不知道的呢。直到有个同学偶然跟我提起,学校有比赛啊,你有打算参加吗?我当时不知道发了什么疯,就说,好啊,我参加!这样,一个单片机,甚至是电子白痴的命运就改变了。。。
然后就是出方案啦,我也不知道什么时候发梦梦见个什么古怪产品之类的,总之我就提出了一个用PC无线控制设备的方案。PC端用VC写的串口程序,传到单片机上,然后单片机启动无线发射模块,远程设备接收到信号后,由另一个单片机负责处理,控制一个16*2LCD和4个LED灯。
对于当时的我来说,难度真的很大的,因为我不会VC,不会单片机,不会LCD,无线发射模块我是买了一对,但没用过。也就是说,白手起家!!
但我还是决定做,不然很没面子。于是和2个MM组合起来,成为3人组报名学校的设计大赛了。
和MM组有个原因,1。方案是我提出的,我希望自己能够独立完成 2。组男生的话可能会在设计上有争议等的,随时破坏计划,还是MM听话点。。。。其实在最后,这两位MM的表现完全是出于我意料,他们实在是强!!很多问题都是他们帮忙解决的呢。
第二章:奋斗的开始
可能这篇故事写的不是很生动,也没什么趣味,有些朋友们或许看到一半就溜了,,但我依然希望能有人愿意看下去。。。也希望能让一些还没进门的菜鸟有所感悟。
和MM们组队后,‘工程’就要开始了,题目是“计算机远程控制系统”(呵呵,很牛的名字吧:),但由于我的方案相对于当时我们的实力来说是超前不少的,所以和MM们有个协议,因为我们都不会VC串口编程(VC也不会),所以VC部分我必须负责全部并在最短时间内完成,不然整过计划就不用再做了。回应第一章所说的,为什么我记得是2002年10月1号?因为我是在那天起呆在家里整整7天,干什么?研究VC啊!!!这是我到现在为止,第一个没有去玩的国庆节。从早到晚,除了睡觉,吃饭上厕所,就是屁股不离座,眼不离电脑!!你说,我会忘记吗??
当时做了一条串口线把电脑的两个串口连起来,然后串口1发给串口2,一边是用我的程序,另外一边是用串口调试软件。还有手上的几本VC书,就这样写出我的第一个VC程序出来。还记得当时成功发送的第一个字节是’r’!!到现在我还记得很清楚,当时真是开心死了,还马上把串口线和程序带回学校(我是走读生)给MM看,并正式宣布我们的项目开始。这国庆7天假期个中的困难和痛苦我就不想说了,只知道那是我技术之路的第一个起点。
人家都说VC难入门,是的,真的很难啊,不过你要知道VC存在并为这么多程序员所用,自然有他的道理,只要愿意坚持,困难是能够克服的,而且,你并不是第一个面对他的人,所以没有任何道理退缩。看到别的大虾能够成功,那自己为什么不行呢?所以炼虾米的第二要素是:坚持!!
第三章:尝试成功
在VC写的串口程序成功后,我们的计算机远程控制系统就要开始了。其实,当时的VC程序只能发数据,并不能收,因为收的话如果是mscomm要利用消息,如果是API的话要用线程,上面两个我当时都不懂,不过没问题,我的题目是远程控制,没有说是远程监控,所以单发就够用了,:)。剩下的就是单片机接收串口数据,然后控制射频模块发射,接收端就是模块接收后的单片机处理,例如亮LED和控制16*2LCD。
那时侯如何分配51的IO脚也弄了个半天呢,最后和2个MM协调好后,用了张A3纸画了两个大大的51,然后那个脚做什么,哪个脚接LED,那个脚接16*2LCD,那个脚按键。。。呵呵,是夸张了点,但当时还是菜鸟阶段啊~~~~
弄好管脚分配了,就做板子,别以为我很有钱,做工业板,我是拿万能板飞线做的,当时焊个MAX232也焊了半天,勉强焊好了个有串口的最小系统了,发射模块都还没焊上呢。但这时候要分工合作利用时间,于是开始写程序了,基本上是边看书本边写程序,半猜半写。用的是汇编。那时侯没有这里的家伙这么幸福,300元就能买个老丁的仿真器来调试程序,我用的是最纳闷的方法:N片51侍侯,130元的便宜烧写器写程序,编译通过,烧一片,插上板,上电!!出什么问题?拔下,猜猜原因后改程序,再烧再插拔。(当时没有S51的,其实那时侯有我也不会用ISP的),于是就是这样调试程序的了,其中多繁琐可能没多少人明白,因为你们买了个仿真器就插到上面去了,到程序完成了才拔掉。
直到整个项目完成为止,我有一片51烧坏了,估计是寿命到达终点了,1000次的寿命,代表我至少就这样插拔了1000次单片机。真不知道是什么滋味了。
总之当时就是这样天天写,晚晚写,还得和MM逃课了一个星期,终于搞定,发射距离是30M左右啦。20M内接收完全没有错误。还能在PC上按键,然后字母发射到远处的16*8LCD显示出来。(其实现在还想不通这么简单的东西当时居然要花一个多月呢,如果是现在,估计单片机程序我是一小时就出来了)
电子大赛结束,我的MM组合赢得学校的一等奖(林中无老虎,菜鸟称大王咯:),后来这东东改进一下就赶着参加了广东省的挑战杯了,蒙混骗了个3等奖。
第四章:真正的开始
比赛是有两个一等奖的,还有一个是我们邻班的家伙,他当时比我牛多了,做的是串口的电子阅读器,把文章从PC下载他的阅读器上就能阅读了,中文的哦:),其实他当时就已经会VC的DIRECTX编程了,还喜欢用VC来写游戏,比我牛多了。之后的大学单片机生涯我都是在和他比拼中度过的,这样进步当然就快啦。现在这个家伙和我住在一起了,呵呵,不过他向驱动程序的路走,我向嵌入式发展,此为后话。
自从有了第一次尝试成功,我就开始沉迷起来了,特别在放假的时候,更是全情投入,我戒掉电脑游戏也是从那时侯开始的,现在有多少大学生敢说他不玩游戏??我看没多少吧?其实现在想来,玩游戏真的浪费了我很多的生命啊。。回头看一看,游戏在你的回忆中并没有多少残留,也就是不值得去回忆,那我们弄来还有什么用?所以我从不玩游戏。
说回来,我开始沉迷在单片机的研究中,也经常省下点钱上落广州购买点芯片等东西,开始还是自己用万能板焊电路板的,玩玩键盘扫描,做做动态显示8段管等的。后来买了块128*64的LCD,学人家搞起汉字显示来了,好象搞了一个多星期才能输出个汉字,呵呵,够笨吧?后来还做了很多小实验,其实都是自己焊的万能板的。之后从老师中得知有种感光板,于是就扑上广州买了几块回来弄,第一次弄就失败了2块,合共18大元,我狂倒中(2002年12月左右吧)~~后来积累经验后,就成功了,之后越做越漂亮:)单面的工艺已经比美工业板,现在能做到0.25MM的线宽和0.3MM的线距,能够完成大部分的实验需要了。
(如果大家想知道感光板的制作,可以搜索www.cnieee.com精品中的‘感光板’)
其实那时侯大学阶段做的小实验还是围绕着一些自己的愿望,也就是算创作了,例如做个计数器,做个电子种;有的是网上看到别人做出来了,自己又想做。不过想做的太多,时间却太少,那时候还是处于刚进门什么都想学的阶段。但不管时间够不够,做的多少得多少嘛,结果现在家里就一大堆东西了,呵呵。
后来学会了上论坛问人了,取名字的时候我想想,我是个电子白痴呢,就取个菜点的名字吧,叫白痴不是很好,于是就叫白菜了,于是我就叫电子白菜,其实就是电子白痴的意思:)那年是2003年的新年。
有了论坛的帮助,我感觉进步的更快了,好多问题都有人指点,开始发的问题还直被人骂菜,后来慢慢地积累帖子数百,偶然也就能骂骂别人菜,呵呵,不过论坛是要上,自己的实验也得做,我觉得在开始阶段,很多东西都要亲身经历过才能积累经验的,单看书上说的是一回事,自己做起来又是另外一回事。在实践中,我学到的绝对不止是实验中的一个程序,更加地我学会了如何去解决问题和如何利用实验成果进入下一个更复杂的实验中。
第五章 狂热
2003年开始,大学的课程基本完结,但还没毕业^0^,我是2003年7月毕业的,那么这7个月就是假期,对的,是7个月的假期,基本除了做毕业设计外是没什么事情做的。我觉得这个正是我第一个飞跃的阶段。话说回来,我们的同学们啊,真是难得有这7个月假期了,疯狂的在游戏,电影和睡觉吃饭中度过,直到后来快要把全天下的电影看光了,百般无聊下,
开始看那些有着10年历史的外国肥皂剧(中文语音),那么这7个月他们是白过的了,还连电费都亏下了!!
当然,我也很快乐地玩了不少时间,这7个月当中,我基本把技术和娱乐1比1地分配下去了,折算一下我也算下了3个半月去钻研了。其实现在回想一下还是觉得当时应该把更多的时间下在技术研究上,这样的话我现在的技术应该会更好一些。因为工作后自己研究的时间就少很多了嘛。。。
|
|