如何学好c51单片机设计c51应用编程与实践?

运用便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及完成各种功用的程序编制。

运用按钮输入信号,发光显现输出电平,就可以学习引脚的数字I/O功用,在按下某个按钮后,某发光二极管发亮,这便是数字电路中组合逻辑的功用。

尽管很简略,可是可以学习一般的单片机思想,例如,必须设置许多对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功用。每运用单片机的一个功用,就要对操控该功用的寄存器进行设置,这便是单片机编程的特色。

学会定时器的运用,就可以用单片机完成时序电路,时序电路的功用是强大的,在工业、家用电器设备的操控中有许多运用,例如,可以用单片机实 现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后主动灭,当按钮接连按下两次后,灯常亮不灭,当按钮按下时刻超越2s,则灯灭。

数字集成电路可以完成时序电路,可编程逻辑器件(PLD)可以完成时序电路,可编程操控器()也可以完成时序电路,可是只要单片机完成起来最简略,本钱最低。定时器的运用是非常重要的,逻辑加时刻操控是单片机运用的根底。

单片机的特色是一段程序反复履行,程序中的每个指令的履行都需求一定的履行时刻,如果程序没有履行到某指令,则该指令的动作就不会产生,这样就会耽搁许多快速产生的工作。

要使单片机在程序正常运转过程中,对快速动作做出反应,就必须运用单片机的中止功用。该功用便是在快速动作产生后,单片机中止正常运转的程序,处理快速产生的动作,处理完成后,在返回履行正常的程序。中止功用运用中的困难是:需求精确地知道什么时候不答应中止产生(屏蔽中止)、什么时候答应中止产生(开中止)、需求设置哪些寄存器才能使某种中止起作用、中止开始时程序应该干什么、中止完成后程序应该干什么等等。

与PC机进行232通信

单片机都有USART接口,特别是系列中许多类型,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需求运用一个MAX3232芯片进行电平转化。

USART接口的运用是非常重要的,经过该接口可以使单片机与PC机之间交换信息,尽管RS232通信并不先进,可是关于接口的学习是非常重要的。正确运用USART接口,需求学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据线现在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显现,是多么风趣的工作。

MAP430单片机带有多通道12位A/D转化器,经过这些A/D转化器可以使单片机操作量,显现和电压、等信号。学习时注意模拟地与数字地、参考电压、采样时刻,转化速率,转化误差等概念。运用A/D转化功用的简略的比如是设计一个电压表。

学会PCI、接口和液晶显现器接口

这些接口的运用可以使单片机更容易连接外部设备,在扩展单片机功用方面非常重要。

学会比较、捕捉、PWM功用

这些功用可以使单片机可以操控,检测转速信号,完成电机调速器等操控功用。如果以上七步都学会,就可以设计一般的运用系统了。

新的路子,更何况单片机这东西也挺神秘,挺有诱惑感。然后在某宝上反复的搜索,反复的斟酌,选择买个开发板,不过新手难免会纠结,不知道选择那个好。其实此刻心里也还是担心,如果开发板选择不好,可能自己的嵌入式单片机学习可能就泡汤了。每个学习单片机的都会有这样的经历,我也一样,买51嵌

请问新手如何学习单片机

实际操作中才能真正学到单片机技术。因主修专业的不同以及电子基础的深浅不同,对于不同的人可能采用不同的学习方法,根据笔者的亲身学习经验,提出笔者的学习方法和步骤。Part 1基础理论知识学习基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学

`学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。第一步:数字I/O的使用 使用按钮输入信号,发光二极管显示输出电平

大家好,我是一个学习单片机新手,希望各位前辈指导一下,单片机应该如何入门?应该遵循什么步骤?具体一点怎样快速掌握大体开发流程并做一些简单的小实验?在下不胜感激,谢谢!

本内容详细介绍了51单片机新手实例学习并以LED流水灯为例子

摘要:该文通过单片机实践教学的探讨与研究,提出了单片机实践教学的意义、现状、途径和目标,丰富单片机实践教学内容和完善其教学方法,提高单片机实践教学水平及学生单片

单片机学习的四个阶段 经常有单片机爱好者问我们,如何学习单片机学习单片机步骤是什么? 我们初略总结了一下,单片机学习的过程

单片机原理及应用》课程设计的构建与实践摘要: 以《单片机原理及应用》课程设计的构建和实践为例, 设计要求学生综合运用电子电路、单片机接口技术和单片

单片机原理及应用》课程设计的构建与实践摘要: 以《单片机原理及应用》课程设计的构建和实践为例, 设计要求学生综合运用电子电路、单片机接口技术和单

}

下面是小编收集整理的单片机实验总结体会(共含12篇),供大家参考借鉴,希望可以帮助到有需要的朋友。同时,但愿您也能像本文投稿人“marsandbert”一样,积极向本站投稿分享好文章。

篇1:单片机实验心得体会

学了一年多的单片机,对单片机也有了一个基础的了解。在这一年里,我学了DS18B20、12864大液晶、数码管显示等。从最初的跑马灯,到整体融合,经历了一段时间。单片机只有P0,P1,P2,P3,如果想把很多功能合在一起的话,就得复用,或着用到扩展,但是那个扩展模块不好用,写起程序来会比较麻烦,其实复用好的话,基本IO口都够用!

学习的时候总是难免碰到一些问题!但是我的总结是:没关系,边做边想!或着讲瞎搞!不搞肯定不知道,搞了才会懂!过去的一些问题在现在看来都是小case,什么定时器赋值啊,定时器的使用类型(模式0,模式1,模式2),当时就自己在那里看书理解,一大堆的文字在那里,看了很久也不懂!不过后来我懂得了上网找视频教程!刚开始的时候也总是想为什么这么做,为什么这么做,为什么这么做,一堆的为什么。现在懂了,做多了,就觉得要这样做,要这样做,就是这么做的,没错!不会的时候想着,反正会弄懂的,多试试!

要相信熟能生巧,想想学习的时候,和现在的程度,不是在一个档次的!熟悉了操作,一些疑惑也会虽之解开!

我最初开始学单片机是因为我喜欢编程,我觉得编程是一件乐趣的事!或着说享受技术带来的快乐!我现在懂得了有各门各样的语言,C语言是其中一种,还有更底程的汇编语言,java之类的高级语言,这些我都很喜欢!它们各有各自的好处和用处!而且我不想只会一门语言,所以我要慢慢地学习各种自己喜欢的语言!

在学习的过程中遇到麻烦或着问题,已经习以为长了!遇到问题也不会焦虑,想的是该怎么解决!水平也是在不断解决问题中提高的,有这一点体会!其实初学单片机,碰到问题总是新的知识而已,因为单片机很简单,也不用很懂电路原理,知道什么时候给0,什么时候给,其它的就交给硬件去处理。

我也不单单只想有关单片机的程序单片机功能简单,一直写单片机也会变得呆板的(这期间就一直写单片机的程序,不写其它思考性的编程),至少我是这么觉得.因为写单片机的程序一段时间后,我发现我的思路有点僵在单片机的思路上,自己想写一写其它的程序,不是单片机的`,是C语言的一些有关数学计算(类似应用题的那种),写的时候却想的写单片机的感觉,有点难以集中到现在要解决的问题!

