怎样学好单片机? 热
很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。
先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,积累经验,只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。
总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。
步骤:
1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天)
2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。 (二十天)
3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。 (十天)
4.自己完全设计具有个人风格的电路,产品,。。。你已经是高手了。 。。。。
看到了吗?下功夫一个多月你就能成为高手,我就讲这么多了,学不学得会,下不下得了功夫就看你的了。
最后我呢再给大家推荐两款我自己专门给单片机的初学者设计的单片机学习板,大家可以看看它的资料,需要说明一下,如果使用我的单片机学习板,我可以负责终生的技术支持,直到教会你为止。支持的方式你可以通过QQ,EMIL等随时问我关于单片机开发及电路设计方面的问题。
个人网站:www.txmcu.com
附本文作者简介:
郭天祥,男,哈尔滨工程大学信息与通信工程学院学电子信息工程02812班学生。曾在军政训练中获得”军事训练优秀学员”称号!,校二等奖学金,“优秀组织者”称号, 校园漫画大赛二等奖,两次校“五四杯科技竞赛”二等奖, 全国大学生电子设计竞赛黑龙江省赛区一等奖,校“科技实践先进个人”,“科技创新先进个人”称号,“枭龙杯”中国空中机器人竞赛分获两个级别的亚军和季军,免试保送哈尔滨工程大学攻读硕士研究生,中央电视台专题片“我的太阳——创新360之郭天祥, 信通学院首届感动校园人物,学校特大重点型学生科研立项“远程无线可控潜水器”成功立项。
熟练掌握各种单片机应用设计、掌握FPGA\CPLD、熟练运用VHDL语言、汇编语言、C语言、C++语言、VC,熟练运用PROTEL DXP绘制多层电路板,熟练使用MAXPLUS 、QUARTUS、MATLAB等软件。
大学本科四年的时间,我在创新实验室呆了三年,这三年里创新实验室给我提供了宽敞的实验环境,丰富的实验设备,在这里与众多电子爱好者们交流中使我学到了很多的知识,在指导教师们的教导中使我的专业水平得到了不断的升华,希望能有更多的爱好者们加入创新实验室,在电子行业做出更突出的贡献.
我的大学四年
在最先需要说明一下的是,我写这篇文章的目的并非给大家炫耀我多么厉害,多么能干,而事实上我也真的很一般,在学校像我这样的学生有很多,我以下讲出的是我这四年实实在在的感受和真真切切的经历,我是想借此文章给低年级的同学们一些激励,你们身处在这么好的学习环境里,有很多同学在这里是迷失方向的,不知道自己在大学里究竟该做些什么,我们身边有很多机会可以发挥你的能力,实现你的理想,即使是这些机会不是很明显的让你看见,你也应该去努力争取。
写这篇文章的时候我正身处大学本科生活的第八个学期,眼睁睁看着我大学本科四年最后的时光一点点逝去,再看看身边有很多低年级的学生们一天天把时间就这样白白的荒费掉,我在心里替他们惋惜,在即将结束我的大学本科生涯之际,我将我的大学四年生活与大家分享一下,看过这篇文章后也许能让那些有梦想的同学为了实现自己的人生目标少走点弯路,大家一定要相信,大学校园—这儿有人的一生最好的学习环境。
我高中毕业于新疆伊宁市三中,2002年考入哈尔滨工程大学信息与通信工程学院学电子信息工程专业,现在已经是我在本科阶段的最后一个学期了。在我刚入校的时候对电子类知识是一点也不懂,因为之前我比较喜欢经商,想着以后努力开个公司,做做生意,所以第一志愿报了经济管理学院,结果没被经管学院录取,而被调到信通学院,现在想来也挺好,刚上大学时认为在大学里当班长,或者能在学生会里混个什么官官当当就很好了,所以我从上大一就开始加入学校的校学生会,还有系学生会,竞选班干部什么的,后来也如了我的愿,班长也当上了,学生会里的官也做了不少。因为刚上大一的时候根本不知道大学里具体的要学什么知识,每天就是上课,那时一节课也不敢逃,每天的生活就是去上课、吃饭、打球踢球,回宿舍瞎侃,上床睡觉。周末还找几个同学诳诳街什么的,每周都重复着同样的生活,日子过得很平谈,但那时也感觉很充实,可能还带着刚离开高中校园的那种兴奋吧。
一年就这样过去了,接着就大二了,大二上学期和大一没什么区别,没有特别的事,偶尔逃逃公共课不点名课,天天打篮球,踢足球。就在大二下学期有一天,我静静的思考一很久,我想起了我曾经有的梦想、我追求的生活、我的抱负,想想如果再这样过完两年,我的将来会是什么样子?那天我觉悟了。我的专业是电子信息工程,那我必须在这方面学有所成,两年都快过去了,我是学电子的,从初中就开始学电阻了,到现在都六七年了,我连电阻长什么样都没见过,这样下去学的算是什么电子专业?我找了我宿舍的另一位同学赖世雄,我告诉他我们一起参加学校的五四杯电子设计竞赛吧!赖同意了,当时我俩对电子知识是什么也不懂,根本不知道从哪里开始,我们就从电子报杂志上随便找了个什么电话控制类的作品,名字我也记不大清了,把杂志上原理图中所有的元件都抄下来,我两就到电子市场上买元件,第一次买电子元件,一点专业知识也没有,讲了好多东西卖元件的人都听不懂我们在讲什么,闹了不少笑话,一个电阻被人家要了一毛钱,还说这东西真便宜啊(实际上一个电阻是一分钱),最后买了一堆电阻电容加三极管,加起来一共六七十元,回来就准备照着别人的原理图焊接,很显然,这种做法的开始就已经注定我俩的结果是失败的。后来我去问教我电路基础的付永庆老师,我给付老师说我们想学点东西,能不能请他帮我们想想看做个什么东西,付老师人很好,他直接给我们俩说你们俩可以到我的实验室里来,现在他正好带几个大四的学生做毕业设计,让我们跟着那些同学学习学习,我两就把自己的电脑搬进他的实验室了,付老师又给我俩介绍了一位正在做毕业设计的大四女同学,她叫黄光亚,黄正在做一个两台计算机之间用激光通迅的题目,我和赖每天都去实验室看着黄焊电路,写程序,那时看着是一头雾水,感觉那些东西好神奇,然后那些神奇的东西对我俩一点儿也不兴趣,前后大概忙了一个月,对黄的那作品算是有了原理上的了解,但具体怎么实现还是无法搞明白。那时正好赶上2004年学校的五四杯电子设计竞赛,五四杯之前我们三个(大部分是黄做的)就把东西做出来了,我和赖做好的东西拿去参加比赛,当时评委们问我你这是什么原理、通讯怎么样调制、传输波特率多少、很多简单的专业问题,说实话,我哪里知道啊!我那时连RS232电平是什么概念是都不明白,当时也就糊里糊涂的回答了,那时学校的参赛作品比较少,所以我们还很幸运的得了个奖。(现在回头想想那个作品其实很简单,专心点有两天的时间就能做出来)。
五四杯结束了后,赖就从实验室把他电脑搬回宿舍了,我的电脑一直放在付老师的实验室到现在,后来付老师给了我他实验室的钥匙,大概从五月中旬我认识了另一位老师,王伞,王老师告诉我作为我们八系的学生,如果学会了单片机,C语言,DSP那你的前途必定是一片光明(我现在感觉应该再加上FPGA\CPLD(用VHDL语言编程)、ARM(嵌入式系统)),我听了王老师的,从那时开始天天学单片机,当时那个实验室只有我一个人学硬件,那里也只有我一个本科生,其他的硕士、博士研究生也很少有做硬件的,那时我分不清极性电容的正负极,我拿着一个极性电容问了实验室的好几个人,结果他们也不知道,更有人说这是什么东西从来没见过。这件事很令我震惊,难道这就是电子专业的读了四年本科,毕业后又读了几年硕士研究生的高水平学生吗?我们真的不能怪现在毕业生的工作不好找,那是因为你确实没有别人需要你的理由。我当时想学单片机可也苦于没有硬件实验环境,身边又没有会的人请教,于是我就上网找资料,看见了网上有卖单片机学习板的,那时价格都挺贵的,但我还是恨下心买了一块三百多块钱的单片机学习板,寄回来我就开始做练习,之前也看过几遍书,可发现光看书没有什么效果,看十遍也就那样,后来我发现在做实验的时候再查书这样就理解的很透彻了,就从那时起我每天早上八点之间就到实验室了,也从那时起开始了我的逃课生涯,一整天都泡在实验室里,一直到晚上十点多看楼的大爷用脚揣着实验室的门叫我走我才走,每天就在摆弄单片机,那时没有人教我,全是我自己一个人摸索,因为付老师就只收了我一个本科生,我既不是在系里科协也不在E唯协会,连一个可以讨论问题同学都找不到。
当时我学的是单片机的汇编语言,大一那时也学过C语言课,可我发现等要用的时候我什么也不会,根本和单片机联系不起来,和没学一样,大概一个月,也就是快放暑假时我做出来了自己的第一个单片机作品,一个电子钟,有人说你要是用单片机做出一个电子钟,那你基本上已经掌握单片机的80%了,我认为这句话有道理,电子钟对编程序的综合度还是相当高的。那时对单片机已经有了初步的掌握了,假期的时候我报名参加了2004年黑龙江省大学生电子设计大赛,我们选的题目是无线数据通迅,当时指导老师让我们用FPGA做,其中还要用到VC编程及C++语言,我开始拼命的学这些,那时每天吃饭都在实验室,我们比赛是把题目先发下来,两个月后交作品就行,其实学FPGA/CPLD也和单片机一样,关键是自己动手写程序实践,不停的写程序,然后看程序运行的效果,这两个月里我把VHDL语言搞的很熟练,但是VC还不会,我们队一共三个人,路智超(做模拟电路那块),魏旭东(上位机程序),魏的VC学的相当好,它是理学院的,VC全是自己学的,(他现在在北京一家网络游戏开发公司上班)比赛结果还好,我们获得了黑龙江省一等奖,这也是我的第二次获奖,接下来我发现必须要学C语言了,一个全面的人才不能只搞硬件不懂软件,只搞硬件的那是工人。那时学校安排的课程我放的比较松,能逃的就逃了,我个人认为上理论课上一学期课的目的只是为了那期末考试的一张卷子,而就算你考了一百分,你实际用的时候还是什么也不会,准备期末考试其实只需要一天(后面我发现一天也太多)随便考个及格我就满意了。
从大三开始学校里有各种电子设计比赛我总是积极的报名参加,就是在为自己寻找锻炼的机会,这一年里我放弃了我最喜欢的篮球和足球运动,没有上过一次街,每天早上起床,洗脸,刷牙,拿着书去实验室,我白天就在实验室写程序,焊电路,做各种硬件练习,晚上回来补充理论课程,模电,数电,高频,每晚差不多两点睡觉,把实践与理论结合在一起,从那时我发现大学里的理论知识是那么的重要,而我们原来没有意识到,只为了参加期末考试,而没有把它们与它们要应用的领域结合在一起,这样就失去学习它的意义,那是因为学错了方向。如果一个人的模拟电路,数字电路,和高频电子的基础不好,那么他可能设计不出什么好的电路, 我们在做实践的同时再来看书中的理论知识这样的结合是最好的。这种单调的生活我天天重复着大概过了一年,无数次内心的涌起的烦燥被我渴求知识的欲望一次次抑制住。期间我参加过一些国家级及校里的比赛也获了一些奖。
大三下学期我基本上在学习C语言,VC,C++。这里要讲讲大三暑期我参加每两年一届的“索尼杯”全国大学生电子设计竞赛的故事,希望能给以后参加组队竞赛的同学们提供点经验。我们选择的题目是“集成运放参数测量仪”,题目是自己队员商量后选择的,当时我们队成员是,杜勉科,于振南和我,说实话对于这个题目我真是一点头绪也没有,因为有我们的指导老师付老师,所以大家也没有太大的忧虑,可等半天过后才发现这个题目选错了,电子大赛只有四天三夜的时间,第一天的早上八点知道题目,要求第四天的晚上8点交作品,所以一个半天是非常宝贵的时间,既然题目都选了不管有多大的难度都要坚持到底,不能中途换题的,当时那个题目给的一套参考图是很多年前的电路图,用现在的元件搭好电路后根本达不到预期的效果,比赛那时我们不知道,所以电路焊了一套又一套,结果都不理想。当时我们队三个人的个人能力都是比较强的,可能是以前大家没在一起合作过,所以到真正合作做作品的时候又不是很默契。于振南主要是写软件,于是学计算机的,对硬件也很熟练,完全是自己感兴趣自学的,于的工作态度和吃苦精神当时给我留下了很深的印象,那四天三夜里我们没有睡过觉,尤其是于,他几乎是一直坐在电脑前写软件,差不多有几十个小时,没有睡一分钟,他什么时候吃的饭我都没看见,连厕所好像都没上过,最后我看他眼睛一直在流眼泪,当然不是哭了,那是看电脑屏幕看的。因为工作量是非常的大,要做硬件,写软件,绘制整个系统的电路图,还要写几万字的论文,都要在这四天三夜里完成,那几天王老师和付老师也非常辛苦,付老师早上四五点就来实验室看我们,王老师甚至就一直陪在我们身边,我们的作品最终在连调时失败了,各部分的功能能够独立实现,可联在一起就不能工作了,评委要看的是你的最终功能,不会看部分的。所以这次比赛我们以失败告终,以后大家如果有机会组队参加这样的比赛要注意这么几点:一、选题最关键,一定要选你们比较熟的,队里有一个或两个比较熟也行,但如果三个人都不会那就别选了。二、题目选定后,首先以实现基本功能为主开始做题,如果基本功能你都能做成功了,那你应该能得全国二等奖了,因为在这么几天的时间里大部分队根本是什么也做不出来的,如果发挥部分再能做出一部分那就可以向全国一等奖进军了,我们队失败的另一原因就是我们直接开始做发挥部分的题目,而忽略了基本部分。三、组队的安排,一定要找大家熟悉的人,最好在一起合作过,分工要明确,不要无头绪的各干各的,最后要做什么都不明白。四、不要相信比赛前老师们说的评委检查有多严多严的,好多评委自己对这些题目也不明白,在答辩的时候做做假绝对是可以的,(后来我们答辩完后私下聊了一下,其实完全用软件就可以做出个一等奖的作品,我们给评委演示的时候评委就看我们的液晶屏幕上显示的数,数有那就有这项的分了。屏幕显示是自己控制的,想让它出什么它就出什么,你说能不是一等奖吗?),不过,这是最没有办法的招了,大家可不要一开始就报这种态度啊,万一碰到个严厉评委那可就得不偿失了。
参加完这次比赛后,我接到一个外面的开发项目,我找了于振南合作,我俩很快就把项目做完了,这也算是我们用所学的专业知识赚的第一捅金吧,总钱数到是不少,但额外开支比较高,平均摊下来我和于每人也只有几千块钱。接着我和于又合作开发了第二个项目,现在正在筹划别的项目。
大四来了,已经习惯了的生活和大三没有多大的变化,原来和我一起参加五四杯的赖世雄同学现在每天都在忙着复习考研,现在也考上了他满意的学校(赖考研考了400多分,考上哈尔滨工业大学)。我不想在读书了,想着早点出去工作,圆我经商的梦。快十月份时我们系电工电子基地另外一个对我很好的老师,王松武老师,王老师告诉我北京某个电子公司每年在我们学校招两三个学生,要求动手能力比较强的,最好参加过一些国家级的比赛获过奖的同学去,王老师推荐了我,说那边待遇很不错,我谢过王老师准备去面试,他们单位十月三号来学校面试,我正准备面试呢,十月二号学校贴出通告,我被免试保送我校的研究生了,也挺高兴的,保送读研究生是不交学费的,而且也不用考试,学校有制度,学生有某方面的特长的,获级别较高国家奖项的可以推荐免试读研究生,我的综合成绩平均分70多分,综合成绩也够资格了。我从内心感谢哈尔滨工程大学的领导、感谢哈尔滨工程大学的制度
大四上学期一学期基本上参加2005年的“枭龙杯”中国空中机器人大赛,这次于振南也参加了,我主要负责飞机的自动驾驶仪,另外和于一起写地面站操作平台,最终我们学校战胜清华等多所有名的大学,获得了全国亚军。这次比赛占用了我差不多六个月的时间,我们设计的无人机实现了全程无人控制全自主的自动起飞、自动巡航、自动着陆动作,开辟了我国无人机全自主飞行的先河。
大四的寒假,那时对单片机的掌握已经很熟练了,想着应该用学会的知识来开发些产品了,一来可以解决生活上的开销,二正好也可以圆我经商做生意的梦了。想着很多想学单片机的初学者可能会购买单片机学习板,我就决定设计单片机学习板,二月份做出第一个样板,三月份做出第二版,四月底建立个人网站“天祥电子” http://www.txmcu.com/ .在四月份期间中央电视台”我的太阳”栏目组来到哈尔滨工程大学给我拍摄了专题片”我的太阳—创新360之郭天祥”,节目以我参加2005”枭龙杯”中国空中机器人大赛为背景讲述了我在哈尔滨工程大学几年的创新生活,5月7日在中央电视台教育一台播出,同时我远在新疆的家人在电视机前面看见了已经离开家乡几年的我,这也是我生平第一次上中央电视台的专题节目.
我的大学本科生活就要结束了,我就这样过了四年,有时想起来可能也失去了很多东西,比如享受快乐生活,但我得到的却是无价的,这样的过程可能也有很多人渴望,这样的结果必然有很多人羡慕,我四年几乎没有回过家,当然也常常想念我的家人,因为我的梦想,我的抱负战胜了一切能够阻挡我的东西,我充分利用每一天的每一分每一秒,我感觉非常的充实。
只要你有技高别人的想法,你有出人头地的愿望,你能下得了做一件事情的决心,你有能坚持下去的毅力,只要你天天都在进步,两年后的你和大部分同学的水平将是完全两个不同的档次。 希望大一大二的学弟学妹们珍惜你们拥有的,在大学里好好努力,四年时间过的飞快,当瞬间过后发现自己和刚入校时并没有太大的变化,那时后悔恐怕真的晚了!
大学里是我们人生中最宝贵的时间,我们付出了四年的时间代价,我们应该也必须为此付出有所收获,我奉劝低年级的同学们不要再沉迷于网络游戏,不要沦陷于缠绵爱情,年轻人应该有更高的追求,你要为你的将来做好准备,外面的世界很残酷,你能活着已经是非常幸运了,好好珍惜吧!
这么说吧,所有的仿真没有一个是可靠的,一般是先确定硬件电路是什么样的,再根据电路去编程序 烧录 调试
先搞懂单片机逻辑,在编程。或者先编写一些小程序,,烧写,调试,,慢慢试吧。
去电驴上下个郭天翔的视频看看吧,另外多逛逛单片机的论坛,网上资源倒是不少,关键得看你是不是用心的去学了。单片机的数据手册也很有用,多仔细的看看也没啥坏处。