导航:首页 > 操作系统 > 何老师讲单片机

何老师讲单片机

发布时间:2022-10-07 09:28:49

❶ 求助:单片机及嵌入式行业所具备的知识技能

进入嵌入式行业,勉强不来(转)
觉得海同07年的分析(好像)不错:

“海同教育总经理曲刚老师表示,市场上需要的嵌入式人才必须具备C语言编程经验、嵌入式操作系统(主要包括嵌入式linux、WinCE或 Symbian)经验、内核裁剪经验、驱动程序开发经验,比如高级嵌入式软件开发工程师相关职位要求是:有丰富的嵌入式多任务软件系统分析和设计能力,能独立完成项目系统方案,解决系统故障和问题、精通C语言应用开发,有良好的编程习惯和风格、良好的文档编写能力和习惯、熟悉项目管理流程。曲老师还特别指出,良好的英文阅读能力及较强的学习能力是从事这一领域工作的基础,对嵌入式操作系统做到一专而多能(精通嵌入式Linux,掌握WinCE及 Symbian)更会使求职者身价倍增。
目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业 IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很难找。
嵌入式人才稀缺,身价自然就高。目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计;而对于软件部分,大量的嵌入式公司自己开发,比如对于日本公司来说,由于国内人力成本过高,所以日本很多嵌入式软件开发企业都把项目外包给中国的公司来完成,国内也有越来越多的企业来从事嵌入式软件开发,近几年,国内对嵌入式软件人才需求倍增,仅仅北京市场嵌入式软件开发人员的需求就已经超过了5万人,而且还在持续增长。
嵌入式人才的工作环境与发展前景也有优势。曲老师告诉记者:“从事嵌入式工作有两大优势:一是工作强度相对较低。开发企业应用软件的IT企业,这个用户的系统做完了,又得去做下一个用户的,而且每个用户的需求和完成时间都不同,开发人员往往疲于奔命,重复劳动;而做嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事,所开发的产品通常是通用的,不会因客户的不同而修改,一个产品型号开发完了,往往还有较长一段空闲时间进行充电和休整。二是职业发展相对顺利,从事企业应用软件的人,工作范围广,项目变化大,日常的积累很难产生质变,容易遭遇职业瓶颈;而从事嵌入式软件的人,所涉及的专业技术范围就是那些,时间长了会越来越有经验。”
以上都是针对求职工作而言,若对于个人整体发展来说,如果想创业,做自已的产品,那么嵌入式更是一个不错的主意,嵌入式软件不会像应用软件那样容易被盗版,开发出专利产品,又何止年薪十万。
入行得有专业基础,那么,应该如何快速成长为嵌入式人才呢?曲老师指出,嵌入式系统领域门槛较高,并不适合每个人,嵌入式开发人员不仅要懂较底层软件,对软件专业水平要求较高,要进入嵌入式系统开发领域工作,首先必须具备一定的C语言基础,然后可以尝试参加一些的相关培训课程,接着可以寻找项目实践的机会,增加项目经验。“

还有网友的宝贵意见:

“二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础 ,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到 ,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的 ,但其工资在嵌入式系统四层中可是最高的。
驱动层 比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。
3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及 Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。
三、目标与定位。
先有目标,再去定位。
学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的 。
因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层 ,不管学好了那一层都会很有前途的。
如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。
对于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。
四、开发系统选择。
很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7 好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。
在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。
ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将 Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作系统层面上去 ,让他们望而失畏,让业界更加缺少这方面的人才 。
而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口 这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高 ,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计 ,在软件上讲是操作系统方面相关接口驱动及应用开发经验。 我从业近十年,2000年 ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。
我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。
因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。
五、如何看待培训。
首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。
因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校 。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。
对于培训来讲,是花钱来买时间 ,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样,他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。
另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,他还会失业吗?
再者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏感,当然也对人才成本敏感了,PXA255是intel的东西,一个255 CPU能买三个2410,一直被业界定义为贵族产品,用的公司都是大公司或为军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。
对于说为自已找了个好师傅,我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。
六、成为高级嵌入式系统硬件工程师要具备的技能。
首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通,或去网站看看***。他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。
对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。
另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,dsp类,FPGA类,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。dsp硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如PXA255处理器I2C要求速度在 100Kbps,如果把一个I2C外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9 或是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变1.8V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于 PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出 ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人员。
总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。
那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如Protel\ORCAD\PowperPCB\Maplux2 \ISE、VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。 ”