篇2:单片机实验心得体会

我从大二起,就去实验室去学习。在这里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。

我是从学习单片机开始我的嵌入式学习的。

我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不知道改怎么学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看视频一边仿照视频的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器通过编写程序,我慢慢的弄懂了它们,现在回头看去,原来它还是很简单的。

用哪种编程语言最适合我们。

我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,非常难懂。我认为刚开始学习单片机没有必要一定要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。

很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。

单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。如何学习好硬件,动手实践是必不可少的。我们可以通过自己动手做一个自己的电子制作,通过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就可以多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。

这就是我学习单片机的心得体会,希望给单片机的爱好者学好单片机有所帮助

通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台

学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累 单片机是一门应用性和实践性很强的学科,要多动手,多做实验。

(4) 要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。

(5) 碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

(6) 小组要团结,小组之间要多交流。技术是靠不断的积累和交流才会进步的,封闭自守只会更加落后

通过这次单片机设计N也唤黾由盍硕缘テ机理论的理解=理论很好地应用到实际当中去M时也使我认识到自身存在的不足之处N蘼凼抢砺凵匣故怯龅轿侍獾拇理能力上都还有待提高6且这也激发了我今后努力学习的兴趣。发现问题、提出问题、分析问题、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中

。1、不管做什么事,计划是很重要的。没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。这样才能提高成功率。

2、做事要多动脑,选出最好的方法。一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。

3、要注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。

4、最后,也是最重要的一点,通过这次课题,我们学到了很多有关单片机方面的知识,也对单片机有了更深入的了解。使我们受益匪浅。

总之,亲自动手是课堂学习的延续,电子领域随时随地都在发生着翻天覆地的变化,现有的知识储备总是落后于科技的发展脚步,我们只有不断学习新知识,才能做到面对新课题时游刃有余

这学期的单片机实验课程已经结束了,虽然做的实验是比较简答的,但麻雀虽小五脏俱全,因此自己也通过实验课学到了很多知识。

单片机实验课是为了更好的学习单片机使用单片机而开设的一门课程。单片机在实际生活中的应用非常广泛,尤其是在工业控制、网络通信、模块化系统和汽车电子等领域。因此,单片机课程是电子信息类专业学生的必修课之一。由此,可以看出单片机课程对于这类专业学生的重要性。

单片机课是一门实践性很强的'课程,仅有课堂上理论知识的学习,对运用好单片机是完全不够的,必须亲自做实验,从实验中吸取教训,总结经验,增加实战经验,加深对单片机的理解,更好的运用单片机。单片机实验课的目的就是为学生提供做实验的机会,让学生能够从几个简单的实验中学会单片机开发的过程和单片机的实际运用。

单片机实验课让我将课堂上学到的理论知识运用到实验当中去,在实验中发现问题,解决问题,强化理论知识的运用。下面是自己做实验当中遇到的一些问题和体会。

首先,自己在实验课上对老师讲解的东西没有很好的领会。自己觉得老师讲的电路和原理自己都懂,就没有认真听老师的讲解,但是当自己去理解程序和修改程序就发现自己对电路的工作原理和过程并不是很了解,使得自己在改编程序实现不同功能时遇到较多的问题。

其次,自己对汇编语言的运用不是很熟练。自己之前接触和使用的编程语言都是诸如C语言等的高级语言,对汇编语言基本上是空白状态。虽然每个实验老师都给出了参考程序,但是自己理解整个程序的运行过程和程序的功能依然遇到了比较大的困难。这就说明基础薄弱是实验中最大的问题。

最后,也是最突出的一个问题。自己逻辑思维和分析问题的能力比较欠缺。对程序的分析能力不足,不能够很好的理解程序段之间的逻辑关系。同时,自己对实验中遇到的问题不能及时分析并找出解决的办法,知识一味的依赖老师的指导和同学的帮助。这也提醒自己,只有多加强锻炼,才能不断提高这方面的能力。 单片机实验课学生人数众多,课程资源有限,只有一个老师指导,老师是非常辛苦的。同时,因为资源的限制,并不是每个人都可以亲自操作的,这也就限制了同学们的积极性,出现了有些学生出工不出力的现象。因此,我建议可以限制选课的人数或者是调整时间段,避开大家的专业课时间,使每个时间段的学生人数比较合理,以达到最好的教学效果。

最后,还是要感谢一下老师的辛勤指导。这么多的学生,众口难调,老师只能满足大多数学生的需求,老师在这个过程中付出的辛勤劳动我们大家是有目共睹的,在这里,要向老师表示敬意。

篇5: 单片机实习总结

通过为期一周的单片机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。相信这对我们以后的学习和工作都会有很大的帮助。我们一定要在最短的时间里对这些不足加以改正!

