单片机实验心得体会

时间:2024-10-18 16:42:48 心得体会 我要投稿
  • 相关推荐

单片机实验心得体会

  我们得到了一些心得体会以后,有这样的时机,要好好记录下来,这么做可以让我们不断思考不断进步。相信许多人会觉得心得体会很难写吧,以下是小编为大家收集的单片机实验心得体会,欢迎大家借鉴与参考,希望对大家有所帮助。

单片机实验心得体会

单片机实验心得体会1

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

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

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

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

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

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

单片机实验心得体会2

  在学过汇编之后,我又转到了C语言学习,因为以前没有学习过C语言,一切都很陌生,所以自己沿用了学习汇编的方法,大约花了3天功夫基本就对C语言有了初步的了解,然后就是尝试写上面所说的时钟,以汇编程序的思路作为参考,以C语言来编写,花了几天功夫完成了这一程序,也实现了从汇编编程为主到C编程为主的转变。

  然后,就是以C语言编写外围器件的控制程序,以此来熟悉C的编程风格,一直到现在,基本上就是C语言编程,汇编已经是作为调试程序的辅助。

  下面我概括了几点我的学习经验和心得体会:

  1、万事开头难、要勇敢迈出第一步。

  开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。

  遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。

  然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。

  必须熟悉这一套工序。

  个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。

  单片机是注重理论和实践的,光看书不动手,是学不会的。

  2、知识点用到才学,不用的暂时丢一边。

  厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。

  比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。

  3、程序不要光看不写,一定要自己写一次。

  最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。

  当你自己能写出来的时候,说明你就真的懂了。

  4、必须学会掌握调试程序的方法。

  不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。

  这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。

  这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。

  这一个过程非常重要,通过程序的'排错,你可以学到的知识是书上得不到的。

  5、找到解决问题思路比找到代码更重要。

  我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。

  要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。

  不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。

  我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。

  当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。

  举个例子:数码管动态扫描,没写过的初学者可能搞不清是怎么回事,其实,就是分时让每一时间段时只控制一只数码管显示数字,几只数码管轮流显示,由于速度很快,人眼的看起来是全部数码管都亮的。

  明白是这么一回事,事情就好办了,剩下的事情,无非是你安排让一只只数码管轮流显示出相应的数值。

  显示数字,然后延时一下,再下一只显示数字,延时,知道是这样,我们实际程序上只要做到这样就可以:往段口送段码,然后打开位选显示一只,延时一下,再关闭位选,再送出段码,再打开另一只位选。仅此而已。

  有了解决问题的思路,我们就能问题拆分开来,然后逐一的解决,如果动态扫描的原理都没懂,不知道如何做,那么这个程序是怎么也写不出来的。

  6、开动脑筋,运用多种方法,不断优化自己的程序。

  想想用各种不同方法来实现同一功能。

  这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。

  7、看别人的代码,学习人家的思路。

  这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。

  但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。

  8、尝试编写一下综合应用的程序。

  从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序啥也不做,只是读按键。

  但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。

  当你有了这个处理协调能力,你就算是入门了。

  9、着重于培养解决问题的能力,而不是具体看自己编写了多少代码或者做过什么。

  “学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机多年来感悟出来的。

  经常看到有人说“你会驱动XX芯片,真牛啊”“你搞过XX项目,真厉害”之类的话,其实这是非常片面的,搞过XX芯片,搞过XX项目,只能说明你做过这一项目,它只是你的业绩,并不是代表能力就一定高。

  真正的能力应该是:“遇到没有解决过的问题或器件,能利用自己已学的知识,迅速找到解决问题的方法。”

  这个才是能力。

  写程序的过程就是一个创造的过程,几乎没有完全一样的项目,每次你遇上的几乎都不相同,所以你拥有的必须是你面对新项目时的创造能力,而不是标榜着你以往做过多少项目。

  当然,业绩也能从另一侧面反映你的经验和水平。

  10、如果有可能,多学习计算机专业的知识,比如数据结构等。

  这些是你解决问题的基础知识,你把这些知识应用得越好,就会发现越容易找到解决问题的方法,这就是为什么一个学计算机专业的人编的程序和一个非计算机专业的人编的程序有差异的原因。

  也是一个菜鸟进军到高手所要配备的知识。

  如果我们把编程分为宏观编程和微观编程,那么微观编程就是写具体的代码,比如控制某某器件的语句;而宏观编程就是如何对整个程序进行布局、安排,使功能模块以你想要的方式去运行,得出你想要的结果。

  如前所说“会控制XX器件”这些只能算是微观编程,能做到这一步还只能算是菜鸟级别,如果面对一个新的器件,你心里没底,没把握去写这个控制程序,那说明你还是一个初级的菜鸟。

  当你有了一定的编程经验,控制过相当数量的器件之后,你就会发现,控制器件这些工作都是相似的、重复的工作,体现不出编程的水平,最多也是写得好与不好的差别,只能算是一些小技巧的应用。

  而对整个程序进行布局、安排这些才是最头痛的事情,能达到宏观编程和微观编程都做好才是真正的高手。

  对于规模越大的程序,越能体现出这一点。

  11、面对一个新项目时,多自己开动脑筋,不要急于找别人的程序。

  有不少人面对一个新项目时,第一步想到的就是网上找别人写过的代码,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。

  当你接到一个新项目时,应该先自己构思一下整个程序的架构,想想如何来完成,有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教别人,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路,如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。

  12、多利用网络的搜索,学会提问题。

  一般来说,学习过程中,你遇上的问题,前人们多数也有遇上的,所以如果有什么不懂,在自己解决不了的时候,最好先到网上搜索一下,看能不能找到答案,找不到再到论坛里发问,发问也要有目的性,尽量简单明了的描述问题,让帮助你的人可以用最少的时间就看懂你说什么,毕竟人家帮助你是免费的,时间也是有限的。

