搜索
bottom↓
回复: 32

如何认识和学习单片机,单片机难还是不难----我的观点

[复制链接]

出0入0汤圆

发表于 2012-6-30 01:29:30 | 显示全部楼层 |阅读模式
难还是不难,这个是个哲学命题,不好回答。
我说难,不是单纯的从技术上讲,而是针对目前的现实状况综合而言的。如果单纯从技术或从学术的角度看,学习单片机并不困难。

首先就是一个认识和态度问题。正如你说的:“任何事,要想做好,都不容易”,这其实就是“难”。

学习使用单片机的目的是什么?是为了考试,还是真正的掌握一门养家糊口的本领?如果是后者,这个学习就需要踏踏实实,一步一步,打好基础。而我们目前的教育是应试教育,社会是一个非常浮躁的环境,在这样的大环境下,真正要好一门技术,自己没有定力,不肯吃苦,想走捷径,难。

另外,单片机的应用实际是一个综合能力的体现,模拟电路,数字电路、英语、计算机能力,编程设计,系统调试等,涉及方方面面。许多人根本就不具备相应的基础(“学校里面,不干实事的老师太多了,没有真本事的老师就更多,自己都不懂,还要教别人的比比皆是,考试的时候,也都是故意泄题,故意放水”也是造成这样后果的原因之一吧)。然而可能突然“开窍”了,想通过简单的,一门AVR课程的学习,就能学会和掌握一项综合的技术应用本事,还是难。

举个实际的例子,上个学期,我教授的《微机原理和应用》课程,根据学生的现状,一本书的内容减掉了1/4的内容,中断8259芯片、串行通信、AD/DA等好多基本的东西都省掉了。可是考试结果还是有近1/3的学生不及格。题目中有一个要求画出用8255的A口连接一位8段LED数码管硬件连接原理图,有50%的学生根本画不出!这个其实学生在学习过程中也做过类似的硬件动手实验,用573连接一个8段LED数码管,编程现实读4个I/O电平,显示0-F十六进制数码。(知道学生如何做实验?50%的学生到实验室后,开始翻教科书)。

在这样的大环境下要真正学好单片机应用?难上难。

到底难还是容易,每个人的观点可能不同。送上两句话,给想真正学习掌握单片机的朋友自己领会:“在战略上要藐视敌人,在战术上要重视敌人”;“万事开头难”。

我说学习单片机难,你敢知难而上,说明你具备了学好掌握单片机非常必要的基本素质,反则一看难就萎缩掉,那么乘早回家。

不知道朋友你手上有没有我编写的教材,下面是我教材前言中的一段文字,现摘录贴上。
尽管楼上朋友对我一番称赞,但我在教学上的努力并不成功。所以,我说的难,不单纯指技术。