首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。这次通过实体仿真软件等辅助软件的共同效果,是这次试训有了鲜明的活力。换是我们认识到这次试训不仅仅是一个软件的应用,更多的是使我们认识到学习到很多在课堂上无法得到的东西。特别是protues软件的功能是我们了解了当今开发系统的新方向,简直太不可思议啦!

单片机作为一种最简单的软件,与我们的日常生活息息相关,了解一些单片机程序的简单录入是非常必要的。如:led显示器、键盘和显示器的应用和原理。

在被刺实训中我们每个人通过一个八位流水灯的制作,使我们深深地体会到了单片机在现实生活中的小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。更让我们体会到了单片机手动的开始平台的完善与成熟。只要你有想法,单片机就有可能让他成为现实。这里我学习完protues软件后的第一感觉是,虽然这软件工作不稳定,但是会有相当不错的效果出来。这对我以后的工作一定会有帮助的。在这次试训中不仅只对单片机编程有了新的认识,还对整个单片机的开发平台都有了一厅的了解,这是一笔不错的收获。

通过这几天的试训,使我的感触很深,真实“条条大路通罗马”,要达到目的,不同的人就有不同的方法。只要你的方法不错!五花八门都可以,而且是各有特色。走出来的结果都有各自的独到之处。在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单片机留给用户的资源是有限的,所以我们要充分利用这些资源,达到更好的效果,这些是我们在以后的学习生活中应值得注意的地方。

在试训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。感觉很欣慰,有一丝丝的甜意,几天的实训使自己的思维逻辑也有了小小的进步。

时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。

俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。

虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。

硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。

当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。

在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。

再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深单片机实习总结及体会

随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。

时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。

虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。

当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。

通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的'创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

这个设计过程中,我们通过在原有的计数器系统进行了改进,使之增添了暂停、计数、清零等的三个控制功能,使之成为一个更加适用,功能更加完备的属于自己的一个系统。设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似实习就为我们提供了良好的实践平台。

首先在做本次实习的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机实习,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:c语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

最后,在实习之前,我们要对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的'软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力提高都会受益于我在以后的学习、工作和生活中。

为了给前一段时间学习pic16f616型单片机的一个总结和方便大家的交流,我写了这篇关于pic单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见。

pic16f616包括这样的几个复位功能,上电复位(power-on)、硬件复位、欠压复位(brown-out)、看门狗复位。

关于上电复位por,大家都不陌生,单片机在上电的时候保持复位直到电压能够满足其正常的工作电压,同时你可以通过对connfig(编译器上即可设置)的设置,来开启power-uptime,这个时间一般为64ms。

硬件复位可以通过mclr引脚外界复位电路,即可实现硬件复位(将此引脚接低电平)。

欠压复位这个功能是可选的,也可以直接在编译环境中配置config寄存器来开启此功能。当此功能开启时,如果单片机在运行的时候,供电电压不足就会引起欠压复位,复位后单片机如果发现供电电压已经达到正常值的时候,会有一个64ms的延时,然后再运行程序。

关于看门狗的复位在看门狗部分已经说了。这里的一些复位还涉及到一些标志位。这些标志位分布在status和pcon上面。status上有两个位to、pd,当标志位to=1时,表示表示已经操作了上电复位或者是执行了clrwdt或者sleep指令,当to=0时,表示发生了看门狗复位。当标志位pd=1时表示操作了上电复位或者是执行了clrwdt指令,当pd=0时,表示执行了sleep指令。pcon上有两个标志位是por和bor,分别表示的是上电复位和欠压复位标志。具体的可以参看手册。

pic16f616包括这样的几个中断源:ra2/int引脚外部中断、ra端口电平变化中断、定时器timer0、timer1、timer2溢出中断、比较器中断、ad转换中断、捕获/比较/pwm中断。

这些中断的允许位和中断标志位分别位于intcon、pie1、pir1、ioca这些寄存器里面,如果要开启相应的中断,就要置相应的中断允许位,开启总中断位(intcon寄存器的gie位),还要开启intcon上的peie位(定时器0溢出中断、int引脚沿中断和ra端口的电平变化中断除外)。

当中断发生的时候,相应的中断标志位就会置起来,同时总中断标志位gie会被清零,保证在此时间内不会相应其他的中断,然后将当前的pc指针值压栈保存,以用来保证中断能正确的返回到原来执行的地方。然后pc指针指向中断向量地址0004h的地方,所以在编程序的时候,你可以在0004h的地址存一条跳转指令跳到你定义的中断服务程序里面去就可以了。如果在中断的时候想保存一些重要的寄存器的话,可以在中断程序的起始将其保存,然后在中断服务程序的末尾将其恢复即可。

要注意的是中断标志位不会自己清零,这就需要在编程的时候在软件上对其清零,否则的话,单片机不停的执行中断服务程序。如果你想要在以后的程序中还能产生中断的话,就要把总中断允许位gie重新置位。

要想让单片机睡眠的方法很简单,执行一条sleep指令就可以了,如果看门狗允许的话,wdt就会被清零,但是还保持运行,寄存器status的pd位将会置0,to位将会置1,io口还保持原来的状态,在睡眠状态下,不能驱动振荡器了。

有些事件可以将单片机从睡眠状态中唤醒:看门狗、ra口电平变化中断、外部复位引脚mclk被拉低、ra2/int引脚沿中断、timer1中断(必须工作在异步计数模式)、eccp捕获模式中断、ad转换中断(时钟源必须为内部rc的时候)、比较器输出有变化,这些事件能够将单片机唤醒,其他的事件不能。

如果某项能唤醒单片机的中断已经开了,当总中断允许位gie为1的时候,单片机被唤醒后可以进入中断程序中去,而当gie位为0的时候,单片机也可以被唤醒,但是是执行下面的语句,而不能进入中断程序中去。

为了保证在执行sleep语句后看门狗能够清零,最好在sleep语句之前加一句清看门狗的语句clrwdt。

在一片集成电路芯片上集成微处理器、存储器、i/o接口电路,从而构成了单芯片微型计算机,即单片机。intel公司推出了mcs-51系列单片机:集成8位cpu、4k字节rom、128字节ram、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64k,并有控制功能较强的布尔处理器。