单片机实验心得体会3

  在电子技术应用领域中,单片机的应用愈来愈多地应用到各行各业。如:工业控制、仪器仪表、电讯技术、办公自动化和计算机外部设备、汽车与节能、商用产品、家用电器等。目前,单片机正朝着大容量片上存储器、多功能i/o接口、宽范围工作电源和低功耗方向发展。要开发单片机的应用,不但要掌握单片机硬件和软件方面的知识,而且还要深入了解各应用系统的专业知识,只有将这两方面的知识融会贯通和有机结合,才能设计出优良的应用系统。一个好的工程设计师不仅要掌握单片机的工作原理,而且还要不断了解各公司最新芯片的结构和应用,在实际应用中找到最好的性能价格比。所以还要注意培养学生接受新知识的自学能力,掌握芯片发展动态。

  经常在群、论坛里看到有人问:怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。

  当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。

  一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。

  20xx年的时候,因为制作FM发射电路采用了BH1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了10年了,基本上都忘光了,也算是从头学起了吧。

  我当时是买了一块实验板,很简单的'功能,比论坛实验板还要少功能,还有一个仿真器,也是比较简单的,SST芯片的。

  然后开始从大家都知道的流水灯写起,万事开头难,第一个程序基本上就抄人家的,翻查了一份快速入门的学习资料,写下第一个程序。

  然后,在仿真机是单步的看运行结果,从每一步执行,都硬件上反应出来的效果,很快,对单片机的运作有了一个非常感性的认识,这跟只看书然后自己想象运行是完全两码事。

  然后,是进一步的其它程序学习,一个月时间,基本上已经熟悉了51的各种硬件资源。

  把流水灯,数码管动态扫描,中断等等的学习了,然后就是写综合性的程序,也就是我发在论坛里的时钟。

  通过这个程序的编写,使自己的编程水平有了很大的飞跃。

  之后,就是逐步学习编写更多的程序,各种外围器件的控制等等,通过编写程序使自己不断的提高。

