心得体会中,可以将我的感受具象化,我们的心得体会应该和别人分享吗?希望这份"单片机实践心得"能够为您解决问题提供帮助,祝你能够通过学习和工作成为更好的自己!
单片机实践心得 篇1
近两周的单片机实训结束了,最大的感受是,这是进入大学以来所学的最贴近实际的一门课,原来书本知识与实际操作之间竟然存在这样大的差距,让我不得为今后的工作捏了一把汗,决心更加深入的学习,让自己成为实用型的人。
在做喇叭自检时,我们认为的把程序复杂化了,在做键盘自检时我们和大多数同学一样,都没有把采样保持做好,虽然是第一个接受检查的,但我们还是按老师的要求重新完善了程序。
在做最后的任务时,我们组的任务是“乒乓球游戏机”,开始觉得很有趣,就是双方互打,但是经过和老师的商量和自己站在一个“消费者”的角度考虑后,发现我们的设想太简单了,于是,我们又给它加了“计算比分”、“接住球后加速”以及用不同的显示和声音来表示是否接住球,最后我们又发现这个游戏机没有复位功能,这能玩一次,但是我们用了几段程序都没有实现预想的效果,设计进入了瓶颈阶段,最后,我们在图书馆查找资料,并按我们的要求修改,终于实现了这个功能。
由于我们测试的次数太多,我也“练就”了很好的打游戏的技术,呵呵,真希望有机会把我们的设计变成产品,和更多人分享我们的乐趣。不过,我们现在的水平离这一目标还差的很远,我们要继续努力。
通过最后的测试,我发现我对知识的掌握有些不透彻,比如“硬件编程框图”,平时看过很多次但都没有用心记过,头脑中对他的记忆很模糊,因此,这就成了我们知识结构中的一个盲点,实训就是让我们在实际操作中发现自己对知识掌握不足的地方并把它补足,我会继续把这些模棱两可的这是都用心学透彻。
在整个实训过程中,同组三个人配合的十分默契,虽然我们对知识的掌握不尽相同,但是我们却各具所长,我想这就是“团队”的作用,在完成任务过程中,我们不断相互帮助、互相学习,是任务顺利进展,每个人都有所提高,感谢老师的帮助,感谢这次实训的机会。
单片机实践心得 篇2
两周的单片机课程设计实训,真是让我们受益匪浅,学到了很多东西,不管怎么样,先感谢学校给我的这么多机会。真正的学到了东西。
此次课程设计软件与硬件相结合,考察了我们的焊接水平与编程能力。因为以前做过关于焊接的电工实习,所以对于我们机械设计专业的学生而言焊接是不成问题,也很顺利;可到了编程时就出现了很大的障碍,先开始的显示时钟还算顺利,本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提。其实本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱,在仔细修改程序之后,终于一步步地达到效果了。
系统以AT89S51为核心部件,利用软件编程,通过键盘控制和液晶显示实现了秒表的功能,能实现本设计题目的基本要求和发挥部分。尽量做到硬件电路简单稳定,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。
我们将各个部分的程序编好后怎么都连不起来,出不了预期的效果。对于硬件在编程过程中pCB板的接触又是一个头疼的问题,在进行编译的时候,数码显示管上什么都没有,按一下旁边与之相连的元器件时就有显示了,所以也花费了好多时间在pCB板的重新焊接上,最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期两周的单片机课程设计没有浪费,我们从中学到了很多知识,也让我们对单片机有了更深一步的了解。虽然最后结果是出来了,可这与老师的精心指导是分不开的,他引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以说老师是功不可抹的。
单片机实践心得 篇3
很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。
在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。
如何学习好硬件,动手实践是必不可少的。我们可以通过自己动手做一个自己的电子制作,通过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就可以多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。
这就是我学习单片机的心得体会,希望给单片机的爱好者学好单片机有所帮助。
使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字I/O的使用。显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
第二步:定时器的使用。学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实 现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数 字集成电路可以实现时序电路,可编程逻辑器件(pLD)可以实现时序电路,可编程控制器(pLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
第三步:中断。单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。
单片机实践心得 篇4
在上个学期学校举办电子设计竞赛,在比赛过程看过一些郭天祥的单片机教程,然后在这个学期真正的理论。通过上课理论与实践相互结合,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。在平时上课中由于时间有限和本身知识水平的限制,有时做某些作业时,花上很多时间才能完成!但是在完成后,成功的喜悦充斥着。在课上,我认识到计算机有运算器,计算器,控制器,输入输出设备组成。之前都是利用开发板,进行程序的仿真。现在不断利用软件仿真,但两者的作用是一样。在仿真过程中,总是会碰到程序出错的时候,只好苦思冥想,反复比对程序,在不断修改后,总会成功。
在第一次是点亮LED灯来熟悉,keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。
在做实验中,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。在与同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。在错误中不断摸索中前行。
单片机实践心得 篇5
一、认知实习经历
(一)单片机的背景及应用
单片机是计算机技术发展史上的一个重要里程碑,标志着计算机正式形成了通用计算机系统和嵌入式系统两大分支。
单片机软硬件结合、体积小,容易嵌入到各种应用系统中。得到广泛应用且其体积小、成本低,嵌入到工业控制单元、机器人、智能仪器仪表、汽车电子系统、武器系统、家电系统、办公自动化设备、金融电子系统、玩具、个人信息终端及通讯产品中。
它功能齐全,应用可靠,抗干扰能力强;简单方便,易于普及。单片机技术是易于掌握技术。应用系统设计、组装、调试已经是一件容易的事情,工程技术人员通过学习可很快掌握其应用设计技术;发展迅速,前景广阔。短短几十年,单片机经过4位机、8位机、16位机、32位机等几大发展阶段。尤其是集成度高、功能日臻完善得单片机不断问世,使单片机在工业控制及工业自动化领域获得长足发展和大量应用。目前,单片机内部结构愈加完美,片内外围功能部件越来越完善,向更高层次和更大规模的发展奠定坚实基础。
单片机是集成电路技术与微型计算机技术高速发展的产物。体积小、价格低、应用方便、稳定可靠,因此,给工业自动化等领域带来了一场重大革命和技术进步。由于体积小,很容易地嵌入到系统之中,以实现各种方式的检测、计算或控制,这一点一般微机根本做不到。又由于单片机本身就是一个微型计算机,因此只要在单片机的外部适当增加一些必备外围扩展电路,就可以灵活的构成各种应用系统,如工业自动监测监视系统,数据采集系统,自动控制系统,智能仪器仪表等。
(二)认识STC11F32XE单片机的基本结构和原理
Stc11f32xe单片机是由一个8位CPU,4KB程序存储器,一组特殊功能寄存器,4个输入输出口(即P0P1P2P3),一个全双工串行口,2个16位定时器/计数器,5个中断源等部分组成,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。共有40个引脚,采用双列直插的封装形式,每个引脚都有其特定功能。
(三)搭建开发板的各个模块
学习单片机的前一个星期就是在设计好的电路板上用电烙铁和锡丝把每个电阻、电容、芯片、开关、插槽、按键、数码管等部件焊接到板子上。由于要锻炼动手实践能力,刚开始焊接电源模块时,出现虚焊、短路等各种状况。由于刚接触,不太熟练,不能轻车熟路的驾驭烙铁,但是随着模块的慢慢搭建,锡焊技术已明显好转,就美观度而言和其他电子设备上的焊接技术可以相媲美了。
经过一个星期的焊接,单片机开发板的每一个模块已基本完成,经过对各个模块的检查测试,全部通过后我自己的单片机开发板就完成了。
(四)编写驱动程序,实现对各个模块的操作
(1)、数码管显示
单片机开发板搭建完成后,写的第一个驱动就是0—F在数码管上的显示。涉及到的两个芯片分别是:74VHC595D和74LS138,前者实现对8段数码管的段选,后者控制位选,两者结合实现数码管对不同数字的显示。
单片机模板用的是共阳极的数码管,建立数组保存数码表,然后通过段选和位选对每个数组元素进行显示。
第一次接触keil软件,不仅要学习如何创建工程,还要掌握基本的引脚控制。在网上查询资料和观看单片机教程的过程中学会了如何写驱动,经过接近两天的自我学习,我的第一个驱动——数码管显示程序出炉了,很高兴。然后便是把写好的程序生成_.hex文件烧到单片机当中,数码管便可显示。
(2)按键操作
我们所用的矩阵键盘与网上通用的键盘略不相同,(我们采用的是3X6,而通用的开发板多采用4X4键盘)但是思想相同。键盘的引脚分别用了P0口和P2^5引脚。
首先实现单击,即按每一个键显示不同的键值。调试通过后再实现双击和组合键。
按键的关键是先对行赋值(或对列赋值),若对行赋值(列赋值),则对列进行检索(行进行检索)。当有按键被按下,相应的列(或行)拉为低电平。
在用数码管显示按键的状态时,由于595IO的引脚和按键第三行用的都是P2^5引脚,数码管显示有时出现问题,与程序中间的延时时间有关。不太好控制。
(3)温度测量
温度的测量主要用到DS18B20,通过对DS18B20芯片个参数的控制便可驱动该芯片,把结果显示在数码管上。
DS18B20芯片操作包括读操作、写操作以及对其的初始化。在读操作时把读的结果与10相除得温度的十位,取余数得温度的各位(在室温下实验)。
(4)时钟控制
时钟的显示主要是通过对DS1302进行控制,可以实现时、分、秒、年、月、日的显示,并且有漏电保护功能。同样把时分秒显示在数码管上,通过按键再切换到年月日。
在给DS1302初始化时,如果写保护关,则有漏电保护功能(即断电重连后,时钟会自动记录断电的这段时间,并顺着此时间继续计时。)
(5)RS485通信
用RS485实现多机通信,编写通信协议实现一台主机和多台从机进行通信。在进行该模块设计时,由于平台搭建的有点问题,使得RS485的电压拉不到工作电压。然后把问题反映给了我们的两位指导老师,经过他们的一番测试,最终找到问题的所在:是因为一个电阻的原因。当然在观看老师对电路的检测中受益匪浅。也对多功能电压表的应用更为了解。
(6)Nokia5110屏显示
Nokia5110屏是48X84的点阵LCD,可以显示4行汉字。用Nokia5110屏实现计算器、阅读器、推箱子和足球射门等功能。这四个程序设计全是基于Nokia5110屏和对按键的检测,用按键来控制各个功能,并在屏上图形化显示。
在对计算器的设计要实现0——999之间的四则运算,尤其是除法运算还涉及到浮点数。阅读器主要是上下换行和左右翻页,由于要存储一段文字在寄存器中,文字不能太长,否则会超过程序寄存器的大小而不能进行构建。
推箱子是通过数组0和1实现小人和箱子的走与停。足球射门通过产生随机数来控制球的方向的任意性。
二、总结
两个月的暑期认知实习很快结束了,总体上来说感觉很充实,没有白白浪费暑假时光,也充实了自己的知识储备,获益匪浅。
当然很感谢龙夏老师和肖连军老师,他们放弃自己的假期,在酷暑中坚持没两天一到,为我们解答学习过程中的疑问。还有就是系里的支持,为我们提供凉爽的学习环境,会议室配有空调,在学习的同时不用经受酷暑的考验。虽然我们的学习场所很简陋:桌椅是我们从5栋教学楼搬的,电源插座是刚刚搭建的,和在普通教室上自习的同学来比我们是幸福的。
实习前虽说已经大二结束,但是对我们的专业嵌入式方向始终不甚明白,纵然专业导论课已经谈过,但是总感觉迷茫与空洞。书本上的知识也学了不少,像电路,数字逻辑,组成原理等一些课,但是这些课始终是书本知识,得不到实际的应用。通过这次的亲自动手设计到编写驱动设计程序,终于切身体会到在开发产品中要用到哪些知识。依然记得实习刚开始时,大家都很兴奋,因为我们要自己动手焊接自己开发板的每一模块,从电源模块开始着手。
“书到用时方恨少,事要做时方知难”,一点也不假,感觉焊接应该不难,不就把锡点到电器元件引脚上不就行了,可是真正拿着烙铁去焊时,手是抖动的,烙铁也不打听话……淡然这只是刚开始时,经过多次的练习慢慢的得心应手。怪不得社会上的公司招聘都提到:有工作经验者优先。是啊,干过的总比纸上谈兵的强的多,公司不需要对你培训,可以直接工作给公司带来效益。
焊接电路板的时间很短,这只是简单的技术活,不需要逻辑上的考虑。接下来就是用我们焊接好的开发板开始我们的单片机之旅。由于单片机课程还没开,我们不得不从网上查资料,看教程弥补自己基础知识的匮乏。还记得自己写的第一个程序,驱动数码管。
虽然看着焊接好的开发板很好看,但是要写程序点亮它就不那么容易了,第一感觉就是无从下手。老师建议我们从网上看前人的驱动程序,然后比着写,由于使用的单片机不同,电路的设计不同,在看网上程序时必须要明白其原理,否则还是无法借鉴过来,就这样第一个驱动程序花费了我两天时间才把数码管点亮。开发的过程是痛苦的,但是结果是令人无比兴奋的。看着自己点亮的`数码管心里特别高兴。
接下来的日子就是每天对着电脑编写程序,然后下载到单片机中进行检测,查看能否运行。有时花费了一天的时间编写的一个程序下载单片机中竟然运行不了或者显示错误,心里真的特别失望;有时为了一个驱动程序想了一天还是一无所获,会特别烦躁……但是看到其他同学都在专心的研究,自己也就安慰自己别灰心,要坚持。就想《士兵突击》中说的一样不抛弃不放弃,所以自己也不能放弃自己。然后又重新打起精神,投入到学习当中,就是在这样的一次次的自我暗示中,在和同学们一起拼搏一起学习。
还记得在进行多机通信时,由于要把所有的单片机连接在一起,大家不得不默契配合,一起想办法,编写协议“众人拾柴火焰高”,很快一个主机程序,从机程序就出炉了。
经过一个暑假的认知实习我学到的不仅是知识,还有责任心、信心、恒心以及团队合作能力。我想无论是在学校还是以后踏入社会这些都必不可少。我认识到了我所学知识的重要性。知识犹如人的血液。人缺少了血液,身体就会衰弱,人缺少了知识,头脑就要枯竭。
这次的单片机培训应用到的不仅是单片机知识,还有以前的课程,所以知识的积累也是非常重要的。这次亲身体验让我有了深刻感触,这不仅是一次实践,还是一次人生经历,是一生宝贵的财富。在磨练自己的同时让自己认识了很多,使自己未踏入企业就已经对企业有了一定的了解。
通过这次的实习,我对自己的专业更清楚的认知,以前一直不清楚嵌入式的具体应用,不知道以后毕业了该干什么。但通过这次的实习,我对嵌入式有了更清楚地认识,对单片机有了更清晰的理解。我认识到做什么都要有责任心,只有抱着认真负责的态度才能把任务完成。而程序员更是对耐心和细心有很高的要求。
实习的过程不仅仅是一个认知的过程,更是一个反思的过程。学习到新知识固然可喜,但能否用新知识对旧只是加以反思,这是关键的关键。