购物车0种商品
IC邮购网-IC电子元件采购商城
写给初学者的一些话-杂谈
(2011/10/17 9:32:00)

本文原创,仅代表我搞单片机的一些想法,有不妥之处,不承担任何责任。
第一个问题,讲一下初学者到底学习那个系列单片机。
51、AVR、430、ARM(包括嵌入操作系统)、FPGA当前单片机系统如此丰富,对于新手到底该如何选择呢?我认为最大的误区,在于新手普遍的追时髦心理,急功近利心理,妄想短时间之内学会ARM,学会嵌入操作系统。网上资料、厂家宣传、培训机构广告也对初学者产生误导,使之误认为ARM很容易学。但是没有51单片机知识作为基础,其他一切都是空中楼阁。必不能达到预期效果。51单片机作为入门级产品,现在更多的体现在教学意义上了。虽然大部分的产品,已经淘汰51,使用高级芯片或者增强型51芯片,但是奉劝初学者,还是要从底层、基础、即51开始单片机的学习。学好、学会、精通51单片机再学习其他单片机也能很快入门。

第二个问题,学习单片机,需要有哪些基础,入门都学哪些东西。
很多初学者经常问,我能学单片机吗?难吗?我现在什么也不会啊?这里想说几句,要想学习单片机开发,需要有以下几方面基础,但要求并不是很高,可以在以后的学习过程中慢慢学。
1、电路基础:一些数字电路、模拟电路基础。毕竟以后要自己设计电路,这些知识是很有用的。
2、C语言基础:我个人比较喜欢C语言开发,相比汇编最大的优点就是移植性要好。学习51单片机,C语言编程当然需要有些基础。
3、一些单片机的基础知识:虽然是初学者,但是一些基础理论知识还是应该知道的。
4、一些焊接等动手能力,这个要求就不是那么严格了。呵呵。不过能搭一手漂亮的电路还是挺好的。
怎么样算入门?
1、学会使用编译器软件:就是在编译器下建立一个项目,编写一点点代码,生成一个程序文件。当你熟悉这个流程以后,就变得非常容易了。不过第一次还是很难实现的,最好有一个比较详细点的教程。
2、学会使用下载工具和软件:把程序烧录到单片机里,运行起来,需要动手去操作。
3、学会使用调试工具:如有条件,可以学习硬件仿真调试。
4、以上可以在学习板上实现,不过以后你要学会自己设计 并制作电路。所以还要学会PRTEL软件使用。

第三个问题,学过一段51单片机了,入门也会了。以后怎么办啊?
很多初学者,学了一款51学习板,基础东西也都会了,下一步怎么发展却不知道了。下面的一些理论是我的一点不成熟想法,有这样困惑的朋友可以参考参考。
1、单片机的平面发展理论:不断学习同一个层次、不同结构、不同品牌的单片机。
学会了一个系列、一个公司单片机,比如51(AT89S51),了解的它的全部内部资源。下一步学习,仍然可以围绕51进行。可以扩展到其它公司的51单片机,比如stc、pic因为他们有很多增强型51单片机。功能比普通AT89S51强很多。如果可以,接触更多的同系列的51单片机。最终能够在做产品时,选择最正确的单片机,对每一种51单片机的优劣有清晰的判断。
2、单片机的纵向发展理论:不断学习高级别的单片机。
在学会一个系列的单片机,继续学习高级的单片机,比如从51到AVR、到ARM。可以学习到更多的单片机,接触到更多的知识。
3、单片机的外围发展理论:不断学习单片机的外围功能模块。
学会一个系列的单片机以后,转而研究外围电路。不论是输入、输出、通讯、逻辑和计算。单片机外围电路千变万化,其功能模块也千奇百怪。这样的模块学的越多,对你做产品的好处越大。毕竟所有功能模块都是用在单片机上的,不论是51还是ARM都需要有外围电路才能实现功能。
4、总结:无论以上那种发展模式,其最终目的都是单片机开发,都是研发出产品。所以最终的产品才是目标。

第四个问题,学习要精 还是要多的问题。
这个问题也比较麻烦,很多认为搞单片机要学那么多东西,还要软硬件结合。我不可能每一种都做的很好。到底是要什么都会,还是要精通一种呢?
个人认为,如果是学生,还没有工作,那么还是什么都会一点才好。毕竟谁也不知以后的工作内容是什么,可以参加工作以后再选择优势发展方向。
另外通常精通一种工作的都是大公司,分工比较明确,每个人负责自己的一部分,而在小公司,可能连技术文件都需要你来编写,当然是会的越多越好了。