单片机实验心得体会4

  高校实验室是培养高层次人才和开展科学研究的重要基地。在西方发达国家,学校对培养学生的动手能力是十分重视的,这一问题近年来也越来越受到我国教育界人士的广泛重视。为了提高学生的动手能力,让学生做相关实训并完成单片机实验报告,在实验的形式上注重培养学生的实验技能和动手能力。从单片机实验心得中学生就可以总结出大量的经验以适应当代社会的发展。

  学习单片机这门课程(教学中选用inter公司的mcs—51),要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。使学生从硬件软件的结合上理论联系实际,提高动手能力,从而全面掌握单片机的应用。

  实验教学的全过程包括认识、基础、综合3个阶段。以往的单片机实验是进行软件的编制和调试,与实际应用中的硬件电路相脱节。使学生缺乏硬件设计及调试分析能力,对单片机如何构成一个单片机最小应用系统,缺乏认识。发布的单片机实验板,通过计算机连接仿真器在实验板上把硬件和软件结合起来一起调试,软件的修改也非常方便,软件和硬件调试都通过后,把程序固化在eprom当中,插上8051单片机构成一个完整的单片机应用系统。

  单片机实验板的构成及基本功能

  单片机实验板,它由8031、8155,eprom2764,max232键盘及显示器组成。其中8155片内有256个ram单元,接6个7段码显示器和8个按键作输入。串行口连接max232串行口转换芯片,p1口留出作为一些控制量的输入输出用以扩展使用。在实验板上可编写键盘扫描程序、显示程序、时间的设定及计时程序、从键盘上输入两个加数或减数显示结果程序、位变量的逻辑运算程序及串行口和上位机通讯程序等,还可和其它课程相结合,进行实验。同时可参考单片机上的比较生动的单片机学习教程,学习和试验一起进行。例如,《电子测量》课程中各种频率的测量,可通过8031单片机p1口输入被测量,由单片机来进行检测和显示,把几门课程结合在一起学习,使课程有延续性,也提高了学生学习的积极性。由于p1口通过插座引出,也可外部扩展a/d d/a等其他接口芯片,以构成新的应用系统。

  单片机实验板的衍生功能

  此单片机实验报告中的实验板是一个单片机应用系统的硬件电路。有键盘输入和显示输出,在这个基础电路上通过p1口对不同检测或控制对象还可衍生出各种应用来。例如:时间的设置及显示、温度的检测及控制等,在此实验板上,编写相应的软件即可,否则,只在计算机上模拟调试软件,则无法了解单片机接口中各种控制信号的使用。还可帮助学生学会分析问题和解决问题的能力。这在单片机实验报告中都要体现出来。例如:如何检查程序存储器和外部数据存储器及i/o接口,执行访问外部程序存储器eprom2764的0000h单元的指令,只能读取该单元的内容,不能改写,当dptr=0000h时,执行movca @dptr指令,这时候74ls373应锁存地址信号低8位,可用示波器测量74ls373的Q0—Q7,检验是否锁存了零信号,同样用示波器检测P2口是否输出了地址信号的高8位,用示波器检测P0口和ALE控制信号。若和原理分析有偏差,很快就可判断出哪个管脚有问题,可顺藤摸瓜,找出问题所在。同理,执行单条指令访问外部接口8155的PA PB PC口,软件执行时序信号和管脚测量结果相比较,看是否一致,以便检查硬件线路是否正确。访问外部RAM数据存储器(8155片内)时,用示波器测WR及RD控制信号,如:读RAM时,应测到读控制信号脉冲,而写RAM时,应测得写控制信号脉冲。测得的信号一定是数字信号(0或1,0.7V左右或3.8V左右),2.5V左右的`数字信号肯定有问题。在仿真器上调试软件时,通过察看单片机网的相关专栏得知,可采用仿真器上的晶振,通过后,改用用户板上的晶振,看结果是否一致,若有问题,说明用户板上的晶振有问题,再次通过后,把程序固化在EPROM2764中,拔掉仿真头,插上8031芯片,看是否通过,此时有问题,说明用户板上的复位信号有问题。逐步学会硬件电路的调试。外部可连接温度传感器,经A/D转换,检测温度信号,并根据键盘输入的设定值范围,进行报警,切换继电器工作;还可通过模拟开关对多点温度进行轮检,构成一台多点温度测试系统。作为测量设备,要考虑精度,在硬件电路上要考虑模拟开关的选择,因为其导通电阻的大小对模拟输入量有影响,应选择导通电阻小,带过压保护的模拟开关,同样A/D转换芯片应根据精度要求,选择8位、 12位等转换器,或满足精度要求的压频转换器。也可对外部多种传感器进行检测,如:温度、烟雾、水警、门警、红外等,构成监控电路,被测量中既有模拟量,又有数字量,特别要加强抗干扰性,在线路板设计时,每块芯片电源引脚的滤波电容排放时尽量靠近芯片,模拟地和数字地先分别共地,最后,再把模拟地和数字地共地,模拟地和数字地只能出现一个共地点,最好电源和地单独布层,走线合理,提高线路板的抗干扰性,为了提高抗干扰能力,软件设计时,可连续测量几次,去掉最大值和最小值,剩下的量取平均值,以滤去一些突变信号,提高整个系统的抗干扰能力。

  由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制,但单片机存储量有限,数据处理能力差,不利于数据信息的保存和处理,在这里利用单片机的串行口和上位PC机串口通讯,实验板上的MAX233串行转换芯片实现TTL信号和RS232信号之间的转换,和PC机通讯,从而实现远距离的监控及信息的存储、处理和打印清单,单片机完成现场数据的采集及各种信号的控制,构成一套环境监控单元。

【单片机实验心得体会】相关文章:

实验心得体会06-29

实验心得体会03-02

化学实验心得体会05-13

电路实验心得体会11-18

数学实验心得体会08-16

实验心得体会精选15篇03-04

实验心得体会(精选15篇)03-27

实验室心得体会05-17

实验心得体会(集锦15篇)03-17