❷ 学习机器人编程有什么好处

有专家说孩子在8岁以前学东西特别快,是大脑发育的黄金期,这会儿多动脑开发思路,以后不会形成思维定式。
像家里孩子7岁,在乐博乐博这边学边实践的,这里不是纯理论课,,在学单片机机器人,看了他的一些课堂笔记,能涉及到杠杆、电子电路、机械结构这种物理知识。

❸ 单片机的开发也属于交叉编译吧

交叉编译
由于计算机的指令集与ARM上的指令集不一样。所以当程序能正常在PC上执行时,不一定能正常地在ARM上执行。
一般交叉编译的过程是这样的:PC调试的程序 =====> 调试可用,通过交叉编译器将代码指令转换成对应的ARM平台代码指令 ====> 移植到ARM平台上使用。

而单片机的过程也有些像。你像这类高深的问题不会出现在单片机上。其实你要明白什么是编译。
编译就是将 高级的语言转换成机器能识别的语言。这个过程就叫编译。
单片机的C语言在平台上能运行,是因为有仿真软件。而经过编译之后,就变成单片机能执行的代码了。
而ARM不一样。PC中Linux下,程序也能执行,但不是仿真。他是真正的运行。但你移植到ARM平台就不一定能执行,需要转化代码的指令。这个转换过程你可以当成是交叉编译。

其实说白了吧。没多大区别,就是转换成他们能执行的代码就对了。但只是单片机不这样叫。因为单片机的代码是没办法直接在PC上跑的。只能通过仿真软件跑。

希望我的回答对你有所帮助。

❹ 单片机 RRC右移 指令的用法

RRC指令就是带进位累加器循环右移。举例说明:

C =1,A=1100 1100B,

执行RRC A后,C=0,A=1110 0110B(A的最低位移给C,并且C原来的值移给A的最高位。)

SETB C(cy=1)

XCH A,R2(两数交换R2=54H,A=C2H)

JB A.7 , ELSE(若A的最高位为1,则转至else)

CLR C

ELSE: RRC A(带进位位右移A=1110 0 001B=E1H Cy=0)

XCH A ,R2(两数交换后,R2=E1H,A=54H)

RRC A(带进位位右移A=0010 1 010B=2AH Cy=0)

所以,最终(R2)=E1H,(A)=2AH

(4)何老师讲单片机扩展阅读:

控制转移类指令还包括以下:

1、无条件转移指令 AJMP addrll (2字节指令),2K(地址211)字节范围内的无条件跳转指令。64K程序存储器空间分为32个区,每区2K字节,转移的目标地址必须与AJMP下一条指令的地址高5位地址码A15-A11相同。

指令执行时,先PC加2,然后把addrll送入PC.10~PC.0,PC.15~PC.11保持不变,程序转移到目标地址。注意:转移目标首地址必须在AJMP指令下一条指令地址(PC+2)的2KB范围内。

2、长跳转指令 LJMP addr16 (3字节指令),64K字节范围内的无条件跳转指令。指令执行时,把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向addr16指出的目标地址。

目标地址可以在64K程序存储器地址空间的任何位置。注意:短跳转、长跳转指令中addrll、addr16直接写上要转向的目标地址标号(即符号地址)就可以。

3、相对转移指令 SJMP rel (双字节),rel为8位带符号二进制补码数(-128~+127),实现程序的双向转移。在编写程序时,直接写上要转向的目标地址标号就可以。

