第一篇:周立功单片机学习心得
答博友问:如何兼顾学习ARM与FPGA!
对于初学者来说,要学的知识点很多,到底从哪里下手,人们常常感到非常迷茫。
大一学生先从C语言开始入门,在大一阶段由于对计算机还非常陌生,因此不可能写出一个具有完整图形界面的软件,重点以“与硬件无关的计算方法、数据结构”为基础学习C语言,至少练习编写一万行C代码,否则不会找到编程的感觉,也体会不到编程乐趣,很多人就是因为缺乏一定量的训练,所以对编程没有兴趣,以至于未到毕业时就全部忘记了,程序设计是一项实践性很强的实践活动,没有大量的实践作为基础是很难入门的,因此我认为编写一万行代码是判定是否入门的依据。请初学者记住:当你编写了一万行代码时,这是你能够从事专业的开始,否则你不要期望在这个领域混下去。与此同时,C语言也是学习和使用Verilog的重要基础,所以千万不可小视C语言。更重要的是,如果你的C语言不好的话,你将来就业选择的路子就会受到很大的限制,要么只能做硬件工程师、销售工程师或者转行,别无选择!
有了一万行编程的经验后,大二接着开始学习数字电路和模拟电路了,这是你的机会!将来的开发工作有几种选择,但这两门都很重要,学好了你有可能成为顶尖的高手、专家和系统级水平的人才,即便学得不太好,你也有可能成为一个优秀的工程师。前一篇博文讲了,如果你精通了C/C++,即便你的硬件水平一般,你也可以成为一个优秀的开发工程师,即由硬件工程师负责逻辑电路和模拟电路的设计,由你来编程——你可以编写基于WinCE、Linux、Vxworks或者Windows等操作系统的程序。那么怎样才算基本上“精通”呢?至少编写五万行代码,当你已经编写了10万行代码时,可以说你已经完全精通了,这个时候你如果有很大的造化的话,那完全取决于你当初学习的基础是否牢固了。所以我在前面提到了,精通一门可以成为优秀的开发工程师,但绝对不可能成为系统级的开发工程师,因为你的知识结构不行。
最好在学习数字电路时购买一个99元的EasyFPGA030开发学习板,这个板子是我们开发的,但这个价格是没有利润的,不要认为我是在做推销,我们推出这个产品完全是针对大二学生的,希望有更多的大二学生提早醒悟,能够在学习数字电路时同步学习FPGA和Verilog,强化课程之间的关联。笔者虽然是一个企业家,但也有一份爱心和社会责任感,为社会做出自己的贡献同样也是企业家的“销售业绩”,我们为这个开发板撰写了30万字的配套资料和适合各种水平的范例,也投入了大量的精力录制Verilog语言视频讲座,这些都是超值和免费的。与此同时从2009年开始着手针对大二和大三学生举办FPGA大赛,以提高在校大学生的兴趣,让那些觉悟者进一步提高自信心,找到自己未来的坐标。学好数字电路和模拟电路以及FPGA应用技术,除了成为电子产品开发工程师之外(高附加值的嵌入式系统产品几乎离不开FPGA),还有一个就业方向就是号称“金饭碗”的集成电路设计。
作为初学者,在学习《电子技术基础(数字部分)》时同步学习FPGA与Verilog技术的重点是快速入门和打下一定的基础,根据配套的教材和数字电路教材的内容将基本的数字电路用FPGA实现即可,这是本阶段的学习目标,不要将学习高深难度的应用技术作为重点。并利用课余和暑假期间的空余时间,将一些图书上现成的使用数字电路实现的例子用FPGA来完成设计即可,比方如何使用FPGA 实现一个计数器,并动手做出来。到大三阶段在做出选择,到底是选择成为一个专业的FPGA应用设计工程师、还是嵌入式系统与FPGA混合应用系统设计工程师或集成电路开发工程师,以自己的兴趣和志向为基础而定,所以在学习嵌入式系统技术的同时学习FPGA,两者之间并不矛盾。
最好在大一开始学习单片机,这就是笔者为何撰写《新编电类专业计算机基础》这本图书的原因(详见破解电类专业“就业难、人才荒”的解决方案!(4))。因为大一不学习单片机,后面的课程都没有办法学好。对于大一学习单片机,很多老师不去用心研究学习方法和教学规律,反而搬出一大堆理由来“吓唬”人。笔者当年仅仅是一个技校生,在完全没有指导老师的情况下,也找不到可以参考的技术资料,只是凭着偶尔看到一篇报道罗伯特设计的Altair 8800计算机就做出了一台不需要工作软件的计算机(改进型的Altair-80C31电路详见《新编电类专业计算机基础》教材)。要相信现在公开的信息、资讯条件、人们的聪明智慧与教师的力量,因此大学本科生在大一阶段学会单片机是非常容易的一件事情。
有了单片机基础之后,在大二阶段学习数字电路与模拟电路的同时,结合单片机学习接口扩展技术与模拟前向通道数据采集技术,并编写相应的程序实现一个一个的小系统设计,大三时根本不再需要学习所谓的接口技术与微机原理了。针对数字电路与模拟电路笔者准备写作一套小系统设计与制作配套图书,将前后之间的课程也同步和关联起来,期望进一步提高大学生的动手能力。
有了大一、二阶段强化训练,后续的很多课程度可以理论与实践并重地学习,比方目前大学开设的《自动控制理论》几乎都是空对空地教学与联系,如果结合自动控制理论的教学,让学生学习设计一个自动穿越迷宫的电脑鼠,并举办相应的大赛,则能够很好地将嵌入式系统应用技术、数字电路与模拟电路、计算方法与数据结构、机构设计......相关课程有机地结合起来,学生的兴趣将大大地得到提高。
当学生有了学习的兴趣和动力之后,教学势必由老师个人在课堂上演“独角戏”的场面转变为研讨会,学生也一定会竭尽全力由被动学习向主动学习转变,这就是教育要达到的目标,所以我们不能一味地指责学生不好学。作为老师我们一定要思考和拿出行动,让学生喜欢并愿意向您学习。事实上学生的未来完全取决于老师的引导,现在教师队伍存在的很大毛病就是将责任推向扩招和学生不好好学,扩招有没有问题?当然有,但作为教师我们做得怎么样呢?我们是否在教学上做出了巨大的努力,这需要我们扪心自问。
学生不好好学,这也是事实!但也是表象,我们要思考他们为什么不好好学习?我们应该怎样才能让他们好好地学?作为老师,第一不能给学生划定考试范围,第二学生缺课要坚决扣分,如果做到这两点基本的要求,学生不好好学就制度处理,我想效果会有很大的改变。当然就业难的责任也不能完全推给老师,但老师们应该做到自己该做到的,因为家长都希望老师们对他们的子女严格要求,更迫切的需求就是让他们的子女学到真本事,他们肯定支持教师的行动。
进入大三阶段则需要有选择地重点学习嵌入式操作系统原理与编程、嵌入式系统与FPGA的混合系统设计或者全力以赴钻研FPGA应用技术等技术方向,大四阶段就可以真刀真枪地完成一个漂亮的毕业设计,并能够写出一篇比硕士水平还要高的论文。
3年前
精通C/C++同样能找到一份非常好的工作!
电类专业大学生都学过C或C++,但没有引起大家的重视。电类专业毕业生要想有一份高薪水的工作,从事与嵌入式系统应用技术有关的开发工作是首选。
软硬通吃当然是高手,但事实上只要你精通C/C++,哪怕其它课程完全按部就班地学一遍,等到毕业时要找一份好工作也是非常容易的。精通C/C++的同学的就业方向主要有基于X86计算机的驱动程序开发工程师、WinCE、Linux与软件开发工程师等职位。到了大四时,很多同学都希望毕业后能够从事WinCE、Linux方向的嵌入式软件开发工作,不要说对C++不熟练,而且对C程序设计也未必达到入门级的水平,这样的基础从何下手呢?所以在校大学生不论你目前处于那个年纪,如果你对C语言还不精通,请立即行动起来投入到程序的设计当中去。对于刚跨入大一的学生来说,如果你所在的大学还未开发C语言,请马上购书、上机实践自学程序设计,否则等到你明白的时候就已经太晚了。就算你在大学四年阶段“瞎混”,但只要你每天使用C/C++写程序,四年之后你一定会成长为高手,难道你还愁没有好工作吗?
下面将给大家介绍一本《C++程序设计教程》(第二版,作者钱能,清华大学出版社)好书,笔者在春节前后三个月的时间里仔细通读了这本教材,本书分为四大部分,分别为基础部分(概述、基本编程语句、数据类型和计算表达)、过程化编程(函数机制、性能和程序结构)、面向对象编程技术(类、对象生灭、继承和基于对象编程)和高级编程(多态、抽象类、模版和异常)。可以选择其中的第一、二部分作为C程序设计教学的内容,第三、四部分作为C++程序设计的教学内容,第一、二部分和第三、四部分分别可以作为一个学期约64个理论实践课时的教学,其中上机实践可占到24学时,如果有条件的话,可以增加更多的上机实践时间。
建议有志成才的同学自发地组织C/C++程序设计课外兴趣小组,然后在此基础上再发展WinCE、Linux兴趣小组,按照笔者前面已经发表的文章中的办法开展学生社团活动,强化动手能力和进行创新实践。
为了培养创新性嵌入式系统应用软件开发人才,笔者花费了大量的时间研究各种各样的C/C++教材,虽然我与本书的作者素未谋面,但在与作者往来信件中,我们在创新教育实践思想上有很多共同的理念和异曲同工之处,所以说我对作者是了解的,特此推荐。与此同时我们已决定将此书作为2009级江西理工大学机电学院自动化专业创新实验班大一第一、二学期C/C++程序设计的教材,为学生未来从事软件开发打下一个坚实的基础。
(拜托各位朋友,请您帮助我将此博客的文章向大一学生传递,希望能够唤醒更多的学生投身于创新教育实践活动)3年前
大学生你是否尽了最艰苦的努力?
1981年我参加高考失败之后上了技校,但我还是不甘心将来当一辈子工人。幸好当时正值改革开放的好时机,举国上下莫不崇尚知识,百废待兴各行各业大量需要人才,自学成才的典范层出不穷,于是我决定自学成才,制定了一个自学十年成为专业人才的学习计划。
我首先从高等数学开始入手,购买一套完整的高等数学自学丛书,分别为《一元函数微分学》、《一元函数积分学》、《多元函数微积分》、《微分几何》、《线性代数》......同步学习李翰逊教授主编的《电路分析基础》、童师白教授主编的《模拟电子技术》与阎石教授主编的《数字电子技术基础》,还订阅了《无线电》与《电子技术应用》杂志。自学是一个艰苦的过程,我生活在一个小地方,找到一个能够帮助你解决难题的老师非常不容易,但有一个好处就是锻炼了我独立解决问题的能力。在毫无约束的情况下的自学是非常艰难的,尽管每走一步我都将图书带在身边,但并不见得能够坚持随时随地抓紧学习,每周自我反省的时候,总是自我批评懊悔不已,但效果并不见得有明显的好转,因为目标并不明确,唯一的愿望是希望能够转干,将来有一天调到技术科或设备科做一个技术员,而在当时做一个技术员与当一名优秀的技工待遇差别不大,仅仅是社会地位稍微高一些,而在参加工作的第二年18岁的年纪时,我已经是一个国家二级企业的团委书记了,从而导致很难产生强烈的求知欲和持久的兴趣。
那么怎样才能产生强劲的动力呢?我首先想到的是励志,正好有一个机会旁听中国农村人才学研讨会,于是决定从人才学入手研究成才的方法,探索卓越人才在童年和青年时代到底有哪些优秀的品质和特征,他们之能够所以走向成功,到底有何秘诀?当时唯一能够买到的只有《诺贝尔奖获得者传记》,通过横向比较研究发现,他们共同的特点都是很勤奋并且坚持终生学习。其次我给自己划定范围坚持广泛阅读优秀的文学作品、人物传记、美学、哲学、心理学、历史和管理学等方面的图书,至少保持每天的阅读量为2小时并且坚持到现在从未间断,让自己的思想与时俱进不断得到升华。将成功人士的做法用于工作和生活之中并对照检查,不断改掉自己的陋习,比如我从小就喝酒,以至于酒量很大,常常因此而影响不能完成每天的学习任务,于是我下定决心诫酒。
那么如何保持学习的兴趣呢?动手制作电子装置。我力争将书上的每一个电路都用电路板做出来,没有钱怎么办?节省早餐费用于购买次品元器件,没有双面板怎么办?制作单面板然后在背面跳漆包线构成双面板,一定要搞清楚来龙去脉才开始下一阶段的学习。从二极管开始入门,结合上海第二工业大学编写的《整流电路》,将整流二极管、稳压二极管、单色发光二极管、双色发光二极管一一搞清楚,并且学会如何设计和维修,在学习三极管的时候参考了上海第二工业大学编写的《开关电路》,学会了使用三极管制作、设计和维修各种脉冲电路的方法,还掌握继电器的驱动设计,在学习运算放大器的过程中,找到一本日本人编写《运算放大器原理与制作》,后来在没有合适器件的条件下,将2片LM324接成射极跟随器作为LED数码管的段码驱动电路,这也是一种灵活的应用方法。后来为了制作专业的双面板,我谎称用户专程到湖南省电子研究所“偷师”学习了两天,这个时候才知道用手工绘制电路板必须使用辽宁本溪造纸厂制造的间隔为2.54的铜版纸,先绘制好一面,然后在一个绘图架装两只日光灯,再将图纸翻过来绘制反面,最后将图纸在专业的照相机下拍成照片才能制版。很多学生常常叹息没有机会,事实上路是人走出来的,只要你想学习没有学不到的东西,关键是不要给自己寻找下台的借口和理由,总期望别人给你一个平台,那是永远不能成为优秀人才的,其实人与人之间的不同就在于思想上的差异化,你是否已经提早觉醒?
再后来就是自己尝试设计一台微电脑,当时也找不到任何可以参考的技术资料和指导老师,仅仅凭着一些线索和照片,开始设计一台没有工作软件的计算机,在拨码开关的上下两端分别连接上拉和下拉电阻产生高电平和低电平,将十六进制地址和数据转换为二进制值,然后通过拨码开关将程序输送到CPU的地址线和数据线写入到存储器之中,最后将CPU由复位状态切换到全速运行状态。
有了上述基础之后,我于是决定设计我的第一个作品,一个用于工厂自动化的小控制器,用简洁的微机最小系统代替复杂的液压机床继电器控制电路,当我将制作好的微机控制器投入运行时系统准确无误地按照指定的工作顺序执行,看起来似乎非常成功,但运行一段时间之后系统就开始乱动作了,可找不到任何原因,也找不到有经验的人请教。由于我平时留心购买上海元件五厂的集成电路使用资料,于是只好向他们求教,郝鸿安工程师给了我一些启发,因为他也没有搞过微机控制技术,在当时的情况下,这已经是顶尖的高科技技术了,他怀疑是外界的干扰通过电源传进来了,于是我从变压器开始改造,包括在电源中增加自己用磁环绕制的电感,但效果并不明显。在江郎才尽的墙况下,偶然之间得到了一本上海无线电十四厂写的《双岭器件》,上面讲到光电耦合器的抗干扰隔离设计,于是我不得不到上海出差购买光电耦合器,但买回来之后还是没有解决问题,后来发现原来我将输入与输出共地连接在一起,这是问题之一,其次没有处理好几块电路板之间地线的连接和设计(单点接地),最终完美地解决了所有的问题。就是这个看起来并不起眼的作品,改变了我一生的命运,给了我终生下定决心专业从事嵌入式系统应用技术的力量——生命不息,奋斗不止!事实上在我还没有创办公司之前,我就已经利用微机技术为当地的企业改造机电设备,很多企业邀请我去为他们维修数控机床、可控硅调压和调速控制器,当别人还在开始谈论万元户的时候,我已经是国内个人唯一拥有PC-1500袖珍计算机的最早用户了,后来在各个时期我都是国内最早一批使用新微处理器和新计算机的先锋。
从那时候起,每天我再也不依靠毅力去学习和工作了,快乐地学习和工作已经成为了我生命中最重要的习惯,对于我来说学习和工作不是一种痛苦,而是一种延续生命的再创造的过程。因为长期的努力学习和工作的结果,在28岁时我终于有机会作为劳动模范被国家报送到东华大学劳模班去学习,由于接受了正规的教育,因此对我后来的发展产生了很大的影响。
我的表外孙女这学期就要毕业了,春节期间她专程向我请教成功之道,我告诉她天才人物仅仅是其少数,而对于大多数人来说,要想成功关键在于勤奋并坚持终生学习。当我将自己的故事告诉她时,她说“舅舅,你不是人”,其实我并不是“神”,我在做一件自己感到快乐的事情,我每天学习到深夜,完全是以生命作为代价,我再不希望在我的生命里出现遗憾,我不期望能够活到九十岁,但只要活一天就希望我的生命有意义!
(武汉的周东进是我的好朋友,同样也是技校生,当年在武汉钢铁厂当工人,据我所知是国内第一个用机器码在单片机上编写BASIC解释器的人。我们经历了共同的自学岁月,在很多年里我们一直在一起自学和交流,我深深地体会到一个人要想成功,一定要与成功者、与比你更聪明的人交朋友,他给了我很多的启发和帮助,他是我的良师益友,现在他是广州周立功单片机发展有限公司武汉分公司的经理)
3年前
大学生你为什么找工作很难?
一讲到培养学生的动手能力,很多一些老师开始泼冷水了,我们是研究型本科大学,我们的目标是培养科学家,怎么能够培养“高职高专生”呢?悲哀啊!事实上中国缺的就是应用型工程师而不是科学家,因此培养创新型人才和应用工程师是我国大部分大学的使命,而只有极少部分大学的目标才是培养研究性人才。这些年来我国培养的博士还少吗?从全世界来看,其实承载创新的主体不是大学而是企业。
我们不妨来看一看现行的教学大纲,连Protel、PLC、MATLAB这样的课程都可以列入教学内容,这难道不是浪费青春谋财害命吗?Protel仅仅是一种常规的计算机电路辅助设计工具,而我们的大学居然可以当作一门专门的课来教,MATLAT同样也是一种计工具软件,完全没有必要在大学有限的时间里开设这些课程,其实学生在实践中完全可以很快通过自学掌握。PLC是一个技校毕业的电工都能够快速掌握的逻辑控制器,却登上了我们研究型本科大学的“大雅之堂”,岂不悲哀吗?如今宽口径的大学教学是什么课程都开不知道专业的重点在那里,却美其名曰:大学是“通才教育”,重在培养学生的学习能力。只要是电类专业,教学大纲几乎都是挂羊头卖狗肉,每个专业所开的课程几乎雷同,新的说法是满足就业的需要。
最突出的问题是各门课程之间的关联性很差,如果学生不读到毕业,根本不知道所学课程的作用,等到毕业之时学生明白过来时,已经悔之晚矣了!比如大二开设的《电子技术基础》(模拟部分与数字部分)最大的问题是没有与嵌入式系统结合起来的学习,它们之间完全是割裂开来的,为什么不在大一给学生开设单片机原理课程呢?很多人会借口说,学生没有学微机原理、电子技术基础等县修课程是不能开设这门课的。事实上比非如此,笔者在创新教育实践中就给学生讲授单片机原理与程序设计内容,学生没有学习电子技术基础,但任课老师可以给学生提前做一些铺垫,专门用几节课给学生讲授与单片有关的一些基础数字电子技术入门知识,那么大二阶段学生在学习电子技术基础课程时,就可以结合单片机学习数据采集与接口电路的硬件设计,并通过编写程序验证设计结果,这样就将课程关联起来了,学生不需要等到大三学习单片机之后才感到电子技术基础课程的重要性。本来这些基础课程对于学生来说就有一定的难度,并且枯燥乏味,因此根本无法调动学生的学习积极性,等到大三时学生对所学的知识点早已完全忘记了。有了这些理论与实践相结合的教材和教法之后,《接口技术》也可以取消了。传统的教学大纲、教材与教法诟病种种罄竹难书,只要细致研究一下,这样的事例比比皆是,已经到了非改不可的程度!其次就是大学生本身的心态问题,2008年我到南京招聘,一个南京师大计算机专业的女生,记得好像是一个学生干部。通过C语言程序设计考试之后,她也很想来公司,但在整个的谈话过程中,她所关心的根本不是企业如何培养人才、使用人才和管理人才的问题。她一直追问我们“税后”到手的待遇是多少?我们告诉她1-3之间的薪酬计划,对于待遇她很认可。于是她开始纠缠我们,问:“公司是否有购房和购车津贴?”我们回答说,“对于有突出贡献的员工,公司会主动考虑这方面的福利,而且也有先例。”她接着说,“这些补贴为什么不是人人都有呢?”我们问她,“请告诉我们,你知道那些企业公开为员工提供了这些福利?”她回答说,“很多企业!”我们只好无言以对,于是我们不得不将她请出面试现场,这个时候她反而不想离开了。当然,这个事例不是普遍现象,但学生们提出的各种各样不合情理的现象不少。其实很多大学生在就业中让用人单位所看重的不仅仅是技术,更重要的是态度和情商。我们在管理企业的过程中得出经验,技术不好可以通过培训和在工作中学习得到提高,如果一个人的态度有问题,是很难通过企业的培训而改变的,所以企业招聘只招态度好的员工,而并非仅仅单独在技术上出类拔萃的人才。
3年前
蓬勃发展的江西理工大学学生社团和创新教育实践!
其实每个大学的电类专业都有学生社团和创新实验室,一般来说大学生社团几乎都叫无线电爱好者协会或者电子爱好者协会,但非常松散效果不是特别明显,因为很少有老师直接指导和参与,大多数创新实验室都是为参加全国电子大赛而成立的,具有明显的“阶段性”。
为了强化学生的动手能力,一直以来每年我都专门抽时间为大学生做专题演讲,鼓励学生从大一阶段开始加入学生社团和创新实验室,充分利用第二课堂的时间学习C语言程序设计和硬件电路设计,但效果却不是特别明显。只有极少部分学生从大一开始注重实践能力的培养,这部分学生到大三时已经写过2-3万行程序了,表现特别地突出能力非常之强。
到底如何将这少部分学生所具备的能力成功地进行复制呢?于是我们将这少部分出类拔萃的大四学生组织起来,让他们为各个年纪的学生演讲现身说法以达到激发学生的学习热情。与此同时从大四的优秀学生中抽调出一部分人组成讲师团,针对大
一、大二和大三学生的实际情况,分别辅导C语言、ARM嵌入式系统和嵌入式操作系统程序设计基础,让学生们利用课余时间在四个开放式实验室上机实践(包括周六、日全天候开放),并提供现场辅导。
在这些活动中,报名加入讲师团的学生越来越多,因为通过讲课不仅可以培养学生的演讲能力和全面梳理知识点的机会,更重要的是培养了学生的团队精神和奉献精神以及独立的组织能力。为了进一步扩大学生社团和创新实验室的知名度和受益面,每年的五
一、国庆、元旦以及学校举办大型活动期间,学生社团都会精心准备专门设摊展现社团成员的论文、获奖作品与在业余时间制作的电子装置,常常被好奇的学生们围得水泄不通,于是很多同学纷纷现场报名参加。
为了强化管理锻炼意志训练大家的团队意识,社团的同学风雨无阻常年坚持晨跑直到大学毕业,表面看起来这是一种形式,但形式与内容往往却是相辅相成的,而且这是当前几乎所有的大学生做不到的。这些学生参加工作之后备受用人单位的喜欢,因为他们不仅能力强,更重要的是态度非常好,并且执行力非常强。
江西理工大学是一个地处赣州的二本院校,其前身为南方冶金学院,为什么这些学生的表现却如此不同凡响呢?事实上学生的潜力是无限的,关键在于启发和组织,当然离不开辅导老师常年无私的奉献和辛勤的劳动,更重要的是江西理工大学叶校长将培养创新型人才和应用工程师作为头等大事来抓,并且全面肯定辅导老师的工作成绩和卓越地位,这同样是不可忽略的关键因素,并且将常年从事创新实践教育的王祖麟教授推选为2007年全国优秀教师,这同样也是很多大学所做不到的。
______________________________________________________________________________________________ 欢迎用人单位与江西理工大学机电学院联系,选拔通过创新教材、教法和教学体系培养出来的优秀学生。几年来,通过这种模式培养出来的学生,他们不仅在理论上接受了良好的教育,而且在实验上接受了严格的训练,更重要的是他们具有良好的心态、出色的沟通能力和坚强的毅力,事实上现在的大学生能够坚持每天早上跑步到毕业的学生已经不多了,他们毕业之后分布在沿海地区工作,深受用人单位欢迎。
如果你所在的企业需要优秀人才,请与江西理工大学机电学院提前预订,也可以与广州周立功单片机发展有限公司各地分公司联系人才的招聘,我们都会热情地帮助你。
2009年4月份中央电视台教育台将播放报道江西理工大学多年来与广州周立功单片机发展有限公司校企联合实施“创新教育实践”的专题片,敬请关注!需要录像的企业与大学,届时请与我们联系。
3年前
只有提早觉醒的大学生才能找到好工作!
我的一个表叔来了一个电话,希望我为他儿子提供一个在实习期间学习技术的机会。他的儿子考研成绩达到了340多分,但因为英语分数太低而刷掉了。
其实我与表叔通电话或者见面时,每次我都主动提出让他儿子暑假来公司学习,但每次他都告诉我,他儿子太贪玩不愿意来,我只好无言以对。
昨天晚上我那个从未谋面的表弟来电话了,他告诉我大学四年之后,他唯一的愿望是希望我给他一个可以起飞的平台。他告诉我在大学里学了很多的没有用的知识,比如《电路分析基础》、《电子技术基础(模拟部分)》、《电子技术基础(数字部分)》......我沉默一会儿之后开始给他讲述如何运用这些基础知识设计产品,然后又问到他对C语言的了解程度,他对所学的自动化专业几乎没有一点感觉,只不过现在快要毕业了,开始感到有压力了。
今天另一个表姑父也来电话了,而且他告诉我,某某是一个人才,参加研究生考试考了340多分,如果不是英语考差了,上研究生肯定没有问题。于是我只好告诉他,企业对人才的评估与人们通常意义上对人才评价是完全不一样的。
上述三位亲戚对人才的看法代表社会上一种普遍的认识,但可惜全部是错误的。我考察人才首先是通过一些行为分析人才的主动意识是否强烈,比如学生大二或大三就自觉进入实验室向老师学习,而不是等到毕业才知道理论与实践相结合的重要性,这样的学生往往目标明确、志向远大、有发展前途,否则我一定不会录取那种排名特别靠前读死书的学生。
传统的教育体制害人不浅,我们从小到大都是考出来的。无论是上重点初中、重点高中还是重点大学,人人都是一路“过五关、斩六将”考过来的,而且在大学的成绩也很好,奖学金也拿了不少,三好学生也年年评上了,难道这还不是人才吗?我在一定程度上同意成绩好的学生能力相对要强一些,但如果仅仅是照本宣科读死书那是不行的,最终培养出来的都是一群根本没有创造力的考试机器。因此要想符合用人单位的要求,则还需要一定的实践经验作为支撑才算将知识真正学到手了。但是很多在校大学生却一直生活在”睡梦“之中,直到毕业时才知道自己根本不是用人单位需要的人才,他们常常不检查自己的过失,却怪罪在大学没有机会,更不会下定决心从现在开始好好学习本事,愿意将成功放到未来的每一天。
我时常庆幸自己当年没有考上大学,否则我也就完蛋了。我常常在工作中会出一些行之有效的“怪招”,这可能是我没有受到传统教育束缚的原因吧!在28岁以前我没有上过大学,但我却时常结合工作的需要自学一些相关的技术,在实践中我知道那些知识有用,那些知识无用。当我28岁再到大学读书时,我就已经知道该如何学习对自己有用的知识了,于是还没有等到四年本科毕业时,我就想了一个办法拿到文凭提前离开大学创业了。
在管理企业的过程中,我依然保持每天学习到深夜的习惯,但我只学习有用的知识,每天学以致用在实践中验证和提高。与此同时我与同事们在做好本职工作的同时,利用业余时间坚持投身于创新教育实践,致力于创新型人才的探索和培养,几年来我们写作了超过100本嵌入式系统应用技术图书,其中有38本专著已经在北京航空航天大学出版社正式出版,很多大学纷纷选为本科教材。我在给学生的授课过程中,常常受到学生的追捧,我想这是自己长期努力学习和通过实践不断积累的结果。
我深深地体会到,光有知识是没有用的,必须结合实践将知识转化为实际需要的技术,并且需要与时俱进地学习新技术才会不落后于时代的发展。我们大多数人一生从事的都是应用型的学科,不是科学家并非基础理论研究,所以从一定的程度上来讲,知识是不能改变命运的,考研不是唯一的出路,对于有志的年轻人,只要从大二和大三开始进入实验室,就一定能够凭着技术纵横职场改变人生。
3年前1 热度
电类专业大学生面临的问题
很多电类专业的学生从进入大学的第一天开始也就意味着“失业”,只是未到毕业之时不知道而已,之所以人人心甘情愿、千辛万苦、奋不顾身地冲向高考的“独木桥”,就是因为几乎所有的人都相信“知识可以改变命运”。我们每一个在校学生不仅企盼着毕业之后能够实现“鲤鱼跳龙门”的愿望,而且还将肩负着改变家族命运、实现父母望子成龙的目标。小学六年、初中三年、高中三年、大学又四年,那一步不是“过五关斩六将”拼杀过来的呢?对于大多数学生来说,毕业之时面对的却是一瓢冷水――工作难找,更多的是“隐性失业”,既就是说高校报上来的就业率水份很大。
一届又一届学生为了给自己增加就业的“保险系数”,整天就是忙于“考试”,考微软认证、ARM嵌入式认证……辛辛苦苦不算,花了一大堆父母的血汗钱,肥了那些办“速成班”的老板,结果考了一大堆证书,等到找工作之时,好像能够派上用场的几乎一个都没有,怎么办?考!考!考!!考研究生、考博士,还有很多已经毕业的学生留在学校继续准备考,我并不反对考研究生和博士,基础研究一个国家科技发展的基石,但我反对为就业而考,更反对为提升就业的竞争力而考。
似乎“竞争是如此地残酷”,以至于我们的父母们不得不从幼儿园就开始按照统一的标准“栽培”小孩,于是很多“聪明”的家长开始筹划从幼儿园开始赛跑。还有不少的父母甚至举家搬到学校旁边生活,全家人为上中学的“宝贝”做饭、洗衣服,可怜天下父母心!这些年来严重的就业形势、下岗等社会现象给了我们一击当头棒喝,比如说,过去在银行做一个普通的职员是铁饭碗,薪水超过大学教授,现在也朝不报夕了,不得不竞争上岗,而现在还有没有这样的“真空地带”呢?有。但很多高待遇的垄断行业却并非我们普罗大众所能够企盼的栖身之地,那么唯一的出路就是考大学了。
而人们却将就业难的责任全部推向教育改革――现在的招生人数太多就业机会太少,我认为中国恰恰是人才太少,招聘满意的人才是企业家最痛苦的恶梦,缺乏优秀而卓越的人才是造成中国并非经济强国的根源。
为什么美国拥有巨大财富的几乎都是从事电子、软件等高科技企业呢?而中国的情况却截然不同,大家不妨来看看中国“百富榜”的情况就知道,富豪排行榜上很多都是搞房地产、零售业的老板,而IT行业的却很少,难道不值得我们深刻反思?人才的问题严重地困扰了中国企业的创新和发展。
最近一段时间就业难的问题非常突出可以说闹得纷纷扬扬,这是一个全社会都渴望解决的难题,但我们几乎所有的人都没有“点”到问题的根源,中国确实是一个泱泱大国,确实有很多人,但并不见得培养出来的大学生都是合格人才,这些学生也不是不聪明,也不是老师不努力,而是现有的教育体制将所有的人都害苦了,我们的评价系统出了问题,难道大家不知道吗?不是!学生任意旷课或上课干其它的事情,老师还必须给一个及格的分数,甚至还不能太低,因为作为老师,如果您给的分数太低将会影响到他(她)的就业、考公务员......否则作为消费者的学生就要投诉老师,老师没有不怕学生的,考试之前还不得不给学生划定范围也是无赖之举;教学结果好坏都一样,每个人只要职称一样,地位和待遇几乎就不会有什么差别。大学教育年年喊改革,难道普天下的大学校长比我们还不明白其中的问题所在?但就是不在根本问题上动手术,因此如果不从根本出发将培养创新型人才和应用工程师放在首位,不注重培养学生理论联系实践的能力,中国企业在全球化的竞争中不会有好结果,也就意味着以后就业难的问题将会更加突出。
我多么地渴望自己能够摇身一变那怕成为一所三流大学的校长,尽管作为一个小人物,也希望为改变这世界的某一小部分——鼓与呼!
3年前
要想成功一定要对自己“狠一点”!
1981年5月我参加高考前的预选考试因一分之差被淘汰了,对于我来说,这一辈子最大的遗憾就是连高考试卷都没有看过。人贵有自知之明,平心而论我不是那种天生具有大智慧的人,仅仅有那么一点点小聪明而已,什么都会一点,但什么也不精通。如果不是因为高考失败,我可能没有今天。突如其来的打击对我的促进非常之大,如果说用“幡然醒悟”四个字来形容毫不过分,于是我立志决定“终生学习”来弥补自己的过错,这就是我创办公司将“专注的力量成就梦想”作为发展公司座右铭的深层原因之一。
有一句广告词说得好:“男人一定要对自己狠一点”,20多年来,每天晚上我都学习到深夜一点钟从未间断,因为我知道失败的滋味和失落的感受。1994年11月10日我虽然身无分文,而之所以敢于放弃一切决定下海创业,最大的原因就是很多比我优秀的人才不敢打破“铁饭碗”自谋出路,因此老天爷给了我一次这样的好机会。
在创业的过程中,可以说我没有任何过人的绝招,我能做的就是老老实实做事满足用户的需求。比方说,很多用户都希望阅读器件的中文资料,于是我毫不犹豫地成立了英文资料翻译小组,十年来我们的英文资料翻译小组由一个人发展到了15人,尽管这是一笔很大的付出,但只要对用户有利我们就必须认真做好。为了寻找合适的人才,从2006年9月中旬开始,我放下一切工作亲自带队,每年利用3个月的时间到全国22个城市招聘人才,接着开始利用视频网络给他们做毕业设计前的技术培训,春节后再将全部应届生邀请来公司总部真刀真枪地做毕业设计,等他们毕业之后再对他们进行岗位技术培训,公司每年用于招聘、毕业设计和培训应届毕业生所重复花费的支出至少在500万元以上,对于一个小企业来说这是一笔不少的费用和沉重的负担,但是我始终坚持人才是企业可持续发展最重要的源动力,没有什么工作比招聘人才、培养人才和合理使用人才更重要。每天踏踏实实地努力工作将每一件平凡的事情用心做到极致是我们工作的一种习惯和常态,这样的事例比比皆是。
现在很多的年轻人既想成功,但又不愿意默默无闻地埋头苦干付出百倍的努力,事实上每个人都知道不可能一夜之间取得成功。今天中午我与一个做大学老师的好友一起吃饭,他深深地感到现在的大学老师实在太难做了。很多学生平时不好好学习,到最后打电话向老师要高分的劲头比学习的决心还要大,好像不达目的不罢休,甚至提出要到老师家里送礼,这一切的一切都是为了得到更高的分数。其实没有学到真正的本领,即便绞尽脑汁得到高分又有什么用呢?这难道不是自欺欺人吗?今天的用人单位已经没有那么“傻”了,是否名牌大学毕业和研究生学历,对于企业来说已经不是那么重要了,能为企业创造价值已经成为企业衡量是否优秀人才的唯一标准。他还谈到了“最近高校学生因为平时不好好学习而导致成绩太差的跳楼自杀”现象,好像老师亏欠学生什么似的。
今天下午我一直在想,如果大学校长不怕学生因考试不及格而自杀,如果考试之前任课老师不知道考题,今天的中国大学将会怎样?今天的中国企业将会怎样?我们的国家将会怎样?
我想大学生一定会满足用人单位的需要,我们的大学将一定会培养出更多具有创新能力的人才,中国的企业在全球市场一定会具有更大的竞争力和取得更大的成功,至少中国的大学生一定不会面临如此严峻的就业危机!
事实上人人都知道存在的问题,并且人人都能够想到如此简单的解决方案,但是我们为什么就不能对自己狠一点呢?
3年前
总结教训开创未来,一切皆有可能(2)
6.大学计划是企业发展的动力和源泉
在中国开展大学计划的几乎都是跨国企业,而从事这项事业的中国企业却很少参与其中。虽然捐赠慈善事业能够上电视台、上报纸,知名度会更高,而且也很风光,最容易得到政府和社会的认同,当然眼前利益也会多一些。这几年在做大学计划的过程中,我们主动向大学捐赠计算机和相关设备也时常受到质疑,这是人们的观念问题。因为在中国,企业向高校捐赠的现象并不多见,反而他们会少见多怪,其实国外的高等教育主要来源于企业的捐赠。当然我们也不能说在其中没有一点利益的成份,如果因为我们的捐赠能够使更多的学生从创新教育中受益,而我们公司的品牌也得到了一定程度上的提升,这是一个双赢的结果,我们将问心无愧。尽管我们公司还很小,但是作为企业我们同样需要承担社会责任和义务,我们将一如既往地投入大学创新教育计划,尽我们的能力和努力为高校培养更多的创新性人才贡献自己的力量。
7.科学与艺术完美的结合才是真正的成功之道
我们不妨来回顾一下中国共产党的斗争历史,毛主席既非军事专业出身,也可能从来不曾开过枪,但在毛主席的领导下却打败了留学日本的蒋介石,靠的是什么?就是一句话“为人民服务”和《毛泽东选集》5本书。
大家看过《李小龙传奇》吧!李小龙创立的截拳道,“截”就是防守,“拳”就是进攻,而“道”就是无招胜有招,截拳道没有墨守成规的套路,所以对手永远不知道李小龙下一招是什么?李小龙为何能够达到如此境界?这与李小龙的文化背景有很大的关系,李小龙从小深受中国传统文化的影响,同时就读于美国华盛顿大学哲学系,从某种意义上来说,李小龙首先是一个思想家,其次才是武术家。
专注的力量成就梦想——这是公司在过去的10年发展中提倡的企业文化,通过10年来的积累,公司发展到了一个新的高度和阶段,我们应该对自己有更高的要求,因此面向未来仅仅在专业技术上专注积累还是远远不够的。我们不仅要重视技术的创新,但思想和远见更加重要,只有站在一定的高度,才能实现更远大的目标。
8.赢在平台:创新的价值链与生态环境
10年了,我们积攒了很多年的力量,拆掉了种种藩篱。然而当我们准备起跳的时候,突然发现头顶上的“天花板”竟是那么压抑;再看脚下的“地板”,也不是那么坚实。我们每个人都在思考:为什么华为能“鲤鱼跃龙门”,而我们却只能痛失良机呢?
新的竞争系统就是平台的概念,未来社会竞争将从核心竞争力的对抗转为平台之间的竞争!平台就是我们脚下赖以生存发展的“地板”。“饿虎难斗群狼”,如果还是单打独斗,失败将是无疑的,只是时间的早晚问题,小成功靠自己,大成功靠众人。
企业的高度往往取决于领军人物、中层干部和卓越员工的高度,而高度往往取决于“地板”的高度,“地板”决定视野,视野决定格局。因此通过升级平台使我们的“地板”超越我们头顶上的“天花板”,突破新的格局,最终使我们头顶上一片蓝天、脚踏一番热土的境界。
平台的宗旨是实现三赢人生,即我们如何更优秀,如何为企业和社会创造更大的价值,如何分享展现自己的价值。由此可见,员工对企业的价值取决于对平台的贡献!
9.细节决定成败
人们常说细节决定成败,但是做起事来却往往失之毫厘、差之千里。不管你的活做得多么漂亮,但只要在细节上“一贯性”老出问题,那是不允许的。所以平时的管理是非常重要的,这就是为什么一直提倡“精细化管理”的原因?因为不注重细节的管理,一旦出现意外质量事故给公司带来的损失就是毁灭性的,这是绝对不能容忍的。但并不是说不允许失败,在创新的过程中出现一些失误也是必然的,但绝对不是习惯性的,这也是多年来公司决定是否处理和淘汰员工的基本准则,因此无论是企业还是个人都要注重精细化管理,精细化管理人人有份,并不仅局限于公司的管理,精细化管理良好的结果来源于个人的执行力,所以精细化管理的关键在于个人自我的管理,否则一切的一切都是空话。
结束语 其实一个人的一生是非常短暂的,一个又一个挑战接连不断,所以说人生永远也很难取得真正意义上的成功,人生仅仅是生命由起源到衰老的一个过程。
从1999年2月5日开始出发,我们共同见证了这10年的奋斗历程,下一个10年我们需要更加虚怀若谷、谦虚谨慎和艰苦奋斗,到时候我们将来一次真正的庆祝大会,因为一个企业的生命力是否旺盛需要更长时间的考验。
我多么地希望拥有一番令人骄傲的才干,并能够改变这世界的每一小部分!这是武汉分公司经理周东进在八十年代与我一起自学相互之间写信所说的一句话,尽管这么多年过去了,但我一直留在心灵深处,希望与大家一起共勉。因为只要我们怀抱理想,一切皆有可能!
3年前
总结教训开创未来,一切皆有可能(1)
——庆祝ZLG公司成立10周年暨周立功创业心路历程——
回顾过去所走过的路,往事仿佛历历在目感概万千。1994年11月10日我用借来的2.15万元单枪匹马开创了人生的第一次创业,1999年2月5日我与我的太太用108万元一起重新开始了第二次创业。今天我们怀着激动的心情聚集一堂,一起来纪念这个特别的日子!因为ZLG公司已经十周年了。
尽管当时我们只有8个人,但是通过大家10年来的努力奋斗,到今天为止包括新招聘的员工,公司已经达到了780人的规模,这是值得我们大家纪念的光辉岁月和奋斗历程。
尽管我们过去有很多幼稚的地方和不足,甚至可笑之处,但是我们不能忘记过去,忘记过去也就意味着背叛!我们需要诚恳地总结历史的教训。在此我发自内心地感谢大家,多年来大家一直追随我不离不弃,公司没有核心骨干人才流失过,我们共同历经了公司由小到大、由弱到强的艰苦奋斗过程。
虽然我们通过自己的努力取得了一定的成绩,但是我们更加需要怀抱感激之情,从内心里和行动上感激用户对我们长期以来的信任和一如既往的大力支持。虽然也有一些用户对我们产生了很大的成见和误会、甚至是抱怨,但我们一定要吸取教训不断改进工作方法和态度,提升服务客户的意识和技术支持的能力,争取得到他们的谅解和继续合作的机会。我们一定要时刻明白,如果没有用户的支持我们那有今天,所以我们需要更加虔诚地面对未来。
10年来我们为社会提供了更多的就业机会,为国家创造了更多的税收,面对未来我们应该更加努力工作为建设强大富饶的国家作出应有的贡献。
下一个10年我们需要继续发扬艰苦奋斗的传统和作风,群策群力集中力量对准焦点,力争将公司发展成为一个令人瞩目的企业,具有一流的工作(生活)环境和一流的科研条件,员工的待遇和福利能够与跨国企业相比,优秀的大学生在就业时将我们公司作为首选之一,全面提升我们公司的产品在国际市场的竞争力。
10年过去了,无论是喜悦与幸福,还是艰难和困苦,千言万语难以一一述说。下面将从几个方面谈谈我对创业过程中的心得体会以及面对未来的一些想法。1.成功就是不放弃
1981年我通过一本杂志了解到美国的Jobs在车库了做出了APPLE-I。现在看来仅仅是一个简易的单板机,甚至性能还比不上一个普通的ARM开发板,但是在当时却是一个划时代的产品,于是我决定进入这个行业,并因此而确立了我的人生奋斗方向和目标。坚持每天努力学习到深夜一点钟,在10年或者15年以后创立一个致力于发展嵌入式系统应用技术的企业,那就是我们今天为之奋斗的ZLG公司。
事实上之所以我能够有今天,当然离不开很多人的帮助,但是20多年来我一直没有停止过学习,每天坚持学习到深夜一点钟,这就是执着精神,因为我相信成功就是不放弃。
2.取一个让全世界都能够记住的好名字
众所周知,给公司取一个好名字将非常有利于品牌的推广,拥有一个响亮、大气、有新意的好名字,更是商界公认的无形资产。面对未来的发展,我们需要有一个非常优秀的品牌、优秀的名字,让全世界的人都能够记得住。以后无论是广州周立功单片机发展有限公司,还是广州致远电子有限公司,或者是将来要成立的公司,她们都将拥有一个共同的品牌,那就是ZLG,因为ZLG这个名字具有全球化视野。
全球化需要是一个比较漫长的奋斗过程,我相信只要怀抱不灭的创新思想和火花,我们一定能够在自己所擅长的领域征服世界市场。
3.准确的市场定位是成功的关键
十年磨一剑,专心做好NXP单片机,以MCU为核心向周边临近的领域扩张,这就是我们公司的发展思路。因为要想创业成功,就要有深厚的行业知识和丰富的从业经验,只有聚焦、聚焦、再聚焦,因为成功源于专业化。
当企业还很小的时候,怎样将企业逐步发展壮大;在取得一定的成绩后,怎样坚守自己的主业。在十年的奋斗过程中,TI、Sharp、Cypress、Infineon、NEC、Freescale、Fujitsu、Atmel等半导体公司都采用各种方式和途径主动要求我们做代理时,但我们非常清醒地知道自己的长处和不足,我们一直保持着清醒的头脑,从不为外界的诱惑所动坐怀不乱,直到经历了十年的艰苦奋斗和原始积累,我们才逐步开始与九家优势互补的半导体公司签约。
我们目前所代理的每一个品牌都是基于上述战略自己主动与半导体洽谈成功的结果,因为只有具有互补优势的产品才能帮助我们更加强大,我们不能一味贪大,而更要做强才是我们坚定不移的战略目标。
到今天为止,我们已经取得了8家国际半导体公司的代理权,还即将与台湾旺宏签约NOR Flash与Data Flash的代理权,看起来不起眼。但是对于中国的企业来说,这是一个漫长的而又痛苦的奋斗过程。我们不妨看看,除了Atmel、Microchip这些公司之外,著名国际半导体公司代理商的排行榜上有没有中国本地企业的名字,不是台湾企业、就是香港企业和欧美企业,几乎没有中国本地企业的影子,我们不断取得了NXP、TI、Actel等半导体企业的代理权,说明了一个什么问题呢?中国企业经受国际化企业严酷的信用考核,其次证明了中国的民营企业开始壮大起来了。我们应该为此而感到骄傲,因为是我们努力的结果。
4.成功是向成功者学习的结果
成功是向成功者学习的结果,因此能否培养出比自己更优秀的人才是衡量一个员工是否卓越的关键指标,这就是我的人才观,所以努力挖掘潜力、下大功夫、花大力气培养优秀员工和不断吸收优秀的应届毕业生是我们公司长期工作的重点。
5.可持续地发展来源于全方位的创新
面对金融危机复杂多变的局面以及竞争者的挑战,我们要看到自己的不足,存在的各种问题是我们前进的动力,所以我们一定要重点加强人才的培养苦练内功。
面对金融危机,我们的同行裁员和紧缩,而我们呢?坚定不移地继续加强投入创新。只要一谈到创新,传统的思维就是想到技术创新。事实上创新不仅仅局限于技术,应该进行全方位创新,一定要将服务创新、管理创新与技术创新当作头等大事来抓。
创新其实并不难,首先要有强有力的创新意识,如果你连创新的愿望都没有,那么你将永远只会在原地踏步踏。我可以给大家回顾一下个人对创新追求所带来的乐趣,这个春节我也没有闲下来,我们将如何应用互联网之后的云计算技术为我们创造价值呢?
“云”就是计算机群,对于云计算,打一个形象的比喻:钱庄。最早人们只是将钱放在枕头底下,后来有了钱庄,虽然很安全,但兑现起来却比较麻烦。现在有了银行之后就可以到任何一个网点取钱,甚至通过ATM或者国外的渠道。就像用电不需要家家装备发电机,直接从电力公司购买一样,“云计算”带来的就是这样一种变革——由谷歌、IBM这样的专业网络公司来搭建计算机存储、运算中心,用户通过一根网线借助浏览器就可以很方便地访问,将“云”做为资料存储以及应用服务的中心。在云计算时代,软件即服务,网络即服务,平台即服务以及如何整合互联网的力量为商业服务,全方位地体现嵌入式技术平台的价值。
比方说,我们创新的Anywhere面向设备的编程技术,客户可以通过购买服务获得授权,然后客户就可以通过互联网在终端烧写DS2640的密钥了,有了这个密钥之后,客户就可以使用我们在“云”计算机群中提供的软件代码了。还有我们的开发工具、测量仪器等设备,都可以通过云计算技术为客户提供增值服务。客户只要将设备连接到网络就可以使用我们提供的最新软件,客户不再担心我使用的软件是否最新版本,再也不用为软件或文档染上病毒而发愁。因为在“云”的另一端,有我们的专业人员帮助客户维护硬件,帮助客户安装和升级软件,帮助客户防范病毒和各类网络攻击,帮助客户以前在个人电脑上所做的一切。而客户呢?只需要一台电脑,有一个喜欢的浏览器,客户所要做的就是在浏览器键入URL,然后就开始尽情享受云计算带来的无限乐趣。
互联网的精神实质是自由、平等和分享,作为一种最能体现互联网精神的计算模型,云计算必将在不远的将来展示出强大的生命力,并将从多个方面改变我们的工作和生活。无论是普通网络用户,还是企业员工,无论是IT管理者,还是软件开发人员,每个人都能亲身体验到这种改变。可以说这是一种全新的商业模式和工作体验,我们不能错过云计算给人类带来的价值分享,我们更不能与创新失之交臂!
第二篇:周立功写给学单片机的年轻人的
周立功写给学单片机的年轻人的作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世界上从来就没有后悔药。当然,如果您现在看了我写的这篇文章可能还不算晚,因为您还有机会在以后的岁月里奋起直追——“亡羊补牢,尤未为晚”。对于现在刚进入大学的学生,您应该更加珍惜这美好的求学机会,因为眨眼之间几年就过去了,您很快就会感到来自全社会生存竞争的压力,您面临的对手再也不仅仅是您身边的同学,今天您在班上的成绩的确是前几名,但一走到社会上去才感到是多么地脆弱而又多么地不堪一击。
很少有人能够完全答对,简直是五花八门。很多作为一个即将毕业的自动化专业本科生,至今还不知道单片机是这个专业的核心基础,难道不可悲吗?您的水平不高我完全心中有底,其实我只要求这些学生能够掌握单片机应用开发的基本技能,用汇编和C51 写过一些基本的程序,真正动手做过一些简单的项目,然后将自己做过的项目写成比较规范的文档。我想,这种形式的“自我介绍”肯定要比让别人看您那写的千遍一律的“八股文”简历不知要强多少倍,古人言:“一叶知秋”其实讲的就是这个道理。平心而论只有具备这样基础的学生才配得上企业花钱对您进行二次“开发” 事实上,很多学生根本就不管老师平时是多么地劝导都听不进去,我认为您只要平时善于做一个有心人,主动一些多找老师请教,然后从大三开始帮老师打打下手干一些活。还有一个途径就是自己花钱购买一些学习开发实验板,加强动手能力的训练。但也有很多学生说没有钱,可事实上并非如此,现在的学生购买手机成风,我不知道手机对您们现在来说到底有多大的用途?事实上,现在的学生家庭条件普遍都不太好,可这些孩子们的攀比心里却十分地严重和可怕。到今天即将毕业之际才感到找工作太难。父母一个子儿地攒下一些辛苦钱给您购买电脑容易吗?“望子成龙――可怜天下父母心”!他们是希望您能够学到一些真本事,而您可能很多时间都在玩游戏,上网聊天,实际上对于您来说仅仅是举手之劳,只要花几百元买一块实验板,辛苦一个暑假的时间强化实践,可能您就会与众不同。与此同时,可能您的信心大增,前途一片光明。俗话说得好:仓库有粮,心中不慌!如果您平时没有准备,那么临时匆匆忙忙地上阵面试肯定是要败下来的。从2003 年开始是全国第一次扩招之后毕业人数最多的第一年,以后的毕业生还会更多,同时还有更多的研究生与本科生抢饭碗,面对就业的困境压力不能说不大,痛苦在其中。还有就是我每天都要面临那些看不完的自我介绍简历,很可惜几乎都是清一色的“八股文”令人讨厌。其实只要您的成绩不是太差,分数不是应聘成功的关键,重要的是做人要踏实,不要有水分,实际上,只要将您平时做过的小制作写成一篇心得,再带上您的作品,“事实胜于雄辩”这样更能打动人。还有很多经历了四年本科又三年研究生阶段学习行将毕业的硕士生,不仅不知道嵌入式操作系统是什么东西,而且连C++都不能熟练掌握,驱动程序开发的能力就更不容提了,仅仅做了一个单片机的应用设计就拿到硕士文凭了,术业缺乏专攻泛泛而谈,说句实在话,怎么样也教人无法接受啊!对于我来说,如果您没有特别的才能,我宁愿用三年时间培养一个好的本科生给更高的待遇,他肯定不比一般的硕士生差。所以,考上了研究生之后,您要时刻明白加强动手能力的培养和前沿科学技术的学习至关重要的,这是您将来面试的“杀手涧”,因为您毕业之后要求的工资待遇起码是一般本科生的两倍,但是这个钱不是那么好拿的。顶多3-5 年的时间,大家肯定能够看到一个现实,那就是如果您还不能熟练地掌握嵌入式操作系应用开发技术的话,您只能拿2000 元的月薪。即便您是研究生或是博士,那又有什么稀奇的呢?邓伯伯有句名言,不管白猫还是黑猫,抓住老鼠就是好猫!我们知道企业家是要赚钱的,否则这个企业就留不住人才,无情的市场竞争机制将会毫不犹豫地将这个老板淘汰出局。一个可持续发展的企业,如果离开了富有聪明才智的优秀人才,那是不可想象的。光有几个还不行,而是要有一个卓越的军团。
其实就业的问题,对于一个努力的人来说是何等地简单,我面试了300 多本科生,我只对其中几个成绩中等的本科生感兴趣,他们主要是参加过2001 年全国电子大赛,有的是平时业余时间,暑假及其寒假都在跟老师干活的学生,与他们聊天真是一种莫大的享受和欣慰,对于我来说真的是如获至宝。于是,我就立即劝他们,您的成绩中等确实难以考上好的学校和导师还不如不考研究生以免浪费时间,同时也充满自信告诉他们,“我就是伯乐!我愿意给您机会和花钱培养您”。事实上,即便您考上研究生,如果没有遇上具有超前眼光和经费充足的导师,您读了也白读,更何况现在的研究生扩招的这么多?一个导师带那么多研究生,有那么多课题吗?即便有的话,他应付得过来吗?可能残酷的现实将会让您看到,毕业之后回头一看还远远不如当年同您一道毕业的同班同学。确实也是,人家的机会比您好得多,关键是人家对待机会比您把握得好,可以说:恰到火候。难道非要读研究生理论水平才高吗?这是何等地荒谬啊!我们知道电子与计算机技术的发展日新月异。大学的更新速度一定就要快吗?回答是否定的,比如说推广PHILIPS 的最新单片机和USB 技术吧!他们的更新速度肯定比一个可持续发展的企业要慢得多,难道说我们的人才水平不够高吗?我们公司就有一批这样在各个领域里出类拔萃的“年轻专家”从 2003 年开始,我们将会有一系列的专著在北京航空航天大学出版社出版,大多数的著作都来自于我们长期的基础研究和应用开发,可以毫不夸张地说这些都是我们这个年轻团队合作的结晶。他们是优秀和卓越的人才,他们没有就业的压力,他们不怕炒鱿鱼,相反我倒时刻要想尽办法加强公司的管理,从工资,奖金,福利,生活和事业成就感等各个方面绞尽脑际善待人才和留住人才,这么努力的人才根本就不需要过多地为工作和生活发愁,对于这个问题当然是仁者见仁智者见智,也就是下面我要讲到的问题,一个人如何根据自己的特点、条件和机遇对自己如何定位的问题,也是至关重要的。
比如说,如果您对单片机的理解仅仅是入门水平的话,那么您首先就应该低调一些,因为您主要的任务是为了寻找一个可以学习的机会,说句实在话,此刻此刻您一定要清醒地意识到:寻找伯乐比眼前的利益更加重要!因为您现在确实还没有可以骄傲的资本,您一定要想尽办法取得第一次正式踏入社会的入场卷,这对您来说是何等地重要啊!俗话说得好,“万丈高楼从地起”您一定要寻找机会通过业绩表现出您的能力,您确实与众不同之处。这样您就可能在一个公司里树立您的“信用”,有了信用之后随之而来的机会将会越来越多,到那时您根本就不用不愁自己的待遇和地位问题了。所以对于一个刚刚步入社会的年轻人来说,您能够做到以“诚信” 打天下,您将来的前途肯定是无限光明。千万不要感到自己在班上的成绩是前几名或者相对来说自己的动手能力相比之下比同学强多少、多少,或者自己在读书期间贷了多少款,或者家里是多么地缺钱,因为当您加入整个社会的竞争之后,这些都不是您要求高薪的理由,这个时候您的心态将可能会决定您的命运,因此对自己要有充分的认识和正确的估价,经常是很多学生用这些理由向我开出高价,我无话可说只好“摇头和叹息”。如果您的水平还不够,我认为也不要自卑,要知道机会是时刻属于有准备的年轻人,但也不可掉以轻心,此时此刻,您应该振作起来,立即拿起书本努力学习和加强实战的训练,待到羽翼丰满之时大胆地走出去闯荡,让社会来对您做一个恰当的评价,然后再根据现实的情况不断地调整自己,继续学习和实践,由于电子和计算机科学的高速发展呈现日新月异的变化局势,您一定要明白:您距离失败永远只有6 个月!
第三篇:单片机学习心得
单片机学习心得
一直想写一个帖子,将自己学习单片机的经历、经验和方法总结一下,今天终于动手写了,呵呵,这是我学习单片机的经验、心得、方法。希望对大家学习单片机有所帮助。
经常在群、论坛里看到有人问:怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。
05年的时候,因为制作FM发射采用了BH1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了10年了,基本上都忘光了,也算是从头学起了吧。我当时是买了一块实验板,很简单的功能,比论坛实验板还要少功能,还有一个仿真器,也是比较简单的,SST芯片的。然后开始从大家都知道的流水灯写起,万事开头难,第一个程序基本上就抄人家的,翻查了一份快速入门的学习资料,写下第一个程序。然后,在仿真机是单步的看运行结果,从每一步执行,都硬件上反应出来的效果,很快,对单片机的运作有了一个非常感性的认识,这跟只看书然后自己想象运行是完全两码事。然后,是进一步的其它程序学习,一个月时间,基本上已经熟悉了51的各种硬件资源。把流水灯,数码管动态扫描,中断等等的学习了,然后就是写综合性的程序,也就是我发在论坛里的时钟。通过这个程序的编写,使自己的编程水平有了很大的飞跃。之后,就是逐步学习编写更多的程序,各种外围器件的控制等等,通过编写程序使自己不断的提高。在学过汇编之后,我又转到了C语言学习,因为以前没有学习过C语言,一切都很陌生,所以自己沿用了学习汇编的方法,大约花了3天功夫基本就对C语言有了初步的了解,然后就是尝试写上面所说的时钟,以汇编程序的思路作为参考,以C语言来编写,花了几天功夫完成了这一程序,也实现了从汇编编程为主到C编程为主的转变。然后,就是以C语言编写外围器件的控制程序,以此来熟悉C的编程风格,一直到现在,基本上就是C语言编程,汇编已经是作为调试程序的辅助。
下面我概括了几点我的学习经验和心得体会:
1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。
2、知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。
3、程序不要光看不写,一定要自己写一次。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。。当你自己能写出来的时候,说明你就真的懂了。。
4、必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解
决问题。这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。
5、找到解决问题思路比找到代码更重要。我们用来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。举个例子:数码管动态扫描,没写过的初学者可能搞不清是怎么回事,其实,就是分时让每一时间段时只控制一只数码管显示数字,几只数码管轮流显示,由于速度很快,人眼的看起来是全部数码管都亮的。明白是这么一回事,事情就好办了,剩下的事情,无非是你安排让一只只数码管轮流显示出相应的数值。显示数字,然后延时一下,再下一只显示数字,延时,知道是这样,我们实际程序上只要做到这样就可以:往段口送段码,然后打开位选显示一只,延时一下,再关闭位选,再送出段码,再打开另一只位选..仅此而已。有了解决问题的思路,我们就能问题拆分开来,然后逐一的解决,如果动态扫描的原理都没懂,不知道如何做,那么这个程序是怎么也写不出来的。
6、开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。
7、看别人的代码,学习人家的思路。这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。
8、尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序啥也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。
9、着重于培养解决问题的能力,而不是具体看自己编写了多少代码或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机多年来感悟出来的。经常看到有人说“你会驱动XX芯片,真牛啊”“你搞过XX项目,真厉害”之类的话,其实这是非常片面的,搞过XX芯片,搞过XX项目,只能说明你做过这一项目,它只是你的业绩,并不是代表能力就一定高。真正的能力应该是:“遇到没有解决过的问题或器件,能利用自己已学的知识,迅速找到解决问题的方法。”这个才是能力。写程序的过程就是一个创造的过程,几乎没有完全一样的项目,每次你遇上的几乎都不相同,所以你拥有的必须是你面对新项目时的创造能力,而不是标榜着你以往做过多少项目。当然,业绩也能从另一侧面反映你的经验和水平。
10、如果有可能,多学习计算机专业的知识,比如数据结构等。这些是你解决问题的基础知识,你把这些知识应用得越好,就会发现越容易找到解决问题的方法,这就是为什么一个学计算机专业的人编的程序和一个非计算机专业的人编的程序有差异的原因。也是一个菜鸟进军到高手所要配备的知识。如果我们把编程分为宏观编程和微观编程,那么微观编程就是写具体的代码,比如控制某某器件的语句;而宏观编程就是如何对整个程序进行布局、安排,使功能模块以你想要的方式去运行,得出你想要的结果。如前所说“会控制XX器件”这些只能算是微观编程,能做到这一步还只能算是菜鸟级别,如果面对一个新的器件,你心里没底,没把握去写这个控制程序,那说明你还是一个初级的菜鸟。当你有了一定的编程经验,控制过相当数量的器件之后,你就会发现,控制器件这些工作都是相似的、重复的工作,体现不出编程的水平,最多也是写得好与不好的差别,只能算是一些小技巧的应用。而对整个程序进行布局、安排这些才是最头痛的事情,能达到宏观编程和微观编程都做好才是真正的高手。对于规模越大的程序,越能体现出这一点。
11、面对一个新项目时,多自己开动脑筋,不要急于找别人的程序。有不少人面对一个新项目时,第一步想到的就是网上找别人写过的代码,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。当你接到一个新项目时,应该先自己构思一下整个程序的架构,想想如何来完成,有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教别人,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路,如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。
12、多利用网络的搜索,学会提问题。一般来说,学习过程中,你遇上的问题,前人们多数也有遇上的,所以如果有什么不懂,在自己解决不了的时候,最好先到网上搜索一下,看能不能找到答案,找不到再到论坛里发问,发问也要有目的性,尽量简单明了的描述问题,让帮助你的人可以用最少的时间就看懂你说什么,毕竟人家帮助你是免费的,时间也是有限的。
以上就是我学习单片机的经历和心得体会,希望对大家会有帮助,说得有不好或不对的地方欢迎大家批评指正。
第四篇:单片机学习心得
篇一:单片机学习心得
一直想写一个帖子,将自己学习单片机的经历、经验和方法总结一下,今天终于动手写了,呵呵,这是我学习单片机的经验、心得、方法。希望对大家学习单片机有所帮助。
经常在群、论坛里看到有人问:怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。
05年的时候,因为制作FM发射电路采用了BH1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了10年了,基本上都忘光了,也算是从头学起了吧。我当时是买了一块实验板,很简单的功能,比论坛实验板还要少功能,还有一个仿真器,也是比较简单的,SST芯片的。然后开始从大家都知道的流水灯写起,万事开头难,第一个程序基本上就抄人家的,翻查了一份快速入门的学习资料,写下第一个程序。然后,在仿真机是单步的看运行结果,从每一步执行,都硬件上反应出来的效果,很快,对单片机的运作有了一个非常感性的认识,这跟只看书然后自己想象运行是完全两码事。然后,是进一步的其它程序学习,一个月时间,基本上已经熟悉了51的各种硬件资源。把流水灯,数码管动态扫描,中断等等的学习了,然后就是写综合性的程序,也就是我发在论坛里的时钟。通过这个程序的编写,使自己的编程水平有了很大的飞跃。之后,就是逐步学习编写更多的程序,各种外围器件的控制等等,通过编写程序使自己不断的提高。在学过汇编之后,我又转到了C语言学习,因为以前没有学习过C语言,一切都很陌生,所以自己沿用了学习汇编的方法,大约花了3天功夫基本就对C语言有了初步的了解,然后就是尝试写上面所说的时钟,以汇编程序的思路作为参考,以C语言来编写,花了几天功夫完成了这一程序,也实现了从汇编编程为主到C编程为主的转变。然后,就是以C语言编写外围器件的控制程序,以此来熟悉C的编程风格,一直到现在,基本上就是C语言编程,汇编已经是作为调试程序的辅助。
下面我概括了几点我的学习经验和心得体会:
1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。
2、知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。
3、程序不要光看不写,一定要自己写一次。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距……当你自己能写出来的时候,说明你就真的懂了。
4、必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。
5、找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。举个例子:数码管动态扫描,没写过的初学者可能搞不清是怎么回事,其实,就是分时让每一时间段时只控制一只数码管显示数字,几只数码管轮流显示,由于速度很快,人眼的看起来是全部数码管都亮的。明白是这么一回事,事情就好办了,剩下的事情,无非是你安排让一只只数码管轮流显示出相应的数值。显示数字,然后延时一下,再下一只显示数字,延时,知道是这样,我们实际程序上只要做到这样就可以:往段口送段码,然后打开位选显示一只,延时一下,再关闭位选,再送出段码,再打开另一只位选仅此而已。有了解决问题的思路,我们就能问题拆分开来,然后逐一的解决,如果动态扫描的原理都没懂,不知道如何做,那么这个程序是怎么也写不出来的。
6、开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。
7、看别人的代码,学习人家的思路。这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。
8、尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序啥也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。
9、着重于培养解决问题的能力,而不是具体看自己编写了多少代码或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机多年来感悟出来的。经常看到有人说“你会驱动XX芯片,真牛啊”“你搞过XX项目,真厉害”之类的话,其实这是非常片面的,搞过XX芯片,搞过XX项目,只能说明你做过这一项目,它只是你的业绩,并不是代表能力就一定高。真正的能力应该是:“遇到没有解决过的问题或器件,能利用自己已学的知识,迅速找到解决问题的方法。”这个才是能力。写程序的过程就是一个创造的过程,几乎没有完全一样的项目,每次你遇上的几乎都不相同,所以你拥有的必须是你面对新项目时的创造能力,而不是标榜着你以往做过多少项目。当然,业绩也能从另一侧面反映你的经验和水平。
10、如果有可能,多学习计算机专业的知识,比如数据结构等。这些是你解决问题的基础知识,你把这些知识应用得越好,就会发现越容易找到解决问题的方法,这就是为什么一个学计算机专业的人编的程序和一个非计算机专业的人编的程序有差异的原因。也是一个菜鸟进军到高手所要配备的知识。如果我们把编程分为宏观编程和微观编程,那么微观编程就是写具体的代码,比如控制某某器件的语句;而宏观编程就是如何对整个程序进行布局、安排,使功能模块以你想要的方式去运行,得出你想要的结果。如前所说“会控制XX器件”这些只能算是微观编程,能做到这一步还只能算是菜鸟级别,如果面对一个新的器件,你心里没底,没把握去写这个控制程序,那说明你还是一个初级的菜鸟。当你有了一定的编程经验,控制过相当数量的器件之后,你就会发现,控制器件这些工作都是相似的、重复的工作,体现不出编程的水平,最多也是写得好与不好的差别,只能算是一些小技巧的应用。而对整个程序进行布局、安排这些才是最头痛的事情,能达到宏观编程和微观编程都做好才是真正的高手。对于规模越大的程序,越能体现出这一点。
11、面对一个新项目时,多自己开动脑筋,不要急于找别人的程序。有不少人面对一个新项目时,第一步想到的就是网上找别人写过的代码,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。当你接到一个新项目时,应该先自己构思一下整个程序的架构,想想如何来完成,有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教别人,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路,如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。
12、多利用网络的搜索,学会提问题。一般来说,学习过程中,你遇上的问题,前人们多数也有遇上的,所以如果有什么不懂,在自己解决不了的时候,最好先到网上搜索一下,看能不能找到答案,找不到再到论坛里发问,发问也要有目的性,尽量简单明了的描述问题,让帮助你的人可以用最少的时间就看懂你说什么,毕竟人家帮助你是免费的,时间也是有限的。
以上就是我学习单片机的经历和心得体会,希望对大家会有帮助,说得有不好或不对的地方欢迎大家批评指正。
篇二:单片机学习心得
时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。
俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。
虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。
硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。
当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。
在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。
再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。
第五篇:单片机学习心得
单片机学习心得
计算机科学与技术
班
学号:
单片机是一门应用性和综合性很强的学科,它综合了电子技术中的模拟电路和数字电路方面的知识,特别是数字电路,因为数字电路在里面的应用很多。学习单片机最好先从汇编语言入手,虽然汇编语言是低级语言,编程效率低,但它比C语言占用内存小,执行速度快等优点,在刚接触单片机时更容易学习。由于单片机涉及的知识很多,所以我们只能循序渐进的学习,逐步的积累,没有什么捷径可循。
刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。通过学习才大体知道了单片机的一些知识。由中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。它的应用范围很广,在工业自动化中应用有数据采集、测控技术。在智能仪器仪表中应用有数字示波器、数字信号源、数字万用表、感应电流表,自动取款机等。在消费类电子产品中应用有洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。在通讯方面应用有调制解调器、程控交换技术、手机、小灵通等。在武器装备方面应用有飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。学习单片机要投入大量的时间,如果只想速成,几乎是不可能的。由于单片机涉及的知识面很广,不可能在朝夕间就学会,只能一点点的积累。不积跬步,无以至千里。只有当你一步步去学习、去积累之后,你的单片机水平才会提高。学习过程中还要注重理解,要逐渐养成自己的编程思路,在编程过程中还要注意细节问题,如果因为粗心大意将程序写错,将会无形间给自己带来更大的工作量,随着学习的深入,我们编写的程序将越来越长,如果出现很多错误,在
改错时将会很麻烦,出错越多你改的时间将会越长,就会无形间给自己带来更多麻烦。
单片机(micro control unit)是一种集CPU、RAM、ROM、I/O、中断、定时/计数等功能为一体的完整的计算机,只需外加主频振荡器和电源,灌入应用程序就可以实现一定的功能。单片机的的应用特点是“面向测控”。因此,它必须有强力的信息处理、检测、控制的功能。学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编指令系统或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各 器件之间的工作必须相互协调?所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引 入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线 上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一 个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的,所以 要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有 多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称 控制 总线。
在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配 地址,才能 用,分配地址当?也是以电信号的形?给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。
二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是?串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的 一一对应关,不可以由 单片机的开发者更改。地址:是寻找单片机内部、外部的存储 单元、输入输出口的依据,内 存单元的地址值
已由芯片设计者规定好,不可更改,外部的 单元可以由单片机开发者自行决,但有一些地址单元是一定要有的(详见程序的执行过 程)。数据:这是由微处理机处理的 象,在各种 不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
2方式字或控制字(如MOV TMOD,#3),3即是控制字。
3常数(如MOV TH0,#10H)10H即定时常数。
4实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执 兄 令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实 际?出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指 令来 行了。
三、P0口、P2口和P3的第二功能用法 初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间 要有个切换的过程,或者说要有一条指令,事实各端口的第二功能完全是自动,不需要指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口 时,它们挥作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从 P3.或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条S ETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会 这么做,因为这通常这会导致系统当溃(即死机)。
四、程序的执行过程 单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’个单元,并且在‘0000’单元中存放的一定是一条指令。
五、堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的 一份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且 堆栈有特 的数据传输指令,即‘PUSH’和甈OP’,有一个特殊的专为其服务的单元,即堆栈指 针SP 每当执一次 PUSH
指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原 来值基础上)动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP值,就可以把堆栈设置在规定的内存单元中,如在程序开始时?用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元 开始往后8H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱
六:中断
当单片机应用于测控系统时,实时性就显得特别重要了。而中断技术就是处理这种实时性要求高的场合。单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能是需要合理控制的,在使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情。这就是中断功能的强大之处。
七:汇编语言与C语言
汇编指令有自己的一套繁琐的指令系统,不容易熟练掌握,编写程序不得不注意硬件细节。相对于C语言,汇编语言也有不可忽略的优势,就是在某些特殊场合需要高效的,占用存储空间小的地方。但随着技术的发展硬件的限制越来越小,C语言比较好理解,通用性和可移植性都很不错。也不用记专门的指令集合来,所以我还是比较倾向于用C编写程序的。
接触单片机已经有一段时间了,我感觉自己动手学习编写程序,调试然后在开发板上做学习的很快,看到自己看到的结果通过自己亲手做出来的感觉很有成功感。
有时候单片机的学习很单调,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行调试,通过这种方式才能更快速的学习单片机。同事也会从学习中体会成功的喜悦。
看门狗程序
看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,是MCU复位.防止MCU死机.看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。、本程序通过按键喂狗防止溢出复位 看门狗演示程序
在16383个机器周期内必须至少喂狗一次
标准AT89s52单片机试验通过。-----------------*/ #include
sfr WDTRST = 0xA6;
sbit K1 = P3^0;sbit K2 = P3^1;sbit LED1=P1^1;sbit LED2=P1^2;
void DelayUs2x(unsigned char t);//us级延时函数声明
void DelayMs(unsigned char t);//ms级延时
/*-----------------
主函数
-----------------*/ main(){
LED1=0;
DelayMs(100);
LED1=1;
DelayMs(100);
TMOD=0x01;
TH0=0xc6;
//定时16ms
TL0=0x66;
EA=1;
ET0=1;
WDTRST=0x1e;
//在程序初始化中激活看门狗。
WDTRST=0xe1;
//先送1E,后送E1
if(K1==0)
{
TR0=1;
}
while(1)
{
if(K2==0)
{
TR0=0;
}
LED2=1;
LED1=1;
DelayMs(100);
LED2=0;
DelayMs(100);
} } /*-----------------
定时器中断函数
-----------------*/ void Time0(void)interrupt 1 {
TH0=0xc6;
//定时16ms
TL0=0x66;
WDTRST=0x1e;
//喂狗指令
WDTRST=0xe1;}
/*-----------------uS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下 T=tx2+5 uS
-----------------*/ void DelayUs2x(unsigned char t){
while(--t);} /*-----------------mS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编-----------------*/ void DelayMs(unsigned char t){
while(t--){
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);} }