单片机课程心得体会(精选18篇)由网友“Arielzz”投稿提供,下面是小编帮大家整理后的单片机课程心得体会,希望对大家有所帮助。
篇1:《单片机原理》课程培训心得体会
在《单片机原理》精品课程培训中,张教授与杨教授的学识,理论与实践教学的独特见解与认识给我留下很深的印象。在单片机课程的建设思路、教学理念方面,对于本人冲击很大。以下就单片机课程建设,谈谈本人的心得体会:
本人所在的黄山学院是一所省属地方院校,培养电子学科本科人才的目标是:学生具备必要的电子信息专业相关理论知识,具备较强的实践动手能力,成为能够解决实践工程问题的现场工程师,为地方经济建设服务。
《单片机原理》是一门硬件与软件相结合的实践应用性极强的综合性课程。设置的主要目的是培养、提高学生的工程应用能力和创新实践能力,在课程体系中占有非常重要的地位。
张教授在培训中提出单片机课程教学以芯片为基础、以接口为主线、以系统设计为目的。该理念非常符合应用型人才培养的目标与单片机课程的特点。
《单片机原理》是常规电子技术和计算机技术结合的典型应用,要让学生很好掌握该课程,所需要的基础知识有电子技术知识(电路分析基础、模拟电路、数字电路、高频电路)、微处理器结构与原理、测控技术、通信技术与数据处理等知识。
在我校的电子专业课程设置中,以上所提课程都已经包含在培养方案中,课程体系的科学优化显得很重要。这里就对微机原理课程与单片机课程的衔接安排提一些看法。目前,我校是先上《微机原理及接口技术》,后上《单片机原理及应用》。学生在接触单片机课程时,基本上感觉两门课程比较相似。有的'老师也提出在课程体系中删除《微机原理》,本人觉得不能进行简单的删除,而是要科学合理对《微机原理》与《单片机原理》衔接处理。微机原理课程的开设,主要是帮助学生理解计算机基础原理及结构,熟悉8086/8088CPU原理、熟悉汇编编程及应用。微机原理课程的价值在于深入了解微处理器结构与原理,接口技术、汇编程序编程。这些对于学生学习单片机课程非常有效。也因此《单片机原理》的授课应强调单片机的结构,尤其是接口的结构与应用、内部模块资源的应用,要强化应用。两门课程改革兼顾压缩学时,保证51单片机的熟练应用,了解8086计算机体系结构,学习微机接口技术的目的,改革解决存在的理论教学与实验脱节、实际应用及技术发展脱节的问题。
在培训中,杨教授多次提出单片机程序设计言语的汇编与C言语的处理问题。单片机的编程与其他软件程序最大的不同是要求对单片机硬件很熟,用软件编程实现对硬件的控制。汇编言语是直接面对硬件的,目标代码质量高,执行效率高。如编写延时程序,使用汇编程序实现更精确。而C言语更加简洁,有助于学生编程思维的培养。毕业生从事单片机工作,主要编程也以C言语编程较多,当然汇编言语也常常用到。本人的教学与单片机应用中的体会是,汇编言语与C言语两者都要在课堂上讲授,由于《微机原理》已经有汇编程序编程章节,所以在单片机课程中可以压缩汇编程序部分,重点讲授单片机留出时间讲授C程序设计部分。两者的教学时间安排要与各个学校的课程教学学时相协调。
由于《单片机原理》的实践应用强的特点,实践教学就显得更加重要,目前单片机课程实践教学大都包含课程配套实验与课程设计环节。我校目前单片机课程配套实验是在周立功试验箱上做的,主要是基础实验与综合实验,从教学效果来看,不够理想:在有限的实验时间内,学生往往就是做些验证性的重复工作。因此,除了保证正常的实验教学外,实验室还应该在业余时间开放,给有兴趣的学生提供实验场所和必要的设备及材料。通过开放实验室的做法可以使学生在验证性实验的基础上进行设计性、综合性的实验,使得自主性的实验变成可能。
单片机课程设计在黄山学院已经开展了三年,由于师资力量以及硬件等原因,存在的问题是设计题目不够丰富;指导的力量不足;软件仿真还不够普及。通过这次培训,从张教授与杨教授的授课以及与参加培训的同行交流,获得了不少宝贵意见。
培训中张教授积极推荐应用proteus仿真软件,在单片机中,所有的硬件电路设计、对应软件其实都可以在keil及proteus平台上进行。keil完成单片机软件设计调试, proteus完成硬件设计及系统运行结果查看。用它来做单片机的仿真分析、设计无疑是很方便的。它极大地开拓了单片机学习的空间,降低了单片机的学习成本,提高了学习效果。
作为一所地方本科院校,黄山学院着力培养实用型人才,培养学生的动手操作能力和创新能力。目前各高校积极参与的大学生科技创新活动,黄山学院也已经参与进来,参加大学生电子设计大赛、单片机设计大赛、飞思卡尔智能小车大赛,机器人比赛以及校级的学生科研立项。以这些比赛都与单片机课程紧密相关,在各项竞赛引导下,单片机课程加快引进新技术,进行相关理论教学与实践教学的教学改革,完善开放实验室、虚拟实验室以及学生创新实验室建设,加强工程实践能力培养,重视创新教育的探索和实践。
以上是本人对于《单片机原理》课程建设的一些看法以及教学实践体会,以后还要在教学中加强自身学习与交流,不断更新充实教学内容,改进教学手段,积极引入EDA技术,使单片机课程教学跟上电子信息学科的发展。
篇2:《单片机原理》课程培训心得体会
20xx年3月4日和3月5日,我在安徽省网络培训中心参加了《单片机原理》的精品课程培训,认真聆听了张毅刚教授和杨青勇副教授对单片机原理知识的全面解析和教学教法的深刻分析,收益颇丰,主要有以下二点心得体会:
一、单片机原理课程特点与定位
单片机原理课程是电气信息类专业学生的一门重要课程,是我院自动化、电子信息工程和通信工程专业学生的专业必修课程。单片机原理课程是一门面向应用的、具有很强的实践性与综合性的课程,它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力,在电类的专业课程中经常要用到单片机知识。单片机知识在电类专业整个课程体系中处于承上启下的核心地位,一般测控系统和智能仪器仪表的实现都离不开单片机与接口技术,在各种电子设计竞赛以及毕业设计中都会用到单片机,它是学生就业和攻读硕士学位的必备要求。单片机与接口技术是现代电气信息类等专业学生必须掌握的一项专业技术。
合肥学院是一所应用型的本科院校,20xx年又被教育部列为“卓越工程师教育培训计划建设单位”,对学生应用能力培养的重要性不言而喻。针对过去的传统单片机课程的“重理论,轻应用,理论与实践不能紧密结合”的教学特点,我们必须重新定位《单片机原理》课程的培养目标,重点培养学生的实践动手能力,提高学生的综合素质,培养掌握单片机应用系统设计的应用型人才。
二、单片机原理课程教学内容整合与优化
传统的单片机原理课程注重知识导向型,教学思路是按照教材的顺序,先讲单片机硬件基础知识,再讲指令系统和汇编语言编程,最后讲接口技术和一个单片机应用实例。学生只有在课程学习的最后才接触到单片机的'实际应用系统,而在此之前的学习由于学习目标不明确,学生会感到学习内容枯燥乏味,因而学习的兴趣不高。
我们需要以知识为基础,以能力为核心,构建新的实践化课程内容体系,确保教学内容的合理性、实用性和先进性。建立完善“以芯片为基础,以接口设计为主线,以系统设计为目的”的课程体系,以典型项目实例分解模块,可以考虑以一个简单的“智能电子钟(LCD显示)”项目实例引入,将实例分解得到相应的知识模块,将分解出来的知识模块按照循序渐进的原则分别放在芯片和接口设计部分中进行讲解,以各个模块构建知识,前后连贯,层层递进。最后,再将前述内容以系统设计应用来统领全局,进行综合,达到以“应用”为主线连接所学知识内容的目的。用典型的项目实例统领整个教学内容,让学生在学习过程中得到了反复性的思维训练,加深了对教学内容的理解和运用,增强了学生对单片机应用性的熟悉和理解,同时在这个过程中,学生由于会不断地获得成就感,可以更大地激发起学生的求知欲望和主动学习的兴趣。
在实际教学中,让课堂理论教学和实验室实践教学一体化,打破实验室和教室的界限,打破课堂理论教学与验证式实验教学的界限,教师讲解和实物演示(或Proteus仿真演示)同步,让学生主动参与进来,实施以学生为主体、教师为主导的教学模式,真正做到理论和实践的结合,从而达到单片机原理课程的教学培养目标。
总之,这次网络培训学习,对我的单片机原理课程的教学内容和教学手段有着非常重要的指导作用,我会不断更新教学内容和优化教学模式,提高单片机原理课程的教学效果。
非常感谢二位教授的精彩报告和网络培训中心!
篇3:单片机心得体会
经过本次微机课题的设计与研究,我们深入的学习了除课本以外的很多微机附件的内容,掌握了很多实验室操作技能。
我们在实际设计中遇到很多问题,但结合所学知识以及参考资料的帮助,不断地尝试,设计了一种能够解决实际问题的系统。
同时也加深了我们对于现实生活中,实际的嵌入式操作系统的原理的理解。
单片机在日常生活中应用广泛,结合这学期在学的嵌入式系统原理,我们更多的了解了单片机的发展现状和发展趋势,以及在生活中的广泛应用,其实80C51只是我们所接触的一种简单的单片机,在实际应用中,有各个公司生产的不同型号的、针对不同功能设计的、以及根据用户的需要和发展自主研发设计的单片机还有很多,由此设计出来的嵌入式系统更是数不胜数。
能够亲身的进行自我实践,并进行实际的应用,其实使我们对现行单片机的一次深入的了解,并能够提升我们将来在学习工作遇到的单片机设计问题。
在实际设计过程中,我们遇到了诸多设计的问题。
例如接口不够,这一问题主要是因为我们所设计的功能诸多,刚开始对于这一接口的`规划不是非常的合理,后来通过使用中断,两个中断合理的设计便解决了所有的按键和现实问题。
考虑到目前空调系统也并不是使用我们所用到的80C51单片机,中断也有可能通过扩展有所增加,考虑到硬件设计的难度,使用两中断解决这一问题则是最佳的选择。
在程序设计中,我们更加深入了解了中断的使用与本质,合理利用这些,会使程序简化而不会出错。
比如开始我们把主程序写在中断里面,导致程序运行混乱,而后来发现,只在中断中做少量工作,比如改一下某一个标志,这样比较好。
对于传感器芯片的使用,我们查找了它的datasheet,并查阅了各种关于其硬件连接和软件设计的资料,同时发现了理论资料与实践上的区别,通过多次尝试,成功完成了硬件和软件的设计。
在这次课题设计过程中,我们合理的分工,适宜的规划进度的进展,不仅仅暗示完成了预先设计的内容。
在这一过程中,我们充分发挥我们的主观能动性,想象创造性,攻克了很多之前都没有想过的难关,真的受益匪浅。
这次设计不仅仅耗时耗力,而且自己也亲自跑了电子市场去进行实际考察,对我们理论和实验都有很大的提升,我想这些对于我们今后的学习生活都有很重要的意义,这将是我们在程序设计以及大学学习过程中的宝贵经验和财富。
-------------------------
单片机是一门应用性和实践性很强的学科,很多人都想学习单片机,并且想知道如何学习单片机,基于本人学习单片机的过程和愉快经历,特写此篇文章和广大的单片机初学者一起分享,希望您能从中受益。
熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。
翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是错误的)。
如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。
学习使用单片机只能靠循序渐进的积累,下面就本人学习单片机的过程和经验做简要介绍。
首先,学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或C语言。
要想成为单片机高手,建议初学者首先学习汇编语言,学的差不多的时候,转入C语言学习。
尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,执行速度快等优点,更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。
汇编语言在单片机教材里面都会涉及,不需要单独购买教材和学习。
C语言是一门学问,有很多专业书籍来讲解,并且对我们今后的编程生涯有绝对的好处,因此要深入学习,千万不要自以为看了某某的视频教程就以为掌握了C语言,那只是C语言的一部分。
在这里给大家推荐一本单片机C语言程序设计参考书,马忠梅等著,北京航空航天大学出版社出版的《单片机的C语言应用程序设计》,要求C语言基础。
如果没学过C语言,建议学习清华大学谭浩强编写的C语言程序设计,这本书写的不错,通俗易懂。
其次,是单片机教材选择。
单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。
现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,按内部结构体系派系分:51系列、PIC系列、AVR系列、摩托罗拉等等……我们没必要每样都学!因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就OK了!尤其是用C语言编程,就几乎不用分什么派系,但是我们要选择一款有代表性的知识范围广,并且入门容易,书籍多。
一般来说,MCS-51系列单片机已经得到广泛的普及和应用,市场上它的资料也比较多,用的人也很多。
给大家推荐一些参考书,学习时只需要一本就足够拉。
书名:《新编MCS-51单片机应用设计》,哈尔滨工业大学出版,作者:张毅刚;书名:《单片机原理及应用》,高等教育出版社,作者:张毅刚等;书名:《单片机高级教程:应用与设计》,北京航空航天大学出版社,作者:何立民。
相关教材还有很多,在这不一一列举。
然后,是开发工具和开发环境的选择。
选择一块合适的学习板,对于初学者来说一般无力接受,如果经济条件允许、本人又对单片机很感兴趣、有从事相关工作意向的话,鼓励大家购买。
随便说一句,学习板功能要求太全,具有流水灯、数码管、独立键盘、矩阵键盘、AD或DA、液晶、蜂鸣器等就差不多啦,毕竟,功能齐全的价格比较高。
仿真器对单片机初学者来说既是那么耳熟,同时又有些陌生,这主要是因为市场上传统的仿真器价格都在千元以上,对经济不是非常宽裕的人来说是不小的开支。
同时仿真器是用来提高调试程序效率的,也不是非需不可的,如果你没有仿真器,遇到程序出错的时候,只好苦思冥想,反复烧写调试。
随便推荐一下,学林电子的51tracer仿真器,有兴趣的朋友可关注一下。
有了单片机教程板以后,先看下指导说明书,熟悉一下学习板,开卷有益。
以后就得靠自己多练习了,将学习板与电脑连接好,先学会开发软件的使用,然后从最简单的流水灯实验做起,按照你自己的意愿控制流水灯,当你完成时,你会发现这是多么惬意的事情。
太好玩了,你会觉得这不是在学习,而是在玩,当你发现,单片机能够按照你编写的程序工作时,你会觉得非常兴奋,比做什么事情都开心,这样你会慢慢迷上单片机,真的。
不少网站上说搞定某个实验,就恭维的告诉你一声”恭喜你,学会了”自己学会了单片机,这有点可笑,这只能说明你算过关了,对单片机有了一定了解和会使用它了。
但是单片机能完成的功能太多了,尤其是对外围器件的控制,综合起来能设计出许多意想不到的产品.因此除了入门外,精通可千万别轻易说出口。
最后,在熟练掌握和应用后,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。
最终,自己完全设计具有个人风格的电路,产品,这样你就是单片机高手拉。
只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。
时下多家电子类的报刊杂志如:《电子制作》《无线电》《电子报》《电子世界》都开设了详细的单片机教程专栏,对于想学习单片机的朋友来说帮助很大,可以说现在的单片机教程环境是最好的,有网络,有书籍,有报刊杂志,还有视频教程,元件的采购方面也非常充足,相关的器材又多有便宜。
如果每天能抽出两小时的时间去学习,快的一个月,慢的三个月就入门拉。
篇4:《单片机》课程学习总结
《单片机》这门课程我已经学了一个学期了,在这一个学期的学习过程中,我一开始不怎么懂得编程,但慢慢的我现在已经不仅会读程序还会写程序了。真为自己一个学期来努力学到的单片机知识只是而感到高兴。
怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。
我觉得学习单片机首先要懂得C语言,因为单片机大多说都是靠程序来实现的,如果看不懂程序或则不懂的编程是很难学会单片机的。学习单片机首先要明白一个程序是怎么走的,要完全懂得程序每一个步骤的意思。其次要懂得每一条指令的意思,不能盲目地去靠背指令,这是记得不牢靠的,最主要的还是靠了解。学习单片机最主要的对89C51芯片内部结构有全方面的,只要了解了89C51才能知道单片机实现什么样的功能和作用,才能对单片机有更深一步的了解。 通过一个学期《单片机》这门课程的学习,我也从中有了不少心
得和体会想和大家分享一下。
万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,不要说单片机的程序全是英文,自己看不懂。遇到困难要一件件攻克,不懂指令就要勤奋看书,不懂程序就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少。然后建个程序,加入项目中,再写代码、编译、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。
知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。 程序不要光看不写,一定要自己写一次。最开始的时候,什么都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果。看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。当你自己能写出来的时候,说明你就真的懂了。
必须学会掌握调试程序的方法。不少人写程序,把代码写好了,
然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。
找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。
我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以。要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人。所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。
开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。
看别人的程序,学习人家的思路。这个在学习初期是很有用,通过看别人的程序,特别是老师写出的具有一定水平的程序,可以使自己编程水平得到迅速的提高。同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的程序,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。
尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序什么也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。
着重于培养解决问题的能力,而不是具体看自己编写了多少程序或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机学习单片机之后感悟出来的。真正的能力不是你曾经编写过多少个可以实现的程序,而应该是:“遇到没有解决过的问题,能利用自己已学的知识,迅速找到解决问题的方法。”这个才是能力。
面对一个新程序时,多自己开动脑筋,不要急于找别人的程序。
有不少人面对一个新程序时,第一步想到的就是网上找别人写过的程序,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。当你接到一个程序时,应该先自己构思一下整个程序的架构,想想如何来完成。有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教老师或同学,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路。如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。
学会提问题。一般来说,学习过程中,你遇上的问题,多数人也有遇上的,所以如果有什么不懂,你可以去问老师。我觉得学习单片机最主要的要多提问,对于一个自己不是太懂的程序,自己一定要多提问几遍,这样不但有利于加深自己的印象还能从中学到不少别人的方法。
经过一个学期我对《单片机》这门课程的学习,不仅让我懂得了很多程序的编写,还让我学到了很多对自己有用的学习方法。总结这个学期来的我自己的学习情况,我觉得自己对编程进步了不少,懂得运用正确的学习方法学习单片机程序,不再去死记硬背指令了。所以我觉得学习要不断总结学习方法,才能让自己学习不断进步。
交通信号灯设计报告
实验目的: P1口的使用方法,延时程序的编写
实验要求:在一个十字路口分为东西南北走向,信号等按以下的状态顺序工作:
(1) 初始状态0,东西、南北红灯全亮。延时一定时间;
(2) 状态1,南北绿灯亮通车,东西红灯,延时一定时间;
(3) 状态2,南北绿灯闪烁几次转黄灯,东西仍然红灯,延时一定
时间;
(4) 状态3,南北红灯,东西绿灯通车,延时一定时间;
(5) 状态4,南北仍然红灯,东西绿灯闪烁几次转黄灯,延时一定
时间;
(6) 循环至状态1,继续
实验电路和流程框架图:
(1) 硬件电路
交通灯实训设备用最小系统板和信号灯组合而成。
2、软件编程
若各路口灯亮灭的时间间隔为2s钟,灯光闪烁时间间隔为0.5s。用软件延时的方法,晶振频率12MHz时,一个机器周期为1us。
编写交通信号灯程序:
编写主程序,由R7做主程序的计数器,确定调用延时时间为0.5s,从而获得交通灯的亮灭时间。
篇5:《单片机》课程学习总结
时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机课程也结束,但通过这次单片机的学习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
当今社会随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。
刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。通过学习才大体知道了单片机的一些知识。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。由中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。它的应用范围很广,在工业自动化中应用有数据采集、测控技术。
在智能仪器仪表中应用有数字示波器、数字信号源、自动取款机等。在消费类电子产品中应用有空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。在通讯方面应用有手机、小灵通等。在武器装备方面应用有飞机、坦克、导弹、航天飞机、智能武器等。刚开始学习时只能抄写别人做成功的程序,一遍一遍的写,从简单的入手,逐步的积累,一步步的能够将小的程序结合到一起,拼接成较为复杂一些的程序。但是程序不要只是看别人得,一定要自己写过才是自己的。只有当你自己能写出来的时候说明你真懂了。刚接触KEIL时确实很让人头疼,使用 KEIL不会建项目、不会使用实验板。然后可以参考已经成功的程序,抄过来,写一个最简单的,让它运行起来,先培养一下自己的感觉,先建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人,自己一定要掌握解决问的方法和思路。对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。应该先想一下程序的构架,想想如何来完成。然后自己动手去写,理清自己的思路这样更容易提高自己。
熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是错误的)。如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。学习使用单片机只能靠循序渐进的积累,虽然单片机的课程只上了几节就去上班了,但在学习的过程中有了一定的了解。下面就本人学习单片机的过程和经验做简要介绍。
首先,学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或C语言。要想成为单片机高手,建议初学者首先学习汇编语言,学的差不多的时候,转入C语言学习。尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,执行速度快等优点,更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。汇编语言在单片机教材里面都会涉及,不需要单独购买教材和学习。C语言是一门学问,有很多专业书籍来讲解,并且对我们今后的编程生涯有绝对的好处,因此要深入学习,千万不要自以为看了某某的视频教程就以为掌握了C语言,那只是C语言的一部分。在这里给大家推荐一本单片机C语言程序设计参考书,马忠梅等著,北京航空航天大学出版社出版的《单片机的C语言应用程序设计》,要求C语言基础。如果没学过C语言,建议学习清华大学谭浩强编写的C语言程序设计,这本书写的不错,通俗易懂。
其次,是单片机教材选择。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,我们没必要每样都学!因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就OK了!尤其是用C语言编程,就几乎不用分什么派系,但是我们要选择一款有代表性的知识范围广,并且入门容易,书籍多。一般来说,MCS-51系列单片机已经得到广泛的普及和应用,市场上它的资料也比较多,用的人也很多。给大家推荐一些参考书,学习时只需要一本就足够拉。书名:《新编MCS-51单片机应用设计》,哈尔滨工业大学出版,作者:张毅刚;书名:《单片机原理及应用》,高等教育出版社,作者:张毅刚等;书名:《单片机高级教程:应用与设计》,北京航空航天大学出版社,作者:何立民。相关教材还有很多,在这不一一列举。
然后,是开发工具和开发环境的选择。选择一块合适的学习板,对于初学者来说一般无力接受,如果经济条件允许、本人又对单片机很感兴趣、有从事相关工作意向的话,鼓励大家购买。随便说一句,学习板功能要求太全,具有流水灯、数码管、独立键盘、矩阵键盘、AD或DA、液晶、蜂鸣器等就差不多啦,毕竟,功能齐全的价格比较高。仿真器对单片机初学者来说既是那么耳熟,同时又有些陌生,这主要是因为市场上传统的仿真器价格都在千元以上,对经济不是非常宽裕的人来说是不小的开支。同时仿真器是用来提高调试程序效率的,也不是非需不可的,如果你没有仿真器,遇到程序出错的时候,只好苦思冥想,反复烧写调试。
随便推荐一下,学林电子的51tracer仿真器,有兴趣的朋友可关注一下。有了单片机教程板以后,先看下指导说明书,熟悉一下学习板,开卷有益。以后就得靠自己多练习了,将学习板与电脑连接好,先学会开发软件的使用,然后从最简单的流水灯实验做起,按照你自己的意愿控制流水灯,当你完成时,你会发现这是多么惬意的事情。太好玩了,你会觉得这不是在学习,而是在玩,当你发现,单片机能够按照你编写的程序工作时,你会觉得非常兴奋,比做什么事情都开心,这样你会慢慢迷上单片机,真的。不少网站上说搞定某个实验,就恭维的告诉你一声”恭喜你,学会了”自己学会了单片机,这有点可笑,这只能说明你算过关了,对单片机有了一定了解和会使用它了。但是单片机能完成的功能太多了,尤其是对外围器件的控制,综合起来能设计出许多意想不到的产品.因此除了入门外,精通可千万别轻易说出口。
最后,在熟练掌握和应用后,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计开发各种课题,不断的积累经验。最终,自己完全设计具有个人风格的课题,产品,这样你就是单片机高手拉。只要过了第一关,后面的路就好走多了,万事开头难,这大家可能都听过。
有时候单片机的学习很单调,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行调试,通过这种方式才能更快速的学习单片机。要坚定自己的学习信心,在付出持之以恒的努力,我相信自己能进一步加深对单片机的了解,在单片机的学习道路上走得更远!
篇6:单片机课程教学质量论文
关于单片机课程教学质量论文
1.引言
单片机课程是机械类专业的一门专业基础课。该课程是课程设计、毕业设计等教学环节中的重要实现手段,是一门实践性和应用性很强的课程,学习单片机并掌握其设计使用技术已经成为当代大学生必备的技能。提高单片机的教学效果,对学生动手能力的培养和促进学生创新意识的提高具有重要的现实意义。
2.教学现状
单片机课程是机电高素质复合技能型人才所需自动控制类知识的载体,其特点是概念多、逻辑性强、内容抽象[1],对于初学者来说入门难。传统的单片机教学一般均以学科体系为出发点,注重课程本身的体系结构和前后的逻辑联系,但却忽略了“可学性”,致使学生学得吃力,老师教得也很辛苦[2]。从教学效果来看,一直存在教师难教、学生难学的双重困惑,教学效果不太理想[3]。常见的教学方式是“以教师为中心、以课堂为中心、以教材为中心”[4]。这种传授型教学模式就使本来就很枯燥、抽象的课程更加显得乏味,学生在学习过程中对课程产生了畏难情绪[5]。而且在大部分新升本工科院校中,机械类专业学生以男生为主,且理论知识掌握较差,学习主动性不高。大部分学生对自己的大学生活和毕业去向没有规划,学习动机模糊。针对以上教与学的特点,提出一些针对单片机课程在教学过程中行之有效的教学改革思路和方法,达到提高学生的学习能力,特别是创新实践能力的目标。
3.设计教学思路和方法,提高教学质量
3.1通过问题初识单片机
学生刚开始不清楚单片机是什么?是什么样?是用来干什么的?所以,授课教师在第一次的授课过程中,应该从学生的思维角度出发,回答单片机是什么、什么样、干什么等问题,使学生从宏观上对单片机有一个理解。在解答这些问题时,最好拿一片单片机,在课堂上就能够直观地看到单片机的外观形状、大小和引脚排列等情况,这样使学生对这个概念会有更深的认识。把单片机和PC机进行一定的比较,对理解什么是单片机是非常有帮助的。PC机主要用于数据采集、运算和处理,而单片机主要用于控制且体积更小,这也是为什么目前大多数学者把单片机叫做微控制器的原因。单片机用来干什么的?解答这个问题可以通过学生身边非常熟悉的案例来进行。比如:日常生活中的电视需要使用单片机来进行设定和控制;全自动洗衣机使用单片机来对洗衣的时间和水位进行设定且控制等等。通过日常生活和生产中无处不在产品进一步地帮助学生认识、理解单片机。
3.2整合教材内容,由整体到部分、由外而内讲解单片机结构
在对单片机有了感性认识后,应把单片机看做一个整体,不能把它的结构肢解。比如在讲“单片机芯片结构”时,由整体到部分给学生强调单片机学习的主要内容,以减少学生的畏难情绪。然后将这些功能特点进行分类,画成图表的形式来加强印象,结构分类如图1所示。先讲解外部功能,再学习内部各个功能,这就是由外而内。引脚教学中,把单片机的40个引脚大致分为电源、时钟、控制和I/O口4类。先简单告诉学生,4个8位并行I/O端口占用32根引脚线、电源2根、时钟2根,这些引脚使用都比较简单,重点掌握4根控制线就可以了。这么一来,学生就会觉得几个控制线的使用绝对不难,学习单片机的兴趣就建立起来了。图1单片机芯片结构图另外在对单片机的结构理解后,应整合教材内容,使教学过程更具有逻辑性和连贯性。根据学生已学课程和本门课程教学所要达到的目的,合理地调整授课的顺序,可以帮助学生理解、促进对知识的消化。比如单片机结构与指令系统是学习单片机的最重要的基础,在这部分的学习过程中,可以将一些指令系统结合硬件部分一起进行授课,可以将汇编语言调整到前面讲授,既可以加强学生的理解又可以节省部分学时,用一些简单的程序来举例说明如何控制硬件,提高学生对硬件编程的理解。又如在单片机接口扩展的教学中,因为学生已经对总线有了一定的理解和认识,在这儿就可以引入三总线来学习接口扩展,强调接口扩展电路的设计就是这三类总线的连接。通过对教学内容和授课顺序的改变,使学生建立起整体的概念,分析并引导学生掌握课程内容的内在关联性,而不是把一本书、一堂课从头讲到尾。
3.3用浅显易懂的比喻帮助学生理解枯燥难懂的概念
学生认为单片机学习太抽象,尤其是存储器单元的数据和地址。因为数据和地址都是用二进制表示,什么时候是地址什么时候是数据学生普遍反映理解不了。在教学中用学生都熟悉的学生宿舍为例,把宿舍号理解为地址,宿舍里住的学生理解为数据。同时在后面字节单元和位地址的教学中,这个例子同样适用。比如说宿舍里每张床都有编号,想找全宿舍的人就用字节单元(宿舍号),想找某个人就用位地址(床号),其示意图如图2所示。这样不仅完成了教学任务,而且提高了教学趣味性。
4.塑造良好的学习方法和习惯,培养学生创新实践能力
4.1拓宽教学方法和教学手段,提高学生实践动手能力
要培养学生调查研究的习惯,掌握查阅资料和有关标准、工具书或参考书的能力,尤其是上网收集资料的能力,能够合理选择设计方案,并能以图纸和说明书表达设计的思想和结果。教师可以将制作的教学课件、本课程的相关学习资料挂在网上,供学生学习时参考,还可在网上通过QQ群进行交流,利用网络提高学生学习的兴趣。初学者可以先掌握单片机运行和开发的一些基本技巧,然后在项目中深入学习和掌握单片机,达到学以致用的目的。不能等把所有的.知识都掌握了后再去运用,这既不可能也不可取。让学生“边学边干”,而不是在理论学习的最后才进行实验。
4.2引导学生形成良好的学习观念,培养学生的创新能力
讲课的主体是传授知识,但着眼点却是培养学生的自学、分析、创新、应用等能力。让学生养成严谨的科学态度和适合自己特点的学习方法,如何听课、笔记、自学、小结等。总之,在课堂上,教师应该教会学生怎样学习、怎样思考,注重把所讲知识用相应的思维方法组织起来,鼓励学生发表自己的见解。告诉学生,学习是发现知识的过程,而不是简单的获取结果。这种教学方法让学生带着问题去学,不仅可以提高学生的学习兴趣,更重要的是培养了他们发现问题、分析问题、解决问题的意识和能力。比如应用程序的教学是单片机课程的重点和难点,这部分内容就是加大学时,无论教师讲得多详细、学生当时听得多懂,一到用时就又不明白。究其原因,就是少了学生自己独立思考这个重要环节。讲解应用程序时,先让学生自己思考,然后进行讲解讨论。正是在这种不断讨论和分析问题的过程中,学生的独立思考能力得到了培养和锻炼,推动了创造性思维活动。同时选拔学生参与一些科研项目,培养学生的科研能力和创新能力。
4.3改革考核方法,加强动手能力要求
有什么样的考核方式必然会有什么样的教学和学习方法。由于该课程知识点多、概念抽象、硬件难于理解、软件设计困难等特点,使传统的闭卷考核方式只能在一定程度上考查学生对知识点的记忆能力,而对学生的思维能力、分析能力、创新能力、动手能力等都难于考查[6]。因此,应改革考核方式方法,采用闭卷、论文、设计制作相结合的多样化考核方式。要求学生学会动手查阅并消化资料,将课堂上学到的理论知识、查阅到的资料以及其他相关专业的知识联系到一起,系统的来考虑问题。同时指导学生如何利用图书馆数据库进行资料检索和期刊查阅,如何进行论文报告的书写等,这对培养学生的思维能力、分析能力、动手能力、创造能力以及后续课程的学习都有很大的帮助。由于本课程具有应用性强、实践性强的特点,对学生的动手能力要求比较高,所以,通过设计制作考查学生的动手能力,也可作为期末考核的一部分,这样既完成了教学任务,又锻炼、培养了学生综合能力,同时为学有余力的学生提供广阔的创新空间。
5.结论
针对我院机械类专业专业的特点和学生的就业趋势,就单片机课程的教学从教师的教学思路和方法、学生的学习方法和习惯等方面提出了一些方案和措施,以提高教学质量,培养学生的培养学生创新实践能力,对提高学生的学习积极性、分析问题和解决问题的能力、动手能力以及创新能力都有很好的作用和效果。
篇7:高职单片机课程教学改革研究
高职单片机课程教学改革研究
在<单片机原理及应用>的教学中,如何解决教师难教、学生难学的问题,探索出一条具有高职特色的专业课程建设之路,一直是广大单片机教师颇感兴趣的`课题.文章结合教学实践与理论思考,阐述了本课程教学改革的思路、做法及成效.
作 者:刘金平黄琼琼 朱伯聪 LIU Jin-ping HUANG Qiong-qiong ZHU Bocong 作者单位:福建电力职业技术学院,福建,泉州,36 刊 名:电脑知识与技术 英文刊名:COMPUTER KNOWLEDGE AND TECHNOLOGY 年,卷(期): 5(12) 分类号:G642 关键词:单片机 项目教学 实践能力 教学模式 改革篇8:单片机原理课程作业题及答案
单片机原理课程作业题及答案
一、判断题(在题后的括号内打√或×):
1. 单片机根据数据总线宽度的不同,可以分为4位机、8位机、16位机、32位机。(√ )
2. MCS-51系列单片机分为三大字系列:51子系列、52子系列和53子系列。(× )
3. 一般在计算机中,对于正数,最高位规定为“0”;对于负数,最高位规定为“1”。( √ )
4. MCS-51的特殊功能寄存器分布在60H~80H地址范围内。 ( × )
5. P2口既可以作为I/O使用,又可以作地址/数据复用口使用。( √ )
6. 按指令执行时间分,可分为1周期、2周期、3周期指令。( × )
7. 定时/计数器共有5种工作方式,由TMOD中M1M0的状态决定。( × )
8. 异步通信的数据或字符是分为一帧一帧地传送,用一个起始位表示字符的开始,用停止位表示字符的结束。(√)
9. MOV 20H , R1 (√ )
10. SUB A,R2 ( × )
二、单选题(请选择正确答案填写在括号中)
1. 所谓CPU是指( A )。
(A)运算器和控制器
(C)输入输出设备 (B)运算器和存储器 (D)控制器和存储器
2. 10101.101B转换成十进制数是( D )。
(A)46.625 (B)23.625 (C) 23.62 (D) 21.625
3. 能够用紫外光擦除ROM中程序的只读存储器称为( C )。
(A)掩膜ROM (B)PROM (C)EPROM (D)EEPROM
4. 若某存储器芯片地址线为12根,那么它的存储容量为( B )。
(A)1KB (B) 2KB (C)4KB (D)8KB
5. PC中存放的是( A )。
(A)下一条指令的地址 (B)当前正在执行的指令
(C)当前正在执行指令的地址 (D)下一条要执行的指令
6. 8031单片机的( D )口的引脚,还具有外中断、串行通信等第二功能。
(A)P0 (B)P1 (C) P2 (D) P3
7. 8031单片机中既可位寻址又可字节寻址的单元是( A )。
(A)20H (B)30H (C) 00H (D) 70H
8. 寻址空间为外部数据存储器所用的指令是:( A )
(A) MOVX (B)MOV (C) MOVC (D) ADDC
9. 下列指令中不影响标志位CY的指令有( D )。
(A)ADD A,20H (B)CLR (C) RRC A (D) INC A
10. MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。
(A)外部中断0 (B)外部中断1 (C)定时器0中断 (D)定时器1中断
三、简答题
1. 简述单片机的主要特点。
答:单片机是将微型计算机的运算部件和逻辑控制部件集成在一个芯片上的集成电路,主要应用于工业控制领域,面对的是测控对象,突出的是控制功能,它的特点是功耗低,控制功能强,扩展灵活,微型化,使用方便,性价比高
2. 从功能上、工艺上、程序存储器的配置上看,MCS-51单片机有哪些种类? 答:MCS-51系列单片机分为51系列及52系列,51系列是基本型产品,52系列是增强型产品,片内RAM,计数器数量及中断数量由于51系列,这两个系列又按片内是否包含ROM,ROM的类型,制作工艺的不同各分有多个型号。
3. 简述累加器的.ACC的作用。
答:累加器Acc是80C51系列单片机中最常用的寄存器,所有的运算类指令都要使用它。累加器在指令中的助记符为A,自身带有全零标志Z,该标志常用作程序分支转移的判断条件。
4. 什么叫堆栈?堆栈指示器SP的作用是什么?
答: 所谓堆栈是指用户在单片机的内RAM中构造出的一个区域,用于暂存一些特殊数据,这个
区域存放数据需符合“先进后出,后进先出”的原则。利用堆栈可以简化数据读写的操作,SP在存放数据时会先自动加1,取出数据后会自动减1,SP始终指向堆栈最顶部的数据地址。
5. MCS-51单片机的P0~P3口在结构上有何不同?
答:MCS-51单片机的P0~P3口都包含锁存器结构,P0,P2包含多路开关MUX。P1,P3不包含MUX。P0包含两个场效应管V1,V2 。P1,P2,P3只有一个场效应管V1,场 效 应管V2改成了上拉电阻R,P3口的每个脚通过与,非门的结构都具备第二功能。P0口的驱动能力是8个LSTTL门电路,其它3口的驱动能力是4个LSTTL门电路。
6. 简述下列基本概念:指令、指令系统、程序、汇编语言指令。
答:指令:指示计算机执行某种操作的命令。 指令系统:指一台计算机所具有的全部指令的集合。程序:各种指令的有序组合。汇编语言指令:用助记符形式书写的指令,汇编语言指令由操作码和操作数两部分组成。
7. MCS-51单片机有哪几种寻址方式?
答:MCS-5单片机有寻址方式有七种,分别是立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。
8. 简述寄存器间接寻址方式及其寻址范围。
答:寄存器中存放的是操作数的地址,即操作数的地址通过寄存器得到,MCS-51单片机规定工作寄存器的R0、R1、DPTR、SP作为间接寻址寄存器,它的寻址范围是片内RAM低128字节,片外RAM。
9.MCS-51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?
答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口。
10. 并行数据通信与串行数据通信各有什么特点?分别适用于什么场合?
答:基本的通信方式有两种:a.并行方式,数据的各位同时传送;b.串行方式,数据一位一位顺序传送, 并行通信通过并行输入/输出接口进行,数据有多少位就要有同样数量的传送线。并行通信的优点是处理速度快,缺点是传输线多。因此并行传输适用于近距离传输、处理速度快的场合。串行通信借助于串行输入/输出接口实现,只要一条传输线。故串行通信节省传送线,特别是当位数多和长距离传送时,这个优点就更为突出。
篇9:单片机课程的学习总结
单片机课程的学习总结
人的一生是一个不断学习、不断成长的过程。转眼间,研究生的学习生涯结束了,走上新的工作岗位。回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。
在最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。那时候老师只教会了我们汇编语言,根本不知道用c语言也可以进行单片机开发。幸运的是,我加入了单片机兴趣小组,在老师的指导下,做了一系列实验,有“基于ds18b20的温度采集系统”、“有基于164的移位寄存器的灯光控制系统”、“有步进电机和直流电机的控制系统”。这时候我才发现,这是学习单片机的一个最好途径——在实践中领悟理论,用理论指导实践。在上课的整整一个学期中,虽然老师讲得很详细,但是大部分概念都是到了实际动手做东西的时候才弄明白的。而且在经历了迷惑之后再搞清楚,印象就特别深刻。直到现在我对那些概念和接口都非常清晰。其实我也很庆幸学习和使用了两年多的汇编语言。由于有这些锻炼,我对单片机底层结构和接口时序就弄得很清楚。在使用c语言开发的时候,优化代码和处理中断也就不会太费劲。我觉得,虽然现在绝大部分单片机开发都使用c语言,甚至有些公司还推出了图形化编程的工具,这样对于项目的开展从时间上快了很多,在管理上也规范了不少,但是从学习和想深入掌握单片机精髓的角度来说,还是需要熟练掌握汇编语言的使用。
机会总是青睐于有准备的人。也许有了前面一段时间的理论和实践的积累,我才慢慢得到了一些参加科技竞赛和参与科研项目的机会。在参加第一届浙江省机械设计竞赛的时候,我们设计的由多单片机系统协调控制的“月球车”机器人夺得了唯一的一个特等奖。这个竞赛给我最大的收获是我对单片机的认识改变了,它不再仅仅是一门学科了,它是一个可以让你的创意得到充分发挥的平台。后来参与了“基于视频分划技术的钢卷尺自动切零位机”、“电能表涡杠涡轮啮合深度检测系统”、“基于公共电话网的水表集抄数据路由器”、“高精度电感微位移测量系统”等一些实际的项目。在这些过程中,我发现只是精通单片机技术还不能很好的解决问题。体会最深的是,单片机只有融合到各种应用领域中,才能展现它的最大活力。然而单片机仅仅是一个工具而已,要做好单片机系统还需要各种应用领域的专业知识的支持。例如,在“基于视频分划技术的钢卷尺自动切零位机”中,就需要搞清楚全电视信号的时序,弄明白钢卷尺切零位机的工作原理,懂得怎么利用叠加在视频信号中的横竖线来进行刻度的瞄准等。没有这些专业知识,就算单片机技术再厉害也不可能做好这个项目。脱离应用背景的单片机开发,就像一个没有灵魂的躯体一样。
随着arm的出现,我曾经认为,8位单片机可能在32位单片机的冲击下就此走进历史,可是很快就认识到我是错误的。随着技术的`革新和时间的推移,各大单片机公司纷纷将单片机朝着片上系统这个方向发展,集成了现在各种流行的技术和常用的模块。我相信,在当前国内和国外的这个市场中,8位单片机应用的市场仍然是充满生机,活力无限。在市场的不断变化和技术的不断更新过程中,8位单片机也会顺应潮流不断革新。
从我五年走过的路来看,单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,可以分为三个阶段。
第一阶段:掌握开发单片机的必备基础知识。首先是熟练掌握单片机的基本原理,其实各家各门的单片机其基本结构和原理都差不多,特别是共有的知识需要好好理解和掌握。例如,内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。除此之外,我们还需要具备模拟电子、数字电子、c语言程序开发知识以及原理图和pcb设计等一些技能。在进行系统开发的时候,进行原理设计、pcb布板、程序编写、系统联调这些工作都是在所难免的。
第二阶段:在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机的独有技术,学不了那么多也要多了解了解。同时尽可能多地掌握单片机的一些外围器件和常用电路,以备不时之需。有时候客户要求低成本,那我们只好选用合钛、义隆、华邦等这类芯片;如果客户要求工业级的性能,那么我们就得从pic、nec、飞思卡尔、nxp等这些欧美和日式单片机中选择;若要进行功耗的开发,选用msp430系列应该有一定优势;在进行测量仪器设计的时候,c8051和aduc842这类数模混合芯片就显得比较方便。所以说最好每个类型的单片机都会一两款,在实际项目选型中可以更加灵活。另外,要注意平时的技术积累。比如,在项目开发过程中将一些常用的接口程序和控制算法整理成模块或者函数,在其他的项目开发中,有同样或者接近的需求时马上就可以使用,又快又好。
第三阶段:在实际的项目开发过程中,不断深化单片机应用技术,不断积累应用行业的专业知识。例如,我完成了“高精度电感微位移测量系统”,就会对电感传感器的测量机理和信号特性、测量电路的设计、电磁兼容处理、误差修正和非线性处理等测控方面的专业技术有很深的认识。以后碰到类似的项目时,很多东西就可以直接利用了。有了扎实的单片机应用相关的基础知识,并且熟悉掌握了几款不同类型单片机的开发方法,再结合实际的应用背景,那么就可以随心所欲,设计出性能最优、结构最合理的单片机应用系统。这是我最大的奋斗目标,我觉得这也应该是单片机应用的最高境界吧。
在这五年的学习中,有感慨、有遗憾、有憧憬、有希望,更重要的是我对单片机应用这个领域充满热情。由于才疏学浅、涉世未深,希望能与行业里的各位老师多多交流,不断学习,不断成长。
单片机的课程学习总结[篇2]
51单片机学习总结:
一、什么是单片机?
在一片集成电路芯片上集成微处理器、存储器、i/o接口电路,从而构成了单芯片微型计算机,即单片机。intel公司推出了mcs-51系列单片机:集成8位cpu、4k字节rom、128字节ram、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64k,并有控制功能较强的布尔处理器。
二、单片机的作用:
(1)用到单片机的项目经验介绍;
(2)手持粮库温度寻检设备;
(3)毕设答辩打分器;
(4)电话台灯;
(5)自动感应水龙头;
(6)凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选
择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80c51,arm等;
(7)工业自动化:数据采集、测控技术;
(8)智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等;
(9)消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、ic卡、汽车电
子设备等;
(10)通讯方面:调制解调器、程控交换技术、手机、小灵通等;
(11)武器装备:飞机、军舰、导弹、航天飞机、鱼雷制导、智能武器等;
三、学习单片机之前预备知识
(1)数字电路中只有两种电平:高和低;
定义单片机为ttl电平:
高+5v低0v
(2)rs232电平:计算机的串口:
高-12v低+12v
所以计算机与单片机之间通讯时需要加电平转换芯片;
(3)进制转换与逻辑、算术运算;
(4)c语言基础;
(5)80c51了解;
80c51是mcs-51系列中的一个典型品种;其它厂商以8051为基核开发出的cmos工艺单片机产品统称为80c51系列。
(6)
总线(bus)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是cpu内部之间的连线。外部总线是指cpu与其它部件之间的连线。外部总线有三种:数据总线db(databus),地址总线ab(addressbus)和控制总线cb(controlbus)。
(7)
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。
(8)C51数据存储类型
例:
数据类型变量名
charvar1;
bitflags;
unsignedcharvextor[10];
intwwww;
注意:变量名不能用C语言中的关键字表示。
(9)包含的头文件(可以在安装目录下INC目录下查看)
通常有:reg51.hreg52.hmath.hctype.hstdio.hstdlib.habsacc.h
常用有:reg51.hreg52.h
(定义特殊功能寄存器和位寄存器);
math.h(定义常用数学运算);
(10)中断服务程序的格式
函数名interruptnusingm
{
函数内部实现….
}
(11)I/O口定义
sbitbeep=P2^3;
(12)单片机的基本时序
机器周期和指令周期
振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。
状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。
指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个
或几个机器周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令。
四、学习单片机目标
最小系统能够运行起来的必要条件:
(1)电源2.晶振3.复位电路
对单片机任意IO口的随意操作:
(1)输出控制电平高低2.输入检测电平高低。
定时器:重点掌握最常用的方式2
中断:外部中断、定时器中断、串口中断
串口通信:单片机之间、单片机与计算机间
/***********************************/分享一个单片机技术
/***********************************/
分类收录的、优秀的电子技术网站现在越来越受电子技术爱好者青睐,但也有些电子技术爱好者愁于找不到一些优秀的电子技术网站来辅助学习与工作设计。因此,现在我将一位高级电子工程师归纳总结的电子行业技术网站、电子工程师必备网站汇总、整理;其包括单片机、dsp、嵌入式、Plc、开关电源技术、通信技术、eda/pld可编程逻辑技术、电子技术论坛等等,这样或许会对我们这些电子技术爱好者有莫大的帮助吧!电子世家网址导航:---电子技术工程师的上网主页!
篇10:单片机焊接心得体会
这学期开始接触单片机,老师就开始要求我们焊接单片机下载器,以此来提高我们对单片机的理解与熟悉程度,这也能最大程度的提高我们队单片机的兴趣和最快让我们融入单片机的海洋中。
单片机下载器是学习单片机的必要器件,其主要零件都由很小的贴片元件组成,配以几个大的插件,因此通过焊接单片机下载器的学习,我大致掌握了小的贴片电容、电阻和插件元件的焊接,但贴片芯片的焊接仍需多练习。
话说贴片真心小啊,我瞪大了眼睛才能看清,而且在焊的过程中,掉了好几次原件,费了好大的功夫找到。
这让我深切体会到焊贴片真是一个细心活啊,特别是对于理工男,那真是锻炼耐心和细心地大好机会啊。
对于芯片,真是暴走来了。
引脚那叫一个纤细,密密麻麻,一上场亮瞎了我有木有啊。
对于视频教程上的松香法,我只能说,这是一个传说。
我怎么吸都吸不掉啊,坑爹啊。
我又买了一块芯片,觉得还是老老实实一个一个点焊比较实际。
有了第一次的经验,加上我无比耐心,终于弄好了。
激动啊,奔走相告啊,差点买烟花庆祝了。
这次焊接单片机下载器,真的是苦尽甘来啊,让我对单片机产生了浓郁的兴趣,我也深刻体会到,自己学的还不够,一定要多买些电板来焊一焊,提高自己的动手能力。
篇11:单片机焊接心得体会
在上个学期学校举办电子设计竞赛,在比赛过程看过一些郭天祥的单片机教程,然后在这个学期真正的理论。
通过上课理论与实践相互结合,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
在平时上课中由于时间有限和本身知识水平的限制,有时做某些作业时,花上很多时间才能完成!但是在完成后,成功的喜悦充斥着。
在课上,我认识到计算机有运算器,计算器,控制器,输入输出设备组成。
之前都是利用开发板,进行程序的仿真。
现在不断利用软件仿真,但两者的作用是一样。
在仿真过程中,总是会碰到程序出错的时候,只好苦思冥想,反复比对程序,在不断修改后,总会成功。
在第一次是点亮led灯来熟悉,keil软件的使用和试验箱上器材。
第一次实验体现了一个人对新事物的接受能力和敏感度。
虽然之前做过许多种实验。
但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。
在做实验中,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。
在与同学讨论,换种思路,换种方法,把问题给吃透。
发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。
依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。
于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。
但是编程是一件很严肃的事情,容不得半点错误。
在错误中不断摸索中前行。
篇12:单片机学习心得体会
最近自己对单片机个性的感兴趣,因为看到它能控制电机的转动,自己觉得很神奇,就想弄清楚它到底是怎样做到的?
我看到书上讲:单片机能够用两种语言编写,一种是C语言,另外一种是汇编语言。汇编语言是一种机器语言,且代码繁琐,不易记忆。需要掌握单片机的内部结构和逻辑结构,透过看了几本书让我了解认识到汇编确实太繁琐,但是我学习过C语言,也参加了全国计算机二级考试,觉得自己在一方面具有优势,能很快学好它。
但是在学习中,我才发现学习单片机不仅仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎样和电脑相连都不明白,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。
时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。
俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目,其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。
虽然这次的课程设计算起来在实验室的时间只有三天,但是因为我们都有自己的实验板,所以在宿舍里做实验的时间必须不止三天。
硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。
当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对就应是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。
篇13:单片机课程设计心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
本次课程设计持续了一个多月的时间,它主要是培养我们通过把所学的理论知识应用于实践,并且这一次课程设计采用的万用板搭建电路,想要焊接出来的电路板看起来整洁美观,我们便需要从全局入手,要有全局统筹局部的思维,这样才能更快捷设计出整齐美观的电路板。
刚开始时,由于自己的专业基础不足,对课题设计有一些恐惧。刚开始只是对照电路图一个个元件进行焊接,没有对整个电路结构进行布局。有经验的同学提醒我,如果继续这样下去,最后有些电路根本无法焊接上去。有了这种意识之后,我立即决定停止焊接,在同学的帮助下开始对整个电路图进行合理的排列,根据不同的电路部分的不同的特殊要求来安排位置,以达到最佳。最优的效果。在进行焊接的过程中慢慢的对此次课程越来越感兴趣。
然而在用程序对硬件进行调试的时候却出现了一些问题。整体焊接完毕后还是不能实现功能,通过一步一步的测量调试,检查出多处漏焊、虚焊的现象,修改后还是有很多的问题,用万用表不断的测试也找不到问题所在,而且用尽了各种方法检查了很久之后,任然没有有这样一个想法,但是没有做出来心里实在是很不甘心,因此我还是向基础扎实,经验丰富的同学请教,鼓励自己做下去。在他们的帮助下,发现有的电线上的绝缘胶皮由于焊接时,温度过热有部分破损,导致部分短路。一些残留的锡使得有些键盘与键盘之间连接了起来,却又很难被发现。经过多次修改和调整后,终于能基本实现功能。
问题得以圆满的解决,课题设计圆满结束,在此过程学到的细心,坚持不懈,不畏困难将使我受益终身。这其中除了自己的努力,更多的是感谢我们的课题设计老师段正华教授的帮助。由于对电路原理的不熟,对汇编语言的不精通我对课程设计很惧怕,但是段正华教授一方面在理论课上教育我们要对自己有信心,要争做一流的学者,并很详细很专业的为我们讲解了本次课程设计的理论知识,让我对此有了宏观上了解,并能够掌握这些理论知识,为以后的实际操作提供了坚实的基础。另一方面在实际操作时,也给我们很多技术上的指导,让我们能在此过程中,学到更多的操作技能。
接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是非常的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮助我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点焊接。大家都鼓励我,即使最后出不来东西,但是一定要坚持把它做完。当我想放弃的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你一定要拿出来一件成品。
在要验收前,终于做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后应该还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西现在记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,A/D转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑在这个过程中又发现了以前焊接当中出的一些问题,能改的就改,不能改的,咳,要是时间再多一些,或者我能早点做好,要是不只是我一个人动手……算了吧,不要想那些如果,还是准备我自己的,做好我现在能做的吧。
最后,我发现自己对单片机竟然也有了一点兴趣,想暑假回家以后自己去买一些东西来做,再补一补汇编语言。有什么问题请教下以前的那些老同学好了,他们好厉害,在高中劳动课就成功的做出过调频收音机,大一暑假的时候参加了学校的电子竞赛培训接着比赛,不过后来怎么样我就不知道了。汗。看来要多保持联络,这次回家就好好找他们叙叙旧。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PnP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和老师再次表示忠心的感谢!
篇14: 单片机课程设计心得体会
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,能够说得是苦多于甜,但是能够学到很多很多的的东西,同时不仅仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
透过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手潜力和独立思考的潜力。在设计的过程中遇到问题,能够说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PnP管脚不懂怎样放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……透过这次课程设计之后,必须把以前所学过的知识重新温故。
这次课程设计最后顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,最后游逆而解。同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮忙的所有同学和各位指导老师再次表示忠心的感谢!
篇15:单片机论文心得体会
随着大规模集成电路的出现及其发展,将计算机的CPU 、RAM 、ROM 、定时/数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机 。
单片机是微型计算机应用技术的一个重要分支,近年来在工业智能仪器仪表、光机电设备、自动检测、信息处理、家电等的得到广泛应用和迅速发展。
单片机是自动地进行运算和控制,把实现计算和控制的步骤一步步地用命令的形式,即一条条指令预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行,得到你要的东西。
这学期在老师的带领下,我从对单片机一无所知的到现在终于有点了解,这期间虽然没有在这方面下很大的功夫,但是也学到了一点知识,从点亮一个灯,到流水灯再到数码管的显示以及后面独立按键。
这都是我以前无法想象的。
单片机这门课是一科非常重视动手实践的科目,不能总是看书,但是也不能完全不看书。
单片机并不象传统的数字电路或模拟电路那样比较直观,原因是除了“硬件”之外还存在一个“软件”的因素。
正是这个“软件”的原因使得许多初学者怎么也弄不懂单片机的工作过程,怎么也不明白为什么将几个数送来送去就能让数码管显示一串字符或控制一个电机的变速。
对初学单片机的人来说,需要从书中大概了解一下单片机的各个功能寄存器,如果看的多了反而容易搞乱,现在市场上大多数讲单片机的书一开始就讲解较复杂的内存、地址、存储器什么的,更让初学者感到不知所云、难以入门。
如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,能够产生什么实际效果,那么也许用不了几天就会觉得枯燥乏味而半途而废。
简单的说,使用单片机实际上就是用我们自己编写的软件去控制单片机的各个功能寄存器。
再简单些,就是控制单片机哪些引脚的电平什么时候输出高电平,什么时候输出低电平。
由这些高低变化的电平控制外围电路,实现我们需要的各个功能。
学习单片机首先用到c语言,提到C语言源文件,大家都不会陌生。
因为我们平常写的程序代码几乎都在这个XX.C文件里面。
编译器也是以此文件来进行编译并生成相应的目标文件。
作为模块化编程的组成基础,我们所要实现的所有功能的源代码均在这个文件里。
理想的模块化应该可以看成是一个黑盒子。
即我们只关心模块提供的功能,而不管模块内部的实现细节。
在大规模程序开发中,一个程序由很多个模块组成,很可能,这些模块的编写任务被分配到不同的人。
而你在编写这个模块的时候很可能就需要利用到别人写好的模块的借口,这个时候我们关心的是,它的模块实现了什么样的接口,我该如何去调用,至于模块内部是如何组织的,对于我而言,无需过多关注。
而追求接口的单一性,把不需要的细节尽可能对外部屏蔽起来,正是我们所需要注意的地方。
谈及到模块化编程,必然会涉及到多文件编译,也就是工程编译。
在这样的一个系统中,往往会有多个C文件,而且每个C文件的作用不尽相同。
在我们的C文件中,由于需要对外提供接口,因此必须有一些函数或者是变量提供给外部其它文件进行调用。
假设我们有一个LCD.C文件,其提供最基本的LCD的驱动函数 。
在当前位置输出一个字符 而在我们的另外一个文件中需要调用此函数,那么我们该如何做呢? 头文件的作用正是在此。
可以称其为一份接口描述文件。
其文件内部不应该包含任何实质性的函数代码。
我们可以把这个头文件理解成为一份说明书,说明的内容就是我们的模块对外提供的接口函数或者是接口变量。
同时该文件也包含了一些很重要的宏定义以及一些结构体的信息,离开了这些信息,很可能就无法正常使用接口函数或者是接口变量。
但是总的原则是:不该让外界知道的信息就不应该出现在头文件里,而外界调用模块内接口函数或者是接口变量所必须的信息就一定要出现在头文件里,否则,外界就无法正确的调用我们提供的接口功能。
因而为了让外部函数或者文件调用我们提供的接口功能,就必须包含我们提供的这个接口描述文件----即头文件。
同时,我们自身模块也需要包含这份模块头文件(因为其包含了模块源文件中所需要的宏定义或者是结构体,好比我们平常所用的文件都是一式三份一样,模块本身也需要包含这个头文件。
接着我学习到了中断系统。
中断装置和中断处理程序统称为中断系统。
中断即单片机在执行某一段程序的过程中,由于单片机系统内部或者外部的某种原因,有必要中止原程序的执行,而去执行相应的处理程序,待处理结束后,再返回来继续执行原程序的过程。
中断处理过程分为中断请求、中断响应、中断处理和中断返回。
中断使单片机对外部或内部随机发生的事件具有实时处理的能力。
大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。
①接收中断请求。
②查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。
③中断优先权选择。
④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。
接着,中断部件根据中断级去指定相应的主存单元,并把被中断的'指令地址和处理机当前的主要状态信息存放在此单元中。
⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。
⑥执行中断控制程序和相应的中断服务程序。
⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。
接着又了解了定时器。
定时/计数器是单片机的一个重要组成部分,为设计者提供了与时间有关的功能的实现方法。
定时、计数是同一个部件不同功能的体现:定时,是对单片机内部系统时钟作用下产生的固定时间间隔的脉冲进行计数来实现定时;计数,是对单片机外部引脚上触发的脉冲进行计数。
HT46R232 有两个定时/计数器(TMR0,TMR1)。
定时/计数器0 是16 位向上计数的,其时钟来源可以是外部信号输入或内部时钟,内部时钟为fSYS。
定时/计数器1 是16 位向上计数的,其时钟来源可以是外部信号输入或内部时钟,内部时钟为fSYS/4。
定时器有几种工作模式。
1、定时模式(即普通的定时器)用来定时固定的时间间隔,当定时器溢出时,产生一个内部中断信号。
写入TMR0L(TMR1L)只能将数据写到低字节缓冲器(8 位) ,而写入TMR0H(TMR1H)会把指定数据和低字节缓冲器的数据分别写到TMR0H(TMR1H)和TMR0L(TMR1L)预置寄存器中,定时/计数器0/1 预置寄存器的内容只有在写入TMR0H(TMR1H)时才会被改变。
读取TMR0H(TMR1H)会把TMR0H(TMR1)的内容送至目标单元,而TMR0L(TMR1L)的值被送至低字节缓冲器中;读TMR0L(TMR1L)将读取低字节缓冲器的值。
无论是定时模式还是外部事件计数模式,一旦开始计数,定时/计数器会从寄存器当前值向上计到0FFFFH。
一旦发生溢出,定时/计数器会从预置寄存器中重新加载初值,并开始计数;同时置位中断请求标志。
T0ON/T1ON只能用指令清除。
在定时/计数器停止计数时,写数据到定时/计数器的预置寄存器中,同时会将该数据写入到定时/计数器。
但如果在定时/计数器运行时这么做,数据只能写入到预置寄存器中,直到发生溢出时才会将数据从预置寄存器加载到定时/计数器寄存器。
读取定时/计数器时,计数会被停止,以避免发生错误;计数停止会导致计数错误。
2、外部事件计数模式,测量外部引脚的逻辑电平改变的次数。
3、脉冲宽度测量模式,一次测量一个外部引脚的脉冲宽度。
后来还学习了A/D转换。
即将模拟量转换为数字量。
首先将输入的模拟电压信号按照某一时间节拍进行采样,并将采样结果进行保持,在保持的时间内将采样的电压量化为数字量,并按一定的编码形式给出转换结果。
HOLTEK MCU的A/D转换器采用的是逐次逼近式A/D转换方式。
逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成。
基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。
逐次逼近法转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为 Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的 Vo再与Vi比较,若Vo重复此过程,直至逼近寄存器最低位。
转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数字量的输出。
逐次逼近的操作过程是在一个控制电路的控制下进行的。
接着又学到了PWM输出,脉宽调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
简而言之,PWM是一种对模拟信号电平进行数字编码的的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。
电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。
让信号保持为数字形式可将噪声影响降到最小。
噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
HT46R232(28脚封装)有2个通道(6+2)/(7+1)位的PWM输出(由掩膜选项决定),与PD0/PD1共用引脚。
PWM 计数器的时钟来源为系统时钟(fSYS),由数据寄存器PWM0(1AH)、PWM1(1BH) 来控制输出。
一旦PD0/PD1选择为PWM 输出,并且PD0/PD1为输出模式(PDC.0/PDC.1=“0”),则向PD0/PD1 寄存器写“1”能够产生PWM 输出,向PD0/PD1 寄存器写“0”会使PD0 输出保持为“0”。
通过这一学期的学习,从面临的问题的模糊认识到最后能够对该问题有深刻的认识,我体会到实践对于学习的重要性,以前只是知道一点很表面、很狭隘的知识,没有经过实践考察,对知识的理解不够明确,通过这次从网上找这方面的材料、科研论文,本文由论文联盟www.LWlm.cOM收集整理,以及仿照编程,真正体会到单片机的无穷魅力与博大精深。
要做好一个完整的事情,需要有系统的思维方式和方法,对待要解决的问题,要耐心、要善于运用已有的资源,以及主动搜集资料来解决问题、从而深化学习、充实自己。
同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样才能更加有效。
篇16:51单片机心得体会
首先总体上谈一谈看法:
1、我从不说51是基础,如果我这么说,也请把这句话理解为微机原理是基础。
2、对51单片机的操作本质上就是对寄存器的操作,对其他单片机也是如此。
库只是一个接口,方便使用者使用而已。
3、汇编语言在工作中很少用到,了解就好。
4、51的P0口很特别。
5、C语言就是C语言,51单片机就是51单片机,算法就是算法,外围电路就是外围电路,传感器就是传感器,通信器件就是通信器件,电路图就是电路图,PCB图就是PCB图,仿真就是仿真。
当你以后再也不使用51了,C语言的知识还在,算法的知识还在,搭建单片机的最小系统的技能还在,传感器和通信器件的使用方法还在,还会画电路图和PCB图,当然也会仿真。
6、51单片机是这个:
而不是这个:
7、当程序调试不如人意的时候,静下心来好好查资料,51单片机最大的好处就是网上资料非常多,你遇到的问题别人肯定也遇到过。
作为学习者,问人可能更方便点,但一直这样是培养不出解决问题的能力的。
接下来上点干货:
首先要放清51的定位,跟我一起再念一遍:51只是个工具51只是个工具51只是个工具。
当然51还有一个地位就是大学生单片机启蒙教程。
换句话说:单片机只是个工具单片机只是个工具单片机只是个工具。
然后什么是基础:模电数电微机原理,然后熟练翻阅数据手册,可以试着做一些模块或者最小系统练练手,C语言其实也可以算工具吧,就单片机来说,作为必要条件也算作基础吧。
再然后是要尽早搞明白自己的专业方向或者自己准备发展的方向,然后不同方向又有不同的专业基础,你学测控,就需要各种传感器、控制原理、理论、算法//买测量模块用不叫测控啊喂;你学信号处理,就需要信号与系统、数字信号处理基础,然后慢慢接触DSP、FPGA//信号处理真的不是result=(AD+0.5)/4096*3.3啊喂;你想做嵌入式开发,就慢慢研究ARM的架构,跑一些实时系统甚至高端ARM跑Linux开发驱动或应用;你要是想做通信,每天晚上拜一拜香农好了,这茬貌似挺苦的,什么通信原理编码论电磁场blablabla……
总之51/单片机可以实现很多事情,但这不是一定说51重要,而是你如何利用51。
哦对了,当你使用更高级的芯片的时候,很多底层的东西慢慢可以忽略了,甚至很多芯片厂商都会提供库给你,你可以安心的专注于自己的算法而不是如何去控制单片机。
当然你最好还是要有一个芯片怎么通过寄存器及各种逻辑电路工作的概念。
还有说一下你大学课余生活的选择、首先那种机器人实验室或者学生领导的实验室,适合打比赛刷奖状、长期下来你的模数电技能能有很大的锻炼,甚至你可以收货一些专利,而且学生之间气氛也还不错。
另外一种就是找个导师跟着学习、帮忙、做项目,尽管最开始可能感觉导师分配给你的任务怎么都和单片机无关啊好无聊,但是你能在某个领域收获不一样的技术。
当然前提是你要喜欢导师的研究方向了,一般院网站都有或者去知网看这个老师发表的论文。
谈谈我的经历吧。
1、一个没有C基础的的我,从师兄老师那打听到学51从郭天祥的视频开始,所以我就下载了全套来看。
刚开始看真是头都晕了,点亮一个LED灯还可以,到了第二课的延时函数就吃不消了,可以说我耐力差吧,没有坚持,可以说我没恒心吧,不是真正想学东西的人,当时的我没有把它放心上,只是看了4课而已,其实对里面的程序不太理解的,于是就停下来不学了。
到了大二下学期,我发现要学点技术,所以重抄旧业,学期单片机,然后再重第1课开始看起,结果发现以前不明白的东西现在豁然开朗。
我写这经历是想说,如果当时我坚持下去,不懂的地方看多几遍,不懂再看再看,就不会浪费大半年的时间了。
有些知识理论靠时间的积累,第一遍看不懂,第二遍看不懂,第三遍可能就懂一点了,刚开始上手一件事是会遇到类似的情况的。
2、当我学了1个月后,学校里有个比赛,团队需要一个人搞硬件,于是我自己提出搞硬件,为什么?因为在学单片机的过程中发现,自己只会跑程序,连原理图都不怎么会看,单片机的接线我都是看开发板提供的资料来接的,很狗血吧。
于是我就开始接触Altium Designer了,这是我这学期学的第二个软件。
是看视频入门的,刚开始看的是郭天祥的视频,结果发现看不下去啊,太长太累了,看完一集好痛苦啊,于是我搜搜,结果发现一个很好的教学视频,用的也是比较新的版本,叫《边学边玩Altium Designer》 四人行工作室开的。
我真的提感谢作者这种开源的精神的,对我们初学者帮助很大。
跟着他的视频学习1个月,会画出51最小系统,基本布线,不过我觉得还是不够(当然不够啦,你才学了一个月……)
3、在学Altium Designer的过程中涉及到电路分析,也就是我们现在学的《电子电路基础》,于是爱折腾的我开始捣鼓起Multisim 12.0,这是一款电路模拟仿真的软件。
跟着老师学挺慢的,但是教材又高深了一点,比如说分析放大电路,稳压电源,教材上的东西大多列出公式,对于零基础学习的.朋友是挺苦逼的,而且老师也是赶鸭子式,讲考试内容。
这里建议大家买一本书《电子设计零基础》第二版,这本书是我在图书馆偶然发现的,但从此就迷恋上了他。
刚开始他不会介绍一大堆公式,以一个例子开始教学,一步一步教你认识元器件(这里对学PCB是有帮助的),然后从电路图的一步分开始分析,接着分析怎么系统,书本结合Multisim 仿真,教你一步一步使用里面的控件。
写到这里自己总结下:
对于1:学单片机最重要的是
1.先认识单片机,了解单片机的主要组成和各个管脚的定义及功;推荐书《单片机原理及其接口技术》胡汉才(很熟悉吧。
呵呵这就是我们大学的单片机教材啊!!经典中的经典啊!基础中的基础啊!!人家几十年的教材没有变是有道理的,原理这种东西不会变到哪里去的。
不用专门去看,当作了解,对你理解编程是很有帮助的。)
2.了解一些单片机汇编知识,方便后续调试;这本书《单片机原理及其接口技术》里面就是讲汇编的,一举两得。
3.掌握单片机中断机制;
4.掌握单片机定时和计数器;(3和4是对单片机内部寄存器的控制,要熟练掌握。
那些外部拓展功能大多都基于这些内部控制)
5.掌握单片机的串口通信。
以上是对想从事单片机学习的人必须掌握的基本内容。
对于2、3:2、3可以在一起讲,这是硬件部分的。
Altium Designer主要学原理图库设计,PCB库设计,布线。
没入门的朋友看下视频,不要求什么都会画,起码要会用人家的库,把人家的库移植过来自己用,这样可以快速上手这个软件。
到后来再慢慢完善自己不熟悉的地方,这在里一直头疼我的就是封装的问题,当时我连封装是什么都不懂,自己看视频查了资料,才慢慢有点认识。
篇17:单片机编程心得体会
1. 无论什么时候我们都要以实际应用的角度去考虑程序的编写。
2. 无论什么时候都不要让CPU白白浪费等待,尤其是延时(超过1MS)这样的地方。
3.设计相应驱动电路时候,应该仔细阅读芯片的数据手册,了解每个引脚的驱动能力,以及整个芯片的驱动能力。
4.最重要的是,如何去释放CPU(如果是led每500ms闪烁一次,那么可以设置1ms为基准,定时器定时1ms后,进入相应操作使计数加1,判断达到500时,进入led,这些函数执行的时间是相当短的,如果主程序中还有其他函数,则CPU会顺次往下执行,对于其它函数(有的话)也要采取相同的措施,保证其不堵塞CPU,若全部基于这种方法执行,我们的小系统依旧可以保证多个任务(多个函数)同时进行,系统的实时性得到了一定的保证。
),这是写出合格程序的基础。
5.数码管显示,动态显示的亮度比静态显示要差一点,所以在限流电阻时应略小于静态显示电路中,动态扫描显示刷新频率最好大于50HZ,即每显示一轮的时间不超过20ms,每个数码管显示的时间不能太长也不能太短,时间太长会影响刷新率,导致总体显示呈现闪烁的现象,时间太短发光二级管的电流导通时间也就短,会影响总体的显示亮度,一般控制在1ms左右最佳。
6.模块化编程,初学单片机的'时候(开始是C语言),是接触一些芯片实现独立的功能,如DS1302,DS18B20等,程序也不会很大,所以所有的程序都放在一个文件里面。
随着学习的逐步深入,程序也愈来愈大,这给调试带来了一定的困难,后来了解了模块化编程这个概念,运用之后大大地改善了程序的可读性和可移植性。
下面简单的介绍
C语言源文件*.c 稍微比较大的设计都会涉及到众多模块,我们可以被各自独立的模块封装到不同的*.c源文件中,该文件中定义模块函数,申明部分一般不放入
C语言头文件*.h 把各个模块的的申明文件(说模块的接口比较合适),放在相应的*.h头文件中,相应的模块对应相应的.h头文件.形如
#ifndef __DS1302_H__
#define __DS1302_H__
/*模块ds1302.c文件中函数等的申明文件*/
#endif
//上面几个条件编译和宏定义是为了防止重复包含
这样我们就把各个模块的接口函数都引出到各自的头文件中,然后在主程序中调用这些模块的*.h头文件即可。
这点和C++中的类很像。
在数据类型定义的时候,有时候用typedef会取得很好的效果。
说到模块化编程,以前曾看过不少大虾的例子,他们的源文件和输出下载文件是放在项目文件夹下地不同文件夹中,如源文件放在src文件夹中,输出*.hex放在output文件夹中,这样整个项目就更显得清晰明了。
7.多任务程序,这个概念在前面也有提到,就是充分地利用CPU来实现多任务的前后台操作,相当于自己用程序构造一个基于前后台的多任务操作系统,换句话说就是通过定时器中断合理地分配CPU资源来响应不同的任务。
多个任务需要CPU关照的频度不一样,我们选择最快的那个频度来作为定时器的节拍(通常为最小公倍数,这样方便定时器分配),然后通过定时器分频,即满足各个任务的响应节拍。
比如任务A频度为50HZ,任务B为40HZ,这样我们就可以去定时器中断节拍为200HZ,每个任务设定一个节拍控制计数器C,当C计数4次时,任务切换到A,计数到5次切换B……
void Time
...
篇18:单片机培训心得体会
单片机作为一种最简单的软件,与我们的日常生活息息相关,了解一些单片机程序的简单录入是费城必要的。
如:LED显示器、键盘和显示器的应用和原理。
在被刺实训中我们每个人通过一个八位流水灯的制作,使我们深深地体会到了单片机在现实生活中的小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。
更让我们体会到了单片机手动的开始平台的完善与成熟。
只要你有想法,单片机就有可能让他成为现实。
这里我学习完protues软件后的第一感觉是,虽然这软件工作不稳定,但是会有相当不错的效果出来。
这对我以后的工作一定会有帮助的。
在这次试训中不仅只对单片机编程有了新的认识,还对整个单片机的开发平台都有了一厅的了解,这是一笔不错的收获。
通过这几天的试训,使我的感触很深,真实“条条大路通罗马”,要达到目的,不同的人就有不同的方法。
只要你的方法不错!五花八门都可以,而且是各有特色。
走出来的结果都有各自的独到之处。
在编程中“简”字贯穿于整个程序设计中,越简单越好,毕竟单片机留给用户的资源是有限的,所以我们要充分利用这些资源,达到更好的效果,这些是我们在以后的学习生活中应值得注意的地方。
在试训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。
感觉很欣慰,有一丝丝的甜意,几天的实训使自己的思维逻辑也有了小小的进步。
★ 课程设计报告
★ 单片机实习报告
【单片机课程心得体会(精选18篇)】相关文章:
教学实验心得体会2023-02-11
课程设计报告心得体会2022-05-04
课程设计模板2023-07-18
实验室实习心得体会2022-09-21
电力电子课程设计总结2022-12-05
课程设计个人心得体会2022-05-07
单片机综合实习报告2022-12-29
《单片机课程教学改革与学生应用能力的培养的研究》论文2022-12-26
单片机的实习报告2023-09-02
学期课程设计心得体会2022-05-20