欢迎您光临机械网,如有问题请及时联系我们。

大学生学单片机,可以只用软件仿真不做实验吗?为什么?(单片机需要仿真器吗)

作者:机械网
文章来源:本站

  我认为不可以。理论与实践相结合,才是最正确的学习方法。

  1,结合仿真软件,学习基本理论

  学习单片机的硬件知识,知道控制是什么。如单片机外围地址扩展,内部AD/DA转换,UART,SPI,USB,LAN,定时器等是如何实现控制的。

  通过厂家提供的APP,选择你想使用的MPU。如,主频,定时器,通讯口,支持的I/O接口数量等。

  在这一步,必须把每个要实现的功能的寄存器分组配置好,看明白。如果需要操作系统支持,提前选好。还有选好IDE。

  否!单片机不象PC机,编译链接后马上能看出正确与否,单片机软件的控制对象很多,如电机运动,变频器,水泵等等,任何一个小bug,都会导致控制对象工作异常。所以,最终能使控制信号准确地传递到控制对象,使其按照你的设计要求精准动作,才算圆满结束。

  2,买实验板,进行开发演练

  选择功能多的实验板。建议与企业结合,看看大企业,科研单位,是怎么做的。最好买一个PCB印刷板,自己搭电路,这样有感性认识,更能深刻理解单片机的工作机制。

  看似繁杂的工作及诸多问题,只要你捋清控制思路,坚定原理没错,那么通过软件仿真器就可一步一步地找到问题。

  硬件上,多功能示波器,如Agilent,可达1GHz的可存储示波器,助你看清每一个输出的waveform是否正确。也是必不可少的,虽然贵,但值!

  总结:单片机是理论与实际结合的典范,搞明白理论,调试时就不会犯糊涂;只会理论,没有实践,将一无所成。两者相辅相成,缺一不可。

  如果是五年前,我的答案是不仅要做仿真、还要做实验。

  但是现在我认为实验反而没有那么重要了,为什么呢?

  大家看看我的故事就知道为什么这么说了。

  五年前是我刚毕业的时候,在我看来任何事情都应该做的面面俱到,这样才会多一个工作机会。

  但是在进入公司(国内100强)面试的时候,发现很多问题并没有涉及到专业知识,只是简单的问了问我学过什么课程,我的理想和愿景,还有对公司的看法。然后给我出了一些难题,比如说“同事不配合你工作,你会怎么办”,等等这些。像专业知识很少问到。

  进入公司之后呢,最多的就是对我们进行培训,培训的讲师都是很厉害的那种,有过量产经验的电子工程师,从零到一给我们灌输电子知识,讲的非常规范,非常注重研发的这种细节,还有量产的一些注意事项,这些在学校是学不到的。

  虽然我是毕业了,感觉自己会很多东西,但进入公司之后,我就是一张白纸,因为公司不需要你会多少东西,因为在学校你也学不了多少东西。

  想想吧,在学校需要学多少课程?

  高数、物理、模电、数电、单片机、C语言、马克思主义、自动控制、PLC、电力电子等等,还有很多课程,这样导致的结果就是,你到最后学么也学不到!

  需要你会的东西,公司都会给你培训,然后会给你足够多的时间去学习。

  最开始上班的时间都是学习,甚至还学习英语,每一周都有考试!

  就大学单片机那些玩意儿,在公司这些老工程师面前都是小儿科了,比如说弄个数码管啦、遥控小车啦,其实没多少东西,也都是模块化的,这东西还有什么技术含量呢?

  因为这些实验只要是个大学生看了实验说明都会做,无非是接个线,然后大不了改一个接触不良的bug,不要看某些同学做的什么遥控小车了很羡慕,其实呢?都是模块化的东西,就连程序都是迁移过来的,只要给你一个星期,你绝对也可以搞出来。

  如果你能把单片机的整个仿真的原理都搞懂了(包括编程仿真),我觉得就很了不起了,就可以到此打住了(电子迷除外),你对整个仿真的原理都会了,还不会实验吗?真正的核心东西已经在仿真里面了,重要的是思维啊弟弟。

  这时候可能有人会说实验可以锻炼动手能力,而我却想说,就这种单片机的实验可有可无,你买个开发板,各种东西都给你搭好了,你就接根线嘛,或者点一下编程按钮!

  记住正经公司不会要求你会太多东西的。(针对应届生)

  像一些老工程师最开始学习的8位单片机,然后学习了ARM,可能你觉得会的很多,可是这些玩意儿对于新毕业的大学生不到一年都能完全掌握,甚至捎带着学习了实时操作系统这些,所以我觉得最没有技术含量的就是技术了,因为这些都可以学会的。不要非抬杠说什么激光技术。

  前几天读过一篇关于Facebook企业文化的文章挺受用的。

  讲到Facebook招聘不看你这个人有多少工作经验,而是你这个人是不是足够聪明,经验这些公司都可以培养,但是如果你不聪明,那么即使你再有工作经验,你做出来的也是非常平庸的东西。

  这就像投资股票一样,你是想低价购买有潜力股呢,还是高价购买股价已经到顶的股票?

  在招人这方面苹果更为极端!

  据说正在苹果工作的员工有一半没有大学毕业,你说这些大学没有毕业的人能有多少经验?

  就电子方面而言,他们的工作经验可能还不如正在看我文章的你!

  但是他为什么能进入市值第一的苹果公司呢?

  因为苹果看中的是你的创造力、你的非同一般的思维,因为只有持续不断地招聘这样的人,才能源源不断的创新出新的东西!

  真正有潜力的公司看中的是你发展潜力、你的思维方式、你的价值观。(针对大学生)

  所以不要过度纠结于要不要做试验了,好吗?

  现在你知道答案了吗?

  学习单片机,最讲究的是实践经验,只仿真不实际操作练习,是没有效果的。如果只是应付考试那没问题,若是想精通掌握单片机技术,为以后找工作铺路,还是要以实践经验为主。

  1、虽然单片机仿真软件很强大,很多项目都可以通过仿真软件编程实现,但是进行单片机实践训练,没有亲自操作实物是没有灵魂的,那种感觉完全不一样(头条@技术闲聊原创)。有实物可以学到很多仿真软件学不到的知识,比如怎么使用仿真器/下载器、开发板怎么供电、实际线路怎么连接等,有实物在手可以增加自己对单片机的理解,培养自己的动手能力等。

  2、若觉得自己对单片机常用的外部接口都掌握得差不多之后,最好自己购买一些配件设计一些有趣的小项目,这样才能更有效的锻炼自己的能力,比如智能小车,是最有趣好玩的项目,很多初学者都喜欢玩,自己编程使小车安装自己的想法行走。

  3、掌握了单片机和C语言知识之后,最好多参加大学生电子设计竞赛,省赛或国赛等,有了这个获奖证书,对找工作有很大帮助。本人当年获得了省赛一等奖,找工作比其他同学多了很多机会,面试的几率也大。参加这个竞赛一般大二或大三时期最合适,大一专业课还没学而大四即将面临毕业论文、找工作或考研等没有时间精力。

  我的答案是:不可以

  原因如下:

  由于学生学习时间宝贵,焊接一套单片机实验板又比较花时间,并且实验项目太多,所以为了节省时间,大多采用软件仿真的方式教学,把更多的精力用在软件实现上。随便接线,也不怕你弄烧。随便写程序,也不怕你IO口冲突烧毁。

  对于一个子功能,从打样PCB,焊接再调试程序最起码一周时间。很多公司为了也是为了节省时间,直接用软件仿真,验证软件功能是否正确。反正工程师有丰富的经验,只要软件仿真没问题,那么他的方案肯定也没问题,即便中间也现一些小问题。

  以上是它的优势,所以除了这些,有很多问题是软件模拟不出来的,并且软件会有BUG,只能做通用单片机仿真等问题。

  单片机负载对电源的影响,电源的纹波干扰,电源的退耦,通讯的误码率,电机干扰、散热问题等。这些东西是实实在在存在的,但是软件什么也干不了。

  走线方式对电路稳定性有差别,特别是高频元件,比如晶振,DCDC电源等不同的布线线造成不同的结果。又或者电机电路,电机的运转会有电磁干扰等,这些走线软件也是仿真不了的。

  以上就是我的理由。

  我作为一个学习单片机的过来人,我来回答这个问题。我认为不管是学生还是单片机爱好者要想学会学透彻单片机只靠用软件仿真或者只做验证性实验是学不会单片机的。对于学生来讲如果只是想修完学分考个及格的话用仿真或者做实验是可以过关的,如果要想真正想吃透单片机专门技术的话我认为最好抛弃使用仿真去学单片机的这个念头,因为我在学习单片机的道路上走过了一段“弯路”,所以看到这个题目我很乐意去回答,分享我学习单片机时的想法和经验。

  众所周知,单片机是一门实践性非常强的技术,既然强调实践性强就说明单片机技术是需要动手去实践的,这里的实践不仅仅只是用软件仿真或者做实验更重要的是要学会使用单片机,也就是学会用电烙铁焊接以单片机为核心的控制电路板,然后根据电路板去编写程序,调试程序最终要完成自己所设定的控制任务,就是这样对硬件不断的焊接调试对于软件不断的去寻找“Bug”然后下载调试直到所有控制任务完成为止。这样经过贴近实战化去训练才能学到真“本领”。

  下面我再以我的亲身经历说说为何不建议用仿真软件或做实验来学习单片机,我在刚学单片机时也是用软件仿真学习的,最初是用KeilC51里面的一种仿真功能,使用时只能看到单片机I/O口的高低电平的变化,这种仿真对于演示LED闪烁灯和流水灯以及数码管等简单的小程序还能应付但是如果学到复杂的程序它就显得“力不从心”了。

  后来又用了Proteus 仿真软件,虽然这款软件仿真形象逼真,能够仿真复杂的程序但是这种仿真是基于一种理想化的元件模型进行仿真的,它的各种情况都是在理想化环境下进行的。而我们真正的单片机控制电路它的情况是复杂的,这里面包括电压的波动问题、电磁的干扰问题等都要去考虑。有的程序你模拟仿真运行正常但是一但“写进”单片机里进行实际控制会发现与你所要的结果会有巨大的差距。我就曾经经历过这种问题的“折磨”。所以今天给朋友们分享我的一点感受和心得。

  另外我也不大建议用单片实验箱去做实验学习单片机,因为实验箱里的电路板都是成品,各种模块电路都已经调试好了,利用实验箱不利于我们单片机硬件技术的提高,因为单片机技术是一种软件与硬件结合比较密切的技术。所以我们在学习单片机的道路上要“软硬兼施”。“欺软怕硬”和眼高手低都不利于我们学习单片机技术。

  以上就是我对这个问题的回答,欢迎朋友们参与讨论。敬请关注电子及工控技术,欢迎大家点赞

  单片机仿真软件的出现确实方便了单片机的学习,最为知名的单片机仿真软件为Proteus,该软件支持主流厂家多种型号的单片机,支持原理图仿真和程序导入,即能运行程序导入后的仿真结果,非常方便。但是,我却不推荐初学者以仿真软件来代替事物单片机的学习,换句话说,单片机软件仿真不适合单片机初学者。

  单片机不是理论课程,也不是靠背的课程,记住了某种型号单片机的全引脚、全片上资源用处不大。单片机学习要的是动手,工程师不会可以去背单片机的引脚、片上资源,用的时候去查阅单片机的datasheet。学习单片机的结果,是要出产品的,拿到需求,设计出硬件电路、编写能实现功能的程序。所以,单片机是动手类的课程,需要动手设计电路、写程序,会配置常用的片上资源和寄存器。

  设计过电路、焊接过电路板、写过程序的朋友都清楚,这个过程中会遇到各种各样的问题,比如设计问题、芯片问题、程序问题,甚至因为粗心而引起的各种问题。但是软件仿真中,各种元器件的模型都是理想的,仿真的过程中碰不到因元器件问题而引起的各种问题,如果只以仿真的方式去学习单片机的话,这会过滤掉很多实际的调试经验,相关经验得不到积累。

  仿真软件中的元器件都是比较流行、用户较多的典型元器件,实际设计电路中可能会用到很多新元器件或者比较偏的元器件,这些在仿真软件中都找不到,这就会限制了很多技术方案。就被仿真软件的元器件库限制住了,接触不到个性化的东西。

  我一直以来的观点:仿真软件不适合新手去学习,但是适合工程师去验证功能或者出展示效果图。工程师在设计电路时,可以借助仿真软件去验证电路的可行性,这对电路的验证起到很大的作用。

  综上所述,不建议新手从仿真入门,学习单片机还是要以实物为主,调试的过程可以积累很多的经验。以上就是我的观点。

  肯定不行啦!一般实验室有实验箱的啦,一定要看看实际呈现的效果,模拟环境还是会有不小的误差的。

  可以不用软件仿真,有条件的甚至不要使用软件仿真。

  但是,跟踪调试还是必要的。

  突践足检验真理的唯一途径

  背菜单能直接当大厨不?

  

大学生学单片机,可以只用软件仿真不做实验吗?为什么?(单片机需要仿真器吗)

  

大学生学单片机,可以只用软件仿真不做实验吗?为什么?(单片机需要仿真器吗)

  

大学生学单片机,可以只用软件仿真不做实验吗?为什么?(单片机需要仿真器吗)

来源:文章来源于网络,如有侵权请联系我们及时删除。本文由机械网转载编辑,欢迎分享本文!