第五个问题,随便聊一聊开发的流程,主要研发设计人员在这些流程中的工作。
1、产品需求阶段:可能是根据市场需要或者公司安排,确定要开发一种产品。开发人员需要和产品需求方沟通,明确客户的需求,对即将开发的产品有一个总体上的印象。
2、产品立项:这时产品已经确定要开发,需要立项,开发人员可能需要填写立项相关文件。有可能设计项目奖金哦。。。
3、产品总体设计:一般由高级系统架构师(我也不知道这个是什么样的牛人呢,还没参加过有这种牛人的项目)搞定整个产品的系统设计。形成系统结构图,有可能分解成软硬件部分。(此处的软件指上位机应用软件,不是单片机内部程序)。
4、技术难点攻关:这里看需要开发人员出力了,就是把整个系统比较难或者不能确定的部分,先进行研究实验,以确认不会因为这些部分导致项目无法实现。
5、电路设计制作:涉及到单片机开发人员了,涉及产品电路,并形成PCB电路板。
6、单片机程序编写:终于要编程序了。到单片机工程师大显身手的时候了。
7、硬件调试:电路板焊接完成,程序编写完成。进行硬件调试,以发现程序的缺陷。 还有可能因增加或删除功能进行修改。
8、与上位机联机调试:基本是整个系统都完成了,所有功能都要调试,以保证产品稳 定。如果没有上位机软件,这一步就省略了。
9、测试:产品都搞完了,当然需要测试了。测试过程和方法很复杂的,这里就不说了。 如果测试出现问题,是需要返回到开发人员那里进行修改的。
10、制作样机,完成项目开发部分:到这里基本上已经告一段落了,不过开发人员可能 还需要提供说明书等很多文件。
11、小批量生产,投放市场:用市场检验产品。如有不合格或者需要升级,开发人员就 要进行修改了。
12、产品实现量产:量产销售到市场,如有问题,一般归售后服务人员处理,处理不了 也会让开发人员帮忙,毕竟开发人员对产品最为熟悉嘛。
13、总结,开发人员的工作可是贯穿整个产品开发过程的。。。初学者可以对照一下,看看你都需要学会哪些东西。


本文有感而发,仓促写成,不妥之处还请大家海涵,拍砖请轻点。

网友评论:第五个问题和我好像没啥关系

网友评论:对初学者很有帮助。顶一下、

网友评论:我来说一下。很多电子相关专业的去搞ARM编程,是被拉去做底层驱动。而OS移植,上层应用,依然是计算机相关专业的在搞。毕竟背景就不一样。至于算法,通信,计算机的,都有可能去搞,电子的,也有可能。

网友评论:很多人的ARM开发板买了就屯在那里了,一是因为一时工作上用不到,二是因为确实没那么块能搞定,尤其是工作后,很多人就没时间折腾了。时间久了,就屯起来了。我也屯了一块。不过现在ARM7在我的工作中是用不上了,实在用,用我熟悉的DSPIC30,PIC32,都能搞定。

网友评论:不过如果要学习小型的RTOS,基于AMR7的平台学习是不错,资料丰富,比如uc/OS-II。而学习大型的OS,WINCE,LINUX,目前也只有ARM9的平台比较合适,MIPS或者一些其它平台,中国大陆能找到的资料实在太少了。

网友评论:坦率得说,我觉得如果一个人连3000行的C语言项目都没写过,是不应该那么块离开8位机去搞什么ARM7,ARM9的,C语言的基础都不扎实,搞了ARM又能怎么样,简历上写上一行两行而已。之前看到一堆的应届毕业生写了解ARM,或者熟悉ARM,精通ARM,那又能如何,还是不可能放心让他们去独立做一个3000行以上8位机的C语言的编程项目(只管编程)。
之前碰到一个更搞笑的事情,一个号称搞过ARM有N年工作经验的人,段码LCD的驱动搞不定。
虽然李开复的10万行C语言代码一说在电子行业不大现实,但是至少还是能说明一点,熟练还是必要的。
而电子行业,单片机只是一小部分,真正要做一个东西,仅仅是技术上,要考虑的东西就太多了。

网友评论:你们都好厉害,我个人认为51没有一年的时间是入不了门的。

网友评论:忘了说前提条件了:第一次接触单片机。

网友评论:看来只有不但学习了~~~~~~~

网友评论:同意圈圈说法,单片机不是什么难东西,关键是行业内的一些思想怎么用.sch与.c给弄出来,并且稳定,其实原理大家都明白

网友评论:这个要顶~~~~~~

网友评论:不错,学些了51,现在学习AVR

