学习单片机心得体会(共13篇)
1.学习单片机心得体会 篇一
单片机学习心得
时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机课程也结束,但通过这次单片机的学习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
当今社会随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。
刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。通过学习才大体知道了单片机的一些知识。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。由中央处理器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仿真器,有兴趣的朋友可关注一下。有了单片机教程板以后,先看下指导说明书,熟悉一下学习板,开卷有益。以后就得靠自己多练习了,将学习板与电脑连接好,先学会开发软件的使用,然后从最简单的流水灯实验做起,按照你自己的意愿控制流水灯,当你完成时,你会发现这是多么惬意的事情。太好玩了,你会觉得这不是在学习,而是在玩,当你发现,单片机能够按照你编写的程序工作时,你会觉得非常兴奋,比做什么事情都开心,这样你会慢慢迷上单片机,真的。不少网站上说搞定某个实验,就恭维的告诉你一声”恭喜你,学会了”自己学会了单片机,这有点可笑,这只能说明你算过关了,对单片机有了一定了解和会使用它了。但是单片机能完成的功能太多了,尤其是对外围器件的控制,综合起来能设计出许多意想不到的产品.因此除了入门外,精通可千万别轻易说出口。最后,在熟练掌握和应用后,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计开发各种课题,不断的积累经验。最终,自己完全设计具有个人风格的课题,产品,这样你就是单片机高手拉。只要过了第一关,后面的路就好走多了,万事开头难,这大家可能都听过。
有时候单片机的学习很单调,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行调试,通过这种方式才能更快速的学习单片机。要坚定自己的学习信心,在付出持之以恒的努力,我相信自己能进一步加深对单片机的了解,在单片机的学习道路上走得更远!
2.学习单片机心得体会 篇二
随着微电子技术和计算机技术的飞速发展, 单片机的应用已经渗透到人类生活的各个方面。无论是尖端科技, 如军事、通信、能源、机器人、交通、IT, 还是现代工业、农业、仪器仪表、汽车电子系统、家用电器、玩具及个人信息终端等各个领域, 都离不开单片机, 成为了电子系统智能化的最普遍的应用手段。因此“单片机原理及应用”课程也成为各高校工科专业的一门重要专业基础必修课程。其目的是培养这类学生掌握单片机的结构、原理等硬件特性及汇编语言、指令, 并做到两者融会贯通。通过对单片机理论、系统设计方法的学习, 增强工程应用实践能力, 培养学生分析问题和解决问题的能力。
目前培养适应新世纪社会发展需要的高素质创新人才, 已成为高等教育发展的重要趋势。作为高校工科专业的基础必修课, 单片机教学就必须以提高学生的动手能力和创新能力为核心目的。单片机课程是一门理论性、技术性和实践性都很强的课程, 对学生提出了比较高的要求, 不仅要能够融合电子电路、微型原理及程序设计等相关知识, 还要具有实际动手能力。因此, 如何通过理论和实验教学使得学生更快的掌握单片机;如何通过改善单片机的理论和实验教学的内容和方法, 充分调动学生学习的积极性, 进一步发挥他们的主观能动性和创造性, 这成为了任课老师思考的重点。
1 单片机教学现状
传统的单片机教法, 总是先将单片机的基本内部结构和工作原理讲完, 然后学生开始做实验。在学理论知识时没有相应的实践配合, 使学生产生枯燥无味感, 加上单片机这门课程比较抽象, 学生在刚开始接触的时候很难入门。任课老师深感教学难度大, 学生普遍觉得此课程难以理解, 学完后, 印象不深刻, 不能举一反三, 过后遗忘。学生的学习兴趣随着课程的枯燥也随之递减。出现上述问题的主要原因在于该课程抽象复杂, 具有软、硬件相结合的特点, 而且实验学时偏少等原因, 学生学完后, 不具备灵活应用所学知识的能力, 学生单片机综合实践技能的能力很难提高。
那么, 改变现状的方法仅有改变原有的教学模式和方法, 变抽象为形象、化复杂为直观。
2 单片机技能培训的必要性
单片机技能培训是在系统学习单片机课程之前指导学生了解单片机的基本知识和应用, 提高学生对该课程的认识, 培养学生对该课程的兴趣, 并且在有限的一个半星期的集中培训时间里通过老师的讲解、演示和指导, 使得学生对单片机有一定的主观、直观认识和实践动手机会, 能对单片机的基本指令、编程、调试和应用有一定的掌握, 这将为学生今后系统学习单片机课程奠定了基础, 也将使得单片机学习不再枯燥无味。
2.1 实验设备
实验室配备的单片机软件开发平台是Keil u Vision。Keil u Vision开发平台由于支持C语言开发、提供良好的集成环境、支持厂商众多等因素得到了广泛的应用, 成为时下开发单片机应用系统的有力工具。在教学内容上, 除讲解单片机汇编语言的基本知识, 还应该以Keil u Vision为开发平台, 讲解C51的开发流程。让学生既掌握汇编指令, 又熟悉C51的开发方式, 今后在面对实际系统时, 能够做到发挥两者各自的优势, 高效地完成开发过程。这对今后学生学习该课程及其他相关知识打下基础。
另外, 老师对单片机实验板的演示让学生对单片机的应用有一定主观和直观认识, 激发学生的学习兴趣, 促进学生对知识的渴望。例如:实验室里AT89S5x单片机试验开发板设计了LED循环灯、数码管、单脉冲发生器等实验, 学生通过自己的动手操作这些实验项目, 初学者很快被其吸引, 使得学生对单片机的认识从无到有, 从好奇到学习, 从学习到掌握, 在学生的脑子里迅速形成概念, 这样学生的积极主动性加强了。一旦学生的学习积极主动性被调动起来, 那么在下面的学习中将是带着问题和兴趣积极的投身于此。
2.2 单片机技能培训的教学方法
单片机技能培训对老师而言具有一定的挑战性, 这不仅要求老师对单片机的知识和应用了如指掌, 对知识融会贯通, 而且要求老师在有限的较短时间内达到培训目的。那么在单片机技能培训的教学方法上就应该大做文章, 在培训期间不是单一的理论或者实验教学, 而是两者合二为一, 只有这样才能达到更好效果。
2.2.1 理论和实验教学有机结合
单片机课程本身是一门很有趣的课程, 有很多东西都与实际生活相关, 很容易激发学生的学习兴趣。那么怎样做才能使得在很短的时间内让学生有所了解并且掌握相关基本知识?这就需要老师在讲一些比较抽象的知识时, 能通俗易懂, 多举例说明, 通过Keil u Vision开发平台的功能把知识点串起来, 那么学生理解起来会更容易些。比如说, 对于片内RAM和片外RAM数据传递, 这需要不同指令才能完成, 例如:
指令执行的过程应该是将立即数30H传送到片内RAM的34H地址单元内, 通过累加器A和R1的间接寻址将数据30H传送到片外RAM的52H单元中。结果为 (A) =30H, (R1) =52H, 片内RAM中的 (34H) =30H, 片外RAM中的 (52H) =30H。
上述指令虽然很简单, 但是对于初学者来说, 这将很容易出错。如果老师仅仅就把指令讲解完毕, 举两个例子说明, 这将是很枯燥无味的, 虽然学生听明白了为什么要这样做, 这样做有什么样的结果, 但是还是一头雾水, 有点懵懵懂懂。但是, 如果利用Keil u Vision开发平台的程序演示, 学生就能有一个很清楚的认识, 从片内的数据通过指令运行后传送到了片外的具体的地址单元里, 在相应的地址单元里学生会看到结果: (A) =30H, (R1) =52H, 片内RAM中的 (34H) =30H, 片外RAM中的 (52H) =30H, 这样直观的接触对理解起到很好的帮助, 并且可以单步执行每条指令, 学生会更清楚每条指令的实际意义和运行结果。而且老师可以在Keil u Vision开发平台演示写指令的过程中说明注意事项, 写出错误指令后的应对方法等等具体细节, 这对提高学生排除故障能力和开发创新能力有重要意义。那么学生有了具体操作和直观认识后, 对指令的学习和Keil u Vision开发平台的操作有了进一步具体的掌握。
在很短的时间内能对单片机有所了解和领悟, 这对学生而言是一个不小的进步, 也使得学生很有成就感, 这就更加激发了他们的学习积极主动性和创新性, 而不是仅仅局限于会分析看懂程序上, 而是希望通过自己编程, 达到成功。一旦自己编程调试成功, 这种喜悦和成就感就不言而喻了, 这也促使他们对学习新知识和掌握更多知识的渴望。当然在培训期间, 由于时间有限, 不可能把所有的知识都面面俱到, 那么感兴趣的学生就可以自学相关内容, 这不仅提高了学生的自学能力, 也为他们接触单片机和进一步了解提供了更长的时间, 为今后的学习工作打下坚实的基础。
2.2.2 引入竞争机制, 分组比赛
单片机技能培训虽然时间短, 但是时间很集中, 连续全天的上课对学生而言也是比较枯燥和乏味的。如何让学生充分利用时间, 调动学生的学习积极性, 在每天的上课时间里有更多的收获?我想引入竞争, 把学生分组, 通过比赛完成学习内容不失一个好方法。
把学生5-6人分为一组, 每组一位组长, 这样就可以通过每组完成学习任务的先后顺序给各组打分, 结果将直接带入最终成绩, 这对激发学生的学习积极性和发扬团队精神起到很好作用。在授课过程中, 讲解到一定程度, 老师布置给学生任务, 在有限的时间内每组上交答案, 具体事项由组长负责。由于学生的集体荣誉感很强, 谁也不服输, 出现你追我赶的现象, 整个课堂气氛活跃, 学生学习热情高涨。在学生完成任务期间, 老师可以诱导学生如何思考问题和解决问题, 帮助他们避免不必要的错误, 及时解答学生提出的问题, 这样学生在此期间既可以学习新知识又可以巩固所学知识, 同时, 学生之间的交流也会让学习变得生动起来。例如:用多种方法将片内RAM34H单元和36H单元中的内容互换。一般有四种方法:直接地址传送法, 间接地址传送法, 字节交换传送法和堆栈传送法。这个任务要求学生能正确应用所学指令, 并且要灵活应用不同功能的指令。鼓励学生相互之间讨论, 引发新的思维碰撞, 一题多解, 激发学生的创新意识。这在很大程度上对学生掌握知识和应用知识起到帮助, 比老师在黑板上一直讲效果要好得多, 学生也乐意动脑筋, 彼此之间相互讨论研究, 就连平时不爱学习的学生都变得积极爱学了。整体效果非常不错。
2.2.3 充分利用多媒体和网络
老师上课使用多媒体教学能让学生更快掌握知识和软件操作, 内容更加直观和形象, 学生也更容易接受, 不会觉得枯燥乏味。在学生完成任务期间, 除了利用课本查找知识解决问题及老师的帮助外, 当然也可以借助网络的强大功能, 有什么问题上网“搜”一下, 这样既可以解决问题, 也让学生更加开阔眼界, 学习他人思考问题和解决问题的方法。通过一系列的学习过程, 对学生而言将是受益无穷的。
3 结束语
3.浅谈单片机几点教学心得 篇三
关键词单片机;教学;心得
中图分类号G4文献标识码A文章编号1673-9671-(2010)022-0105-01
单片机是一种微型的计算机,麻雀虽小,但是它五脏俱全。它微小的体积,强大的功能,成为现代电子产品设计中最常用的芯片之一。其应用领域之广,几乎到了无孔不入的地步。在航天航空,国防军事,尖端武器,仪器仪表,通信设备,智能化家电,工业自动化控制等,都用到了单片机。单片机从根本上改变了之前传统的设计思想和方法,取代了之前采用硬件电路实现的大部分控制功能。单片机课程是许多高校里面的電子、自动控制、计算机等工科专业的一门重要应用性课程。
1单片机教学的现状
1.1单片机课程自身特点的影响
单片机是一门理论与实践紧密结合的综合应用型课程。它的综合性,体现在单片机设计师不仅仅要求对单片机的硬件结构,编程语言要非常熟悉,还要求对模拟电路,数字电路,传感器等要熟悉。单片机课程的抽象性使学生在开始学习它的时候,主观上已经形成一种恐惧心理。这种恐惧心理可能会严重影响到学生今后的学习兴趣。
1.2单片机的传统教学模式
传统的教学模式都是上一次理论课,再上一次实验课。如果教学计划中该门课程学时数比较少的话,可能会上几次理论课后,再上一次实验课。理论课和实验课都是独立开设的。在教材的编写上,基本都是先讲单片机硬件的基础知识,再讲指令系统和汇编语言程序设计,然后就是单片机接口,综合应用等等。作为教材,这样的编排顺序是合理的。但作为老师的讲授,如果完全跟着教材走,是不合适的。
2单片机教学的几点心得
针对该门课程以上现状,笔者从几方面进行了教学改革,经过 几年的教学实践,起到了一定的效果。总结起来为八个字,即“厚书薄教,薄书学厚”。
单片机是一门综合应用型课程,学习单片机的内部硬件结构和编程方法,只是个根本。要作为一名合格的单片机设计师,还需要具备其它方面的能力,比如:电子技术应用能力,传感器应用能力,电路设计能力,编程能力,元器件应用能力等。所以在教学上,只教学生“吃鱼”的能力还是不够的,还应该教会学生“捕鱼”的能力。需要确立以学生为中心的实践教学理念,突出“能力为本”的思想,打破“学科为本”的模式。教师作为主体,体现教学的主导性;学生作为主体,体现学习过程中的主动性。
2.1“教”,要“薄”教
单片机与多门学科都有着紧密联系。这样一门综合性强的应用型学科,老师如何才是“薄”教呢?总结为一句话,就是要让学生学得轻松。
1)与学生接触的第一次课非常的重要,要让学生上完第一次课后就喜欢上这门课。做到这点其实并不难,本人简单给学生讲完单片机的历史和应用领域后,拿出之前指导学生做过的一些作品出来,比如声控小车,时控自动浇花器,温度控制系统,自动防盗报警器等。这些作品都是从生活中来,运用到生活中去的。为了给学生演示一个最简单的报警系统是如何做出来的,还准备好一个红外线传感器,一个喇叭,一个单片机实验板。现场给学生编写三条指令后,就可以完成这个作品的自动报警功能。能实现,只要有人从传感器前面经过,喇叭就立刻响。我这样做,传递了一个重要信息给学生:学好单片机后,不一定要开发什么大的产品,在我们生活中就可以应用单片机知识解决很多问题,而且实现起来并不复杂。
2)因为单片机内容的枯燥与抽象,所以在讲授的时候不是“深入浅出”,而是“浅入慢出”,并对项目驱动教学法,任务驱动教学法等多种教学方法灵活应用。传统的单片机教学方法,我们知道都是以知识结构作为一条主线。把单片机知识系统分成为硬件结构,指令系统,程序设计,单片机接口,综合应用等。在主线上的这一大串知识,如何才能让学生更加好的掌握呢?如果章节内容串行教学,讲完硬件结构,讲指令系统,接着讲程序设计,这样一步步往下进行着。最终结果是等不及老师讲到程序设计这章,学生已经下定决心,放弃单片机这门课程了。如果章节内容可以并行的教学,就能够起到很好的教学效果。把一个完整的项目划分成多个任务,把各个任务再具体分解成知识点。只要把知识点学好,合成就是一个任务,把任务都掌握好就组成了一个项目。
比如,在学生学习单片机的初期阶段,就可以把一个单片机I/O口控制八个发光二极管全亮1秒全灭1秒反复进行的程序拿来给学生演示,同时给出完整的电路图。接着添加任务,把按键控制的功能加上去,一按按键八灯就全亮全灭。再接着继续添加任务,用条件控制指令,控制亮灭的次数。就这样逐级把任务添加上去。老师在教授过程中,目标任务需要非常明确。在我们学院,学生学习单片机的条件比较优越,单片机理论课也安排在实验室上,理论课和实验课之间没有明确的界限,讲一个知识点就做一下试验,交叉进行。能保证到理论课与试验课学时分配一比一。从简单程序介入,然后再多次课堂上重复。我从第一次课开始,基本上每节课都讲到程序设计,每个程序都让学生做试验,每个试验都有让学生思考的地方。所以学生在学期中的时候,编程能力已经达到了一定的水平。如果按教材编写顺序每章节独立的讲授,此时才刚讲完指令系统,进入程序设计阶段,学生对程序设计就会感到非常陌生。
2.2“学”,要学“厚”
作为学生如何才算学厚呢?概括的讲,就是学生不仅仅要掌握单片机的书本知识,与其相关的多门学科也都要熟悉。动手能力还要强,这样找工作的时候才会有较强的竞争力。在如何让学生学“厚”上,笔者思考了很多,主要包括以下几点:
1)严格考勤。这不变成很被动了吗?其实这主要是防止学生旷课迟到多次后,导致知识的断链,后面的学习就会吃力,从而发展成恶性循环,最后只能放弃单片机的学习了。
2)鼓励学生动手实践。在开学一个月后布置课程设计题目,只要在本学期自己动手做个完整作品出来的同学,平时成绩都会高出许多。因为仅仅在课堂上学习的单片机知识是远远不够的,不实践,纸上谈兵无法学好这门课。实践不只是在试验箱上搭个电路,用模拟软件在计算机上模拟系统的运行过程,还应该鼓励学生做实物作品出来。我发现,有很多学习很好的学生,开始竟然做个单片机最小系统都很难成功,不是复位电路焊接错误,就是让EA引脚悬空了。但当他们做好一个小作品后,他们的成就感会非常的强,而且兴趣会让他们主动地做第二个作品出来,作品难度逐级提高。这些学生水到渠成的就会参加学院、省或者全国的大学生电子设计大赛。这些学生 “由点到面”,对身边的其他学生起到很好的带动作用,对学风建设也起到了不小的作用。毕业找工作的时候,这些学生都有作品拿去参加面试,公司企业的面试官一看到作品就可以直观地看到学生的各方面能力:电路设计能力,编程能力,传感器应用能力等。
总之,单片机的实用性,注定了想学好它就不能仅仅只停留在学习它的理论。单片机的综合性,注定了想学好它还需要有扎实的电路基础,良好的编程能力等等。因材施教,教育的对象不同,教学方法就要不同。但是只要能让学生提高单片机设计能力的教学方法,就是好的教学方法。
参考文献
4.单片机学习心得 篇四
机械10-23100644202张弼赫
摘 要:针对单片机应用日益广泛,并且对于机电一体化的应用具有现实意义,本文根据现实生活中单片机在机械行业中的应用,结合自己的专业特征对如何学好单片机进行探讨。关键词:单片机机械联系 重要性
Abstract: Based on MCU is applied more and more widely, and has practical significance for the application of electromechanical integration, application based on the real life in the machinery industry, combined with professional features of their own to discuss how to learn microcontroller.Keywords: microcontrollermachinelinkimportance
这学期我选修了单片机这门课,为什么要选修这门课程对我来说有如下几点理由:
(1)这门课程实用性比较强,因为上学期有一门《微机原理》必修课,在做实验时接触了微机试验箱,通过在电脑上编写程序让试验箱做出相应的动作比如流水灯。让我对程序编程产生了浓厚的兴趣,可以通过编写程序做一些有意思的实验。
(2)因为专业是机械设计制造及其自动化而我们很多课程安排都是有关于机械方面的,比如机械原理、机械设计、加工工艺等,而导致了对自动化方面的忽视,而单片机则
是自动化重要课程,因为在应用单片机时不仅要考虑程序如何编写,还要掌握数字电路和电子电工方面的知识,对机械学生来说挑战不小,因为电路知识一直被忽视,考过之后就没有再去想过,所以希望通过单片机的学习再巩固一下重要的电子电工的知识,并且这学期我们开了一门《工业电气控制技术》的必修课,这门课主要是讲工业上的电路和电气元件,在后几章中提到了可编程控制器也就是单片机的应用,发现通过在控制电路上应用单片机大大简化了设计上的难题,因为所有开关都是通过命令字符控制的,不用
为布线而烦恼,还可以进行模拟演示,调试方便简单成本低,可多次利用,这凸显出了单片机学习的重要性和我所学专业联系紧密。
(3)现在很多企业都在强调机电一体化,而说到“电”就必须学好单片机,即使没有学好也要对其有个了解,不至于工作以后连单片机长什么样都不知道,而且学好单片机对于我来说掌握好先进的专业技术知识、获得实用的职业技能、拓宽自己的就业面、增强就业竞争力具有重要的意义。
通过将近一个学期的学习我首先先简单介绍一下什么是单片机。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展
到现在的32位300M的高速单片机。现在随着科学技术的发展单片机在很多方面,通过网上查阅资料我从汽车、数控机床以及机器人三方面做一下介绍。
1.单片机在汽车中的应用
目前 在进口汽车和部分国产汽车上已广泛使用各种单片机控以及报警检测系统,涉及发动机控制、安全防护及车内环境等很多方面。如电脑防盗安全报警系统、燃油喷射系统、汽车导行定位系统、电子安全防滑系统及防抱死系统、电脑安全气囊系统、电脑控制悬架系统、汽车电子地图、电子自动行驶系统、汽车自诊断系统、电控制自动变速器、声音警告系统、车门控制系统、旅行指导 系统和微电脑空调系统等。
单点式燃油喷射系统:系统 组 成 如下:I/ 0 板、C P U 板、A / D 转换器、8 k R O M、2kE P R O M、2 5 6 kR A M、E C U。输人信 号有进气歧管绝对力、气压力、冷却水温、混合器温度、节流角度和电源电压等信号,经 A /D转换后送入计算机,最初的数字化输人信号包括分电器基准信号,点火开关、节流阀开关、空调 离合器电源开关 等信号。输出信号有喷射阀驱动信号,点火正时控制信号,废气再循环控制信号和怠速控信 号等。汽车不仅仅应用单片机,还促进单片机技术的发展,ZIC技术就是首先应用在德国某型轿车,随后得到广泛应用。
2.单片机在数控机床中的应用
数控车床又称为CNC(Computer Numerical)车床,即用计算机数字控制的车床。卧式车床是靠手工操作机床来完成各种切削加工,而数控车床是将编制好的加工程序输入到数控系统中,由数控系统通过车床X、Z坐标轴的伺服电动机去控制车床进给运动部件的动作顺序、移动量和进给速度,再配以主轴的转速和转向,便能加工出各种形状不同的轴类或盘类回转体零件。因此,数控车床是目前使用较为广泛的数控机床。
步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲
信号转化为角位移的电磁装置.步进电动机的向位移与输入脉冲个数成正比,在时间上与输入脉冲同步, 它的旋转是以固定的角度一步一步运行的。因此,只需控制输入脉冲的数量、频率及电动机绕阻通电顺序,便可获得所需的转速及转动方向.无脉冲输入时,在绕阻电源激励下,气隙磁场能使转子保持原有位置而处于自锁状态.步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
传统的步进控制器线路复杂,成本高,用单片机控制步进电机时,可由单片机硬件和软件代替上述步进控制器。不仅简化了线路,降低了成本,面且可靠性大大提高,并能根据系统需要灵活改变步进电机的控制方案,使用起来更为方便。步进电动机的驱动电路根据控制信号工作。在步进电动机的单片机控制中,控制信号由单片机产生。
3.单片机在机器人中的应用
机器人是电子技术和经典的机械学结合的产物。从应用环境出发可将机器人分为两大类:即工业机器人和特种机器人。按国际机
器人联合会的定义,所谓工业机器人是指用于制造环境下,具有自动控制的、可编程的、多用途的三轴以上的操作型机器人。而特种机器人则是除工业机器人之外的,用于非制造业并服务于人类的各种先进机器人。包括服务机器人、水下机器人、娱乐机器人、军用机器人、农业机器人、机器人化机器等。并把遥控机器人和上述特种机器人称为高级机器人,主要是指具有一定程度感知、思维及作业的机器人。
单片机技术作为自动控制技术的核心之一, 被广泛应用于工业控制、智能仪器、机电产品、家用电器等领域。随着微电子技术的迅速发展, 单片机功能也越来越强大,在机器人的设计中单片机技术、红外技术完成智能机器人控制系统设计的基础。智能机器人研究在当前机器人研究领域具有十分突出的地位, 其显著的特点是具有环境感知、判断决策、人机交互等功能。现在智能机器人系统主要实现了步行、跟踪、避障、步伐调整、语音、声控、液晶显示, 地面探测等功能。在遇到外界条件发生变化时, 该机器人将采取
不同的措施对待, 较好地表现出该机器人的思考能力。通过单片机来实现不同的工作。
总结
单片机课程是一门实用性很强的课程,也是机械制造及自动化专业一门重要的专业课,单片机已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹,单片机课程本身来说,它是一门涵盖广泛的知识点、内部逻辑结构复杂、系统性强的课程,这就我们有较高的抽象思维能力,要求我们能在掌握 51 系统硬件总体结构的基础上,理解各个部件之间的相互协调运作关系,并对各部分进行编程,这样才能从根本上掌握单片机的基本知识。作为一名机械的学生应该学好单片机,努力实现机电一体化,与本专业密切结合和注重实践环节,在今后实验过程中培养自己的动手能力和创新能力。
【参考文献】
[1]何立民.单片机高级教程应用与设计[M].北京航天航空大学出版社,2007.[2]李刚民.单片机原理及实用技术 [M].高等教育出版社,2008.[3]李全利.单片机原理及应用技术[M].北京:高等教育出版社,2004
5.单片机学习心得 篇五
我来说说我学单片机的一些收获吧,也给想学的人带给点意见,我的入门课程是学习了郭天祥的视频,《十天交你学会单片机》,的确还是不错的,大家能够在电驴上下载,当然十天的学习只是个入门,如果有开发板的话就跟着他的视频学习,没有的话能够用仿真实现一些功能,我用的是proteus。因为当时我的寝室中有已经学了两年的哥们,他给我讲了一下开发板的原理图,使我看那些连线不至于很乱,自己也就觉得清晰多了。还有一个学长,也是我的老乡,他给我后期的学习带给了很大的帮忙,他当时给我们上课,而我已经有了必须的基础了,所以就感觉个性顺。之后他把我带进了实验室,让我有了一个很好的学习环境,所以很快就掌握了单片机的基础知识。在那里我感谢他们给我的帮忙。
其实我觉得单片机入门是挺简单的,有必须的数电和模电知识后,再借一本讲单片机原理的书就很快上手了,在开始的时候,最好自己动手编程序,或者看着别人的程序,看懂之后再写一遍,尤其一些很简单的,流水灯,数码管,按键检测,中断应用等,当自己觉得这些都掌握的差不多时,就主要看别人的程序,给大家推荐一本好书,单片机C语言程序设计100例,个人感觉不错,里面有很多程序,程序能够在网上搜到。
此刻就能够做些东西了,开始学习能够焊单片机最小系统,在加上简单的流水灯,数码管,就是熟悉一下,之后就能够学习一下AutiumDisigner,自己设计东西,再做出来就OK了!
6.单片机学习心得2 篇六
在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会:
第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。
第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。
第三:程序不要只是看别人得,一定要自己写过才是自己的。开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。
第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。
7.学习单片机心得体会 篇七
计算机中的数制。数制是以表示数值所用的数字符号的个数来命名的, 并按一定进位规则进行计数的方法。有二进制、八进制、十进制、十六进制。
二进制 (Binary) 的数字符号为0、1, 基数为2, 进 (借) 位规则为逢二进一 (借一为二) , 区分符为B。八进制 (Octal) 的数字符号为0、1、2、3、4、5、6、7, 基数为8, 进 (借) 位规则为逢八进一 (借一为八) , 区分符为O。十进制 (Decimal) 的数字符号为0、1、2、3、4、5、6、7、8、9, 基数为10, 进 (借) 位规则为逢十进一 (借一为十) , 区分符为D或不加。十六进制 (Hexadecimal) 的数字符号为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F, 基数为16, 进 (借) 位规则为逢十六进一 (借一为十六) , 区分符为H。要熟练掌握各进制之间的转换。
R进制转换为十进制。在R进位计数中, 任意一个数值均可以表示为如下形式:
上述数值对应的十进制数 (设为S) 为:
十进制转换为二进制。整数部分的转换:除2取余, 至商为零;所得的余数倒序排列。小数部分的转换:乘2取整, 达到精度为止;乘积的整数部分顺序排列。
二进制和八进制间的转换。二进制转换为八进制:三位二进制取代一位八进制。八进制转换为二进制:一位八进制用三位二进制数代替。
二进制和十六进制之间的转换。二进制转换为十六进制:四位二进制取代一位十六进制。
十六进制转换为二进制:一位十六进制用四位二进制数代替。
位、字节和字。位 (bit、比特) :位是数据存储、传送的最小单位, 是指一位二进制数。通常所说的8位机一般是将二进制数每8位作为一个整体进行存储和传送的, 特殊情况下, 也允许按位进行操作。字节 (Byte) :字节是计算机中用来表示存储空间大小的最基本的容量单位。如计算机的内存容量、磁盘的容量等都是以字节为单位表示的。1个字节由8个二进制数位组成。字 (Word) :字长是字的长度, 是在同一时间中处理二进制数的位数, 它是计算机性能的重要标志。通常处理字长为8位数据的CPU叫8位CPU, 32位CPU就是在同一时间内处理字长为32位的二进制数据。
电平。电平指电压的高低。单片机中只有两种电平:高电平和低电平。如果所用的单片机的电源电压为+5v, 那么高电平为+5v。如果所用的单片机的电源电压为+3.3v, 那么高电平为+3.3v。单片机中的低电平为0v。如果, 单片机输出1, 其实就是某个管脚输出高电平。我们给某个管脚输入高电平, 就是向单片机输入了1。
数和码的区别。在计算机世界中, 一切都用二进制表示。数:是指事物的多少、数量关系。看到的和其真实意思一致。码:是用二进制表示文字、符号、指令及其他进制数。看到的和其真实意思不一致。比如张三的学号为13, “13”此时不是一个数, 而是一个码, 代表张三。生活中码的应用有电话号码、电报码、门牌号码, 都是码, 不是数。计算机中码的应用有指令码、ASCII码、BCD码。
计算机语言。计算机语言的种类总的来说可以分成机器语言、汇编语言、高级语言三大类。机器语言用机器指令 (0和1) 编写, 计算机能看懂并执行。汇编语言的指令采用了英文缩写的标识符, 比机器语言更容易识别和记忆。但其一般比较冗长、复杂、容易出错。高级语言是目前绝大多数编程者的选择, 和汇编语言相比, 它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工k k m ma Ra=+++Ra RR----- (43) 221作无关的细节, 例如使用堆栈、寄存器等, 这样就大大简化了程序中的指令。单片机常用的高级语言为C语言。
用接近人类习惯的自然语言和数学语言编写单片机程序, 人类适合, 但计算机看不懂, 那就需要编译和编译器。编译是指在应用源程序执行之前, 就将程序源代码“翻译”成目标代码 (机器语言) , 因此其目标程序可以脱离其语言环境独立执行, 使用比较方便、效率较高。单片机汇编语言和C语言都需要编译。
综上所述, 学好单片机还需要更多的努力和实践, 掌握以上几点知识, 使单片机学习入门变的容易了, 提高了学习者对单片机学习的兴趣。
参考文献
[1]刘守义.单片机应用技术[M].西安电子科技大学出版社.
[2]王迎旭.单片机原理与应用[M].机械工业出版社.
8.单片机c语言学习心得转载 篇八
(一)相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚,更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机(Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已!
首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机,但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候,我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出,或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看我的单片机书和资料。当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似,编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲的全是C方面的,完全在浪费你的时间!呵呵 ^_^
第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使你每天捧着本书,把那本书翻烂,也永远学不会单片机的!刚接触单片机的朋友,看了资料,一定会对以下几个词见的比较多,但是具体的概念还是比较模糊,现作如下说明:
(1)编程器编程器是用来烧单片机芯片的,是把HEX或者BIN文件烧到单片机ROM里的。
(2)实验板实验板是专为初学者根据某些要求而特做的板,一般上面就有一个单片机的最小系统,使用者只需写好程序,烧好芯片,放到上面加以验证的这么一个工具。有了实验板,对与初学者来说,省去了焊个最小系统的麻烦。但是对于电子开发人员来说,作用并不是很大
(3)仿真器仿真器是直接把HEX或者BIN文件暂时放在一个芯片里,再通过这个芯片的引脚连接到实验板或者系统上工作。这样以来,可以省去了来回插拔芯片带来的不必要麻烦。
我一开始也不知道上面3个的概念和作用,嘿嘿,原本想买个实验板(不想焊板,因为不可能为了点亮几个流水灯,而去焊个单片机的最小系统)的,可是结果,确和我想的正好相反,人家出售的是编程器。等货物寄到后,才知道自己搞错了!汗。。嘿嘿。现在想想实在是又气又笑。我花了160大样买了个编程器(很不幸的是,这个编程器更本用不了,一烧芯片,芯片就烧坏了)把我给气的,这个编程器,现在还躺在我的抽屉里呢不过,现在想想,唯一让我觉得欣慰的是,那个老板每次能解答我的问题,连那种超级幼稚的问题,他也能不嫌麻烦地尽量帮我解答!这点让我很感动!
第三,想学单片机的必需品--PC。因为写程序,编译或者是仿真都是通过PC完成的。如果没有PC,什么也做不了!!有了PC最好还要可以上网,因为如果你没有可以和你交流单片机的人,遇到自己解决不了的问题,一直都想不通,那么估计你学习单片机的热情就会随着时间的推移而慢慢耗尽。如果你能上网通过论坛或者QQ群,问题就很快得到解决。这样的学习效率一定很高!真正的高手是从论坛中泡出来的!
有了上述3个条件后,你就可以开始学你的单片机了。但是,真的做起来并没有我所说的那么简单。你一定会遇到很多很多的问题。比如为了让单片机实现某个功能,你可能不知道怎么去写某个程序。或是你看懂了资料上某个相似的程序,你自己却写不出来。遇到类似的情况,记住:千万不要急噪,就行!
(二)说了这么多了,相信你也看了很多资料了,手头应该也有必备的工具了吧!(不要忘了上面讲过几个条件的哦)。那个单片机究竟有什么功能和作用呢?先不要着急!接下来让我们点亮一个LED(搞电子的应该知道LED是什么吧^_^)我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机上接上最少的外围电路元件让单片机工作。一般只须连接晶体、VCC、GND、RST即可,一般情况下,AT89C51的31脚须接高电平。
#include
//在Keil安装文件夹中,找到相应的文件,比较一下便知!sbit P1_0 = P1 ^ 0;
void main(void)
{
while(1)
{
P1_0 = 0;//低电平有效,如果把LED反过来接那么就是高电平有效}
}
就那么简单,我们就把接在单片机P1_0上的LED点亮了,当然LED是低电平,才能点亮。因为我们把LED的正通过电阻接至VCC。
P1_0 = 0;类似与C语言中的赋值语句,即把 0 赋给单片机的P1_0引脚,让它输出相应的电平。那么这样就能达到了我们预先的要求了。while(1)语句只是让单片机工作在死循环状态,即一直输出低电平。如果我们要试着点亮其他的LED,也类似上述语句。这里就不再讲了。
点亮了几个LED后,是不是让我们联想到了繁华的街区上流动的彩灯。我们是不是也可以让几个LED依次按顺序亮呢?答案是肯定的!其实显示的原理很简单,就是让一个LED灭后,另一个立即亮,依次轮流下去。假设我们有8个LED分别接在P1口的8个引脚上。硬件连接,在P1_1--P1_7上再接7个LED即可。例程如下:
#include
sbit P1_0 = P1 ^ 0;
sbit P1_1 = P1 ^ 1;
sbit P1_2 = P1 ^ 2;
sbit P1_3 = P1 ^ 3;
sbit P1_4 = P1 ^ 4;
sbit P1_5 = P1 ^ 5;
sbit P1_6 = P1 ^ 6;
sbit P1_7 = P1 ^ 7;
void Delay(unsigned char a)
{
unsigned char i;
while(--a!= 0)
{
for(i = 0;i < 125;i++);//一个;表示空语句,CPU空转。
}//i 从0加到125,CPU大概就耗时1毫秒}
void main(void)
{
while(1)
{
P1_0 = 0;
Delay(250);
P1_0 = 1;
P1_1 = 0;
Delay(250);
P1_1 = 1;
P1_2 = 0;
Delay(250);
P1_2 = 1;
P1_3 = 0;
Delay(250);
P1_3 = 1;
P1_4 = 0;
Delay(250);
P1_4 = 1;
P1_5 = 0;
Delay(250);
P1_5 = 1;
P1_6 = 0;
Delay(250);
P1_6 = 1;
P1_7 = 0;
Delay(250);
P1_7 = 1;
}
}
9.单片机学习感想 篇九
培训完后我想起来一句话:师傅领进门,修行在个人。大部分时间我都是在自己编程,然后改错,下到单片机里运行一遍遍的调试。万事开头难,程序咋看也看不出错误,调上一上午都不一定能调出来。看着那些英文字母,直到头晕也不知道哪出错了,真是有点失望无助。一旦调出来了,就有胜利感,也就觉得不是那么难。仅仅是数码管显示数字,虽然显示数字,可不清晰,余辉太亮,知道与扫描速度有关,需要一点点的调时间,调完时间还不行,偶然间发现和先送断码还是先送位码有关,事实与理想与理想有差距啊。
培训的不单是单片机,还有学习一个新东西的能力,培养的是探索新事物的耐心,收获的不仅是知识还有恍然大悟时的美感。看您教我们一个新的芯片,我知道以后遇到没见过的芯片先看说明书,就是手册,看完后就知道咋回事了。
以前不知道啥是单片机,听老师说有流水灯玩,就觉得挺好玩,不用机械式开关,就能使LED一个接一个的亮很神奇。现在学的只是如何使用,可对内部电路不懂,如何实现的呢?单片机内部怎样运行程序?电压怎样变化?我感觉知道的太少!
10.学习单片机心得体会 篇十
1 自主学习交互式网络平台需求分析
单片机及接口技术课程是一门面向应用、技术性和实践性极强的课程, 以培养学生熟练掌握单片机硬件和编程以及开发单片机应用系统为目标。因此, 所构建的自主学习交互式网络平台不仅要求一些资源共享等必备栏目, 更重要的是, 通过使用该网络平台, 引领学生开展自主学习、探究学习, 激发学生的学习热情, 促进学生和教师之间的教学互动, 强调将无形的教学理念和方法融入到有形的教学资源中。在这种思想引导下, 该网络平台应当注重以下几个原则:
(1) 围绕教学主题, 丰富教学资源。
该网络平台的一个重要功能就是辅助课堂教学, 作为课堂教学的补充[4]。因此, 应当建立详细的课程相关教学资源, 如课程简介、师资队伍、教学大纲、授课计划、电子课件、实验指导、考核方案、习题与参考文献、资料下载等教学资源, 使得学生可以通过该网络平台获取到该课程相关的教学资源。
(2) 强化辅助教学功能。
通过建立在线学习、在线自测、在线考试、新技术跟踪等功能模块, 通过多种现代教育技术手段, 从多角度激发学生的自主学习的热情, 引导学生主动探究式学习, 把枯燥的书本知识和实际应用结合起来, 将知识融会贯通。
(3) 增强网络平台的互动功能。
建立在线交流模块, 通过留言板和论坛, 便于师生、生生之间的交流和沟通[5];通过系统公告功能, 也能够帮助教师对课程实施过程化管理, 改变了传统教学手段单一的教学模式。
综合以上对课程及系统的分析, 该网络平台的构建应当具有良好的界面管理, 遵循简单易用性原则、实用性原则以及可靠性原则。下面, 对该自主学习交互网络平台进行详细介绍。
2 网络平台功能设计与实现
单片机及接口技术课程自主学习交互网络平台按照用户角色可以分为管理员、教师、学生3种。其中, 管理员负责系统维护、身份审核以及对所有内容进行管理等;教师负责上传教学资源、发布课程公告、解答提问等;学生是网络平台的用户主体, 主要通过网站获取自身所需的知识和资源、上交作业以及知识交流等。按照网络平台功能不同, 可以将其划分为用户管理模块、课程资源模块、在线自测及考试模块、互动交流模块以及扩展功能模块等几大功能模块, 如图1所示。下面对这几大功能模块进行详细说明。
2.1 用户管理模块
用户管理模块主要是指用户的信息管理以及用户组管理, 通过对用户设置不同的权限, 使得用户拥有不同的平台使用权限。另外, 网络平台实现了用户组管理。例如, 教师可以通过将学生划分为不同的用户组对其进行个性化管理。
2.2 课程资源模块
课程资源模块主要包括课程相关的教学资源, 能够实现对这些资源的添加、修改、删除和查询等操作, 有利于学生和教师能够高效利用该网络平台搜索到自己所需的信息。
2.3 在线自测及考试模块
该模块是该网络平台的一个特色模块, 我们实现了该门课程的网上试题库, 学生可以利用该模块进行阶段自测和课程综合测试, 以此验证对该门课程知识的掌握情况。教师也可以利用该模块对学生进行在线考试, 其成绩可以作为期末总成绩的一部分。
2.4 互动交流模块
为了充分强调互动特性, 该系统采取了多种互动方式。例如:留言版、论坛、邮件等方式, 增加了教师和学生以及学生之间的交流, 通过增强互动, 能够有效激发学生探索未知知识的热情和兴趣。
2.5 扩展功能模块
为了使网络平台能够紧跟单片机发展趋势, 该平台集成了最新技术、新闻管理、友情链接等功能, 以便于学生进一步获取扩展知识, 及时掌握本领域内最新的技术、新应用等前沿信息。
3 结语
通过建立单片机及接口技术课程自主学习网络平台, 突破空间和时间的限制, 实现学生自主学习以及教师对课程的信息化管理, 充分利用现代化网络教学手段, 改变了以教师为学习中心的传统教学模式, 让学生在学习中起到主导作用, 不但激发了学生自主学习的主动性, 使学生可以学习到更多的专业新知识, 有助于学生了解单片机领域的最新研究成果, 同时为教师和学生互动交流提供了平台, 使得教师可以及时了解和掌握学生的情况, 以便及时调整和改进教学方法, 提高了教学效果。今后, 本文将继续改进该网络平台, 使得教学内容更加完善, 更好地服务于教学。
摘要:文章详细介绍了单片机及接口技术课程自主学习交互式网络平台的构建过程, 该系统能够从多角度激励学生开展自主学习。该网络平台投入使用后, 能够有效辅助课堂教学, 提高学生的学习效果, 对于培养应用型专业人才起到了重要的作用。
关键词:单片机及接口,自主学习,网络平台
参考文献
[1]孙墨杰, 刘海峰, 钟莉, 等.提高大学生课堂学习质量的方法与对策[J].东北电力大学学报, 2013 (3) :84-86.
[2]金锋赫, 华瑶, 李伟, 等.“生产运作与管理”课程体系的设计与改革[J].东北电力大学学报, 2013 (1) :168-171.
[3]周欣欣, 徐纯森, 雷宇凌, 等.单片机及接口技术课程教学改革与实践[J].无线互联科技, 2015 (16) :106-107.
[4]于丽.基于ASP.NET的C语言精品课程网站设计与实现[J].福建电脑, 2014 (3) :140-142, 150.
11.快速学习51单片机 篇十一
很多人问单片机怎么学快,我来简单说说吧
快速学单片机要求有6点:
1、熟悉单片机的原理,结构;
2、学好数电,模电,为设计电路打好基础;
3、熟练使用C语言,多学习别人的程序;
4、对操作系统原理有一定的了解;
5、Protel至少要有点基础;
6、要实际动手调试电路的能力。
学习单片机的步骤
当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。然而 51 单片机毕竟过于基础,后来的很多单片机在功能上都有很大的扩展,因此按照我们实验室多数人的路线接下来大多数人会学习AVR 单片机,AVR 单片机在功能上较 51 有很大提升,集成了 A/D、快速 PWM 等很多实用的功能,而且和很多大型的单片机在功能上有很多类似之处,因此如果以后还想掌握其他单片机 AVR 无疑是一个很好的跳板。
学习的过程
学习单片机最终要的是当然是练,我所说的学习跟课堂上的单片机学习不同,我以前也看过一些单片机教材,有些教材讲的是单片机的工作原理和内部结构,这些东西对于我们暂时并不需要,等以后开课的时候在学习好了。现在要学习的是暂时抛开内部结构原理不谈,如何能用单片机写一些简单的小程序,是从实用性的角度出发,网上有一种说法称之为先实践后理论的学习方法。
因此我的观点如下,单片机的硬件结构首先要有一个基本的了解,最起码要知道各引脚的功能、区别,能自己动手搭一个单片机的最小系统,然后就可以直接从程序入手,程序最好还是用 C 语言编程,从简单的跑马灯做起,逐渐深入,陆续可以做一些数码管、液晶、DS1302、DS18B20 等电子元器件的应用,在深入就可以结合一些具体实例扩展一些中断、串口通讯等功能。还有一点要声明的是单片机里用到的 C 语言其实很有限,课堂上学习C++ 的很大一部分内容在初期单片机编程中都用不到,因此没必要因为觉的自己的 C 语言基础不是很好而对单片机望而止步!
学习的工具
软件方面方面,51 单片机用的是 KEIL 软件,这个软件在学校图书馆软件下载和其他网站上都有,具体用法自己查找相关资料,AVR 的软件就比较多了,我用的是 CVAVR,另外还有 ICCAVR 等多款编译软件,这要看个人喜好了,建议有了一定的 51 基础再学。另外就是烧写软件,烧写软件的作用就是将编译器生成的 HEX 文件烧写至单片机里,这要配合下载线实用,如果有并口的话最好用并口下载线,软件最好用广州双龙的 SLISP 软件,如果是笔记本没有并口的话则要自己买一个下载器了,名称为 USBASP,网上电子市场有卖 20 块钱左右,软件会随光盘自带。
硬件方面,首先是要有单片机,对于单片机有一点要注意,51 单片机最好买 89S51、89S52 这两种型号,上面我所说的烧写程序是 ISP 方式,这两种单片机支持 ISP 下载,所以如果买其他型号的烧写程序可能会不太方便,AVR 单片机常用的就是 ATmega16L 其它型号的区别也不是很大,甚至有些兼容。至于单片机开发板,目前的价格都很贵,从一百到几百不等,不过像上次学校里广告的那个六十多块钱的最好还是免了,没什么作用。能
买一块当然好,没有的话也不要紧,自己动手买个电路板搭一下也很方便,引出 ISP 接口,烧写程序十分容易,然后将 I/O 口引出扩展也很方便。
学习单片机的其它几个注意点:.理论与实践并重
对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,也许用不了几天就会觉得枯燥乏味以致半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将所用到的指令理解、吃透、扎根于脑海,甚至 “ 根深蒂固 ”。也就是说,当你学习完几条指令后(一次数量不求多,只求懂),接下去就该做实验了,通过实验,使你感受到刚才的指令产生的控制效果,眼睛看得见(灯光)、耳朵听得到(声音),更能深刻理解指令是怎样转化成信号去实现控制的,通过实验看到自己所学的成果不仅有一种成就感也能提升你对单片机的兴趣。说句实在话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的学习方法,效果特别好。.合理安排时间持之以恒
学习单片机不能 “ 三天打鱼、两天晒网 ”,要有持之以恒的毅力与决 4 心。学习完几条指令后,就应及时做实验,融汇贯通,而不要等几天或几个星期之后再做实验,这样效果不好甚至前学后忘。另外要有打 “ 持久战 ” 的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。学习单片机很重要的一点就是持之以恒。.遇到问题耐心检查
单片机有软硬件两方面的内容,有时一个程序怎么调都不出效果,然而从理论分析却又是对的,这是就要仔细找原因了,学习单片机经常碰到很多问题,有时一两天都不能解决,这是就要有耐心,从底层找起,相信每找出一个错误都会有一个新的收获。切不可轻言放弃!!4.对只短暂学过一遍的知识,充其量只比浮光掠影稍好。因此,较好的方法是过一段时间后(1-2 个月)再重新学一遍,学过的知识要经常运用,这样反复循环几次就能彻底弄懂消化,永不忘却。.要进行适当投资购买实验器材及书籍资料
单片机技术含金量高,一旦学会后,给你带来的效益当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景都光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材。另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。一本好的书籍真的很重要,可以随时翻阅,随时补充不懂或遗忘的知识。
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字I/O的使用
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。第二步:定时器的使用
学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)
可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
第三步:中断
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
第四步:与PC机进行RS232通信
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!
第五步:学会A/D转换
MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。
使用A/D转换功能的简单的例子是设计一个电压表。
第六步:学会PCI、I2C接口和液晶显示器接口
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。第七步:学会比较、捕捉、PWM功能
这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
12.学习单片机c语言还是语言 篇十二
汇编语言的缺点:
(1)编写的代码非常难懂,不好维护
(2)很容易产生bug,难于调试
(3)只能针对特定的体系结构和处理器进行优化
(4)开发效率很低,时间长且单调
汇编语言的特点
1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的2.保持了机器语言的优点,具有直接和简捷的特点
3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等
4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言
5.经常与高级语言配合使用,应用十分广泛
对于不同型号的计算机,有着不同的结构的汇编语言,学习难度大。
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,易学易用,是普遍使用的一种计算机语言。
c语言优点:
1、语言简洁,使用方便灵活,可大幅度提高开发速度,系统越复杂,开发效率越高。
2、无须深入了解单片机内部结构,和复杂的单片机汇编语言指令集
3、可进行模块化开发,软件逻辑结构清晰,有条理,易于分工合作
4、可移植性好,写好的一个c语言算法,可方便地移植到其他单片机上,而汇编语言相对要复杂的多。
5、可直接操作硬件
随着单片机的内部资源越来越多,存储空间越来越大,资源已经不是考虑的首要问题,c语言可以大大提高开发的效率,c 语言是初学者的首选语言。汇编语言在实时性,执行效率上有不可替代的优势。大部分情况下c语言就可以满足要求,在实时性要求高的某些场合中,可用c语言和汇编语言混合编程的方式,兼顾开发效率和实时性。了解汇编语言对于学习单片机的内部结构,执行过程非常有帮助,是成为单片机高手需要掌握的语言。c语言进行单片机程序设计是单片机开放与应用的必然趋势。
小企鹅diy科学探究学习网
13.单片机C语言学习心得 篇十三
8.1 在定义的时候,*ap中的‘*’是指针类型说明符;
在进行指针预算时,x = *ap 中的‘*’是指针运算符。8.2 如果在已定义好的指针变量,并引用,即
int *ap, int a;ap = &a;则在进行指针运算的时候:
(1)*ap与a是等价的,即 *ap就是a;
(2)&*ap:由于*ap与a等价,则&*ap与&a等价(地址);
(3)*&a:由于&a = ap,则*&a与*ap等价,即*&a与a等价(变量);(4)*ap++相当于a++。
8.3 指向数组的指针变量的定义,应用,赋值:
int a[10];int *app;则有两种方法:app = &a[0];或 app = &a;(1)app+I 或a+i就是数组元素a[i]的地址;(2)*(app+i)或 *(a+i)就是元素a[i]中的内容;
(3)指针变量也可以带下表,即app[i]与*(app+i)等价。8.4 数组和指针可以互换,但在代码执行的效率上却大不相同。用数组找元素必须每次计算元素的地址,效率不高;而用指针则直接指向某个元素,不必每次计算地址,可以大大的提高运算效率。8.5 关于指针的运算:
(1)p++(或p+=1):使指针p指向下一个数组元素,地址加1;
(2)*p++:先得到p指向的变量值,再执行p加1,指向下一个数组元素;(3)*++p:先使p加1,指向下一个数组元素,再去p指向的变量值;(4)(*p)++:表示p指向的变量值加1;
(5)若p指向当前数组中的第i个元素,则:
(p--)与a[i--] 等价:先执行*p,然后p自减;(++p)与a[++i] 等价:先执行p自加,再执行*p;(--p)与a[--p] 等价:先执行p自减,再执行*p。
8.6 指向多维数组:
定义一个二维数组:a[3][4];定义一个指针变量:(*p)[4];(注意:列数相同(第二维相同))使指针变量指向数组:p = a;此时: p与a等价:指向数组a[3][4]的第0行首地址;
p+1与a+1等价:指向数组a[3][4]的第1行首地址; p+2与a+2等价:指向数组a[3][4]的第2行首地址;
而:
*(p+1)+3与& a[1][3]等价,指向a[1][3]的地址;
*(*(p+1)+3)与a[1][3]等价,表示a[1][3]的值; 一般的:对于数组a[i][j]来讲,有
*(p+i)+j相当于&a[i][j],表示第i行第j列元素的地址; *(*(p+i)+j)相当于a[i][j],表示第i行第j列元素的值。
8.7 指向结构体:
如果指针p指向结构体数组msg1[0]的首地址,则:
(1)(*p).flg与p->flg和msg1[0].flg三者完全等价,即(*p).成员名 与p->成员名 以及 结构体数组元素成员名三种形式是等价的;
(2)p+1:使指针指向结构数组msg1[0]的下一个元素msg1[1]的首地址;(3)由于指向运算符->的优先级高于自加运算符++,则:
(++p)->flg:先使p自加1指向msg1[1]的地址,再指向msg1[1]的flg成员值;(p++)->flg:先得到msg1[0].flg的值,再使p自加1指向msg1[1]的首地址;
【学习单片机心得体会】推荐阅读:
单片机原理学习心得08-20
单片机课设实验心得10-19
单片机实验报告10-27
单片机课程设计实验06-23
单片机开发经验总结09-13
单片机应聘个人简历07-23
单片机步进电机报告08-05
51单片机课程设计作业08-11
单片机实训作业09-26
单片机原理及接口教材09-27