送给所有正在学习或者还在观望的朋友们——51单片机从入门到提高
<div class='showpostmsg'>说在前面的话:很多朋友在学习51的道路上可能会走弯路,有很多朋友都会问,我怎么学,学什么之类的问题。由于版块的发帖量大,很多教程之类的帖子都已经沉到了下面,这个帖子是我从51版块里挑选出的一些很适合出门和提高的一帖优秀帖子的集合,希望可以和大家一起分享,一起进步。这个帖子里有一些内容可能会遗漏。但是如果你真的在这里发现有哪些模块遗漏了,那我相信你已经可以在某些方面慢慢向着精通进发了。楼主自己是大三的学生,在学习单片机这门课程以后感觉理论总归还是理论,只有实践出真知,这是所有从事这一行业高手们都认可的一句真理。所以,当朋友们自己可以独立思考问题的时候,那么恭喜你,你已经走进了51的大门,以后的路可能会艰难可能会崎岖,但是坚持的人往往都是成功的人。
闲话少叙,切入正题。在所有问题之前,我想很多人会问,在嵌入式开发、dsp、fpga这么火的时代,51作为古老的产品,有没有前景,有没有必要去深入的学习?这是个仁者见仁,智者见智的问题,我的观点是,51很有必要学一学,但是至于学多深,那就看各位以后对于自己的定位了。我接触到的很多高手都是从51做起,转向其他,譬如pic、avr或者直接进入嵌入式的行列学习。所以,看到这里,希望大家思考,到底要不要学习51?
如果你决定学习51,那我恭喜你,至少你已经开始在这条道路上有了一个比较清晰的目标,那么,请一定坚持下去。
献给单片机初学者的学习心得
入门教程篇:
1:郭天祥老师《新概念51单片机C语言教程 入门、提高、开发、拓展全攻略》pdf
视频
推荐理由:楼主本人就是从这本书开始真正的实战51单片机,感觉很适合新手,如果有钱的话可以买本教材,和配套的开发板,不是太贵,但是对于入门来说有个开发板比学再多的书都有用。
2:Keil实例教程1-5章
推荐理由:我感觉看这个有两个作用,第一就是看完上面的帖子我相信大家已经会使用keil软件了,这个帖子中的资料可以帮你巩固使用,第二个就是里面的程序可以让你对51的编程有所思考,毕竟每个人编写的程序都不是一个相同的思路,所以多看别人的程序对自己也是个启发。
3:郭天翔老师,我只想为你擦去一些C51代码里的小小蒙尘
推荐理由:可能有人会问,不是让看郭天祥的教材么,为什么有问题还要学那本。看完这个帖子你就会明白,郭天祥带你入门了,但是路得自己走了,所谓:师傅领进门,修行靠个人就很形象的说明了这个问题。郭天祥教程中的C语言可能会用的不是很规范,这个帖子的目的是让大家明白,一定要明白学习一定要懂得取其精华,去其糟粕。
4:《51单片机自学笔记》pdf
推荐理由:当你踏实看完第一个帖子和第二个帖子中提供的内容和资料,那么结合这个帖子,对你所学到的只是有很大的巩固作用。
例程提高篇:
1、35个经典单片机实验帮你成功
说明:这个帖子中的例程都是汇编,但是汇编始终编程的思想,想要学习,就必须得了解。到这个阶段的时候大家必须得学着自己解决一些问题。所以这个帖子留给有心的朋友。
2、初学者的资料,我学习3个月用到的资料!!免费
说明:本来我准备把这个放在第一个部分,但是这里包含了开发板的原理图,当你学完一整套的教程以后,如果可以根据原理图和自己的要求动手做一套属于自己的开发板,这对学习是一个很大的帮助。
3、C51学习的好东西,(内含31个实例的电路和C程序,对已入门特有用)
说明:这个帖子中提供的例程是一些可以实际使用的程序,所以如果这时候自己花钱自己动手做出来属于自己的东西,是不是对大家是一个很大的鼓舞呢?
4、51单片机应用开发案例精选和单片机外围电路设计
说明:这也是帮助大家实际操作的一份资料。
5、Keil C51语言使用技巧及实战
说明:到这时候已经不是简单的编程序就行,这个技巧里有很多帮助大家改善和优化系统性能的方法。
6、【好书推荐】【51单片机应用开发范例大全】扫描版
51单片机C语言应用程序设计实例精讲
【从零学习单片机之一】51单片机IO使用例程
说明:这几个帖子里有很多实际应用的开发,对大家的学习有很大的帮助。
很多时候,学习是个枯燥的过程,而且只能靠自己。所以如果大家能耐得住寂寞,学着自己学习。这样就可以在成功的道路上走的更踏实。希望这个帖子能够帮助大家。
最后宣传一下,我为51单片机版块建了一个新群,群号是 20766859。期待大家的加入,在51的道路上互相共勉,也为大家走向更加好的未来铺好道路。
谢谢大家!</div><script> var loginstr = '<div class="locked">查看精华帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
}
</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> 好 :congratulate: 相当详细,谢谢斑竹啦 恩。对新手来说不错,但是个人建议只看其中1到2个就可以了,最好按官网的实例代码来养成好的代码风格,同时养成良好的动脑习惯才会不断进步!
:)
回复 4楼 zqjqq88 的帖子
嗯,其实有很多地方都是相同的。入门以后怎么学就得看自己的了。:victory:回复 楼主 bintimes 的帖子
谢谢楼主! 总结得非常到位。 虽不晓,但觉吊,~~ 楼主肯定是个高人,膜拜!http://comic.qq.com/images/comic/2007/12/28/april/ppb/55.gif回复 7楼 xouou_53320 的帖子
看你这么夸我我都不忍心说出真相。但是我还是得说,其实我入门不久,只是边学习边动手,所以有一些理解,没有多么的厉害。哈哈回复 8楼 bintimes 的帖子
这样版主的经验都是一手的,新鲜出炉,更能帮助到大家 ,也更能理解大家的需求哈哈回复 9楼 soso 的帖子
:pleased: 我感觉也是,哈哈回复 10楼 bintimes 的帖
虽不晓,但觉吊,~~ 楼主肯定是个高人,膜拜! :rose: :carnation: 真的很详细啊,写的挺好的,我也是看郭天祥的视频入门的:) 好好看看是不是好东西!!谢谢楼主提供的好书。 感謝您熱心分享! 谢谢谢谢!!!!!!!!!!!!! 顶一个:victory: 开发板的话新手可能不需要太多的功能模块,简单几个就好了。到后面自己做一做一些模块,或者转向其他系列的处理器,真正的我感觉不需要完全把每个模块都学完。要用到什么就去学什么 资料或者视频教程什么的还是多看几套的好,这样不会拘泥于某一种单一的思维模式。ps:我自己买的开发板就不是新概念的那本书的配套,刚开始会感觉各种坑爹,不过后来习惯了也就觉得这样子其实能够学习到更多的东西,对硬件和程序理解得更加深刻 亲很好的教程