本帖最后由 翔宇 于 2012-11-1 13:05 编辑
叶紫 发表于 2012-10-22 11:43
谢谢啦。。。。感动jing。
一点小小的建议分享 最近有很多人在论坛里问“如何去学习单片机”,身为新手,他们有的是迷茫,作为过来人,作为一个曾经在学习单片机方面苦苦挣扎的人,想写点东西给新手们作为一种借鉴,虽然只是一己之见,但是希望他们能够少走点弯路。同时也算是对自己过去的一个总结吧!
学习单片机首先是两个字 “喜欢”!
学习一个东西,光有10分钟的热度是不够的。 从事单片机,就意味着你以后是和枯燥的程序、调试、乱码、未知的软硬件错误、熬夜,失去了很多参加其他各种活动、娱乐的时间。如果你想选择这种生活,请先确定你有一种精神能指引你一路走到底,至于什么精神,只有你自己知道。是对电子类产品的好奇、喜爱、痴迷,还是对成功后的成就感的期待,还是享受独坐电脑面前迎接各种挑战,或者单纯是为了就业能够找到一个好的工作。 有了坚定的原因之后,就请进入正题。
单片机是什么?单片机也叫单片微型计算机,麻雀虽小,五脏俱全。如果你学过微型计算机原理,我相信你应该能更好的理解。通俗点讲,通过单片机我们可以实现各种功能的控制,例如工业上微波炉、洗衣机、等各种简单电器的控制! 有人会问初学单片机应该从何学习,应该看什么书!这一点儿感觉没有什么硬性的要求,只要是本差不多的书,只要按部就班的的看下去,那么就一定会有收获。但看的过程中要注重实践!空谈理论将一事无成!实验检验真知! 有人会推荐郭天祥的书籍和视频,我在此不过多评论,萝卜、青菜各有所爱,每个人成长的路径并不是一模一样的。 我说一下自己的看法吧! 要想学单片机,首先要学好C语言,然后再从最基本的C51入手去感受单片机,去学习单片机。有了一定基础后,在学习一些高端的单片机时就会容易很多。有人会说为什么不先学汇编呢?我的回答是,汇编的可移植性很差,在各种单片机中不通用,而C语言几乎是一种主流,最起码在初学者中是绝对的主流,可移植性较好。学好了C语言,之后想学更高级一点的C++也会容易些。 一、对于完全没有基础的(C语言都不会,广泛存在于大一新生) 没必要自己去买书,比较不错的书有谭浩强的书,有的学校会选其为教材。学习单片机的人一般都是工科类学生,C语言一般都会学的,所以可以向同专业的学长借本C语言书,好处有以下几点: 1、每个专业都有其相应的C语言学习要求、侧重点不同。例如学电气对C语言的的要求根本没有学软件编程的高,这两个专业的C语言书可能就差了很多,相对的来说要求不同,C语言书的可接受性也就不同。 2、既然以后要学,提前学习一下对以后的课程学习有一定的帮助,哪些是侧重要学的,让学长帮着圈点一下,学起来会更容易些!避免了平时把时间浪费在学习生僻不常用的地方。 3、学长用过的书,在很多地方可能会有一些标注,这让你理解起来会更容易些,一些误区通过学长的记录可以避过,少走不少弯路。我用过的C书本,就存在很多的注释。 C语言一定要学好,因为通过单片机控制各类东西,主要是通过C语言编程来实现的, C语言掌握不好,到时候,你将把大把的时间浪费在修改程序的的低级错误中,这也会影响你你学习单片机的积极性,得不偿失! 二、有C语言基础的(主要存在于大一下、大二人群当中) 书籍的挑选和C语言一样,选大学中将要使用(51系列的),不推荐其他任何书籍,因为单片机入门并不是很难,关键是自己是否用心去学。花了不少钱,买本用不了多久就搁置的书没有太大价值,网络上各种电子版书籍也多的是,想看可以任意下载,需要的部分打印出来即可。 每本教科书的选择都是慎之又慎,既然选择了就有一定的意义。而且每本书既然能够出版,它的排版也应该是比较合理的,所以对单片机的学习就按手头的书里的顺序学习就行。 单片机的学习第一节一般都是从点亮小灯开始学起,很简单的东西。当学的复杂了,那也是由各种简单的函数、模块组合起来的! 当用到各类芯片搭建各种模块时,datasheet即技术手册将是对你最好的帮助。里面有各种相应的电路,以及相应参数计算。你需要的东西基本都在里面。要学会看英文原版的datasheet,因为中文版的可能会有一些错误,即使是小概率事件,但一旦错了,可能就很严重。以后想研究的深了,那时可能你看的资料只剩英文的,所以想走的更远些,就要从学会看英文原版资料做起。
附带一些以前搜罗使用过的小程序(双刃剑,使用的好可能会有所提高,使用不好局限你的思维,变的狭隘):
三、实验器件、开发板的选取 与其自己花钱买各种东西,不如进入所在学校的实验,在那里有你需要的各种器件,很多时候不需要你出任何钱,你就能学到很多你想学的东西。在那里你们可以得到很多锻炼的机会,参加各种比赛、做各种项目! 实验室并不神圣,在重要一本院校,可能主要面向研究生开放,但是他们只是没有给本科生契机而已,例如纳新,你认为他需要吗?二本院校以及其他院校要求就低了很多,通过实验室纳新就可以比较容易的进入,当然你要付出相应的努力。所在的学校是二本的,纳新要求并不是很高,就以我所在的实验室为例吧,我组织参与了两届,每次一个月左右,应该有点发言权吧! 1、 开学初的同意纳新。 首先是基础的C语言培训(因为主要是面对大一新生,为期三周左右,课时2h*8),然后是笔试、面试。其中主要是看参与者的的态度,积极性,因为是零基础的,所以能力要求一般不高! 2、平时,只要是有人想加入实验室,我们会让他们直接找老师,勇气的考验!仅此而已,机会给你,能不能留下、得到认可完全靠的是自己! 3、即使进了实验室,最终留下的都是极少数,由于方向不明确、奈不住寂寞,忍受不了那份孤独!
面对那些没有纳新的实验室“单刀赴会,直奔主题”是最有效的,既然是实验室,大门就是面向学生开放的,基于你的勇气和抱负,老师不会轻易拒绝你的,曾经我山大的一个同学听了我的劝告,然后就进了他们学校的实验室!其实很多事都很简单,关键是你能否迈出最为关键的第一步!
我所走过的路有限,而且其中充满了挫折,所以我就不在此分享我的经历了(曾经我在爱板网上分享过但感觉太平庸了),而且由于文笔匮乏,很多东西可能没有写出来,但是有一点要记住,既然选择了,就要坚持住。但凡成功的人,他们都是一些耐得住寂寞的人,能够坚持到底的人。 推荐一个链接: 请谨记里面的告诫:请不要做浮躁的嵌入式系统工程师(谨以此文与大家共勉)
(今天突然发现部分数据丢失,会继续修改、更新,待续……) |