==========================================
      我们(包括作者)都面临一个非常现实的问题:如何才能上好单片机原理及嵌入式应用的课程?该课程最终应该达到什么样的效果?
    作者从多年教学经验和应用实践中体会到,“单片机原理及嵌入式应用”课程应该朝着启下、注重应用能力培养和承上三个方向发展。
   
    启下是本课程内容所决定的。课程内容涵盖了模拟电路、数字电路、计算机原理、汇编(8086)、C语言程序设计、计算机应用、专业英语能力等多项知识点和能力,尽管学生在一、二年级学习过了这些课程,但往往只局限在对基础理论知识的掌握上,基本上不具备实际应用的能力,而且各个知识点也是相互独立的。因此在课程中需要指导学生对前面的基础知识进行复习和回顾,更重要的是通过课程的学习,培养学生能把各方面的基础知识进行综合,并在实际中的应用的能力。

    注重动手实践能力的培养是由本课程的性质所决定的。单片机嵌入式系统的教学绝不能纸上谈兵,不动手是学不会的。让学生用不动手的办法去学,用纸上谈兵的办法去学,就会越学越觉得枯燥,越学越觉得没有信心。所以教学中要让学生始终有一种奋发向上精神,要让学生愿学爱学。这里的关键就是强化实践。有的人把强化实践理解歪了、看低了,好像实践就是随便动动手、简单操作一下,甚至是给个程序下载下去就完事了。其实不然,特别是对于电子IT工程师来讲,动手和动脑应该是联系在一块儿的。当一个电子工程师是很不容易的,既要有理论又要有实践,而且理论要紧密联系实践。实践是非常重要的,一个学生的能力和水平最后都要通过实践表现出来,让实践来说话。只有学生对基础知识有了更深的认识,同时具备了相应的实际应用能力,才能达到和满足社会的用人需求。

    电子技术是一门快速发展的学科,因此单片机原理及嵌入式应用课程还应该为向更高层次的嵌入式(32位ARM、DSP)系统学习和应用打好了基础,这就是该课程的承上功能。目前在一些高校中已经尝试直接对本科学生开设基于32位ARM的嵌入式系统课程,对于以偏硬件为主的相关专业来讲,作者认为这是一种操之过急和拔苗助长的行为。学习掌握32位的嵌入式系统的应用,不能局限于利用现成的ARM板,在别人移植的OS上编写一些用户应用程序,这与在PC上学习编程没有太大的区别。真正要掌握32位的嵌入式系统的应用,不仅对硬件和软件的要求非常高,同时也需要掌握大量相关的其它专业方面的知识,如数字信号处理,数字语音图象处理,USB以及各种网络协议等,这些对于本科的学生都是不具备的,更加适合研究生阶段的学习。因此在本科阶段,开设基于新型8位单片机嵌入式系统的课程更为合适,能够比较好的起到启下、应用能力培养、和承上的功能,符合循序渐进、螺旋式上升的教育规律。

    作者非常欣赏和推崇康乃尔大学的《微控制器设计》(Designing with Microcontrollers)课程设置理念和教学方法(http://instruct1.cit.cornell.edu/courses/ee476/),修读该课程的学生每年都会推出几十项的课程设计作品(Course Project),很多作品不是简单的芯片应用,而是充满创意,连学生的设计报告都非常的生动和可爱。这些课程设计作品并不比现在国内两年一次的全国大学生电子设计竞赛的作品逊色,而且它是真实的学生能力和水平的体现,同时也反映了国内大学生和国外大学生在动手实践能力方面的差距。

    对比康乃尔大学的课程,从一个侧面看到了国内在教学上的差距,更重要的是在教学理念、教学方法上的落后,而且这还不仅仅是发生在某一门课程上的问题。作者在AVR的教学实践中,一直以康乃尔大学的《微处理器设计》作为努力的方向,尝试使用与传统教学不同的理念和方法对单片机课程的教学进行改革,但到目前为止,效果并不令人十分的满意。因为仅仅通过一门课程,是那么的无能为力,根本不能改变目前国内教学的应试教育现状的。

     最后要指出的是,开设单片机原理及嵌入式应用一类的课程,对教师的要求比较高,教师不仅要具备书本的理论知识,而且必须有一定的实践应用经验,了解目前嵌入式系统技术的发展。只是仅仅在课堂上介绍AVR根本不行,必须要能够随时回答和解决学生诸如:C语言的语法和程序调试的问题,外部上拉电阻的作用与阻值计算问题,英文器件手册上的一段说明解释,甚至计算机环境本身的设置和使用的问题。学生在实践中发生的问题80%不在AVR的本身,而是什么硬件连接错误,程序不会编写,环境没有设置等等。这对教师是一个挑战,也是上好本课程比较的特殊和困难的重要原因之一。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-6-30 01:42:09 | 显示全部楼层
深更半夜,顶一记

出0入0汤圆

发表于 2012-6-30 01:45:40 | 显示全部楼层
最后要指出的是,开设单片机原理及嵌入式应用一类的课程,对教师的要求比较高,教师不仅要具备书本的理论知识,而且必须有一定的实践应用经验,了解目前嵌入式系统技术的发展。只是仅仅在课堂上介绍AVR根本不行,必须要能够随时回答和解决学生诸如:C语言的语法和程序调试的问题,外部上拉电阻的作用与阻值计算问题,英文器件手册上的一段说明解释,甚至计算机环境本身的设置和使用的问题。学生在实践中发生的问题80%不在AVR的本身,而是什么硬件连接错误,程序不会编写,环境没有设置等等。这对教师是一个挑战,也是上好本课程比较的特殊和困难的重要原因之一。
----------
作为老师,非常同意这种说法。
我一直认为,电类的老师,一定要老老实实地上好模拟、数字课,锻炼几年后才能搞其他的。

出0入0汤圆

发表于 2012-6-30 01:48:49 | 显示全部楼层
现在教单片机,光从具体对象来说,感觉用cortex_m0更好。一个是以后接触高端ARM更容易上手,另一个m0体系结构非常清晰,对初学者来说比51之类更简单,更好学。

出0入0汤圆

发表于 2012-6-30 01:50:23 | 显示全部楼层
另外也打击一下做老师的,对于学生来说,学得好未必成功,同样地,就算你教得好,未必就代表能够培养出人才来。因此,我们能做的只能是提供给学生一个环境、一个思路、一个方法,如果能够给他们以启迪,那善莫大焉。
教人甚于教书。
不管采用哪种教法,如果学生没有充分的实践,是不可能深入其中的。

出0入0汤圆

发表于 2012-6-30 01:52:15 | 显示全部楼层
支持马老师一下,说的十分在理啊!其实就是啥都重要,理论实践一个都不能少!实践的目的是理解理论,理论是为了给实践一个方向,让实践不再是一直无头的苍蝇,制度的问题大家都是知道的,我们不能改变啥!

出0入0汤圆

发表于 2012-6-30 01:54:20 | 显示全部楼层
jiwm 发表于 2012-6-30 01:50
另外也打击一下做老师的,对于学生来说,学得好未必成功,同样地,就算你教得好,未必就代表能够培养出人才 ...

是的,很多事情,就像是白鹭一样,十分的微妙,也不是一两句话能说清的,成功不是一条大道,但是奋斗是必由!

出0入0汤圆

 楼主| 发表于 2012-7-1 22:59:36 | 显示全部楼层
jiwm 发表于 2012-6-30 01:50
另外也打击一下做老师的,对于学生来说,学得好未必成功,同样地,就算你教得好,未必就代表能够培养出人才 ...

“学得好未必成功,同样地,就算你教得好,未必就代表能够培养出人才”

这是一种不负责任的“诡辩”,我之所以认为是诡辩,就是你不能倒过来做事情。

学得好未必成功 ==》那就不要学?
教得好,未必就代表能够培养出人才 ==》那就胡乱教?

我没有任何的能力培养“成功的人才”,我只是尽我的职责,去认真教那些选择这个专业学习的学生,并希望他们能努力习,掌握一门将来能养家糊口的技术。
当然,社会有365行,行行都可以养家糊口。可是如果要选择单片机作为养家糊口的话,可以参考我的帖子,应该是非常有帮助的。

出0入0汤圆

发表于 2012-7-2 19:26:51 | 显示全部楼层
machao 发表于 2012-7-1 22:59
“学得好未必成功,同样地,就算你教得好,未必就代表能够培养出人才”

这是一种不负责任的“诡辩”,我 ...

非诡辩
如果非得这样理解的话,就没有道理好讲

出0入0汤圆

发表于 2012-7-2 19:44:18 | 显示全部楼层
花点时间教教编译器的动作,教会解决问题的办法,从什么地方找资料,教会用状态机。就差不多了。

出0入0汤圆

发表于 2012-7-2 19:57:47 | 显示全部楼层
本帖最后由 source.ant 于 2012-7-2 19:58 编辑

在大学里一直被所谓的“叫兽”忽悠。给大家分享一下当年我上第一堂线性电子线路课时,某兽的一些话:这本书我也没学过,前一个假期刚买来看了两遍(他自己说看了,鬼才知道他看没看),后面的习题全部都要做。因为考研的时候这门课要考的。。。。。。。大概意思是这些,原话我记不得了,当年也没录音。对这几句话我就不点评了。观众们自己理解。后来就自己学了。更气人的是,实验室就一点破仪器,还不轻易让学生用,人家放着坏了也比给学生搞坏好。所以。。。。。长期这样,对xxxx在某些方面的前途担忧啊

出0入0汤圆

 楼主| 发表于 2012-7-3 00:39:19 | 显示全部楼层
jiwm 发表于 2012-7-2 19:26
非诡辩
如果非得这样理解的话,就没有道理好讲

朋友,不要生气,不是针对你的。
不过目前现实是如此的,学生不认真学习的理由就是“学得好未必成功”;而教师不负责的理由也是“教得好,未必就能够培养出人才”。11楼所提到的那个老师,之所以这样交学生,他的理由恐怕也是如此的。

同时这也充分证明我说的有道理,在这样的环境下,要真正学习和掌握好单片机,难呀!

出0入0汤圆

发表于 2012-7-3 07:04:17 | 显示全部楼层
对于学生来说,学得好未必成功


so true. but unfortunately, very few people realize that.

We live in a society of people. so what really separate the winners and the losers is our ability to work with other people: our social skills, our inter-personal skills, our leadership skills, our communication skills, ..., collectively our "soft skills".

If you look around us, or in 20 - 50 years, you will find that those that are good with people tend to be far more successful than those that are good with numbers.

出0入0汤圆

发表于 2012-7-3 07:19:31 | 显示全部楼层
社会的现状,曾经也时常愤世嫉俗过,

不过后来明白了,

对于我们那些真正乐学的人, 愤青不如奋青

出0入0汤圆

发表于 2012-7-3 08:01:32 | 显示全部楼层
现在中国还有一大堆所谓的砖家、教授、专业人士、社会精英的鼓吹搞科研成本高,不如搞忽悠搞权术当倒爷的赚钱来的快,这和菲律宾人从小立志当好的菲佣有什么差别?那些学生不想好好学单片机计算机技术的都无所谓,只是为了混时间混文凭而已,反正有的是机会比别人高人一等。

话说我上大三的时候进行专业课程,其中也有计算机接口技术,8255肯定是讲的,我自己还做过实验,但8259就要我的命了,那么些命令字控制字的看着就头大,心想Intel当初设计这芯片的时候为何不不再化简一些。串口通信讲的是8251,但实际现在基本都是16C550结构,可16C550也不怎么样,有时还很不可靠啊……总的来说计算机接口技术的课程也只是用Emu8086写汇编程序,上硬件做实验基本为0——当然要把计算机当做硬件的话就不是0了。

出0入0汤圆

发表于 2012-7-3 19:34:55 | 显示全部楼层
millwood0 发表于 2012-7-3 07:04
so true. but unfortunately, very few people realize that.

We live in a society of people. so what ...

太对了
不过也要分情况的,有人就不喜欢和人打交道,他觉得不开心,他宁可喜欢一个人鼓捣自己感兴趣的东西,而且也能够小有成绩,从一定意义上,他也是成功的。
因此,社会应该允许各种各样的人存在,创造各种各样的环境,有多种评价标准。

出0入0汤圆

发表于 2012-7-3 19:58:31 | 显示全部楼层
非常支持马老师!马老师的那本书非常不错!

出0入0汤圆

发表于 2012-7-19 00:22:44 | 显示全部楼层
millwood0 发表于 2012-7-3 07:04
so true. but unfortunately, very few people realize that.

We live in a society of people. so what ...

不同意。不管主观愿望如何,成功总是少数,大部分人都是平凡人。学门手艺,学得好不成功,但混碗安稳饭吃还是足够了。反之,学的不好,SOFT SKILL也不是那么容易成功的,到时候连安稳饭都成问题了。

出0入0汤圆

发表于 2012-7-19 03:02:48 | 显示全部楼层
老师只是给你指条路

出0入0汤圆

发表于 2012-7-19 07:36:37 来自手机 | 显示全部楼层
吐槽一下 我大学的模电老师是土木工程专业刚毕业的,第一节课上他自我介绍时说:我是学土木工程的,我坚持上课前头一天晚上学会上课内容,咱们上课一起学习。 我记得当时怎样判断电流负反馈 电压负反馈都是我们自己总结的,基本模电都是自学的。虽然不负责任的老师和学校并不很多,但是有一个就害了一批人。
如果有一个像马潮老师这样负责任的老师,在大学所有的专业里有这么一位,就够了,因为他会影响一批人。影响他们做人,做事,做学问,这是一辈子的事情!

出0入0汤圆

 楼主| 发表于 2012-7-20 15:24:42 | 显示全部楼层
这个世界上没有后悔药卖的。
我在学校和这个讨论组中像唐僧一样的念来念去,通常得到的都为转头。
只有真正进入社会后,干上了这个行当,才会有体会,但往往此时后悔已经没有用了。

出0入0汤圆

发表于 2012-7-20 15:31:05 | 显示全部楼层
给我的感觉是,原理简单,但要用在实际工程上有点难度!要有各方面的基础!

出0入0汤圆

发表于 2012-8-12 13:52:42 | 显示全部楼层
后悔没有好好学

出0入0汤圆

发表于 2012-8-26 16:42:01 | 显示全部楼层
大环境浮躁,很多人学会了诡辩。
大学的课程,不管看起来是否无用,其实是培养基本功,学习一种学习的方法。如果能够好好学习这些,上手新科技新器件,看到那些更新更简单的技术,就不会有什么难度。
直接让学生接触新技术器件来学习,不是不行,但是,基本功不扎实,而且新技术没有经过时间的考验和沉淀,很可能,学会了,也过时了,而且落下个基本功不扎实的弊端。
新技术老师还得现学,怎么能教学生正确的方法?就和前面几位提到的老师现学再教学生的问题一样。
不在开始学习基础时打好扎实的基础,会再多的新东西,都是泛泛。师傅带进门,修行在个人,这个带进门很重要,如果没有真正进门,总是在门外,后面的路更难走。

出0入0汤圆

发表于 2012-9-29 11:20:19 | 显示全部楼层
airwolf09921 发表于 2012-7-19 07:36
吐槽一下 我大学的模电老师是土木工程专业刚毕业的,第一节课上他自我介绍时说:我是学土木工程的,我坚持上 ...

同样吐槽
本科阶段模电和微机原理是一个老师上的. 他是学光学的, 坚持前天晚上看完, 第二天讲给我们, 没有专业的老师. 到今天我还清楚记得那位老师的名字.

模电都是有个留校的女老师, 留校+女的, 注定悲剧, 且非常悲. 更可悲的是她还在清华进修了一学期, 不说了.
本人物理专业, 电类课程就这么多: 电工+模电+数电+微机原理

这辈子注定留在学校了, 纵观周围, 好多课程还是这样外行在上. 误人子弟.

出0入0汤圆

发表于 2012-10-5 23:26:56 | 显示全部楼层
感觉老师说的话很受用啊。想请教个问题,我打算本科毕业就工作,想从事电子专业相关的工作。您在帖子里说,ARM在大学讲的过早,要研究生时讲才合适!那我们这些本科就出去找工作的,是不是就没有时间和精力把嵌入式学的好一点呢!那有利于工作吗!希望老师解惑啊,很困惑啊

出0入0汤圆

发表于 2012-10-8 22:19:51 | 显示全部楼层
machao 发表于 2012-7-20 15:24
这个世界上没有后悔药卖的。
我在学校和这个讨论组中像唐僧一样的念来念去,通常得到的都为转头。
只有真正 ...

马老师,不知道我这个菜鸟能不能有幸听到你的声音。最近学校科研立项申请开始了,我实在不知道立个啥。主要考虑一方面练习编程积累经验,另一方面尽量寻求创新。我现在只想了一个简单的用gsm模块给自行车防盗的方案,虽然很水。另外简单说下我熟悉51,也会用avr,但我知道能力不是会与不会的区别的,得在项目中积累经验,我之前做的只是小项目,得继续努力啊~

出0入0汤圆

发表于 2012-10-9 09:09:55 | 显示全部楼层
不说别的,光看发帖时间都佩服马老师敬业精神
!!!

出0入0汤圆

发表于 2012-10-14 17:25:28 | 显示全部楼层
支持一个先

出0入0汤圆

 楼主| 发表于 2012-10-19 21:54:14 | 显示全部楼层
didadida 发表于 2012-10-8 22:19
马老师,不知道我这个菜鸟能不能有幸听到你的声音。最近学校科研立项申请开始了,我实在不知道立个啥。主 ...

先不要考虑什么“创新”,积累经验学习的目的是正确的。到了一定水平,自然就会创新的。哲学的回答。

出0入0汤圆

发表于 2012-10-20 11:07:15 | 显示全部楼层
machao 发表于 2012-10-19 21:54
先不要考虑什么“创新”,积累经验学习的目的是正确的。到了一定水平,自然就会创新的。哲学的回答。 ...

感谢马老师的指导~我要加油

出0入0汤圆

发表于 2013-4-8 11:19:22 来自手机 | 显示全部楼层
我觉得现在我们学生的基础水平太差,好高骛远,就想做点什么感觉很厉害的东西。静不下心去踏实学习模电,数电,电路,c语言什么的。。我的这几门课的老师还算负责了。。但也仅仅只限于负责了。若是真正运用到实际运用中,又有很大的困难,理论和实践太过脱节。。现在软件方面跟着傻孩子老师学感觉进步很大,但是硬件电路什么的,就有点力不从心,学的也累,运用更累。。仿一个电流源,照着电路图抄,都抄不出来。。马老师有什么好的学习方法和书籍推荐么???真希望马老师能时不时的分享下各种经验与知识,基础的最好,我想我们最缺的也就是基础的东西吧,基础好了,学难的东西就不怕了。

出0入0汤圆

发表于 2013-4-8 12:30:30 | 显示全部楼层
看你想要达到的是一个神马样的境界。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 14:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表