最新单片机课程设计总结1000字(6篇)
总结是写给人看的,条理不清,人们就看不下去,即使看了也不知其所以然,这样就达不到总结的目的。怎样写总结才更能起到其作用呢?总结应该怎么写呢?那么下面我就给大家讲一讲总结怎么写才比较好,我们一起来看一看吧。
单片机课程设计总结1000字篇一
1、课前准备:根据学院教务处制定的实施性教学计划,研究组织同专业人员一起编写教学大纲,并根据教学大纲的要求选用合适的教材及参考资料。认真阅读教材和参考资料,根据教学进度计划认真制定本学期本课程的授课计划。
2、认真备课:在多年的教学体验中感觉到,单片机方面的专业基础课的教学有一定的难度,同时,此类课程较抽象。因此在备课之前,必须对所有内容进行熟悉,参考多方面的资料,认真深入钻研教材,确定重点难点。根据本院现有的条件和的实际情况,认真授课、认真听课,虚心学习,不断反思教学,使教学有秩序、有组织、有步骤地进行。
3、认真组织课堂教学。上课时,本着“传道、授业、解惑”的原则,努力提高教学质量,使讲解有条理、清晰、准确、生动。使每堂课上学生都有所获,努力使学生学好理论知识,培养能力,发展智慧,培养学生的正确思维方式,学会好的学习方法。坚持做到以学生的学为主体,教师的教为主导,巩固和运用为主线。在课堂上,特别注意调动学生的积极性,采用启发性教学,让学生主动学习,轻松愉快地学习,并不断树立学生的自信心,从各方面提高学生的能力。
4、组织实践教学。在教学活动现有的条件下,尽量带学生去实验室参观,并做一些实际实验,以满足基本需要。
5、虚心请教。教师的教学过程即是一个不断学习的过程。因此,在此过程中,遇到疑难问题,虚心向经验丰富的教师请教。跟他们学习好的教学方法,好的教学经验,并向年轻教师学习他们的新知识,新理念,做到思想和认识上不落伍,跟上时代发展。
6、认真批改作业。坚持布置适量的作业,使学生所学知识得到巩固和提高。布置作业时,坚持做到有针对性,认真及时地批改作业。并针对学生的作业情况,认真透彻地进行讲评,及时掌握学生的学习情况。
7、认真反思教学。教学这一活动,没有反思就不会有进步。坚持每次授课后,认真回想,认真反思。
8、完成情况:本学期计划完成理论42学时,实验14学时。实际完成56学时。
9、教学效果:成绩最高分82分,平均分55分,及格率达到62%。
总之,在这一学期的教学过程中,我尽力地做好每项工作。其中学到的东西固然不少,但不足之处也有。在以后的教学工作中,我将不断总结经验,发扬优点,改进缺点,提高自己的教学水平和教学质量。
单片机课程设计总结1000字篇二
单片机是微型计算机的一个重要分支。它使计算机从海量数值计算进入智能控制领域,并由此开创了工业控制的新局面。单片机技术广乏应用于电子、通信、家用电器、自动控制、智能化仪器仪表等各个领域,因其具有体积小、功能多,价格低廉,方便使用,系统设计灵活等优点。
全书共分9个课题,分别是:mcs-51系列单片机认识初步、单片机简单系统的设计、单片机指令与编程入门、单片机中断与定时功能的应用、单片机接口技术、串行口通信、系统扩展技术、a/d和d/a转换电路、综合项目设计和调试本学期学到了5个课题。
第一课,mcs-51系列单片机认识初步。在本节课程里主要需掌握mcs-51单片机的基本概念,了解单片机的用途,能区分不同型号的单片机芯片,掌握单片机的处理器与存储器结构,掌握单片机i/o口的特性,了解单片机的工作方式。
第二课,单片机简单系统的设计。这节课主要是学习单片机最小系统的组成,了解单片机时钟电路和复位电路的作用及设计方法,了解时钟周期、状态和机器周期三者之间的关系以及单片机复位后,内部各单元的初始状态。
第三课,单片机指令与编程入门。指令是cpu控制计算机进行某种操作的命令,指令系统则是全部指令的集合。mcs51单片机有7种寻址方式,其指令系统按指令功能分则有数据传送类指令、算术运算类指令、逻辑运算及移位类指令、控制转移类指令和位操作类指令,另外还有用于控制汇编过程的伪指令。学会用单片机仿真软件和开发工具。
第四课,单片机中断与定时功能的应用。本节课需了解中断的相关概念及单片机中断系统的组成;掌握外部中断的边沿触发方式和电平触发方式;掌握定时器、计数器to、t1的结构;掌握相关的控制寄存器的使用。
第五课,单片机接口技术。本节课需掌握键盘电路的结构及工作原理,独立式按键和矩阵式键盘的编程技术,led数码管的结构及工作原理,led显示器的静态和动态显示的编程技术。
时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。
俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。
硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。
当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。
在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。
再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。
单片机课程设计总结1000字篇三
两个月的暑期认知实习很快结束了,总体上来说感觉很充实,没有白白浪费暑假时光,也充实了自己的知识储备,获益匪浅。
当然很感谢龙夏老师和肖连军老师,他们放弃自己的假期,在酷暑中坚持没两天一到,为我们解答学习过程中的疑问。还有就是系里的支持,为我们提供凉爽的学习环境,会议室配有空调,在学习的同时不用经受酷暑的考验。虽然我们的学习场所很简陋:桌椅是我们从5栋教学楼搬的,电源插座是刚刚搭建的,和在普通教室上自习的同学来比我们是幸福的。
实习前虽说已经大二结束,但是对我们的专业嵌入式方向始终不甚明白,纵然专业导论课已经谈过,但是总感觉迷茫与空洞。书本上的知识也学了不少,像电路,数字逻辑,组成原理等一些课,但是这些课始终是书本知识,得不到实际的应用。通过这次的亲自动手设计到编写驱动设计程序,终于切身体会到在开发产品中要用到哪些知识。依然记得实训刚开始时,大家都很兴奋,因为我们要自己动手焊接自己开发板的每一模块,从电源模块开始着手。“书到用时方恨少,事要做时方知难”,一点也不假,感觉焊接应该不难,不就把锡点到电器元件引脚上不就行了,可是真正拿着烙铁去焊时,手是抖动的,烙铁也不打听话……淡然这只是刚开始时,经过多次的练习慢慢的得心应手。怪不得社会上的公司招聘都提到:有工作经验者优先。是啊,干过的总比纸上谈兵的强的多,公司不需要对你培训,可以直接工作给公司带来效益。
焊接电路板的时间很短,这只是简单的技术活,不需要逻辑上的考虑。接下来就是用我们焊接好的开发板开始我们的单片机之旅。由于单片机课程还没开,我们不得不从网上查资料,看教程弥补自己基础知识的匮乏。还记得自己写的第一个程序,驱动数码管。虽然看着焊接好的开发板很好看,但是要写程序点亮它就不那么容易了,第一感觉就是无从下手。老师建议我们从网上看前人的驱动程序,然后比着写,由于使用的单片机不同,电路的设计不同,在看网上程序时必须要明白其原理,否则还是无法借鉴过来,就这样第一个驱动程序花费了我两天时间才把数码管点亮。开发的过程是痛苦的,但是结果是令人无比兴奋的。看着自己点亮的数码管心里特别高兴。
接下来的日子就是每天对着电脑编写程序,然后下载到单片机中进行检测,查看能否运行。有时花费了一天的时间编写的一个程序下载单片机中竟然运行不了或者显示错误,心里真的特别失望;有时为了一个驱动程序想了一天还是一无所获,会特别烦躁……但是看到其他同学都在专心的研究,自己也就安慰自己别灰心,要坚持。就想《士兵突击》中说的一样不抛弃不放弃,所以自己也不能放弃自己。然后又重新打起精神,投入到学习当中,就是在这样的一次次的自我暗示中,在和同学们一起拼搏一起学习。
还记得在进行多机通信时,由于要把所有的单片机连接在一起,大家不得不默契配合,一起想办法,编写协议“众人拾柴火焰高”,很快一个主机程序,从机程序就出炉了。
经过一个暑假的认知实习我学到的不仅是知识,还有责任心、信心、恒心以及团队合作能力。我想无论是在学校还是以后踏入社会这些都必不可少。我认识到了我所学知识的重要性。知识犹如人的血液。人缺少了血液,身体就会衰弱,人缺少了知识,头脑就要枯竭。这次的单片机培训应用到的不仅是单片机知识,还有以前的课程,所以知识的积累也是非常重要的。这次亲身体验让我有了深刻感触,这不仅是一次实践,还是一次人生经历,是一生宝贵的财富。在磨练自己的同时让自己认识了很多,使自己未踏入企业就已经对企业有了一定的了解。
通过这次的实习,我对自己的专业更清楚的认知,以前一直不清楚嵌入式的具体应用,不知道以后毕业了该干什么。但通过这次的实习,我对嵌入式有了更清楚地认识,对单片机有了更清晰的理解。我认识到做什么都要有责任心,只有抱着认真负责的态度才能把任务完成。而程序员更是对耐心和细心有很高的要求。
实习的过程不仅仅是一个认知的过程,更是一个反思的过程。学习到新知识固然可喜,但能否用新知识对旧只是加以反思,这是关键的关键。
单片机课程设计总结1000字篇四
单片机是一门应用性和综合性很强的学科,它综合了电子技术中的模拟电路和数字电路方面的知识,特别是数字电路,因为数字电路在单片机里面的应用很多。由于单片机涉及的知识很多,所以我们只能循序渐进的学习,逐步的积累,没有什么捷径可循。
在大二的时候,我就听学长介绍过单片机,当时感觉很神奇,从此就对单片机特别感兴趣,也感觉它特别有用。于是经学长推荐,在大二上学期我利用学习之余在图书馆借书,学习了kile和proteus软件,刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。通过学习才大体知道了单片机的一些知识。由中央处理器cpu、随机存储器ram、只读存储器rom、i/o接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。也算给我正式学习单片机打下一个基础。
在大二下学期,我购买了一套单片机学习开发板和郭天祥主编的《新概念51单片机c语言教程》,从此正式开启我的单片机学习之路。在刚开始学时,就完全模仿郭天祥主编的这本书再结合开发板一步一步的学,从点亮一个发光二级管,流水灯,数码管,定时器,中断,矩阵键盘,ad、da,串口通行,i2c总线等一步一步的深入学习。此时,我虽然能看懂程序,一些简单的程序可以自己编写,但一些比较复杂的自己编不出来。在大二暑假,我发现了郭天祥主讲的《十天学会单片机》视屏,于是我坚持天天看视屏,然后在自己根据视屏内容结合开发板写程序,调程序,就这样学了一个暑假。通过这个视屏,我初步了解了单片机的硬件结构,编程方法及调试方法(用kile软件调试和用开发板调试),寄存器的使用,学会了如何看芯片资料,初步开始利用芯片时序图来编程。可以说这个视屏对我学习单片机有巨大的帮助,更夸张的说是这个视屏将我带进了单片机的世界,让我尽情的体验单片机带给我的快乐!
在大三上学期,我有幸参加了教改班的单片机课程学习。我觉得邓老师的教学很有特点,让我们自己一个模块、一个模块的焊电路板,写程序,调试,然后上讲台讲。这样不仅提高了我对单片机的进一步学习,更锻炼了我在公众面前的表达能力。我觉得大学的教育就应当如此,应该多注重学生的实际动手操作能力,只有自己亲自动手做了,才能体会到其中的艰辛,当然还伴随着众多的乐趣。在经过大三一学期的学习,我的单片机水平有了质的飞跃。首先焊电路板,从单片机最小系统、电源、流水灯开始,第一次自己通过模电上学的一个电源的构成知识做了一个电源,知道了用hc573锁存器对流水灯的作用以及上拉电阻的用法。其次焊数码管,数码管有共阴共阳之分,焊电路板以及写程序都有区别。接着焊了键盘、串口通信、液晶、ad、da、i2c总线24c02芯片、时钟芯片ds1302、ds12c887、温度传感芯片18b20以及其他模块。通过焊电路,现在对单片机各个模块的硬件设计了如指掌,通过软件调试,我已经基本掌握用芯片资料时序图和寄存器编程。最后阶段我用了一个多月的时间做了三个时钟,下面以我做的三个时钟为例讲一下感受:
1:用定时器中断、24c02芯片、按键和1602液晶做了一个年、月、日、星期、时、份、秒都可调的时钟,充分利用24c02掉电保护的特点,当关闭电源后再次打开,时钟会从上次停止的时间继续走。在做这个时钟时,要注意24c02的时序图以及寄存器的初始化。并且要注意写完时钟后,首次使用24c02,时钟可能是乱码,只需要用按键的加减键将其调为可读的时钟后,以后上电数据就可以正常走。
2:用ds1302、18b20和液晶做了一个不可调节的时钟。设计这个芯片的初衷是学习ds1302和18b20这两个芯片,于是我写程序实现了一个时钟从设定的初值时间开始走,并且显示温度。在设计中,一定要对ds1302寄存器初始化后他才能正常工作,在对照18b20芯片手册写程序时,我充分体验到了邓老师说的一句话“硬件设计简单,软件必然是复杂的”。在对18b20写程序时,遇到了很多麻烦,都是时序的问题。
3:用ds12c887、按键和液晶做了一个年、月、日、星期、时、份、秒可调节的时钟。由于ds12c887内部自带晶振和可充电锂电池,上电后自动充电,所以这个时钟掉电后内部时钟继续走,。在写这个时钟时,ds12c887一直用不起来,开始是由 baihuawen.c n于时序不对,后来表不走,最后发现内部晶振没起振,是因为对其内部寄存器的初始化不对。总之在遇到各种奇怪的现象后不断调试,最终将三个时钟调出来了。
写完这三个时钟,我收获挺大的,现在可以比较熟练地利用时序图写程序,也对单片机的定时、中断有了进一步的了解,可以说这是我单片机学习的又一大提高。
有时候单片机的学习很单调,比如检查电路,程序怎么也写不对,这些问题检查好多遍也没解决,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行耐心的调试,通过这种方式才能更快速的学习单片机。同时也会从学习中体会成功的喜悦。
总之,在一学期的学习中,从硬件,软件,调试,演讲等各个方面都有了很大的收获。
单片机课程设计总结1000字篇五
《单片机》这门课程我已经学了一个学期了,在这一个学期的学习过程中,我一开始不怎么懂得编程,但慢慢的我现在已经不仅会读程序还会写程序了。真为自己一个学期来努力学到的单片机知识只是而感到高兴。
怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。 我觉得学习单片机首先要懂得c语言,因为单片机大多说都是靠程序来实现的,如果看不懂程序或则不懂的编程是很难学会单片机的。学习单片机首先要明白一个程序是怎么走的,要完全懂得程序每一个步骤的意思。其次要懂得每一条指令的意思,不能盲目地去靠背指令,这是记得不牢靠的,最主要的还是靠了解。学习单片机最主要的对89c51芯片内部结构有全方面的,只要了解了89c51才能知道单片机实现什么样的功能和作用,才能对单片机有更深一步的了解。 通过一个学期《单片机》这门课程的学习,我也从中有了不少心得和体会想和大家分享一下。
万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,不要说单片机的程序全是英文,自己看不懂。遇到困难要一件件攻克,不懂指令就要勤奋看书,不懂程序就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少。然后建个程序,加入项目中,再写代码、编译、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。 知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。 程序不要光看不写,一定要自己写一次。最开始的时候,什么都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果。看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。当你自己能写出来的时候,说明你就真的懂了。
必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如keil里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。
找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以。要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人。所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。
开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。
看别人的程序,学习人家的思路。这个在学习初期是很有用,通过看别人的程序,特别是老师写出的具有一定水平的程序,可以使自己编程水平得到迅速的提高。同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的程序,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。
尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(io读取)、动态扫描(io输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序什么也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。
着重于培养解决问题的能力,而不是具体看自己编写了多少程序或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机学习单片机之后感悟出来的。真正的能力不是你曾经编写过多少个可以实现的程序,而应该是:“遇到没有解决过的问题,能利用自己已学的知识,迅速找到解决问题的方法。”这个才是能力。
面对一个新程序时,多自己开动脑筋,不要急于找别人的程序。有不少人面对一个新程序时,第一步想到的就是网上找别人写过的程序,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。当你接到一个程序时,应该先自己构思一下整个程序的架构,想想如何来完成。有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教老师或同学,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路。如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。
学会提问题。一般来说,学习过程中,你遇上的问题,多数人也有遇上的,所以如果有什么不懂,你可以去问老师。我觉得学习单片机最主要的要多提问,对于一个自己不是太懂的程序,自己一定要多提问几遍,这样不但有利于加深自己的印象还能从中学到不少别人的方法。
经过一个学期我对《单片机》这门课程的学习,不仅让我懂得了很多程序的编写,还让我学到了很多对自己有用的学习方法。总结这个学期来的我自己的学习情况,我觉得自己对编程进步了不少,懂得运用正确的学习方法学习单片机程序,不再去死记硬背指令了。所以我觉得学习要不断总结学习方法,才能让自己学习不断进步。
单片机课程设计总结1000字篇六
人的一生是一个不断学习、不断成长的过程。转眼间,研究生的学习生涯结束了,走上新的工作岗位。回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。
在2017年最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。那时候老师只教会了我们汇编语言,根本不知道用c语言也可以进行单片机开发。幸运的是,我加入了单片机兴趣小组,在老师的指导下,做了一系列实验,有“基于ds18b20的温度采集系统”、“有基于164的移位寄存器的灯光控制系统”、“有步进电机和直流电机的控制系统”。这时候我才发现,这是学习单片机的一个最好途径——在实践中领悟理论,用理论指导实践。在上课的整整一个学期中,虽然老师讲得很详细,但是大部分概念都是到了实际动手做东西的时候才弄明白的。而且在经历了迷惑之后再搞清楚,印象就特别深刻。直到现在我对那些概念和接口都非常清晰。其实我也很庆幸学习和使用了两年多的汇编语言。由于有这些锻炼,我对单片机底层结构和接口时序就弄得很清楚。在使用c语言开发的时候,优化代码和处理中断也就不会太费劲。我觉得,虽然现在绝大部分单片机开发都使用c语言,甚至有些公司还推出了图形化编程的工具,这样对于项目的开展从时间上快了很多,在管理上也规范了不少,但是从学习和想深入掌握单片机精髓的角度来说,还是需要熟练掌握汇编语言的使用。
机会总是青睐于有准备的人。也许有了前面一段时间的理论和实践的积累,我才慢慢得到了一些参加科技竞赛和参与科研项目的机会。在参加第一届浙江省机械设计竞赛的时候,我们设计的由多单片机系统协调控制的“月球车”机器人夺得了唯一的一个特等奖。这个竞赛给我最大的收获是我对单片机的认识改变了,它不再仅仅是一门学科了,它是一个可以让你的创意得到充分发挥的平台。后来参与了“基于视频分划技术的钢卷尺自动切零位机”、“电能表涡杠涡轮啮合深度检测系统”、“基于公共电话网的水表集抄数据路由器”、“高精度电感微位移测量系统”等一些实际的项目。在这些过程中,我发现只是精通单片机技术还不能很好的解决问题。体会最深的是,单片机只有融合到各种应用领域中,才能展现它的最大活力。然而单片机仅仅是一个工具而已,要做好单片机系统还需要各种应用领域的专业知识的支持。例如,在“基于视频分划技术的钢卷尺自动切零位机”中,就需要搞清楚全电视信号的时序,弄明白钢卷尺切零位机的工作原理,懂得怎么利用叠加在视频信号中的横竖线来进行刻度的瞄准等。没有这些专业知识,就算单片机技术再厉害也不可能做好这个项目。脱离应用背景的单片机开发,就像一个没有灵魂的躯体一样。
随着arm的出现,我曾经认为,8位单片机可能在32位单片机的冲击下就此走进历史,可是很快就认识到我是错误的。随着技术的革新和时间的推移,各大单片机公司纷纷将单片机朝着片上系统这个方向发展,集成了现在各种流行的技术和常用的模块。我相信,在当前国内和国外的这个市场中,8位单片机应用的市场仍然是充满生机,活力无限。在市场的不断变化和技术的不断更新过程中,8位单片机也会顺应潮流不断革新。
从我五年走过的路来看,单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,可以分为三个阶段。
第一阶段:掌握开发单片机的必备基础知识。首先是熟练掌握单片机的基本原理,其实各家各门的单片机其基本结构和原理都差不多,特别是共有的知识需要好好理解和掌握。例如,内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。除此之外,我们还需要具备模拟电子、数字电子、c语言程序开发知识以及原理图和pcb设计等一些技能。在进行系统开发的时候,进行原理设计、pcb布板、程序编写、系统联调这些工作都是在所难免的。
第二阶段:在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机的独有技术,学不了那么多也要多了解了解。同时尽可能多地掌握单片机的一些外围器件和常用电路,以备不时之需。有时候客户要求低成本,那我们只好选用合钛、义隆、华邦等这类那个岛芯片;如果客户要求工业级的性能,那么我们就得从pic、nec、飞思卡尔、nxp等这些欧美和日式单片机中选择;若要进行功耗的开发,选用msp430系列应该有一定优势;在进行测量仪器设计的时候,c8051和aduc842这类数模混合芯片就显得比较方便。所以说最好每个类型的单片机都会一两款,在实际项目选型中可以更加灵活。另外,要注意平时的技术积累。比如,在项目开发过程中将一些常用的接口程序和控制算法整理成模块或者函数,在其他的项目开发中,有同样或者接近的需求时马上就可以使用,又快又好。
第三阶段:在实际的项目开发过程中,不断深化单片机应用技术,不断积累应用行业的专业知识。例如,我完成了“高精度电感微位移测量系统”,就会对电感传感器的测量机理和信号特性、测量电路的设计、电磁兼容处理、误差修正和非线性处理等测控方面的专业技术有很深的认识。以后碰到类似的项目时,很多东西就可以直接利用了。有了扎实的单片机应用相关的基础知识,并且熟悉掌握了几款不同类型单片机的开发方法,再结合实际的应用背景,那么就可以随心所欲,设计出性能最优、结构最合理的单片机应用系统。这是我最大的奋斗目标,我觉得这也应该是单片机应用的最高境界吧。
在这五年的学习中,有感慨、有遗憾、有憧憬、有希望,更重要的是我对单片机应用这个领域充满热情。由于才疏学浅、涉世未深,希望能与行业里的各位老师多多交流,不断学习,不断成长。