要想学好单片机必须对它有兴趣,这是必然的!也是最重要的!在这基础上你从一个不知单片机是个什么东东到自己能做一些单片机的东东----三个月用你的业余时间搞定,要知道到那时你是个镀了金的"电子爱好者"(学校刚学完的本科生不过如此),那样的兴奋啊...!呵呵!
想学单片机从MCS-51开始,那是公认的,不必研究了.但单片机是一个很系统的学科,我们作为自学的,不可能象学校那样很系统的学,那样的话可能要倍上它三五年了.那么怎么才能在三个月而且是业余的时间学好它呢?我个人认为是---怎么样使自己尽快的入门是主要的,一旦入了门就什么都好说!虽说不必等系统的学了计算机系统再来学单片机,但有的一些你必须要了解的,那就必须要学,必须要懂.学单片机要对数字逻辑(数字电路),数制,汇编语言等等---必须懂!头开始大了吧!呵呵!谁叫你对它感兴趣呢!但话也得说回来,感兴趣归感兴趣,要是真的让你买来几本书,那感兴趣的也是每本书的前面几页,或许用来作睡前摧眠罢了!可是应该要懂的就必须得学,怎么办呢?办法是有的,因为我就是这么过来的!
首先:你对必须有电脑,我想你能上网电脑不是大问题,况且学单片机也是离不开电脑的,没电脑你还是别动那个脑筋了!视频教程应该听说过吧!对了,就是视频教程,这样我们就不必看那摧眠的书了,就象看电视一样的看教程,好的教师讲的课程比较通俗易懂,容易理解,也就不象书那样容易摧眠了.一旦你听得下去了,你的兴趣就更上来了,而且比在学校里听老师讲课还方便,听不懂的地方你可以倒到前面重新来过,看了一次不明白的地方还可以重看N次,没人会烦你!结合网上多得不能再多的有关内容做一些东东,你不想学会都难(真的不想学除外)!呵呵!不是吹牛!问题是怎么学?从那儿学起?什么教程好?怎么按排好教程课时?
单片机是计算机的一个分支,是计算机一个系统的.它的硬件是一系列逻辑时序电路的组合."逻辑 时序"那就是数字电路啊!那数字电路原理也就必须要了解的啰!况且单片机里的什么锁存器啊,寄存器啊,译码器啊,计数器啊,等等.都是数字电路里的东东,了解了数字电路你也就一只脚进了单片机的大门.我有幸看了刘润华老师的<数字电子电路基础>的视频教程,他可是一位很不错的教授!通俗易懂,容易理解!教程30 个课时,我想如果你有一点点的电子基础(那怕你一点不懂,你只要有兴趣就行),这里面的东东你只要理解便是了.它比模拟电子电路要好理解的多得多,我是三天看完的.给你一个星期吧!怎么样?呵呵!一个星期就能把前脚踏进单片机的大门,不错吧!
你的一只脚已经进了单片机的门,那么我们就来考虑你的另外一只脚吧!
我们假设你没有太多的空时间,刘润华老师的<数字电子电路基础>的视频教程,你用了15天,学这个东西最好是连着看,可不要断断续续的,三天打鱼二天晒网的后果你是知道的!三个月是90天,你用了15天,那就再有75天了,我们怎么按排这75天呢?总不能把入门的后一只脚用了75天再把它拖进来吧!!呵呵!那还算叫“搞定”啊!入门后还要学会怎么站起来走路,然后是怎么跑着走路,这样才是刚刚“搞定”!呵呵!晕了吧!不急,不是说过吗,只要入了门什么都好说,“跑”算什么,“飞”都没问题!我们走进门吧!
武庆生老师的《单片机原理及接口技术》视频教程是个很不错的选择,武庆生老师是很敬业的教师,他把单片机中的很多技术难点,技术细节讲得透透彻彻!明明白白!清清楚楚!尽管武庆生老师讲得这么好,可对我们从来没有听过什么是微机原理,什么是计算机接口技术,什么是计算机汇编语言等等的人来说,还是感到头大!没有刘润华老师的<数字电子电路基础>的视频教程来得轻松了,我的过程是:买一本笔记,每一课时先认真的看一遍,然后再认真的重新看一遍,并把重要的记下来.这样的话,有了<数字电子电路基础>已经打了底的基础,应该没多大问题了,我是说让后面的那只脚进得门来没多大问题了!呵呵!
<单片机原理及接口技术>整个课程33课时,我用了大概半个月吧!我是很认真很认真对待它的!整个课程我都做了笔记,而且我发现做笔记有很多好处,首先你会知道自己已经学到那儿了,学得怎么样了(最起码是你懂了你才会记下来吧)!其次是课程里有很多很多经典的汇编程序,你记下来后可作会日后写程序的范典.就算你不小心用了20天吧!这样说来大概是35天后,你也就不小心进了单片机的大门.呵呵!我用"不小心"是很有意思的,我就是不经意间看完的.在这过程中每天都有"原来是这样"和"缘来如此而已"!那种感受,你慢慢体会吧!
我再来说说细节问题,课程里一开始说得是单片机的内脏,你有了刘润华老师的<数字电子电路基础>的视频教程的过程,应该没有太大问题的!接下是汇编语言的指令部分,整个过程武庆生老师用了大量的实例,这部分你得十二份的认真对待,日后你要用这些语言写东东的!往下是"定时器/计数器","串行接口","中断系统"这三部分可谓是单片机的核心,有了"定时器/计数器"单片机才会自动控制,有了"中断系统"单片机才会有了"智慧",有了"串行接口"单片机才会知道外面的世界有多大!再往下是"系统扩展"和"接口技术",尽管我是很认真的看完的,这里边的"I/O口的扩展","键盘接口","A/D","D/A"等等,在<数字电子电路基础>里有的已有交待,比较轻松的!有的也只限于了解就可以了,因为将来的单片机里象"A/D","D/A"等等是芯片自带的,你可以有选择的应用便可!
好了!到了这里我们算是完全进得门来了!不错吧!只用了你大概一个月的时间.相当于学校一年多的本科生的时间.我不是说要三个月才能算是"搞定"吗?是的,我们只不过是刚刚入门.接下来是怎么"跑"的问题.
动手吧!花钱了!到网上多看看买一个带ISP下载线的单片机开发板,100元左右.注意的是你学的是MCS-51,你就得买MCS-51的开发板.须要注意的是:
1/ 自带程序的在线烧录(自下载)功能.这会让你省下了买编程器的费用!
2/ 带标准RS232接口.看看板子上有没有RS232芯片和24C**系列的EEPROM芯片,"串行接口","中断系统"这两部分的内容可以得到练习.
3/ 提供16*2字符显示液晶板接口了吗!以后用得着.
4/ 精确标准的时钟电路.找找有没有DS1302芯片,好东东!"定时器/计数器"可以得到练习.
其它的应该一般的开发板都会有的,就不必多说了!
KEIL 是美国Keil Software公司出品的51单片机软件开发系统.不管你是用汇编的还是C语言的,它都能帮你产生目标代码,生成的文件你再把它用ISP下载线写进芯片,呵呵!你的东东就出来了!算是"跑"起来了吧!这跟锻炼身体有点相似,跑得越多你的身体就越好,你的身体越好就跑得越快!到底能不能"跑"起来,或"跑"得快不快,那是你的事情了!至少你已经"走"起来了!
在这里我再说一些细节问题:学"跑"时,最好找一些简单的现存的小程序玩玩!然后想办法改程序,看看能不能再"跑"起来,我就是这样"跑"起来的!玩比较大一些程序时尽量找现存的子程序(就是一些大虾们说的"模块")作为你的子程序,这样就比较可靠了!我们假设你已经"跑"起来了("跑"不起来才怪)!就算你学"跑"用了30天左右的时间吧.入门用了你30天,看看学"跑"和入门的比例:占了一半啊!是的学单片机就是练出来的!必须练,练,练,再练!最好在入门的时候就练!这一点很重要哦!
到了这里你的单片机已经算是基本上"搞定"了!如果你只是搞维修的,那你毕业了!呵呵!如果你是想搞单片机开发,并且想用单片机养家糊口的,那你离"搞定"还有一点距离.一些大的工程一般不是一个人能完成得了的,可能要几个人甚至几十个程序员一起合作.这时候你还用汇编语言就有点说不过去了!汇编语言优点是很多,可是它也有致命的弱点:很难交流,很难移值等等!C语言是个不错的选择,与汇编语言相比,C语言在功能,结构性,可读性,可维护性上有明显的优势!生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑!C语言的优势还体现在你将来搞MCS-51以外的单片机的开发时,你只要对这种单片机的硬件结构有一个大概的了解就可以了!就是说C语言编程时对硬件结构的了解要求不是太高的!学C语言相比是比较容易的,我是网上找到的
学了C语言就算把单片机"搞定"了吧!是的"搞定"了!但"搞定"是要你自己感觉的,这时候我建议你看看朱清新老师的<软件工程>,这里会跟你说说什么是编程!看过后你就有了一种更上一层楼的惊喜!什么是结构化编程,什么是面向对象编程!使你对程序结构和你的编程水平有了质的提升!罗克露老师的<计算机组成原理>,按照常规的教学是先学这里面的内容,然后才是《单片机》.因为我要在这里提出来,如你能再系统的看一遍罗克露老师的<计算机组成原理>,也是有质的升华的!到那时再加上你从网上积累的东西,和你的实操经验!呵呵!算是“搞定”了!算算吧!这样的话三个月没透支吧!
以上只是我的一家之言!有什么不当的地方,请多多包含!但我确实是这么过来的,而且以上就是我的经历!希望能和众多的网友多多交流!以上涉及到的视频教程!感觉用得到的网友跟我联系.QQ:240051585