最近,实验室又来了一批新的面孔,导师建议给本科生设计一款单片机的开发板以及实验指导,并写几篇自己的心得体会,可以让后来的师弟师妹们借鉴。说来惭愧,导师将此任务发下,重任在肩啊,生怕误认子弟,和一个同学商量一下,准备做一块基于51单片机的开发板,一来入门还是以51内核的芯片为好,二来主要想结合虚拟仪器Labview开发这块板子,三是把目前最为常见的元器件及流行的各种串行总线于一板。如:1-wire;I<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2C;SPI总线和大家熟悉的232串口。软硬件结合方面就准备用Labview软件,可以说是目前最为有潜力以及功能强大的编程软件来处理PC与单片机的结合。前一阵一直和同学忙着画原理图,PCB以及送出去加工,利用制板期间的空闲,来写几篇所谓的心得吧,如有说的不对的地方还望众多仁兄包涵一下了,呵呵。
一、关于专业<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
首先说说电子设计这个行业,从应用上讲,搞电子的人就是IT行业的,说的通俗一点就是信息技术,从学科来讲属于工科,偏重于工程实践。像通信工程、计算机科学技术、电子信息工程、自动控制、微电子、测控技术与仪器等等专业都可以归为与电子有关的学科,只不过各有侧重罢了,比如通信工程专业侧重于信号通信,有线,无线,蓝牙等等,他们对于通信协议以及信号的噪声等内容有很深的了解,计算机科学技术比较侧重于计算机体系结构(偏硬)和软件工程(偏软),自动控制专业则侧重于工业现场控制和控制设备算法等研究,测控精仪专业侧重于传感器信号采集和仪器制造,尽管侧重有所不同,但是归根结底都离不开电子设计技术,这就是为什么很多工科学生的基础课程中都会有数电,模电,自动控制原理以及微机接口技术等课程。可以说如果你的电子设计技术和动手能力在大学的四年中都得到较好的锻炼的话,将来步入社会后,在相关行业都可以做的不错,比如测控的想搞通信,那就补一点通信原理和数字信号处理方面的知识,通信的想搞测控技术那就学一点传感器仪器类的知识,总之你大学四年所学的专业并不一定是你将来所从事的职业,所以说一个人有学术生涯还有职业生涯,这两者没有绝对必然的联系,就比如我的一个本科的同学,研究生转到了经济学方向,在那边做的也非常好,他将来就想在经济领域做,这样的人也大有人在。所以现在对自己前途不知所措的同学不要迷茫,因为这个迷茫是人人都要经历的,关键在于你的兴趣,兴趣非常关键。我和我的同学对自己所学的专业技术很感兴趣,所以我们能很自然地去钻研它,做它。如果你对你所做的事情根本不感兴趣那就不要把自己宝贵的时间浪费进去,应该去想想自己究竟对什么感兴趣,不要整天一味的跟着大帮走,弄得自己对自己都不了解,大学四年后,你会发现你周围的人有人很成功,而有人却与自己四年前对自己的憧憬完全不一样。比如在北大,有的人拿了全奖去国外的名校学习,有的人却最后甚至连毕业都成问题。所以说无论学校如何,关键还在于自己的努力与定位。不妨看看你周围那些所谓的牛人,他们肯定有一个共同点,那就是一定知道自己的方向和兴趣,这样才能把自己有限的精力用在正确的地方,从而使自己产生质的飞跃。
二、关于电子类学生的学习
电子专业可以说是一个比较庞杂的专业,所涉及到的东西太多太多,因为它的应用领域可以说遍及了人们的大部领域,看看你日常周围所用到的,看到的东西很多都离不开电子类的设计。你走进一个大的电子元件市场,你就会有这种感觉,在电子市场里,任何一个卖的门类器件就是一门学问,比如在北京上大学的同学,电子相关专业,如果大学四年你没有去过中发,知春或是西四电子城的话,那只能说明要么你确实将来想转行或是不感兴趣,要么只能说是你对专业还一点门都没摸到。进了这样大的电子市场,你会看到很多门类的器件,比如说电源,这就是非常重要的一门知识,所有的电子类产品都必须要有稳定可靠的电源系统支持,否则再好的设计也如空中楼阁一般,所以如果你在电子专业什么都不会的话,如果你能设计出好的电源,那么你也是牛人!我们学校就有一个老师什么都不做,就做电源,他的电源能经得起正负2000V的冲击,就凭这个他一年几千万的收入,非常牛!再比如卖接插件的,你的手机,MP3上总要有与外界的接口吧,我门平时用的计算机上有好多接口:USB、串口、并口、PS2、1394、SD/CF卡接口、音频、视频接口等,琳琅满目,这些接口的设计也是大学问,比如你设计一个USB接口的设备,除硬件外,固件的设计以及应用软件的设计都很有讲究,再比如PCB柜台,这些做板的柜台上防着各种形状颜色的PCB板,电子专业的学生的首要基本功就是PCB的设计,这方面的知识更是多得很,你将来进公司后设计的产品总不能给用户一个插满了乱七八糟导线的面包板吧?所以这方面的学习更为关键。
刚才举的这几个例子是想说明电子市场上的任何一件产品就是一门学问,所以说学好电子专业并不是一件容易的事情,而且是一件很辛苦的事情。但是术业有专攻,只要我们都很努力地去学习实践,相信都会成为合格优秀的电子设计工程师。就像现在有大四的同学做毕业设计还跑过来问我104电容是多大的电容等问题,我当然会耐心的告诉他是多大,但是我心里会想最起码这四年他是白学了或是学得相当失败。
所以对于电子类的学生,在学有余力的情况下,平时要多参加一些学校组织的各种科研活动或是电子类竞赛,多跑跑电子市场,与柜台的老板们多侃侃,不要小瞧这些老板,他们尽管专业上不如你,但是他们对于电子市场的敏感程度以及元器件的价位浮动等却远胜于你,这对于你控制产品价格成本以及选件都有着很大甚至根本的影响。
那么究竟电子类专业的学生要学哪些知识呢?我就谈谈我的一点粗陋的见解吧,不对还请各位多包涵了。
高等数学,电路分析,数电,模电类的知识就不用说了,这是根本,是一个基础,有了这些你才能向下学下去,否则你会发现尽管电子设计强调工程实践,但是这也是在一定的理论基础上的,否则你就只能做一般焊板子的工人。
理论类:自动控制原理、信号与系统、数字信号处理、高频电子线路、通信原理、图像处理、微弱信号检测、传感器原理、数据库技术等。
工具类:C语言程序设计(C++,VC)、汇编语言、C51、LABVIEW、MATLAB(SIMULINK)、
MODELSIM、QUARTUS(ALTERA)(MaxplusII)、ISE(Xilinks)、VHDL(VERILOG)、ORCAD、Multisim、SPICE、protel(其它PCB软件),CCS、Auotcad等等。
实践类:单片机(51系列,AVR系列,Moto系列)、DSP、FPGA/CPLD、电子实践(焊接,拆件等基本操作)、嵌入式系统等。
一时间就想起这么些平时最常用的,可能还有很多没有列出来,大家见谅啊。有人看了会说:OMG!能学完吗?是很多,但是没有要求你全部精通掌握,其实在用的时候你能够自己去学习,凭借自己的能力能够学懂就可以了。上面的就算你全部学会,如果在实际当中没有去多加应用,时间一长也会淡忘的。又有人说,我当时学过,学的不错,但是用时就忘了啊!是不是没学好啊?其实不是,上面说过不用就忘,一些工具类比如软件的使用方法你可能忘,但是设计的思路你肯定不会忘的啊,比如就拿MP3来说,如果有人让你设计一个MP3,你就应该能够迅速想出它的大致结构,比如硬件结构,接口等,首先要选择方案解码器吧,与外界交换信号总要有AD和DA吧(当然有的解码芯片已经完全集成进去了),还要设计存储的Flash吧,与计算机肯定要采用USB接口吧,还要有液晶显示以及按键控制等,还有麦克风和耳机的接口,功能再丰富点做个FM的收音机,最最重要的还有电源系统,必须可靠,这就涉及到功耗问题,你设计的MP3肯定是要用电池供电,你不可能让用户成天抱着个蓄电池组听MP3吧,这就又涉及到低功耗的问题,你选择的方案和选用的器件是不是可以功耗很低等等问题。你看只要你平时对自己的专业有了解,一涉及到具体的问题,你就会自然得往那上想,但是这些都不涉及到具体工具的实现,其实只要是思路有了,工具的实现只是次要的问题,比如有人用VC,但是你用VB或是LABVIEW不也是能够实现吗?所以说思路和创意最为重要,在平时的学习中你都可以市场思考自己的所学怎么跟实际对应上,成功永远属于那些勤于思考而又善于观察生活的人,再比如看到现在大家都用的无线鼠标、无线传感网络等,你是不是可以想一下他们是怎么实现的呢?再深入一些,去网上搜一下,你就能看到很多这方面的知识,如果想做的话,去Google或是Baidu仔细寻觅一下,进个论坛仔细看看,请教一下高手们。然后就是利用图书馆的资源,现在的学生很多都不会用图书馆的资源,每个高校每年都花几千万的钱购买国际国内的各种数据库共老师和学生们使用,那里面的资源浩如烟海,应有尽有,为什么不用呢?如果涉及到发表论文的话,什么SCI,EI等更要时刻关注,看看人家做到什么程度了。所以说学东西关键是要学到真正的思想,这点尤为重要,看过倚天屠龙记的同学应该都知道,张三丰问无忌刚才我演示的太极拳你记得几式?无忌答道:只记得7、8式,老张又演示一遍,又问,无忌说记住2、3式了,老张又演示一遍问,无忌说:都忘了,老张这才满意,因为无忌都忘了并不说明他什么都没记住,而是因为他把太极拳的精髓记住而忽略了具体的行为动作,这也许就是所谓的无招胜有招吧。开个玩笑。主要想告诉大家,不要觉得东西太多学不过来,你要掌握思路和想法就可以,具体的实现等到了去做的时候再刻苦学习就能搞定了。
三、关于单片机学习
学习单片机最主要的还是要买快开发板比较快,当然你也可以自己去做,不过对于新手来讲要付出时间还有银子的代价了,毕竟第一次制板总有这样或那样的欠考虑,使做出的板子有缺陷,因此最好还是有一块已经跑通了的开发板,自己从头到尾跟着走一遍,待软硬件都摸熟之后,再做自己的板子。
我给大家的建议是:
1.先要仔细看一本关于单片机的书,电子版还是纸版都可以,网上有好多不错的教程,我在附带的光盘中会给大家选一些我觉得十分好而且通俗易懂的书来看,如果你有基础而且认真仔细的话,一二周左右的时间就可以大概入门了。然后就可以开始我们的开发板之旅了。在语言学习上,凭我自身的经验来讲,大家可以直接进入C语言的编程,因为C很简洁,而且大家都接触过C程序的学习,所以上手应该比较快,但是仍然建议大家还是看看汇编,任何一本单片机基础的书都是讲汇编,因为汇编是与硬件联系最为紧密的语言,通过汇编你能对单片机的硬件有更加深刻的了解,我那时学单片机时,就是跟着老师从汇编学起,机器码了,语句的延时了等不好理解的内容学懂汇编后很容易就理解了,而且碰到需要精确控制的地方不用汇编是不行的,所以C与汇编嵌套编程是经常用的,也是工程师应该必备的基础。因而推荐是双料进军“C51实践+认识汇编”,C51实践是指在用开发板学习时,用C语言做,汇编要尽量看懂,再退后一步,如果给你一个汇编编的程序,你要认识,并且能读懂。我在实验指导中针对开发板上的资源使用程序都是用C语言写的,为了使大家看懂,快速理解,我详细加了注释,这样你以后自己设计电路时,只要把相应的管脚定义做适当的更改后,便可以直接移植使用。
2. 学习单片机本身的特性,尤其是最小系统的组成,其实单片机应用系统都可以划分为:“最小系统+外围应用器件”,因此只要你熟练了最小系统的设计与使用,就可以轻易设计出一些简单的应用系统来。
3. 学习外围器件,针对我编的开发板使用指南,一个实验一个实验的做,这里面实验的安排是按照一块电路一块电路的来做,这样你既学会了电路,也学会了单片机的使用。比如温度传感器测温,IIC器件的使用,继电器等使用。
以上就是我总结的三步走,既:单片机理论+最小系统构成+外围资源使用
用户944075 2009-8-7 11:28
用户393569 2007-8-26 21:59
引擎不大啊,你们用的什么版本啊。
zwj-gg_818035047 2007-8-26 18:40
我们的可以运行啊,我没有说不可以运行。
只是认为那个引擎太大了!
用户393569 2007-8-25 23:54
那是因为你们不了解lv,在打包的时候只需把引擎打进去,你们一定是没有包进去引擎,所以不能运行。
zwj-gg_818035047 2007-8-25 16:37
说起LV,文明的老板很是推崇,一年前就让我们搞, 接触后感觉确实很厉害,完全颠覆了以前的编程思想,但这并不是我关注的.
也就是在去年吧,又和NI建立了联合实验室,这几天也是天天在这个联合实验室里.
但我最疑惑的是它的应用与前景,也认识了一些应用工程师(比如西门子公司的),他们也是刚开始学这个,但都集中在汽车测试领域,不过大多在国外,而且应用不是很成熟.
另外,就是对它的程序的执行效率问题,对硬件的依赖性,这里的硬件很大部分指PC以及相关采集卡.
其实我们用这些软件主要是写上位机程序,在不了解LV时,一般用的是VC或VB之类的.
对它的一次认识,在一次学校活动中,我们做了一系列教学辅助工具(比如示波器,函数(波形)发生器等),当然做得不成熟,权当练习嘛. 演示得时候很麻烦(虽然生成了应用程序,但执行前依然要在计算机里安装也个庞大得运行环境),也没有得到认可.
QQ:286613841
邮件:zwj-gg@qq.com
用户393569 2007-8-24 01:32
谢谢楼上的朋友留言。但是不知道您具体想问什么?是对LABVIEW的感觉还是比较它和其他的编程语言?
可以加Q联系:178534148
或是加入PIAE群:11986741
zwj-gg_818035047 2007-8-23 21:06
写得不错,不知道北京的知春之类的有多大,
我不在北京,这里的电子市场就两个,东西很有限,常常都要从深圳快递。
另外,pcb确实太重要,但平时自己要是做代价太大,随便开快板就是好几十RMB
你说的那么多工具,
理论类:自动控制原理、信号与系统、数字信号处理、高频电子线路、通信原理、图像处理、微弱信号检测、传感器原理、数据库技术等。
工具类:C语言程序设计(C++,VC)、汇编语言、C51、LABVIEW、MATLAB(SIMULINK)、
MODELSIM、QUARTUS(ALTERA)(MaxplusII)、ISE(Xilinks)、VHDL(VERILOG)、ORCAD、Multisim、SPICE、protel(其它PCB软件),CCS、Auotcad等等。
实践类:单片机(51系列,AVR系列,Moto系列)、DSP、FPGA/CPLD、电子实践(焊接,拆件等基本操作)、嵌入式系统等。
都有接触,但不精通或者只掌握了其中的一种。
最后,不知道对LabVIEW,你有什么看法?
用户1416820 2007-8-20 10:27
感觉不错!能不能把你这个开发板的硬件原理图,PCB图以及实验程序发到我邮箱,我想学习学习,我的邮箱地址gan-xue-feng@163.com