网友评论:新手飘过

网友评论:很好的一篇文章!谢谢指引

网友评论:良师益友多了,路好走。路过,留个脚印

网友评论:lz的文章太有见地了,我见过很多没学51就直接弄arm的,那个景象我就不说了,真是气死人。

网友评论:不错,要顶下,用了好多心思写的吧,对学习找不到方面的朋友很有用

网友评论:1#

除了必须从51开始的观点不同意以外,其他的都无比同意,

另外纯粹的ARM7也不是特别难,LINUX等OS比较麻烦

网友评论:顶一下,写的很好,

网友评论:太好了受用了

网友评论:1#
指点迷津

网友评论:呵呵 学习啦

网友评论:收益非浅,跟高人学习!

网友评论:累了,标记后睡觉

网友评论:看了LZ的指引,我似乎恍然大悟 茅塞顿开 谢谢了

网友评论:这的酱油好多啊!

网友评论:呵呵。学习了,谢谢

网友评论:谢谢,令我们这些初学者受益匪浅啊

网友评论:明天卡收藏

网友评论:有道理,支持。

网友评论:很好的文章

网友评论:很好的文章,我作为一个刚刚接触到单片机的人,看了你写的这些真的不错。刚开始我也是按照网上大部分人说的那样学习汇编,可是看了半年的汇编也没有什么收获,就开始转向C语言,很快就体会了C语言的便捷,不过学习汇编也有了一部分的作用,对单片机的内部结构有了了解

网友评论:玩过了,玩多了,单片机是一天天的积累起来的

网友评论:不错,但是我有一个想法,要是能找个师傅带着是不是更好,当然也不是说全部由师傅来教,所谓师傅领进门修行在个人了,呵呵 、、、

网友评论:写得很实在

网友评论:牛 不错

网友评论:谢谢LZ的文章了,我有一个大概的努力方向了。文章收藏了。
但是对于第二个问题的最后一句有异议:画图用PROTEL有点意见,现在画图基本上都用PADS2007了哦。

网友评论:学习

网友评论:刚想学单片机,先学完51吧

网友评论:谢谢分享!!!

网友评论:对初学者说再多
没有真正做项目也是白搭!!!
永远别想一块开发板能把你完成什么级别
怎么玩,都是自己在玩,就是你玩死也玩不到高手这级别,甚至只能是你知道了这单片机,这ARM,这FPGA……等等是个什么东西而已!!!有什么用??
高手永远是在项目在产品中磨练出来!!

我觉得一个人的技术成就和他的工作是密切相关,你们公司的产品用到的技术决定你在某一技术领域的高度!!!

网友评论:请问,搞PIC也应该先学51否?

网友评论:好贴,顶一个,现在我只是有了一定的单片机基础,但是还是不能够利用89s51单片机做出来一点东西,哪怕只是简单的东西。哎!现在我听发愁的。

网友评论:的确……

网友评论:非常感谢楼主文章,要加油了

网友评论:谢谢指导,好好看了

网友评论:顶一下

网友评论:谢谢LZ分享~!

网友评论:我现在工作一年多了 一直做单片机 主要负责的软件部分,在学校没实际动手做过东西, 现在是第二份工作, 第一份做了8个月, 因为某些原因 ,第一份工作中基本没做过项目, 在那8个月中 ,只是编写了一些简单的程序;
8个月后换了现在的工作 ,做单片机 ,当时面试时 这个单位的技术负责人说了一堆项目 说这些项目都要开始了,急需人手, 我觉得活挺多的 应该挺锻炼人的 然后就过来了 结果入职后才发现 那些项目都在恰谈中,现在又过了8个月了 只做了一个小项目,又没有项目可干了,每天除了杂七杂八的事, 就是自己学习
我现在做的项目程序还不到1000行 硬件还没有设计过,对硬件一窍不通, 我不想频繁换工作, 但是不能总这么浪费时间 尤其是作为一个女生 能毫无顾虑的做技术、 学习的时间本来就不多, 所以现在非常苦恼 不知该怎么办了 请各位大侠帮我指点迷津 谢谢

网友评论:不错,精益求精

网友评论:谢谢,指点前进的方向啊!

网友评论:刚入门的,谢谢楼主

网友评论:ARM有那个难吗?我不懂,想问问

浏览:(500)| 评论( 0 )
博文评论

  • 昵 称:
  • 内 容:10~250个字符
  • 验证码: 验证码看不清楚?请点击刷新验证码
  •                      
  • 博文分类

    热点博文

    最新博文

    最新评论

    IC电子元件查询
    IC邮购网电子元件品质保障