用到单片机的项目经验介绍

凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80c51,arm等

工业自动化:数据采集、测控技术。

智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等。

消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、ic卡、汽车电子设备等。

通讯方面:调制解调器、程控交换技术、手机、小灵通等。

武器装备:飞机、军舰、战车、导弹、航天飞机、鱼雷制导、智能武器等。

3、学习单片机之前预备知识

(1)数字电路中只有两种电平:高和低

定义单片机为ttl电平:

(2)rs232电平:计算机的串口

所以计算机与单片机之间通讯时需要加电平转换芯片

(3)进制转换与逻辑、算术运算

80c51是mcs-51系列中的一个典型品种;其它厂商以8051为基核开发出的cmos工艺单片机产品统称为80c51系列。

总线(bus)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是cpu内部之间的连线。外部总线是指cpu与其它部件之间的连线。外部总线有三种:数据总线db(databus),地址总线ab(addressbus)和控制总线cbcontrolbus)。

cpu:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

ram:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

rom:用以存放程序、一些原始数据和表格;

i/o口:四个8位并行i/o口,既可用作输入,也可用作输出;

t/c:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统;

一个全双工uart(通用异步接收发送器)的串行i/o口,用于实现单片机之间或单片机与微机之间的串行通信;

片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。

注意:变量名不能用c语言中的关键字表示。

包含的头文件(可以在安装目录下inc目录下查看)

(定义特殊功能寄存器和位寄存器);

math.h(定义常用数学运算);

(10)中断服务程序的格式

(12)单片机的基本时序