4、间接跳转(散转)指令JMP @A+DPTR (三字节),由A中8位无符号数与DPTR的16位数内容之和来确定。以DPTR内容作为基址,A的内容作变址。

5、条件转移指令 (双字节)

JZ rel ; 如果累加器为“0”,则转移

JNZ rel; 如果累加器非“0”,则转移

❺ PC控制单片机,串口中断接到数据后如何才能跳出进行中的大循环

你的问题在于 dat = 0xaa后进入死循环。实际只要将
if(dat==0x55)
{
break;
}
这句移入if(dat==0xaa) 执行的while(1)循环即可。改成这样
while(1)
{
if(dat==0xaa)
{
while(1)
{
led=0;
delay_s(100);
led=1;
delay_s(100);
if(dat==0x55)
{
break;
}

}
}

❻ 怎样学好单片机

首先申明这是专贴,但是感觉对你应该很有帮助,好好看看吧:
我是一个电子工程师,我把我原来写的关于电子工程师怎样成长的一个帖子改改放在这里。
实际上,技术这种东西的规律是大同小异的,虽然是电子工程师的成长的道路,但是,其它领域的技术人员,我想也是一样的。
因为我也是比较痛苦地用了较长的时间才完成了从初学者到一个系统工程师的转变,所以啊,将自己这点体会写出来,希望能起到一点微薄的作用。
作为一个初出校门的大学生,如果有高手带的话,实际上只需要大概6个月到1年的时间就能实现这个转变。
只要你够勤奋、善于沟通、人品好。
前2者大家都可以理解;人品好就是大家看着这个人顺眼,愿意帮他,什么都愿意跟他讲,相处不厌倦。
要是狗脾气、自私,谁爱理你?要知道,自私的人,也愿意跟人品好的人在一起。
一个电子工程师,或者说,一个电子系统设计工程师,需要有机会,这种机会是靠自己去争取, “哭着喊着要进步”,有这种精神,还需要明师带着,就可以。
可是,上了班,谁会带你?很少,或者没有。市场竞争激烈,过去还说:“教会徒弟饿死师父”,这种现象,国营单位或许严重一些,民营企业中你需要给老板创造效益,至于学习,是在工作中学,老板是不会让你不干活而学习的,只能边干边学。
我把技术人员的成长之路分成几个阶段:
1. 入门 1~2年
2. 登堂入室 3年
3. 勤奋至卓越
4. 沟通、协作
5. 对某个行业深入理解,做出产品 5年
第一步 入门-51核心和基本电路
中国人有10亿啊,每年有多少大学生毕业呢?我不知道。但是我看到有一张照片,招聘会上熙熙攘攘,人来人往,十分震撼。从来没有一个时刻让我感觉到中国的人力资源是如此的丰富。但是,从现在的大学毕业出来的学生学到了什么东西呢?一些理论,跟实际脱钩的理论。有没有用呢?有点用。但是,在企业中,需要的是实际干点事情出来,实际解决问题。所以说,很多企业不想要大学本科出来的大学生,说动手,没有动手能力,不知道电阻电容长得什么样子,能够做什么?但是又自视甚高,对工资的期望值比较高。等到能够干点事情了,又拍拍屁股跑了。所以企业现在喜欢使用大专中专甚至是职业学校培训出来的小孩,至少这些孩子们知道自己的份量,能够实实在在地做事。要知道,他们很多人的天赋并不差,很多人是家庭条件不好,打小就是苦孩子,没有条件接受良好的教育。一旦给机会,他们都比较珍惜。
现在的大学,误人子弟甚多。扩招是没有错,但是,实验室扩了吗?教室扩了吗?教师扩了吗?至少实验室是没有扩。老树认得的一个研究生说,只有到了一个阶段,才能到实验室作实验。很多导师就是把学生当奴隶一样干活,要是在干活中能够学到东西那就算是运气好的;运气不好的,直接就是导师的廉价的劳力了,学不到东西,活倒干了不少。
但是,既然学生要拿文凭,要应付考试,没有办法,那怎么自救?
在入门这个阶段,需要去学习大量的知识,摸清你所在的领域所需要的知识体系,从最基本的学起。
如果励志要做一名出色的电子工程师,老树可以谈谈自己的看法。
做一个电子工程师,先从51学起,这是得到公认的。不需老树饶舌。
首先,去买一个开发板,越便宜的越好,在上面可以练练keil C。最好再买一个仿真器,这样调试的效率高。当然这个不便宜,但是我觉得可以志同道合的哥几个合买。反正1天24小时,每人8个小时轮流上,有个几个月,C51语言也就差不多了。
其次,看看老树的文章,北京的大学生没事到中发去转转,认认老树的文章上说得哪些电阻、电容、三极管、芯片、接插件什么的,看看自己的电脑上的主板、网卡、声卡、显卡是怎么画的,找到感觉,这些板卡都是高手的杰作啊。
构思一个小的产品,按照老树文章上的思考题,找本protel99se的书,从每个菜单练起,循序渐进,从单片机最小系统->输入->LED->RS232/RS422/RS485->固态继电器、继电器等原理图画起,边画边学,一点一点做,做好了,最好找个高手看看,找出毛病在哪里,再反复改进。在这样的模拟实战中找到感觉。
顺便说一句我对市场上的开发板的看法,这些开发板当然都不错,但是,只能学到语言,不能教你画原理图和PCB,实际做的时候,还是需要高手带一带是最快的。我就是一个朋友教我的,也就半天的功夫,就会了。当时还是DOS下的protel 3.16版本。
以战养战。找个公司、企业,帮他们做个小产品,既能得到公司的高手的指点,又能赚到一笔费用,岂不甚佳?这时,你的开发板、仿真器的费用就出来了。从原理图->PCB->C51,单片机也入门了。
第二步:登堂入室
对所在的技术领域的知识全面进行了解,做好知识的储备,同时彻底掌握单项和多项技术。
作为一个电子工程师,这时,需要对电子技术的所有东东进行全面的了解,主要是看看杂志、BBS、网站上的技术文章、何立民先生主持编着的《单片机应用技术大全》系列,将单片机和它的配套的电路,输入输出、通讯等等做一个全面的了解。目标是为什么?系统的技术储备。知道什么问题可以使用什么方法解决,可能在什么地方找到解决的方法,这对你以后走上工作岗位,解决实际问题是非常有好处的。如果你真能这么做,那么,你今后肯定比单位中的老同志还要棒。
老树在国营研究所的时候,曾经有一段时间无所事事,就是在那一两年的时间内将研究所的技术杂志看了一遍,尤其是《电子技术应用》。打下了一个良好的基础。
这时,争取机会,学习高手们的硬件设计。一个比较快的办法就是到工控机的厂家那里,看看工控机的板卡和调理板是怎样设计的,都使用了哪些东西。记得老树第一次看到国外的一个器件,到处去问,也不知道是什么东东。后来在四通工控那里看到了,原来是固态继电器。这时,脑子里关于固态继电器的知识都冒出来了。
什么东西就是这样,你要是不知道它是干什么的,你天天看见,也熟视无睹。
有心人就是这样,在什么样的情况下,都能慢慢积蓄知识和力量。毕竟一个产品,不是只会单片机就可以了,还是需要很多的外围电路,按照何老师的分类,前向、后向、人机、互相通道等,才能做成一件产品的。
这个时候,抓住任何机会,去参与一个大型产品开发,在其中做一件事情,你可以学到沟通、协作、界面等产品开发的一些要素。
第三步:勤奋至卓越
中国人多啊,每个人都是智商100,谁比谁傻啊。凭什么你比别人强?你能有好的工作、好的收入,你能香车宝马,醇酒美人?老树认为,没有别的办法,就是靠勤奋。
勤奋学习-这个道理大家知道,知识就是金钱啊;
勤奋工作-想比别人多赚钱,在智商相同的情况下,就是靠多付出时间干活,再提高工作效率。别人5×8小时工作,你是7×16小时,再提高工作效率一倍,你不久赚了比别人多5倍的钱吗?老树公司有2个员工,原来在老家种苹果,没有赚到钱,到老树的公司中干活,计件,活忙的时候,早晨8:00起来,晚上12:00收工,年底也赚了一笔钱回家,高高兴兴,老树也开心,原来一屋子人干的活,现在2个人干了,公司管理省事了,员工也赚到了钱。
开发也是一样。当然,这个需要你的公司有这个机制,多劳多得的机制。但是,要是现在没有,你要不要这样干呢?
我认为,需要。一方面,干别人的活,练自己的技术,长自己的本事。另一方面,多干活,才能快速增长本事,技术才能跃变、突破,登堂入室,再得心应手、出神入化。至少,熟练工种是没有问题的吧。
就象一壶水,老是小火,烧了半天,也是温吞水;可是大火一上,一会就开了,就是这个意思。
你看《射雕英雄转》中的郭靖,没有别的本事,就是傻练,有一天开窍了,如有神助。技术这个东西就是这样,突破了门槛,就是坦途。需要勤奋勤奋再勤奋。有一天这个日子来了,你就苦尽甘来了。
勤奋还有另外一个含意,就是天道酬勤。其实是每个人看见勤奋的人,都会给他机会的,觉得帮助这样的人,高兴;把事情放在他的手里,也放心。
还有一个含意是触类旁通。知识需要很多的参照物,去比较、联想、萃取、升华。换句话,你可能付出的是其他人的n倍的努力,可是你得到的是n倍以上的回报,你的知识已经不是简单的累加了,已经质变了。
如果你在这个单位,勤奋了,也出成果了,就是没有得到公平的待遇,也没有关系。换一个环境就是了,总有人会欣赏你的。再说了,付出总有回报。
有些人习惯怨天尤人,没有好的老爸老妈,没有好的老师,没有好的同伴,没有好的环境。这些人需要去看看周立功的文章,看看周老师怎样一步步成长的。
第四步:沟通、协作
原来还有,现在越来越少,做一个小的产品,就可以生活无忧。
现在这种情况越来越少了。在任何一个单位,将一个产品做好,都需要与同伴主动沟通,与不同部门的人互相协作。经常是跟不同单位的人沟通完成意见事情。
有些人性格内向,从做技术的角度出发,这也是不可取的,还是要善于跟同事沟通,向高手求教,才能学到真本领。
第五步:对某个行业深入理解
每个人生存在这个世界上,大都需要有一门独到的技术;更何况你是这个论坛的读者;
有的人天生千娇百媚,有的人天生金嗓子,有的人有个好的老爸老妈;这些都不足为恃,更何况没有这些天赋呢?
当你掌握了单片机、ARM、CPLD/FPGA等高端的技术,应该说,养身立命是没有问题了,可以解决人生的基本问题了;但是,还想更上一步,就需要对某个行业进入深入的理解和挖掘我认识的靠技术过上宝马豪宅生活的工程师,并不是在技术上一开始就有什么过人之处,也不是说他的产品一开始就会比别人好很多,而是都是特别有韧性的人,都 在捕捉某个行业的机会,在某个行业内精耕细作,坚持不懈,别人都干其它的去了,只有他还在这个行业中慢慢来,过上5年或者更多的时间,慢慢得到业内人士的 认可,产品不断改进,慢慢打开了销路,最后站住脚,机会来了,一下发达了。我的一个朋友,就是这样修炼成了正果。
有个笑话,说:刚刚离开的行业,发展最快。说得就是这个道理。
中国大啊,市场大啊,只要认真耕耘,就会有收获。
需要去从事多个行业吗?就个体而言,不需要。那个行业都有金子。
就公司而言,需要吗?那要看你的公司有没有这方面的人才;还需要看有没有这个方面的机制。否则,盲目的进行多个行业的扩展,没有必要。需要做的是至少在某个行业做到前三名。
你看,原来的LOTUS的notes,卖给了IBM,原来只卖出去300万份,到了IBM,就卖到了1000万份。产品就是这样,占领市场的同时,利润就有了,规模效益就有了。一个公司的产品不需要太多,但是要卖的多,才是正路。
象吉列,就是那么个小刀片,作成这么大的企业,多么舒服。
象GE,每个行业都是业内的翘楚,那是资本主义社会200年的技术积累。在中国,需要做的是每一个小的公司都是某个产品最突出的。从小的产品做起,做到国内最好、亚洲最好、世界最好。就行了。中国就强大了。
到那个时候,才有可能出现象GE这样的大公司。才有形成这样的大公司的技术基础。

❼ 51单片机内置定时器制作计时的误差怎么产生的。

首先,单片机定时器的记数的频率是由单片机的时钟频率所决定的,而单片机的时钟频率是由外部晶振或内部震荡电路所决定的。不管是外部晶振还是内部晶振,本身都是有误差的!然后又受外部的温度、湿度、电磁干扰的影响,他们的频率也是在变化的。这是无法避免的。然后,人在操作时也是有误差的,例如51单片机工作在模式1的16位的定时器。当发生定时中断后,要重装定时器的初值,而执行这两条指令也是要花时间的。这个误差很小,可以忽略。最后就是当你 的中断函数过长,其执行时间已经超过了定时周期,这时候将会丢失中断。因为在发生下一次中断的时候,而CPU还在执行本次的中断服务程序。由于同优先级的中断不能被打断,所以就会丢失中断信号,这是产生了错误,而非误差,所以中断函数尽量短!

❽ 求教,想要参加大学生机器人比赛单片机要学到什么程度

能做到机器人控制,你需要懂得传感器、电机控制、通讯技术等等,所以单片机技术至少也要做到熟练,最好是精通的程度。

❾ 我是专科生 学单片机有希望找到工作吗

英雄不问出处啊,文凭不是最主要的啊,看你提的问题,是不是对自己的学历耿耿于怀啊。我见过一个人,只上过初中,但是人家ARM+linux很厉害。所以不关学历的问题。
单片机蛮好找工作的,相对来说。前景似乎也不错。当是一门技术来学,完全有必要。同时单片机要精通也是需要花费大力气的,我出来工作一年了,干也是单片机,但是我觉得自己还是菜鸟中的菜鸟。
汇编是需要学的,有助于了解硬件。汇编跟C各有特点。用C编感觉容易一些,没那么麻烦。
在学校老师教的都是皮毛,我觉得自己当时比你现在还不如。学校嘛,大锅饭教育,如果不是非常好的学校,一般都是如此的,正常。
可以买学习板回来自己练练,有些基础以后,就可以去找相关的工作了,刚出校门的,企业的要求也不是非常的高,别被那些什么 精通这个精通那个,有这个什么项目经验的这类吓跑了。刚出校门,谈什么项目经验呢。
找不到人问?可以上网加Q群啊,另我也可以帮你,但是我也是菜鸟的361762504

阅读全文

与何老师讲单片机相关的资料

热点内容
压缩机线圈烧了可以修吗 浏览:782
cctv5加密收费吗 浏览:210
理财app关闭该怎么办 浏览:451
服务器如何配置多个https域名 浏览:85
怎样制作文件夹的中文翻译 浏览:517
泰剧大尺度影片 浏览:729
为什么python适合做算法 浏览:810
新疆政务服务app中如何实名认证 浏览:224
重生成小孩 浏览:104
二战中的加密技术 浏览:515
美逛app如何建群 浏览:819
iphone用什么app3d扫描 浏览:289
冠生园葱油压缩饼干 浏览:503
Linux库文件安装 浏览:225
解压玩具黑猩猩 浏览:967
单片机中断实验程序注释 浏览:695
安卓手机下什么软件连电脑 浏览:725
最新小电影网站 浏览:784
穿越张学铭系统小说 浏览:268
陈龙跟外国孩子演过的电影 浏览:887