经验之谈:如何学好学什么单片机好

& 谈谈我学习单片机的经历
管理员:????人数:943小组积分:9989简介:《51单片机工程应用实例》是唐工应北京航空航天大学出版社的邀请,编写的一本51单片机工程应用实例的书,作者是长期从事电子技术研发和生产的高级工程师,具有丰富的实践经验,书中的实例均为作者开发的实用项目的总结,内容涉及电子技术应用的许多方面。随书附赠有全部程序源代码的光盘,并设计了一块实验电路板配合书中的内容,读者可以亲自动手实验。作为EDN博客上第一个博客作者,书友会得到了EDN博客的大力支持,在此向他们表示感谢。作者将会进一步和书友在网上交流,书友们也可以彼此相互交流读书和实验的体会,欢迎各位网友积极参加。本书可以在下列网址买到,有折扣。?xml:namespaceprefix=小组公告小组暂无公告.??|????|??
需要确认注册邮箱后才能下载,
楼主??[其他]?
谈谈我学习单片机的经历
6年会员勋章目前未领取。领取条件:?凡是注册时间六年以上的活跃用户即可领取该勋章。
积分:1186分
总积分:2314分
发表于 15:05
谈谈我学习单片机的经历作者:何明广????来源:本站原创????点击数: 59???更新时间:日??? 我是高中毕业后第二年(1998年)开始出来工作的。到目前为止,工作时间已有十一年之久。在这十一年里,我先后做过电子生产工、测试员、维修工、硬件工程师、软件工程师、项目经理、工程主管等等工作。一路走来,我的工作始终都没有偏离过电子这个领域。之所以选择干电子这一行,一切都是缘于参加工作之前,我参加了一个为期3个月的电子培训班。而后面的工作只不过是学以致用和技能提升的延续。2003年,我在一家做门铃的私人企业里做电子工程师。当时,社会上正刮起一股学单片机的热潮。《电子报》、《电子制作》等电子刊物纷纷在其期刊上大篇幅介绍关于学习使用单片机的文章。当时我看了师兄们在电子刊物上发表的单片机编程实例,真是惊诧万分!神了!世界上居然有这么好用的芯片,想实现什么功能都可以!一方面我对师兄们佩服得五体投地!因为那看起来象天书一样的程序我怎么都想不出师兄们是怎样弄出来的。另一方面我也彻底地失望了!因为我想这么个高深莫测的东西我是今生今世都学不会了!但是命运的安排却出乎我的意料!尽管我看不懂那天书一样的程序,但在好奇心的驱使下,我还是不断地去在网上找那些与单片机有关的文章。慢慢地,我通过单片机教程网上28课精彩的自学教程知道了有一种叫MCS-51系列的单片机很流行。而这个系列的单片机需要用一个叫KEIL C51的软件来对程序进行编译。编译完成后会产生一个HEX文件,把这个HEX文件下载到编程器后就可以把程序烧写进单片机里面了。随着时间的推移,我积累的单片机知识越来越多。终于,有一天,我在看《电子制作》上的一个程序实例时突然感觉好象明白了些什么,但模模糊糊的又不敢肯定。于是我反复的看,反复的对照,最后得出一个结论:“我看懂了程序!我进门了!我进门了!”。在那一刻,我真是欣喜若狂!是啊!经过了几个月的不懈努力,终于得到了回报,又怎能不令人欣喜呢?事情讲到这里,我要先说一下另外一件事情:由于当时我感觉在那间门铃厂里做已经没有什么发展空间了,于是我在2003年年底辞掉了工作。而我真正接触到单片机的时间是在2004年进入了一家专业开发、生产小家电控制板的公司以后。我当时是以硬件工程师的身份进入这家公司的。我要负责的工作就是按客户的要求来设计好线路板,然后装好元器件,把样板交给软件工程师编程。能够进入这家公司工作是我这些年来最大的幸运!因为我在这家公司里学到太多东西了!例如:单片机的硬件电路、单片机的抗干扰方法、单片机编程技术等。可以说,我的单片机知识有90%以上都是在这家公司上班期间学到的。虽然我离开这家公司已经有一段时间,但我还是想在此向这家公司的老板和几位已离开公司的师兄们道个谢!感谢他们曾经对我的培养和帮助!祝福他们一路走好!闲话休聊,言归正传。话说当年我进这家公司之初,我对单片机的了解仅止于鸡毛蒜皮而已!尽管单片机的硬件电路相对来说是比较简单的,但我对这方面的了解还真是太少了。什么A/D型按键检测电路、温度检测电路、数码管、VFD、LCD、数码屏的驱动显示电路、I/O口的复合应用……,这些我都是一无所知!所以当时我要独立设计出一个能满足客户各种要求的硬件电路,难度还是很大的!不过还好,当时的师兄们对我这个一无所知的小师弟还是很照顾的,在每次交给我任务的同时都能对我指点一二。就这样,边做边学,经过大概半年时间的努力,我也逐渐掌握了一些单片机的硬件电路,基本上已经能够满足工作的需要了。这时候我才松了一口气,关注起师兄们做的程序来。看着师兄们做出来的功能繁复、花样不断的程序,我心里真是既佩服又羡慕!想起自己在书上辛苦学来的一点51单片机编程实例,在这里真是一点用处都没有!因为书上的那些例子都是用来演示一下,帮助学者理解的,根本就不实用!而真正实用的东西都装在象师兄们这样的一线工程师的脑袋里面。“要学就要学实用的东西,不然,学来又有何用!”我当时这样想。 “我再也不能象以前那样学单片机了(之前我买了一些51单片机的书籍天天啃),我必须找到一个更好的学习方法!”我想。但是怎样才能学到真正实用的单片机技术呢?我想到了向师兄们请教。得到的答复是:“你去买一台单片机学习板,然后安排你做一个最简单的项目,一边做一边学是最好和最快的单片机学习方法!”。于是我就找单片机教程网的站长买了一个单片机学习板。但公司里一时间还没有适合我做的简单项目,于是我向一位师兄要了一个公司里已经开发好的实用程序作为参考例子来重点学习。我一边看师兄做的程序例子,一边分析和理解每一行、每一段程序的真实意图,并且在每一行程序的后面都补上了注释。遇到不好理解的程序段就模拟运行一下程序来帮助理解。慢慢地,我对师兄们的编程技巧和单片机的运行模式有了初步的了解。过了一段时间,机会终于来了,一个比较简单的项目被安排由我来编程。接到这个任务我是既高兴又担心!高兴的是终于有机会试验一下我的学习效果了。担心的是怕自己做不出来,既丢脸又糟蹋了这样一个好机会!所以我全力以赴!奋战3天3夜终于将样品送给了客户。说实在话,这时候的我还是没有很好的理解师兄们的编程技巧和单片机的运行模式,程序也编得有点不论不类。经过这次试水,我更觉得自己的单片机功底不够。但是这个时候我已经不能再依靠师兄们的帮助了,因为他们都陆续离开了公司。于是我开始补课,这时51Hei的单片机实例资料刚好派上了用场。在往后的大概半年时间里,我一边利用空余时间学习单片机的基础知识,一边对公司里一些客户要求更改的程序做一些修改,从中我也学到了不少单片机知识。再后来,我就慢慢的开始编写一些程序。从指示灯显示的消毒柜控制板程序开始做起,再到数码管显示的电热水器控制板程序、VFD显示的抽油烟机控制板程序、数码屏显示的电子鞋柜控制板程序……。从此,我成为了该公司的一名软件工程师。我学单片机的经过并不是每个单片机学习者都必须要走过的历程,也没有什么值得模仿的东西推荐给大家。但我想我可以从我的学习经历中得到一些启发,总结一些经验以供后学者参考。经验之一:学单片机,跟有经验的人学要比跟书学快得多,好得多!经验之二:在没有人教的情况下,是否能够选择一套好教材,一套好的学习工具,将决定你是否能够学会单片机编程技术!经验之三:学单片机一定要学方法,学思想,不能死记硬背!经验之四:学单片机不但要多动脑,还必须要多动手!好了,我的学习经历和学习经验都已经向大家和盘托出了,希望对有兴趣学习单片机的朋友有所启发。在此也预祝各位想学好单片机的朋友能够尽快学会单片机编程技术!
hg1949 编辑于 22:45
1楼??[其他]?
Re:谈谈我学习单片机的经历
6年会员勋章目前未领取。领取条件:?凡是注册时间六年以上的活跃用户即可领取该勋章。
积分:595分
总积分:1185分
发表于 11:06
谢谢您,我也是刚入门的,以后有问题,还希望您多多指点。
2楼??[其他]?
Re:谈谈我学习单片机的经历
6年会员勋章目前未领取。领取条件:?凡是注册时间六年以上的活跃用户即可领取该勋章。
积分:403分
总积分:806分
发表于 22:46
学单片机还一定要有汇编语言的基础,否则将是举步维艰,而汇编语言还要有 DOS的基础,电子技术,模电,数电,等等,不是像楼上所说的那么简单!关键是自己要有目标,决心。
--- 现有 3个主题,共 1页,目前第 1页 ---??
点击,立即回复。
EDN China官方微信
扫一扫关注,获取电子新知,设计灵感
IC厂商小组
在线研讨会
赞助商链接
2016 EDN China -- Use of this website is subject to its terms of use.
京ICP备号-4 |
京公网安备37 |
新版社区已上线,旧版论坛、博客将停用
1、为防数据丢失,旧版论坛、博客不再接受发帖;
2、老用户只需重设密码,即可直接登录新平台;
3、新版博客将于8月底完美归来,敬请期待;
4、全新论坛、问答,体验升级、手机阅读更方便。查看: 16396|回复: 3
如何学好单片机(致初学者)
最近常常被人问到:“怎么样才能学好单片机呢?”
面对这种问题,我都是不做回答,因为确实没法回答,但是问得人多了,不免引发了自己的思考,下面,我把我的学习经历分享出来,以供初学者参考。
一、启蒙阶段
大一的时候,学习的是电路基础和模电数电,电路基础上,做一些诸如电机正反转的电路,模电数电课上,就自己做功放、电源等小制作,当时也是凭着自己的兴趣,做起来很认真,但实事求是的说,理论知识没记住多少,只能说,了解个大概。
二、学习微机原理
当时我们讲的是8086,这对了解计算机结构是不可或缺的,我也是在那时候起,接触到了汇编编程
三、汇编语言学习单片机
大二的时候,开始学习51单片机,当时我那届学生,开设的都是汇编语言教学,课程上,做得也都是可以用软件仿真的小设计,差不多学了三个月后,掌握了基本语法和单片机寄存器(如果有学习8086的基础,三个月的时间足够了)功能,就做一些实物,那时候,认识到,做实物和仿真的区别如此之大。
认识到仿真和实物的巨大差别后,我就放弃了仿真学习单片机的方式,转而通过实物。我的第一个作品是篮球计时计分器(不是课程设计,是真实的作品),当时很多东西都不懂,只能自己去查资料,比如说,74HC245,我那时候第一次接触,就查百度了,还有三极管电路等等,都是百度查到的,因为有大一打下的基础,电路图一看就懂,剩下的就是焊接实物测试了。拜良师所赐,我的焊接技术在速度和质量上,都还可以,所以,可以在很短的时间内,可以完成硬件测试。
自主学习的主要过程就是查资料了,对于一些基础的资料(IC参数等),网络上都是现成的,如果看不懂,那谁也没办法。问题是,为什么我就可以看得懂呢,这就又要回到我大一的时候所学的课程,那时候读书还算用功,培养了这种学习能力。换句话说,哪怕以前你是搞文科的,只要有学习、理解的能力,那么到另一个领域,也不会觉得无从下手。
然后就是编程了,很多网友问我数学是不是很好,我只能表示惭愧了,高中的时候,我的数学分数都在40分左右(满分150),大学后,在30分左右。但数学不好,不代表不能编程,哪怕是用汇编语言。
那么,如何编程呢?有人说,先画流程图,然后再写程序、调试。我想,这是数学比我好的人说的,我的方法如下:
1、用文字描述自己需要的功能(假设功能大于2)
2、拆分出各个功能,用文字描述每个功能是如何实现的
3、完成各个功能的程序,并做好测试,对于我来说,如果了解单片机的工作方式,那么编写程序其实就是把汉语翻译成汇编语言。
4、修改每个功能模块的程序,尽量让程序简短,并且预留好和其他功能衔接的功能(接口、变量等)
5、合并简单功能模块,复杂功能逐一合并,每次合并做好程序备份,以便纠错
6、如果上述工作做的足够好,那么可以直接得到想要的结果,我的程序往往都是写完了就可以用,这是建立在部分模块程序的完美基础之上的。
如果是设计了独一无二的作品,比如说我的立方光(我是独立设计的原理和程序,不管是新版还是旧版),那就在第一条补充一条:构思,这需要你对单片机很了解,预想如何实现,会遇到什么样的问题,以及解决的方案。立方光我构思了2个月,真正做实物的时间,只有一周。等到了新版立方光问世,我也是用了三周构思,一周做实物。
五、学习c语言
通过一段时间的学习,我认识到了汇编语言的优越性,也认识到它的缺点,这点我们稍后再说,先说一下我现在学习c语言的情况。
因为之前有了做实物和编程的基础,我就通过项目来学习C,比如,做一个温度显示,用到了18B20,就自己百度资料,至于程序,我就找了开发板上现成的(说到这,买个开发板还是很必要的,要的是程序)。第一次接触C编程,VOID是啥都不懂,那就百度吧,可以说,一个程序,我要百度很久来理解里面的内容,不懂就是问师弟(他们现在是学C的),差不多一天的时间(包括查资料),程序也就完成了,当然,我还优化了原程序,自己改写后的程序比以前更简短,占用RAM更少,因为之前是学汇编的,一眼就看得出,程序改如何优化。
以上就是我的学习经验了,在这里我还是建议大家,要先学汇编语言,这没坏处,比如我,因为有汇编的基础,学起c来就觉得很上手,特别是自己可以写出更优化的程序。但有人说,汇编难学,就算学了,以后编程也用不到。那么我要说,我的立方光程序就是汇编的,怎么用不到了?很多单片机的参考资料,也都是以汇编作为原始资料的,你不懂汇编,怎么学习新的功能?学了汇编后,你会知道,单片机可以做哪些事情,哪些事情不能做,以及如何做好一件事情,这是单纯学C的人体会不到的。
那么汇编语言和C语言比起来,优劣势在哪里呢?我根据我的学习经验,写一点个人心得,仁者见仁智者见智,各位也可以发表自己的看法。
汇编做为测试程序最合适不过了,比如你想测试最小系统的好坏,那么随便更改一组IO的输出就可以了,用汇编的话,写三行足矣。如果测试某些IC的好坏,特别是需要脉冲的模块,那么汇编就更有优势,可以精确的控制时间,而且代码量极短。最后就是在RAM占用上,汇编语言,总是把RAM的占用在最低,而纯学C的人往往忽略这一点,都是想用多少变量就定义多少变量,对于RAM小的可怜的单片机来说,是一种灾难,在实际生产中,往往选用的都是廉价单片机,IO和RAM、ROM资源都很小,没有多少你发挥的余地,如果你的程序可以让公司把40P单片机换成28P的单片机,那么PCB板就节约了,如果你的程序能从2K简化到1K,那么单片机的购买成本也会降低,对于企业来说,一个板子省一毛钱都是巨大的利润,所以说,你程序的好坏,是影响的企业利益的,何况很多人也想自己创业呢!至于说,如何才能优化程序、写出最短的程序,那必须先要对单片机有足够的了解,而学习单片机的内部原理,是非汇编不可的。加上有人学单片机是为了向嵌入式进阶,那么学习汇编就是更是必不可少的了。C语言的优势我就不多少了,现在几乎都是在用C编程,我最近在学习C编程,也体会到了C强大,但这不代表我以前学的汇编就浪费了,比如stc的eeprom程序,官方给的就是汇编,可实际来说,写成C更好,如果你不懂汇编,自然也无法翻译这些程序,谈何C的应用?关于这两种语言的话题,我就不再往下说了,免得又引起口水战,如果想学单片机,我建议学C,如果你想学好单片机,那就先学汇编再学C,这就我给初学者的建议。最后要说的是,汇编编程,非常锻炼人的思维,这也就是为什么都说汇编难学了,如果你在汇编上有一定的编程能力,那么再掌握其他编程语言的时候,学习过程就会变得很容易。
我想写到这里就差不多了,学单片机没什么窍门,作为一门知识,学它和学其他科目都用共性,谦虚、严谨、勤劳是必须的,不同的是,仅仅靠兴趣维持是不行的,它带给你的困难会很快让你失去兴趣,单片机,要的更多的是毅力,面对困难,只有勤劳,而不是所谓的灵感。大多数人,都是经历几十次失败就停手了,我不是很聪明的人,我经历最多的失败足有300多次,我的成功,都是源于我的坚持,坚持正确的思路并持之以恒!
希望这些文字或多或少的给初学者一些帮助, 早日入门!
最后,祝大家新年快乐!万事如意!
讲的很好,学到了,你这情况我也碰到过,当时我是先去找的工作,结果一直找到不到毕竟没撒经验,好不容易找到了干了几天发现能力完全不够,所以我还是建议先去把知识学好,然后去星创客深造一下毕竟刚毕业还年轻,当然培训还是要找比较靠谱的不然时间和金钱都浪费 就不好了,可以去这里看看还不错
如需培训,Q
楼主可以的,我是自动化专业的,大学没认真学习,一直惧怕编程,因为自己不知道怎么锻炼编程思路,硬件这一块我不怎么担心,就是变成我惧怕。不过楼主的逻辑方法很好,就是我一直想学习掌握的,感谢楼主!!!我迫切希望能尽快掌握单边机设计。
Powered by经验之谈:如何学好单片机_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
经验之谈:如何学好单片机
&&经验之谈:如何学好单片机
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩3页未读,
定制HR最喜欢的简历
你可能喜欢怎么快速学好51单片机_百度经验
&&&&&&&&&大学及以上怎么快速学好51单片机听语音123456
百度经验:jingyan.baidu.com在大学里,通信,电子,自动控制,电气的同学就会接触到一个新奇的东西,这就是51单片机,第一次接触51单片机,我们既新奇又担心怎么学,现在我就讲解一些小诀窍帮助大家快速入门!百度经验:jingyan.baidu.com51单片机百度经验:jingyan.baidu.com1首先,学习51单片机的时候,我们要认真的看书,第一章一般都是讲解51单片机的历史还有发展,这些我们只需浏览就行了。2第二章开始才是真正进入单片机学习,在这章会讲解它的结构,引脚图,引脚功能,它的各个组成部分功能这些,这都是需要我们记住的!3第三章是讲解它的汇编语言,学会了语言,我们才能控制单片机工作,最开始我们可以试着写控制P0口让led灯闪烁,当看到灯真的按照自己思路闪烁,是不是很有成就感!4接着的学习就是了解单片机的寄存器,控制器这些了,我们需要了解这些寄存器功能是什么?,因为单片机的汇编语言是操作各个寄存器,所以在编写程序的时候,不了解寄存器是无法写出好的程序!5在第6章开始学习定时/计数器了,它们可以帮助我们设定时间,计算频率,许多控制的地方都需要用到它们,所以必须要学会!6在这里,我推荐2个软件,一个是Keil还有protues软件,第一个是编译程序的软件,第二个是仿真51单片机的软件,有了它们,我们就可以在自己电脑上学习了,很方便的!END百度经验:jingyan.baidu.com学习单片机其实并不难,只要我们用心去写程序,调试后总会得到好结果的!经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(5)已投票(5)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验6017100热门杂志第1期作文书写技巧946次分享第12期祝你好“孕”493次分享第1期当我们有了孩子340次分享第1期新学期 新气象169次分享第1期孕妇饮食指导568次分享◆请扫描分享到朋友圈新手如何快速学习单片机? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。311被浏览<strong class="NumberBoard-itemValue" title="4分享邀请回答1038 条评论分享收藏感谢收起226 条评论分享收藏感谢收起}

我要回帖

更多关于 怎样学好单片机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信