单片机学习捷径
以此文献给那些正在学习或者将要单片机的同学。。。。。
很多人抱怨,一学期学完了,搞得一头雾水,跟没学一样。甚至有些人学了半年,还不知道单片机是什么东西。现在的大学生总是说毕业难找工作,其实是自己无能。你去面试,人家问你会什么?精通什么?你在大学要是没学到东西,那你什么也讲不出。不要怪人家不聘你,你想想人家公司需要什么样的人?现在的公司需要都喜欢一来就能上岗的人才,而不是去花一大堆钱去培训半懂不懂的所谓毕业生。举个例子,你去XX山寨手机厂应聘,人家问你手机的原理是什么?如果你的回答是:一部手机包括无线收发模块,此模块又是由调制解调、射频放大、滤波器XX构成,还有液晶显示模块、按键模块、电源模块、嵌入式系统XX,你要是连现在流行的手机芯片都说得出来,你说人家不聘你聘谁?
先介绍下单片机。把单片机说成是电子信息类专业最重要的一门课程一点也不为过,你在街上看到的广告彩灯、烟花表演、红绿灯、自动开关门这些都可以用单片机实现。有了单片机,你就可以写程序进单片机,控制单片机管脚输出的高低电平,从而你可以控制其他模块。这就实现了自动控制。我需要怎样的控制,我就写怎样的程序就可以了。
接下来介绍单片机的学习流程。有的人学了两年才学会。有的人一个月就学的很不错了。告诉大家我学51单片机只用了两个星期。普通的应用差不多都会了,可以自己设计一个国旗升降系统、温度自动控制系统之类的电路和程序。当然想要这么短的时间内精通是不可能的。
学习单片机是有捷径可走的。首先你得知道你要学习什么样的单片机,我建议从80C51核心学起,80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:Intel的80C31、80C51、87C51,80C32、80C52、87C52 ATMEL的89C51、89C52、89C2051 Philips、Dallas、华邦、STC Siemens等公司的产品。之所以要从80C51学起,是因为目前很多公司都是用51核心的单片机。而且51的资料很多,懂的人也比较多。其实你学好了一种单片机,再学习其他的单片机会很轻松。我就从C51说起,首先得准备一本单片机教材,只要是C51核心的都可以。打开书看单片机的管脚各有什么功能,内部都有什么东西,用来干嘛。这本书你当成小说来看个{yt}就可以了。不要求你全部看懂。知道都有些什么东西就行。因为从我的学习过程来看,光看理论等于没学。单片机必须是理论加实践,而且要大量实践,在实践的过程中寻找理论。这才是最快捷的学习方法。这好比你学习汉语,你不可能什么字都会写,遇到不懂的,查查字典就可以了。然后我们谈实践,花100来块钱买块单片机学习板,有做板经验的也可以自己做一块,原理图网上多得是。不要买太贵的单片机板,其实学习阶段很多功能你用不上,等你学得差不多了那些不常用的模块你自己可以做出来。对于初学者来说我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA、液晶、蜂鸣器,这就差不多了。一般买单片机学习板都配有视频教学光盘(没有的别买)和一些资料。比如应用软件什么的。建议在网上购买,价钱比较便宜。有了学习板之后你必须有台电脑(这年头没电脑的大学生太少)。然后你少看点电影,少玩点游戏。按照学习板光盘上的教程进行学习。先学习怎样连接学习板和电脑,怎样下载程序到单片机里面。怎样使用开发软件,比如KEIL。建议大家用C言语编程,汇编语言有时间可以学习一下。毕竟C语言一目了然,移植性较好。虽然汇编效率高,但是难懂。况且现在单片机集成度越来越高,不必要那么高效率的代码。你想想,花那么多钱去养那些优化代码的程序员还不如买一套新的硬件。我现在也是用C语言编程的。汇编几乎不用。知道怎么使用开发软件之后,你就可以按照学习板的教程进行编程练习。练习要分模块进行,比如流水灯模块,你要知道流水灯是怎么和单片机连接的(一般学习板都配有电路图)。然后你要能编写不同的程序去控制LED的亮灭,花样就随你遍了。有时间的话可以去网上下载些流水灯的源程序看看。看看人家有什么新花样。这样你就能随意控制LED的亮灭了。你可以把这些LED摆成爱心的标志,做一个爱心流水灯送给XX同学。这时你已经会做流水灯电路板了。其他的模块也一样,这个过程大概需要20天,有基础的会快些。当你把买来的学习板学完之后,你已经会单片机的应用了,这时你再回过头来看单片机教材,你会发现这时你可以xx看懂了,而且可以看得非常快,越看越入迷。当你把这本书看完之后,恭喜你已经掌握51核心单片机了。以后你可以做一些项目,开发自己的产品,制作自己想做的电路。这整个过程大概一个月时间。
在学习了51单片机后,你可以学习其他单片机和嵌入式处理器,比如AVR、STC、PIC、善于处理音频的凌阳单片机、ARM、FPGA等等。