(1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,tx实验板上为11.0592mhz。

(2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。

(3)机器周期:一个机器周期包含6个状态周期s1~s6,也就是12个时钟周期。在一个机器周期内,cpu可以完成一个独立的操作。

(4)指令周期:它是指cpu完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。mcs-51系统中,有单周期指令、双周期指令和四周期指令。

最小系统能够运行起来的必要条件。

1.电源2.晶振3.复位电路

对单片机任意io口的随意操作

1.输出控制电平高低2.输入检测电平高低。

定时器:重点掌握最常用的方式2

中断:外部中断、定时器中断、串口中断

串口通信:单片机之间、单片机与计算机间

基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大的单片机初学者,希望您能从中受益。

作者提示:本教程乃最通俗易懂之单片机教材也,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_*

拿到这本教程您首先就会想,什么是iap教学法?是不是一种什么全新的教学方法?当然不是,我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是inapplicationsprogram(在应用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。

至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的学习了一些电子基础知识。

接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(很少涉及单片机的基础知识,如果按照此种学习方法,想便说一点:很多书中的实例都是有错误的)

进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能,几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把它全部掌握了再去做产品开发(当然天才就例外了*_*)

基于以上原因,本人想尝试一种全新的单片机教学方法,打破传统的循序渐进式的教学方法,以单片机的应用为蓝本,结合基本的工业控制系统和实践工作中的具体应用,不分先后顺序,将各条指令贯串于一个又一个的实验中,通过所见即所得的实验来讲解各种指令的编程方法,顺便讲解相关的基本概念,使您尽快地熟悉单片机应用的基本步骤,掌握软件编程的基本方法。

如果您学完了就能成为单片机的入门者,完全可以进行一般产品的开发;下册部分是单片机应用的提高部分,主要学习单片机的系统扩展(比如:rom和ram存储器的扩展,并行口的扩展,串行口的扩展,a/d和d/a与单片机的接口)以及相关开发工具和软件的使用(包括kellc51的应用与调试技巧,硬件仿真器的使用)等等,如果您学完了下册部分,那就得恭喜您成为了单片机开发的高手了,不过单片机的技术是在不断的发展和提高的,您也不要太骄傲哦!

为了尽量把最新的单片机知识和应用成果收录进我们的教程,希望您能不吝赐教,共同来努力把我们的教程不断的改进和完善。还是那句题外话,技术是靠不断的积累和交流才会进步的,固封自守只会更加落后。

由于时间和精力的限制,我还是希望在您学习本教程之前,自己先熟悉一点相关的电子技术知识,特别是数字电路基础,这对您学习中碰到的相关概念会有很大的帮助。

篇9:单片机知识点总结

1. 单片机由CPU、存储器及各种I/O接口三部分组成。

2. 单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。

4. MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可分时复用

为低8位地址输出口和数据口。MCS-51单片机片外可扩展存储最大容量为216=64KB,地址范围为0000H—FFFFH。(1.以P0口作为低8位地址/数据总线;2.以P2口作为高8位地址线)

5. MCS-51片内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。 (1)MCS-51片内有128字节数据存储器(RAM),字节地址为00H—7FH; 00H—1FH: 工作寄存器区;

(2)21个特殊功能寄存器(SFR)(21页—23页);

6. 程序计数器PC:存放着下一条要执行指令在程序存储器中的地址,即当前PC值或现行值。程序计数器PC是16位寄存器,没有地址,不是SFR.

7. PC与DPTR的区别:PC和DPTR都用于提供地址,其中PC为访问程序存储器提供地址,而DPTR为访问数据存储器提供地址。

(2)PSW寄存器中各位的含义; Cy:进位标志位,也可以写为C。 Ac:辅助进位标志位。

RS1、RS0:4组工作寄存区选择控制位。

P为奇偶标志位:该标志位用来表示累加器A中为1的位数的奇偶数 P=1, A中1的个数为奇数; P=0, A中1的个数为偶数。

另:使用加法指令时,累加器A中的运算结果对各个标志位的影响: (1)如果位7有进位,则置1进位标志位Cy,否则清0 Cy; (2)如果位3有进位,置1辅助进位标志位Ac,否则清0 Ac;

(3)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有,则溢出标志位OV置1,否则清0 OV。即只要位7和位6中有一个进位,而另一个没进位,OV就置1. 10. MCS-51指令系统的七种寻址方式,熟练掌握各寻址方式。(40页)。

10.访问MCS-51单片机中:(1)访问片内RAM应使用MOV指令; (2)访问片外RAM应使用MOVX指令; (3)访问程序存储器应使用MOVC指令。

11. MCS-51有5个中断源,2级中断优先级。5个中断源名称及其中断入口地址分别是什么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标志位必须使用软件清除?记住各个中断请求标志位,优先级标志位,触发方式标志位。(102页—108页)

前面4种都是硬件自动清0,串行中断必须使用软件清除,因为串行接收和发送共享串行中断,在中断处理中必须使用T1和R1判断串行接收还是发送中断。

篇10: 单片机实习总结

两个月的暑期认知实习很快结束了,总体上来说感觉很充实,没有白白浪费暑假时光,也充实了自己的知识储备,获益匪浅。

当然很感谢龙夏老师和肖连军老师,他们放弃自己的假期,在酷暑中坚持没两天一到,为我们解答学习过程中的疑问。还有就是系里的支持,为我们提供凉爽的学习环境,会议室配有空调,在学习的同时不用经受酷暑的考验。虽然我们的学习场所很简陋:桌椅是我们从5栋教学楼搬的,电源插座是刚刚搭建的,和在普通教室上自习的同学来比我们是幸福的。

实习前虽说已经大二结束,但是对我们的专业嵌入式方向始终不甚明白,纵然专业导论课已经谈过,但是总感觉迷茫与空洞。书本上的知识也学了不少,像电路,数字逻辑,组成原理等一些课,但是这些课始终是书本知识,得不到实际的应用。通过这次的亲自动手设计到编写驱动设计程序,终于切身体会到在开发产品中要用到哪些知识。依然记得实训刚开始时,大家都很兴奋,因为我们要自己动手焊接自己开发板的每一模块,从电源模块开始着手。“书到用时方恨少,事要做时方知难”,一点也不假,感觉焊接应该不难,不就把锡点到电器元件引脚上不就行了,可是真正拿着烙铁去焊时,手是抖动的,烙铁也不打听话……淡然这只是刚开始时,经过多次的练习慢慢的得心应手。怪不得社会上的公司招聘都提到:有工作经验者优先。是啊,干过的总比纸上谈兵的强的多,公司不需要对你培训,可以直接工作给公司带来效益。

焊接电路板的时间很短,这只是简单的技术活,不需要逻辑上的考虑。接下来就是用我们焊接好的开发板开始我们的单片机之旅。由于单片机课程还没开,我们不得不从网上查资料,看教程弥补自己基础知识的匮乏。还记得自己写的第一个程序,驱动数码管。虽然看着焊接好的开发板很好看,但是要写程序点亮它就不那么容易了,第一感觉就是无从下手。老师建议我们从网上看前人的驱动程序,然后比着写,由于使用的单片机不同,电路的设计不同,在看网上程序时必须要明白其原理,否则还是无法借鉴过来,就这样第一个驱动程序花费了我两天时间才把数码管点亮。开发的过程是痛苦的,但是结果是令人无比兴奋的。看着自己点亮的数码管心里特别高兴。

接下来的日子就是每天对着电脑编写程序,然后下载到单片机中进行检测,查看能否运行。有时花费了一天的时间编写的一个程序下载单片机中竟然运行不了或者显示错误,心里真的特别失望;有时为了一个驱动程序想了一天还是一无所获,会特别烦躁……但是看到其他同学都在专心的研究,自己也就安慰自己别灰心,要坚持。就想《士兵突击》中说的一样不抛弃不放弃,所以自己也不能放弃自己。然后又重新打起精神,投入到学习当中,就是在这样的一次次的自我暗示中,在和同学们一起拼搏一起学习。

还记得在进行多机通信时,由于要把所有的单片机连接在一起,大家不得不默契配合,一起想办法,编写协议“众人拾柴火焰高”,很快一个主机程序,从机程序就出炉了。

经过一个暑假的认知实习我学到的不仅是知识,还有责任心、信心、恒心以及团队合作能力。我想无论是在学校还是以后踏入社会这些都必不可少。我认识到了我所学知识的重要性。知识犹如人的血液。人缺少了血液,身体就会衰弱,人缺少了知识,头脑就要枯竭。这次的单片机培训应用到的不仅是单片机知识,还有以前的课程,所以知识的积累也是非常重要的。这次亲身体验让我有了深刻感触,这不仅是一次实践,还是一次人生经历,是一生宝贵的财富。在磨练自己的同时让自己认识了很多,使自己未踏入企业就已经对企业有了一定的了解。

通过这次的实习,我对自己的专业更清楚的认知,以前一直不清楚嵌入式的具体应用,不知道以后毕业了该干什么。但通过这次的实习,我对嵌入式有了更清楚地认识,对单片机有了更清晰的理解。我认识到做什么都要有责任心,只有抱着认真负责的态度才能把任务完成。而程序员更是对耐心和细心有很高的要求。

实习的过程不仅仅是一个认知的过程,更是一个反思的过程。学习到新知识固然可喜,但能否用新知识对旧只是加以反思,这是关键的关键。

篇11: 单片机实习总结

通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台

学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。

(5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

(6)小组要团结,小组之间要多交流。技术是靠不断的积累和交流才会进步的,封闭自守只会更加落后

通过这次单片机设计?我不仅加深了对单片机理论的理解?将理论很好地应用到实际当中去?同时也使我认识到自身存在的不足之处?无论是理论上还是遇到问题的处理能力上都还有待提高?而且这也激发了我今后努力学习的兴趣。发现问题、提出问题、分析问题、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中

。1、不管做什么事,计划是很重要的。没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。这样才能提高成功率。

2、做事要多动脑,选出最好的方法。一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。

3、要注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。

4、最后,也是最重要的一点,通过这次课题,我们学到了很多有关单片机方面的知识,也对单片机有了更深入的了解。使我们受益匪浅。

总之,亲自动手是课堂学习的延续,电子领域随时随地都在发生着翻天覆地的变化,现有的知识储备总是落后于科技的发展脚步,我们只有不断学习新知识,才能做到面对新课题时游刃有余

篇12:单片机工作经历总结

作为一个刚刚从事单片机工作不久的我来说,对于单片机我了解了一段时间,但总感觉无从入手,理论性的东西看了几遍也不会把它用到实处,通过这次彩灯控制实验,我也对单片机有了一定的了解。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?以前看学长做的流水灯我还不知道原理,现在总算清楚了。

在短短的几周工作时间里,真的学了很多,对我来说,编程是个问题,但我知道这是任重而道远的。我上的第一节课是关于流水灯左右循环移动在实验箱上的实现,这个程序老师教了但还是搞不懂,后来通过同学之间相互探讨,终于理解了,最重要的还是C语言没学好,二进制转换为十六进制是很普通的但我还是不会,现在已经掌握了。‘纸上得来终觉浅,绝知此事要躬行。’在短暂的学习过程中,我深深感觉到自己在实际应用中的专业知识的匮乏,总以为自己还可以,一旦接触到实际,才知道自己知道的是多么少,这时才真正领悟到“学无止境”的含义。

“千里之行,始于足下。”这是一个短暂而充实的话。每看懂一个程序自己试着学人家编,去修改,去记录,终于能略懂,这确实让人深有体会。兴趣是最好的老师,这样才能坚持,要在以后积累很多经验。主要肯不耻下问,那就会学到很多东西。最后一句:基础很重要,实践也同样重要。必须要有学习单片机的热情,这样才能学好单片机。谢谢老师几周以来的指导。

}

 在错误的道路上日夜兼程,最终也无法成功,方法和思路绝对是第一重要的。一些学技术的同学,往往看到这类章节会直接跳过去,因为大多数类似章节都是废话连篇。但是,今天在这里我可以很负责任的告诉你,本章节讲到的学习单片机的方法,都是我们学习单片机的无数经验和教训总结出来的瑰宝。因为我们披荆斩棘,开辟了道路,所以可以告诉你路在何方;也因为我们摸过烧红的铁块,烫了手,所以也可以告诉你教训和代价是什么。希望各位都能站在我们的肩膀上,看得更远!

单片机的型号那么多,如何选取一款合适的进行学习?如果身边有比较现成的学习单片机的条件,有什么条件就学习什么型号。比如,你所在的公司刚好用到某个型号单片机,那么就方便多了。开发板不用购买,直接用公司现成的板子,指导老师到处是,公司的工程师,只要你耐心虚心的不耻上问,相信他们都愿意帮你解答问题。或者你跟着学习的导师,正在使用某个型号的单片机开发产品,那么同样的道理,你也会有得天独厚的优势,直接跟着学就行了。单片机型号虽然众多,看起来纷繁复杂,其实它们的基本原理、基本用法都是相通的,只要熟练掌握其中一种,其它的都可以触类旁通,快速上手了。

如果你这些条件都没有,那就跟着我学吧,我建议你学习51单片机。为什么呢?虽然现在单片机种类和型号非常多,每个型号都有一定的市场份额,但是哪个型号也没有早期51单片机那般风光和火爆,虽然现在地位不是那么高了,但是因为51单片机积累的资料非常多,大家学起来就会拥有众多的参考资料,所以上手肯定比其他型号的要快一些。如果你学习稍微偏门的单片机,可能一个简单的软件问题就要折腾你好长时间,不仅仅浪费了你的学习时间,更重要的是打击了学习单片机的信心。

那么是不是每种单片机我们都要学一遍呢?答案当然是否定的。大家跟着我来学习51单片机,必须得跟着学会举一反三和融会贯通的能力。单片机型号那么多,挨个学下来估计头发白了也学不完,所以大家跟着我学51单片机,不能仅仅当做51来学习,更重要的是要当做“单片机”来学,要通过我们的这个教程,把所有的单片机的内部资源都搞清楚弄明白,每个内部模块的用法理解透彻,这样当你遇到一个从没有用过的单片机,也就知道如何下手去使用它进行开发了。

      前边提到过,单片机是一门实用技术,我们学习它已经不是为了应付考试了,我给大家总结了单片机的学习方法是:一个要领,四个步骤。

      学射箭,你得去拉弓,整天只摆造型肯定不行;学游泳,你得下水扑腾,整天在岸上做模仿活动不行;学开车,你得坐车上去开,坐沙发上肯定学不会。同样的道理,学单片机,整天盯着单片机书看肯定不行,你也必须得亲自动手去练。

      没有不下水就学会游泳成为游泳健将的,没有不到车上练就能成为赛车手的,这点大家都清楚,可为什么那么多人学单片机的时候,总是只抱着一本书看呢。第一,我们小学中学甚至大学的学习模式都是如此,学什么东西主要都是靠看书,应付书面考试;第二,很多人想实践却不太清楚该怎么去实践。

遇到问题查下书比直接看书的效果要好过百倍。不是不让大家看书,而是看了一点以后,要马上去实践验证,然后再回头结合实践的结果,理解书上的内容。从这个地方,大家要得出一个结论来,就是在学实际技术的过程中,和应付考试不同,书上的内容不需要你去硬性记忆,书是用来查的,不是用来背的。

      刚出生的孩子叫“爸爸”“妈妈”的时候,他甚至不知道“爸爸”“妈妈”是什么意思,更不会理解这些声音是什么意思,但是我们带着孩子见到他爸爸就让他喊“爸爸”,见到妈妈就让他喊“妈妈”,见到爷爷就喊“爷爷”……慢慢的你会发现,次数多了,孩子就知道谁是爸爸,谁是妈妈,谁是爷爷,谁是奶奶了。

大家刚开始接触单片机的时候,也属于单片机行业的新生儿。单片机的样子,单片机外围的各种器件,单片机内部的各种结构,单片机使用C语言的编程方法,初学者可能都没有见过,脑子里全无概念。没关系,有些概念和方法你不理解也没有关系,甚至不需要你去理解,你只需要跟着我去鹦鹉学舌式的学习,第一遍学习某一节课的内容时,对于程序,大家就可以完全跟着抄下来,甚至抄两三遍,过一段你会发现,好多东西你也认识了,好多概念你也慢慢的理解清楚了,你也能大概看懂别人的小程序了,切忌觉得自己看会了,而简单复制粘贴。

      很多同学学习的时候喜欢看,看我做的视频,看我写的程序,甚至看别人的程序,都能看懂,觉得自己就会了,等到自己写程序的时候,感觉就是老鼠啃天,不知道从哪里下手了,这是初学者很容易犯的“眼高手低”的毛病,所以第二步的内容就非常重要了。

我的要求是,每一位同学,在学完了当前课的内容,把第一步顺利完成以后,然后关掉视频教程,关掉源代码,自己通过看电路图和查找非源代码的其他任何资料,把当节课我写的程序代码重新默写出来,边写边多少理解那么一点点,不是纯粹的背诵,应该说是背诵加理解的结合体。甚至学过几节课以后,可以回头把前边曾经这样实现过的课程,再按照这种方法做一遍。千万不要认为这一步没必要,这一步是你能否真正学会单片机的一个关键,在学完本教程之前,每一课内容都要这样做,如果每一个程序你都能够完美的完成,那么可以说,当节课的内容,百分之七八十你已经掌握了。

      单片机技术的最大特点就是可以通过修改程序来实现不同的功能,因此举一反三的能力就必不可少了。每一节课的例程后边,我一般都会布置几个作业,大家尽量去独立完成这个作业。在完成这个作业的过程中,都可以参考我的程序思路,在这个基础上通过动脑思考去构建你自己的程序框架,最终将程序完成。

      在我们工程师实际产品研发的时候,很多种情况下也是如此。比如一个产品,我们如果从零起步的话,可能会走很多弯路,遭遇很多前人已曾遭遇过的挫折,所以我们通常的做法是寻找购买几款同类产品,然后先研究他们的各自优缺点,学习他们的长处,然后在同类产品基础上再来设计我们自己的产品,这就是“他山之石,可以攻玉”。

      初学者在学习的时候,往往遇到的问题很多,你应该想到,你遇到的问题,可能前辈们早就遇到过了,所以遇到问题后,不要慌张,首先利用谷歌或者百度这些搜索引擎在网上搜一下,要做什么新东西,先去网上找相关资料了解一下,不管是编程还是硬件设计,多多参考别人的东西,只要把别人的东西分析明白了,自己用起来了,也就成为自己的知识了。

      当大家把所有的课程都按照前边三步完成后,这个时候不妨再把书打开,再看看书,经过了自己的实战经历,再看书的时候,对很多知识点会有一种恍然大悟的感觉。甚至视频教程、书籍都可以反复看几遍,可能有的知识点当时学习的时候不明白,过了一段时间,回过头来再学习的时候,一下就明白了。

1.3 单片机学习的准备工作

      有同学问过我,单片机这门技术难不难。我觉得这个问题得从两个方面去分析。

首先,我们从战略上藐视它。那么多同学跟着老师学一段时间就可以做出来小车,超声波测距,甚至做出来机器人,似乎很拽的样子。那他们又不是三头六臂,我们也没有什么做不了的道理。实际上要说技术,其实就是一层窗户纸,表面看不透彻,感觉特别神秘,实际只要你稍微一努力就可以捅破它,夸张点说,单片机在逻辑上的关系,只有小学的水平,简单的很。正所谓会者不难,难者不会,大家不懂这个东西,看起来感觉很神秘。所以大家只要认真踏实坚持学下去,肯定能学好这么技术。

  其次呢,我们从战术上要重视它。你说单片机这东西,如果十天八天就学会了,那么这个技术还能值钱吗?我可以这样去表达,如果一个技术很简单就被学会,那么很多人都会的这个技术,肯定也没什么前途和钱途。那究竟多久能学会呢?我给大家制定的学习方案,根据每个人的基础不同,平均每天要拿出2个小时以上的学习时间,大概一到三个月可以入门。入门的概念是给你一个单片机开发任务,你起码知道要努力的方向和解决问题的大概方法了。技术这东西,关键是坚持做下去,有恒心和耐心,如果长时间不用的话,肯定还会生疏。所以要想成为单片机高手,起码需要一年左右的单片机开发的历练才行。成为单片机高手的概念就是你自己可以从头根据自己的想法,去设计一个电路,根据需要的功能编写代码,做一个产品出来。

要学习单片机这门技术,良好的教材和教程必不可少。单片机方面,大家可以直接学习我们这本《手把手教你学单片机——51单片机C语言开发》,我们还精心制作了配套的《手把手教你学单片机》的视频教程。本着开源、共享的理念,我们的视频教程都是免费开放的,大家可以到我们的网站找到下载链接。另外,因为我们做单片机开发使用的是C语言,所以最好能再有一本纯C语言的教材,学到一些C语言的细节问题的时候,可以方便大家查阅,或者你也可以直接把相关问题通过谷歌和百度搜索一下,绝大部分情况下它们都会给你满意的答案的。

      电脑,是学习单片机必不可少的工具,因为编写程序,查阅资料都得用到,但是有句题外话说一下,不要把电脑当成游戏机或者影碟机,偶尔玩玩游戏看看电影是可以的,劳逸结合,但是不可沉溺其中,否则还不如没有电脑。

单片机开发板,这也是必须的。如果你还在上学,学校实验室一般会有开发板,可以考虑跟老师借一个,或者使用师兄师姐们用完的,这样可以省点钱。当然,如果身边有高手,比如辅导老师,会单片机的师兄,在他们的指导下做一个也可以,身边有人指导的话,不懂的问题还可以问他们。如果这些条件都不具备,那么可以购买一个,先学习别人的板子设计思路,给自己以后设计电路板打下基础。在这里就顺便推荐一下我们的KST-51开发板,我不敢说我们的设计是最好的,但是我可以很负责任的说,我们的板子是出自经验丰富的一线工程师之手,其中的设计都是根据实际项目开发的思路进行的,包括整体规划、电路设计、器件布局等等,可以为你今后的项目开发提供一个优质的参考。另外一方面,因为我们的教程是基于我们的开发板做的,所以大家配套来用的话可以节省时间,提高学习效率。

  当然,即使不购买我们的开发板,你想学单片机,也还是要有一块开发板的,不能总是用软件仿真,软件仿真是学不会单片机的。经常有同学过来问我,老师我用软件模拟的好用,做了硬件不好用是什么原因。在这里我提一下,如果你上课用这个软件仿真,糊弄老师应付考试是可以的,但是实际开发和仿真软件却差别很大,如果真心想学好单片机这门技术,那我只能告诉你,拿起烙铁焊电路,动手写程序,远离仿真软件,靠软件仿真永远学不到真正的技术。

1.4 单片机开发软件环境搭建

      3、点击“Next”按钮,弹出“Folder Selection”对话框,如图1-3所示。这里可以设置安装路径,默认安装路径在“C:Keil”文件夹下。点击“Browse...”按钮,可以修改安装路径,这里建议大家用默认的安装路径,如果你要修改,也必须使用英文路径,不要使用包含有中文字符的路径。

      6、安装完成后,弹出来安装完成对话框,如图1-6所示,并且出现几个选项,大家刚开始把这几个选项的对号全部去掉就可以了,先不用关注有什么作用。

从图1-7我们可以很轻松的分辨出菜单栏、工具栏、工程管理区、程序代码区和信息输出窗口。这个是Keil4的英文版,网上有一些汉化版本的,但不建议使用。即使你的英语不好,使用英文版本的软件也一点问题没有,刚开始大家先跟着我去使用,一共没几个单词,不需要你去翻译,用几次你就记住怎么用了。因为以后做实际开发的时候,大多数软件都是英文版的,如果现在学习的时候一直用中文软件,将来一旦换了其它的英文软件就会慌了,所以从现在开始,我们就慢慢的来熟悉英文软件,将来再用到其他英文软件的时候,就可以做到触类旁通、驾轻就熟了。

      Keil软件菜单栏和工具栏的具体细化功能,都可以很方便的从网上查到,不需要记忆,随用随查即可。在这里我们只介绍一点,关于Keil软件里边的字体大小和颜色设置。在菜单Edit-->Configuration-->Colors &Fonts里边,可以进行字体类型、颜色、大小的设置,如图1-8所示。

因为我们用的是C语言编程,所以我们在Window栏中选择8051:Editor C Files,然后在右侧Element栏目里可以选择要修改的内容,一般我们平时用到的,只是其中几项而已,比如:Text——普通文本、Text Selection——选中的文本、Number——数字、/*Comment*/——多行注释、//Comment——单行注释、Keyword——C语言关键字、String——字符串,Keil本身都是有默认设置的,可以直接使用默认设置,但如果你觉得不合你的口味,那就在这里更改一下,改完后直接点OK看效果就可以了。

      很多同学经常问我一些问题,有一些很有现实或普遍意义,于是我把有代表性的直接写出来给大家参考,让大家了解这门技术,了解我们这个行业。

      单片机的应用非常广泛,电子、电气、自动化、通信等领域都有大量应用,至于能做什么,得看你将来做什么工作。如同电脑一样,电脑可以用来编程、PS图片、看电影、打游戏等等,你用电脑做什么是不一定的。但是掌握好这门技术,起码可以让你学会一种工具,为将来从事电子、电气、通信、自动化等领域的工作做好准备。

      做技术必须得脚踏实地,没有任何捷径可走!如果非要说有的话,那我只能告诉你,拳不离手曲不离口,就是最好的捷径。我学习单片机的时候,每天早上8点半进入老师实验室,晚上9点半离开实验室,曾经创下连续3个月没有休息日的记录,如果你也能这样学的话,那很快就可以学好这门技术了。

      3、学习单片机应该学习什么语言,有没有必要再学习汇编

相比较来说,汇编语言比较接近单片机的底层,使用汇编语言有助于理解单片机内部结构。简单的程序,用汇编语言,程序效率也可能比较高,但是当程序容量达到几千上万行以后(这时也仅能算个不太小的项目,还远没到大项目的级别),汇编语言在组织结构、修改维护等方面就会成为你的噩梦了,此时C语言就有不可替代的优势了。所以实际开发过程中,目前至少90%以上的工程师都在用C语言做单片机开发,只有在很低端的应用中或者是特殊要求的场合,才会用汇编语言开发,所以我建议大家还是用C语言开发比较好一些。

      如果现在正好上学学到了汇编语言,我建议认真学一下,学好了肯定有益无害。但是现在如果说想直接快速学会单片机技术,那我就不建议去看汇编语言了,直接学C语言就可以了,那些单片机底层的结构什么的,也可以在日后的开发过程中慢慢理解。

  单片机是一个工具,和电脑有点类似但不完全一样,我们学会电脑,可以用来编程、可以用来画图、可以用来PS照片、可以用来看电影等等。学会单片机,可以用来做通信技术、做自动控制技术等等,但是单片机本身来说仅仅是一个工具,你在用单片机的时候,慢慢接触多了,会有一个应用方向,你不仅仅要会单片机,也得对这个应用方向熟悉,比如我个人从事过扩频通信技术的算法研究,那么我就要对扩频通信熟悉,然后把这个技术用单片机实现出来,也得会用单片机。当然大家也不用担心,找工作的时候公司对这个方向问题要求也不会很高,但多懂点的话,肯定也会提高自己的竞争力。

  对于技术来说,技术水平高低直接决定你的工资薪酬。技术如果学的不好,那工作都找不到,更谈不上工资待遇了,而技术做的好的话,那工资就自然会很高。我们并不清高,我们坦言自己需要足以安身立命的薪资报酬,但是我希望的是,一旦你决定从事技术,就不要把过多的精力关注在能挣多少钱上,而应该放在如何提高自身的技术水平上,只要技术水平高,比很多人都厉害,钱自然就找上门了。有一部印度的励志电影叫做《三傻大闹宝莱坞》,我推荐做技术的都可以看看,里边有一句经典台词非常适合我们技术人员:追求卓越,成功就会在不经意间追上你!

}

我要回帖

更多关于 c51单片机设计 的文章

更多推荐

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

点击添加站长微信