单片机实验的心得体会

2024-08-01 版权声明 我要投稿

单片机实验的心得体会(共8篇)

单片机实验的心得体会 篇1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

必须熟悉这一套工序。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。

很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。

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

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

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

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

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

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

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

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

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

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

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

这个才是能力。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机实验的心得体会 篇2

在学院的单片机教学中存在着实验理论分离的现象, 理论和实验课程由2位老师分别担任。不只是单片机教学, 其他课程的教学也是实验和理论相分离。分院自几年前就开始提出理论课程和实验课程相结合, 由一位任课教师担任的课程改革方案, 而真正开始实行是从今年开始。而我, 也担任了单片机课程教学改革后的教学, 以下, 是我任课后的教学体会。

我自从来任教以来, 主要承担计算机方面的实验课程, 有丰富的实验教学经验及较强的实践能力。然而, 在教学过程中, 存在着一些无法克服的障碍, 主要如下:

一、学生指令系统跟不上

对于微机原理及单片机实验课来说, 主要是讲述实验, 而不再紧盯程序指令, 学生的课堂主要任务是分析程序, 构思算法, 通过指令编程完成程序任务。而实际上, 很多时候, 当实验课开课后, 才发现, 学生的指令还没学, 或者还没学完, 而这时候, 实验课, 基本上变的和理论课差不多, 老师主要的课堂任务, 就放在指令讲解上了, 本末倒置。

二、实验内容和理论课程不贴切

由于每周固定的时间上理论, 固定的时间上实验, 两位老师各自为阵, 以自己的授课进度计划要求进行, 因此, 理论和实验跟不上, 例如, 当理论讲到I/O口, 那么最好就是马上进行I/O口相关实验:跑马灯, 交通灯, 花样灯等。而这时候, 实验课程还在进行纯指令实验性实验, 等到讲I/O口实验时, 理论课又到了定时器/计数器这一部分, 而这时候更应该做的是定时器实验。

三、老师沟通不畅

实验课是理论课的补充, 可以把课本知识变成直观形象的事物。对于理论课来说, 老师应有一个总体把握, 对于不同专业, 不同课时, 不同学分, 都会有不同的教学要求。实验, 作为理论很好的补充, 也并不是一成不变。比如, 做I/O口实验、定时器实验, 会有很多实验项目来选择, 哪些实验项目能更好的切合理论课程, 理论课老师会更清楚明白。然而, 事实上, 理论课老师从来没有做过实验, 实验老师按照计划进行, 两者几乎完全没有沟通。实验老师虽然是讲授计划中要求的内容, 但也会根据学生水平将实验做一变动, 但是, 没有沟通的教学毕竟达不到好的效果。

四、理论老师缺乏工程设计能力

理论课程老师只管讲授理论知识, 完成教学计划要求, 完全或几乎不做实验, 课程教学不能从工程概念切入, 学生只能掌握基本理论概念及锻炼汇编编程, 实验教学业也只能采用单片机实验箱完成基础验证性实验, 例如汇编程序设计、中断、定时器/计数器, 串口通信等实验, 接触不到开发设计性的内容。而实验课老师也是有心无力, 由于课时的限制, 以及学生相关知识无法达到, 因此, 无法进行设计性实验课程。

而经过课程改革后, 理论课实验课由一个老师承担, 完全克服了以上障碍, 作为首次承担理论实验相结合的教师之一, 我的体会如下:

老师可以从整体宏观把控, 细节上再作调整。

我这学期承担的是计科专业和通工专业的单片机课程。对于计科专业来说, 单片机是一门专选课, 32学时, 理论实验对半。首先, 我根据教学要求需要达到的目标, 制定好授课计划, 规规划好怎样在有限的16学时中, 讲授完成这门课程所必须掌握的理论基础, 又怎样在8次实验课16个学时中覆盖完成理论所讲内容, 又不至于使学生觉的实验枯燥无味。而单片机是通工专业的一门必修课, 学时64, 那么, 我就考虑在教学过程中, 通工工程设计切入教学, 除了讲授汇编编程指令外, 还加入C语言单片机编程, 使学生在学习单片机的同时, 能够重温C语言, 并且了解到C语言在硬件编程中的重要性。

没有了课时固定安排的束缚, 理论实验完全由一个人承担, 那么课时的分配完全由我自己来掌握。根据专业特点, 计科专业2学时讲述完指令系统 (计科专业学习过微机原理指令系统, 而这些指令系统其实是相通的) , 我就告诉学生, 我们要到实验室开始连续做4次实验, 第5章内容不会再讲, 分散到4次实验课中来上。程序性实验是对指令的一个加固, 锻炼学生的编程能力, 课本的第5章就是各种指令算法编程技巧讲解。现在, 实验课的内容和以前上的就完全不一样了, 更切合于理论教学, 以书上的程序及练习题为例, 学生更容易理解, 还节省了时间;并且, 学生很直观的通过实验来验证理论知识并看到结果。

到了到了单片机重点的硬件部分了, 硬件部分我分了4个部分, 用了4个课时, 涵盖完单片机内部系统结构特点, 包括:I/O口、定时器/计数器、串口、中断。这样, 在有限的课时里面, 完成了整个单片机系统讲解。每讲完一部分, 我就告诉学生, 我们下次课做XX实验, 完全没有了以前理论老师和实验老师的沟通障碍, 将实验课就和理论讲解紧密结合起来。并且, 硬件部分的实验可以通过实验箱来验证, 看到各种实验效果, 学生学习兴趣也会提高。

对于通工专业, 除了理论教学, 完成基础验证性实验之外, 再安排学生做课程设计, 其相关知识穿插在理论课程中讲述, 并要求学生课后自学。在课程后期, 同学们分成小组制作了单片机最小系统板, 设计了单片机频率测试仪、电压测试仪、温度测试器。通过这些设计, 学生掌握了单片机开发设计的整个过程, 重拾了C语言, 对单片机设计产生了浓厚兴趣。单片机综合了电子技术、计算机、控制技术等相关知识, 单片机的学习不只是为了学分, 掌握了开发设计方法, 在课程结束后, 还能够结合相关知识进行设计与开发, 可以贯穿在以后的学习当中。

以上是我这学期以来的教学体会, 经过这一学期的授课, 感觉课程改革是必需的。而怎样能提高学生的动手能力, 激发学生自主学习能力, 提高学习兴趣, 将所学知识进行结合, 是我们在教学改革中应该思考的问题。

参考文献

单片机实验的心得体会 篇3

关键词Proteus;单片机实验;仿真平台

中图分类号:G642.423 文献标识码:A 文章编号:1671-489X(2009)04-0067-02

Simulation Platform of Single Chip Computer Experiment based on Proteus and Keil//Li Fang, Li Jiaqing

Abstract In allusion to the limitation of teaching with single-chip computer laboratory equipment, a kind of simulation platform of single-chip computer experiment based on Proteus and Keil is introduced in this paper. Taking designing electronic-clock experiment for example, the construction and application method of the simulation platform for single-chip computer experiment is recommended in detail. This article also presents the complete principle circuit and programming measures. Finally, the advantage of teaching with the simulation platform, which is providing a flexible, complete, systemic experimental environment for laboratory running openly, comprehensively and innovatively, and for enhancing single-chip computer theory and training innovative mental vitality, is analyzed.

Key words Proteus;single-chip computer experiment;simulation platform

Author’s address Chongqing University of Science and Technology, Chongqing 401331

目前,许多学校在单片机实验教学中,都配置有不同厂家不同类型的装置。但单片机装置在实验教学中存在许多缺陷。首先,教学资源不足。随着生源的不断扩大,许多学校出现多人共用一台实验装置的现象。其次,学生硬件设计能力得不到培养。系统装置的硬件电路是固定的,学生无法进行硬件电路的设计,也难以有动手练习硬件的机会。再次,实验教师对教学装置的维护工作不断增加。由于装置使用时间不断加长,其寿命也不断减少,学生的误操作也易造成许多器件在使用过程中经常损坏,等等这些都为教学装置的维护增加了难度。另外,单片机装置实验教学中还存在其他局限性,如装置本身资金投入、学生实验内容固定、使用单片机类型固定、维护成本不断增加等。

Proteus和Keil的完美结合,可为单片机系统资源、软件技术、硬件接口电路、软件和硬件相结合的应用系统等单片机理论和实验教学提供一个很好的实验仿真平台。

1 单片机实验仿真平台的建立

1.1 Proteus软件Proteus是由英国Labcenter electronics公司开发的EDA工具软件,是模拟单片机及其外围器件的很好的工具。它的最大特点就是,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路,如LCD、LED、RAM、ROM、键盘、马达、AD/DA、部分SPI器件、部分I2C器件等[1]。

1.2 Keil uVision3Kei1是美国Keil Software公司开发的,是目前广为应用的51单片机软件开发工具之一。它支持汇编、C语言以及混合编程,同时具备功能强大的软件仿真功能,在软件模拟仿真方式下不需要任何单片机硬件即可完成用户程序仿真调试,同时也提供多种硬件仿真功能。

1.3 Proteus与Keil的完美结合将Proteus与Keil整合起来,充分利用各自的仿真功能,建立一套完整的单片机系统仿真平台,可为单片机的实验教学工作带来极大方便。

下面是Proteus与Keil的整合过程。

1)在单片机实验室每台电脑上安装Proteus6.7SP3和KEIL uVision3软件。

2)把Proteus安装目录下VDM51.dll(C:Program FilesLabcenter ElectronicsProteus6 ProfessionalMODELS)文件复制到Keil安装目录下的C51BIN目录中。

3)编辑Keil目录下tools.ini文件,在[C51]项下,加入TDRV5=BINVDM51.DLL("PROTEUS MONITOR-51 DRIVER") (注意:TDRVX为单片机软件仿真的硬件配置设置,在本实验室中,设为TDRV5)。

4)确定单片机实验目的。

5)打开Proteus ISIS软件。设计单片机实验硬件组成框图,建立硬件连接原理图。

6)打开Keil uVison3软件。建立单片机系统软件工程,针对实验要求编制程序。

7)在Keil uVison3软件中选择菜单“Project”->“Options for Target‘Target1’”,在出现的对话框中选择“Output”页面,选中“Creat Hex File”选项;选择“Debug”页面,选中“Use”-PROTEUS VSM MONITOR-51 DRIVER,进入“Settings”,Host设为127.0.0.1,Port设为8000。

8)在Proteus ISIS软件中,选择菜单“Source”->“Add/Remove Source Code Files”,在出现的对话框中点击“Chang”按钮,选择从Keil uVison3软件工程中所生成的HEX文件,点击“OK”。在Debug菜单下选中“Use Remote Debug Monitor”。

9)在Keil uVison3软件中直接进行仿真,连续运行或单步运行,即可在Proteus ISIS软件中看到单片机硬件仿真运行结果。

在整合过程中,单片机实验教学平台建立过程为1)~3)项,实验过程为4)~9)项。

2 电脑时钟设计实例

以电脑时钟为例,介绍基于Proteus与Keil的单片机实验仿真平台的具体实验方法。

2.1 实验要求在“单片机原理及其应用”课程中,最基本的实验要求是独立完成一个电脑时钟:1)设计电脑时钟实现方案;2)具有显示北京时间(时分秒)的功能;3)具有修改时、分功能;4)其他发挥。

2.2 电路设计与实现实验分析:由实验要求决定,能够显示时分秒,可以选用单片机课程授课中所熟悉的6位数码管显示;能够修改北京时间,则需设有按键;附加功能可加上指示灯或声光提示等;单片机芯片选用普通的8031即可满足要求。

电路实现过程:打开Proteus ISIS软件,出现程序主窗口界面;鼠标左键单击窗口左侧元器件工具栏的P按钮;在出现的窗口中选择所需要的器件,点击OK按钮,器件被添加到主窗口左侧的元器件列表区;将所需器件都添加到元件列表区之后,再依次点击各器件,左键放到绘图区,右键选中元件,左键编辑其属性,合理布局后进行连线[2-3],最后加上电源和接地符号,原理图即可绘制完成(图1);保存设计文件。

2.3 软件设计与实现

1)功能设计,分为显示设计与按键设计。显示设计:设计2种显示模式——北京时间显示模式与修改时分模式。按键设计:3个按键分别定义为MODE、UP、DOWN,MODE键切换显示模式;UP与DOWN键在修改时分模式时有效,UP键修改时,DOWN键修改分。

2)软件编程思路。可用软件定时的方式,实现北京时间的运行。硬件选择11.0592M晶振,软件可采用定时器0,16位计时模式,定时5 ms实现数据管动态扫描。对按键处理需消抖处理,可采用定时消抖的方法。

3)经过编程实验,得出结果。连续运行程序,在北京时间显示模式可看到图1所示的运行结果;按下MODE键则切换到修改时分模式界面(如图2所示)。修改时分后,切换到北京时间,可实现北京时间的更新。因此仿真运行结果满足实验要求。

从电脑时钟实例来看,基于Proteus与Keil的单片机仿真平台可完全达到实验教学的目的。

3 单片机仿真教学优势

针对单片机课程实验相关的教学,可以采取硬件给定、软件及功能由学生自行完成的教学方法。针对单片机课程设计相关的教学,可采取根据课程设计内容、硬件与软件均由学生自行设计的教学方法,这正好满足课程设计的教学需求[4]。

基于Proteus与Keil的单片机仿真实验教学具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可自行设计、实验过程中损耗小、与工程实践最为接近、维护量少等。它可为实验室开展开放性、综合性、创新性实验,提供灵活、完备、系统的实验环境。这些优点是传统单片机实验装置无法比拟的[5]。

4 结束语

单片机实验仿真平台虽然可以为实验教学带来很大方便,但也存在其缺点,如无法代替对硬件的直观认识和培养实践动手能力。而对于如全国电子设计竞赛和毕业设计的辅导,均需要培养学生的整体系统设计、分析问题和解决问题的能力,单靠实验仿真平台是无法达到这种教学要求的。但无论是单片机实验教学或是单片机课程设计或毕业设计,该实验教学平台均为加深学生单片机理论知识和培养学生创新能力提供了完备的单片机系统实验环境。

参考文献

[1]赵义强,康静,郭向亮.Proteus仿真软件在单片机设计中的应用[J].中国集成电路,2007,16(2):58-61

[2]蔡希彪,曹洪奎,芳琳.单片机电子时钟系统的设计与仿真[J].中国科技信息,2007(4):61-63

[3]刘心红,郭福田,孙振兴,等.Proteus仿真技术在单片机教学中的应用[J].实验技术与管理,2007,24(3):96-98

[4]田丰.虚拟实验与真实实验的整合研究[J].实验技术与管理,2005,22(11):89-92

单片机AD转换的实验报告 篇4

一、实验目的

1、理解A/D转换的工作原理;

2、理解掌握ADC0809的A/D转换原理和并行A/D转换器接口的编程方法; 3、学习使用并行模/数转换芯片ADC0809进行电压信号的采集和数据处理。

二、实验原理

在设计A/D转换器与单片机接口之前,往往要根据A/D转换器的技术指标选择A/D转换器。A/D转换器的主要技术指标-----量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔可用下式表示,其中n为A/D转换器的位数: 量化间隔

绝对误差22

1 相对误差n1100%2

A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D转换器;按其分辨率可分为8~16位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。

A/D转换器与单片机接口具有硬、软件相依性。一般来说,A/D转换器与单片机的接口主要考虑的.是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。

一个ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。不同型号的ADC,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种:

对于脉冲启动型ADC,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、ADC574等。通常用WR和地址译码器的输出经一定的逻辑电路进行控制;

对于电平启动型ADC,当把符合要求的电平加到启动控制端上时,立即开始转换。在转换过程中,必须保持这一电平,否则会终止转换的进行。因此,在这种启动方式下,单片机的控制信号必须经过锁存器保持一段时间,一般采用D触发器、锁存器或并行I/O接口等来实现。AD570、AD571等都属于电平启动型ADC。

当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果。单片机检查判断A/D转换结束的方法一般有中断和查询两种:

对于中断方式,可将转换结束标志信号接到单片机的中断请求输入线上或允许中断的I/O接口的相应引脚,作为中断请求信号; 对于查询方式,可把转换结束标志信号经三态门送到单片机的某一位I/O口线上,作为查询状态信号。

A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。整个A/D转换过程都是在时钟的作用下完成的。A/D转换时钟的提供方法有两种:一种是由芯片内部提供(如AD574),一般不许外加电路;另一种是由外部提供,有的用单独的振荡电路产生,更多的则把单片机输出时钟经分频后,送到A/D转换器的相应时钟端。

ADC0809与单片机接口

三、实验内容

四、小结与体会

单片机实验 篇5

将片内20H~2FH及片外0010H~001FH单元清0;

然后将片内30H~3FH的数据移到片外0000H~000FH中;判断:

若(30H)≤10,则求其平方存到31H中,并将位00H置1(其它位清0)若(30H)=10,则将AA存到31H中,并位01H置1(其它位清0)若(30H)≥10,则减10存到31H中,并位02H置1(其它位清0)

实验二加法、排序

有两个长度为10的无符号数分别放在片内20H和30H为首的存储单元中(低位),求其对应项之和(带进位位),结果放在40H为首的单元中(若最高位有进位则存在后续单元中),然后按升序排列放在50H为首的单元中

实验三查表、散转

设有一表格,表中数为:00H、11H、22H、33H、44H、55H、66H、77H、88H、99H、AAH、BBH、CCH、DDH、EEH、FFH。根据片外0001H单元的低4位的数,取出表中相应的值存到片内30H中;根据片外0001H单元的高4位的数,将片内RAM区中可位寻址的相应的位置1(从位00H~位0FH,只可有一个位地址为1)

实验四外中断

P1.0~P1.7接8个发光二极管,管脚INT0、INT1接两个按键,分别定义为“L”和“R”。

要求:上电全灭,按 “L”(或R)键,最右(左)侧灯亮,每按一次“L” ”(或R)键,则亮的灯向左(右)移一位,当移到最左(右)端时,灯全灭

实验五定时器

P1.0、P1.1分别接两个发光二极管,INT0脚接

一按键做开关,按一次开关,则启动,两个发

光管一亮一灭,亮灭时间均为1秒;再按一次

开关,则关闭,即两个发光管都灭。

实验六定时器、计数器

单片机实验小结 篇6

这学期的单片机实验课程已经结束了,虽然做的实验是比较简答的,但麻雀虽小五脏俱全,因此自己也通过实验课学到了很多知识。

单片机实验课是为了更好的学习单片机使用单片机而开设的一门课程。单片机在实际生活中的应用非常广泛,尤其是在工业控制、网络通信、模块化系统和汽车电子等领域。因此,单片机课程是电子信息类专业学生的必修课之一。由此,可以看出单片机课程对于这类专业学生的重要性。

单片机课是一门实践性很强的课程,仅有课堂上理论知识的学习,对运用好单片机是完全不够的,必须亲自做实验,从实验中吸取教训,总结经验,增加实战经验,加深对单片机的理解,更好的运用单片机。单片机实验课的目的就是为学生提供做实验的机会,让学生能够从几个简单的实验中学会单片机开发的过程和单片机的实际运用。

单片机实验课让我将课堂上学到的理论知识运用到实验当中去,在实验中发现问题,解决问题,强化理论知识的运用。下面是自己做实验当中遇到的一些问题和体会。

首先,自己在实验课上对老师讲解的东西没有很好的领会。自己觉得老师讲的电路和原理自己都懂,就没有认真听老师的讲解,但是当自己去理解程序和修改程序就发现自己对电路的工作原理和过程并不是很了解,使得自己在改编程序实现不同功能时遇到较多的问题。

其次,自己对汇编语言的运用不是很熟练。自己之前接触和使用的编程语言都是诸如C语言等的高级语言,对汇编语言基本上是空白状态。虽然每个实验老师都给出了参考程序,但是自己理解整个程序的运行过程和程序的功能依然遇到了比较大的困难。这就说明基础薄弱是实验中最大的问题。

最后,也是最突出的一个问题。自己逻辑思维和分析问题的能力比较欠缺。对程序的分析能力不足,不能够很好的理解程序段之间的逻辑关系。同时,自己对实验中遇到的问题不能及时分析并找出解决的办法,知识一味的依赖老师的指导和同学的帮助。这也提醒自己,只有多加强锻炼,才能不断提高这方面的能力。

单片机实验课学生人数众多,课程资源有限,只有一个老师指导,老师是非常辛苦的。同时,因为资源的限制,并不是每个人都可以亲自操作的,这也就限制了同学们的积极性,出现了有些学生出工不出力的现象。因此,我建议可以限制选课的人数或者是调整时间段,避开大家的专业课时间,使每个时间段的学生人数比较合理,以达到最好的教学效果。

单片机实验的心得体会 篇7

关键词:单片机实验教学,Proteus仿真,实验箱,一个小灯亮灭

单片机原理及应用这门课程是高校计算机、电子信息工程、通信工程、自动化等很多工科电类专业的基础课程, 该课程具有较强的理论性和实践性, 学生初次学习往往感觉该课程难以理解, 内容枯燥。而传统的单片机课程实验教学主要是依靠实验板或者实验箱这样的硬件平台完成, 该实验平台开展的大多是一些验证性实验, 学生只需要简单地在实验箱上搭几条线, 或者简单地下载几条程序在实验箱上运行观察结果即可, 这样学生不能够真正地理解其中的原理, 从而导致学生学习兴趣下降[1]。另外, 实验箱使用时间长, 会存在损坏和接触不良的现象, 会影响到实验结果, 降低了学生对实验的兴趣, 影响了实验效果。而且, 实验箱只存放在实验室里, 如果学生对实验内容有兴趣, 想继续学习, 又受到限制[2]。

一、Proteus仿真软件及应用

Proteus是Lab center Electronics公司于1989年推出, 为单片机应用系统开发提供的功能强大的虚拟仿真工具。除具有模拟电路、数字电路的仿真功能外, 最大特色是对单片机应用系统连同程序运行以及所有的外围接口器件、外部测试仪器一起仿真。针对单片机的应用, 可直接在基于原理图的虚拟模型上进行编程, 并实现源代码级实时调试。用软件手段对单片机应用系统进行仿真开发, 与用户样机硬件无任何联系, 只需在PC机安装Proteus, 就可进行单片机应用系统的设计开发、虚拟仿真与调试。

Proteus仿真软件不仅节约实验成本, 减少实验开支, 而且“绿色”, “环保”, 例如, 制作PCB板, 传统的做法是先画原理图 (电路图) , 再布线, 然后焊接, 接着就是调试, 如果调试期间发现问题, 那么就存在着重新布线, 或者重新焊接问题, 甚至有时候会因为某个布线出错, 导致整个板子作废, 需要重新设计一块新电路板的后果。这样, 既造成浪费, 又因反反复复布线“污染”了实验室环境。而用Proteus仿真软件模拟PCB板制作, 就可以直接在proteus软件上构造设计PCB板, 并可以将其反复调试, 调试成功以后, 再实际制作PCB板, 这样设计调试周期短, 成功率高, 也避免了器件浪费。

(一) Proteus软件与单片机实验教学

利用Proteus仿真软件进行仿真实验不仅可将单片机实验功能形象化, 也可将许多单片机实验运行过程形象化, 达到实物演示的效果。该软件具有各种常用仿真元器件库, 能够提供实验所用的元器件, 从而实现仿真电路与传统的单片机实验硬件电路高度对应[1], 学生通过亲自动手, 用导线将元器件按正确的方向连接起来, 加深其对相关电路知识的理解, 也加深了对单片机元器件功能的了解, 激发了学生学习单片机的兴趣。利用Proteus仿真软件进行单片机实验教学具有实验内容广泛、硬件投入少、损耗小等优势。

(二) 单片机实验仿真应用实例

Proteus可以将一些现象虚拟放大, 实验者通过观察现象, 加深对理论的理解。以单片机实验教学中控制一个小灯的亮灭为例, 详细介绍Proteus软件的实验仿真过程。首先, 绘制实验电路原理图。打开Proteus ISIS软件, ISIS (智能原理图输入) 界面用来绘制单片机系统的电路原理图, 在该界面下, 可进行单片机系统的虚拟仿真。在元件库中选择所需元件, 按照实验电路连接元器件, 即完成了仿真电路图的绘制, 如图1所示。

其次, 进行软件调试及仿真。在实验教学中通常采用Keil软件来完成软件的调试。本实验采用汇编语言进行程序的编写, 按照实验内容编制程序如下:

编写好源程序后, 在Keil软件中编译, 调试无误, 并通过编译生成可执行的“一个灯亮灭.hex”文件, 以备仿真时调用。如图2所示。

然后, 介绍在protues ISIS软件中如何调用源程序及仿真运行。打开已经绘制好的实验电路原理图, 选中单片机芯片AT89C51, 点击鼠标右键选择“Edit Properties”属性, 出现编辑元器件对话框, 在Program File选项中加载编译好的“一个灯亮灭.hex”文件, 其他选项可以设置为默认, 最后点击“OK”完成设置。

接下来, 就可以点击运行按钮进入电路仿真运行状态, 若程序无误, 且硬件电路连接正确, 则会出现一个小黄灯亮灭交替的仿真运行结果, 其中, 元器件引脚还会出现红、蓝两色的方点 (在微机显示器上可分辨出颜色) , 来表示此时引脚电平高低。红为高电平, 蓝表示低电平。

而实际上, 因为程序中没有加延时子程序, 小灯亮灭的速度非常快, 用肉眼是捕捉不到小灯变化的, 因此, 如果用单片机实验板或者实验箱做此实验的话, 看到的只是小灯保持一个灭的状态不变的想象。

尽管Proteus具有开发效率高, 不需要附加的硬件开发装置成本, 且在多数场合可以获得和实际一样的效果, 但是需要注意的是, 使用Proteus来对用户系统仿真, 是在理想的状况下的仿真, 对硬件电路的实时性还不能完全准确地模拟, 因此不能进行用户样机硬件部分的诊断与实时在线仿真。而且, 如果完全依靠仿真, 学生获得的感性认识远远不够, 因此, 基于实验板或者实验箱的实验教学仍然是不可缺少的环节[3]。

二、仿真与实验板结合的实验教学设计

通过proteus仿真软件, 打破时间限制, 实验课的课时有限, 只靠课堂时间, 学生很难完全掌握所学知识。通过Proteus软件, 只需要一台电脑, 学生就可以利用课余时间来设计电路, 编程仿真。教师可以在实验课前让学生熟悉实验课的内容, 用Proteus画好原理图, 编好程序完成仿真, 确认软件没有问题。在实验课的时候, 再在实验板或者实验箱上完成实际的操作。这样软硬件结合, 理论联系实际, 学生对实验内容掌握得更透彻[2]。

在实验板或者实验箱实际操作过程中, 如果实验结果与仿真结果不一样, 还能促进学生找原因, 例如, 是实验箱接线不对呢, 还是Proteus仿真不精确, 亦或者是实验箱硬件部分有损坏等, 这样激发了学生学习单片机实验的兴趣, 加深了对单片机原理的认识, 提高了单片机的应用水平。

三、结束语

将Proteus引入实验教学并结合实验板, 不但弥补了传统实验教学中存在的设备紧张、更新速度慢、元器件损耗大等不足, 而且实现了理论与实践的有机结合, 使教学过程更加丰富且易于表达清楚, 亦打破了时间和空间的限制, 提高了学生学习的主动性。实践证明, 只有在教学中将现代化的手段和传统实验方式有机结合起来, 充分发挥各自优势, 才能达到事半功倍的效果[4]。

参考文献

[1]朱永涛, 李明菜, 高凤梅.基于Proteus仿真软件的单片机实验教学改革探讨[J].科技信息, 2011, (27) .

[2]常淑俊, 黄杰勇.单片机实验教学的探讨[J].实验科学与技术, 2013, 11 (2) .

[3]伦翠芬, 张海峰.Proteus仿真与实验板结合的单片机教学[J].武汉职业技术学院学报, 2012, 11 (4) .

单片机实验教学改革分析 篇8

关键词:单片机;教学改革;现状;措施

【中图分类号】TP368.1-4

单片机是一种最简单的电子计算机,在实际的生活中发挥着重要的作用,使得传统的电子设备具有智能化、自动化的功能,从而提高了设备的运行效率。同时单片机又因其结构简单、操作简便的特点,在各大高校中的自动化、通信等专业得到了普遍的应用。在实际的生产领域,单片机的性能的在不断的提高、其构造也在不断的复杂化,复杂数据的处理能力以及编程语言更加智能化,这就对单片机的实验教学提出了更高要求。

一、单片机实验教学的现状分析

目前,在单片机的实验教学的过程中,一般都是由老师在黑板或者是投影仪上,将在实验指导书中有关实验方面的内容讲解给学生,然后在试验箱中进行操作,将实验的结果演示给学生,最后让学生根据实验指导书的步骤进行实验。因单片机存在实践性很强的特点,老师只是采取口头讲解的方法,导致一些概念学生不理解,而试验箱的结果也会因学生的做法存在差别,从而影响其授课效果。

一般来说,现在单片机的实验教学设备大多采用实验箱或实验板的方式,其实验内容基本上是验证性的基本实验,如 I/O 口控制实验、串并转换、显示与键盘及 A / D等[1]。其实验的模式一般采用由实验老师选择一个实验,然后由学生编写程序,最后在实验箱上进行连线操作,验证其结果正确与否的方式。而在这其中就会存在一些问题,首先由于实验箱的限制,会使得实验的内容受到限制,重复性比较高,学生之间的抄袭现象严重。经常会出现一个做出来,全班都做出来了相同实验的现象,达不到实验的目的[2]。其次,由于实验箱的使用时间过长,存在接触不良等现象,就会导致实验效果出错,从而降低学生的兴趣。最后,由于试验箱只能放在实验室,对于一些爱好学习的学生来说,想做实验,会受到限制。因此必须对单片机的实验教学进行改革,使其适应当前社会发展的需要。

二、单片机实验教学改革措施

1、在单片机的实验教学中采用多媒体软件

多媒体教学的发展给实验教学带来了极大的便利,打破了传统的老师采用黑板教学的方式。教师可以利用多媒体软件直接进行各种实验的演示,让学生清楚的明白单片机的工作原理,实验的原理以及操作过程。利用多媒体软件技术,可以让学生清楚的看到每个实验的原理、步骤,从而实现了集语音、图像等一体的教学模式。这样不仅减轻了教师的负担,而且提高了教学效率,带动了学生的学习积极性。

例如在闪烁灯的实验中,教师就可以利用多媒体软件来进行教学。闪烁灯实验的任务就是在电路图中的P1.0端口上接一个发光二极管L1,使L1不停的一亮一灭,且时间间隔为0.2秒。如果是用传统的黑板教学,就会使得描述电路图中端口的接线比较繁琐,若利用多媒体软件教学则可以利用软件不仅可以将电路图中的接线过程清晰的呈现在学生的面前,而且可以将在闪烁灯这个实验中的实验原理、实验流程以及程序设计都可以清晰的表现出来,有利于学生的理解,便于学生掌握有关实验的知识,达到教学的目的。

2、引入 Proteus 仿真软件

由于在利用实验箱进行实验时,一般只有单片机I/O的接线示意图,学生只需要根据接线图接好线就可以进行实验,从而导致学生对外围电路一点也不了解。如果利用Proteus 仿真软件进行实验,就可以达到让学生熟悉单片机的外围电路以及了解常用元器件使用方法的目的。Proteus 仿真软件具有原理图设计、电路仿真、软件仿真的功能。Proteus虚拟仿真实验还具有不需要实验硬件设备就可以完成实验的优点。对于学生来说,计算机更容易普及,就可以不受实验室条件的限制可以自由的开展实验[3]。对教师而言,利用Proteus 仿真软件进行教学,使得教学目的更容易实现。

利用Proteus 仿真软件,可将复杂、难理解的概念形象化、具体化。例如在走马灯这个基本的实验,就牵扯到了中断的概念。在设计走马灯实验的时候共分为硬件设计和软件设计两个部分,其中硬件设计部分:首先使用89C2051单片机作为控制芯片,可以用P1端口作为控制端口,用来控制LED的點亮,其次用外部中断0控制走马灯的暂停和继续操作,最后用定时/计数器T0来控制走马灯闪烁的速度问题。这时教师可以利用Proteus 仿真软件演示给学生看,首先给学生演示不加中断的走马灯实验,可以看到由P1口控制LED灯的闪烁,其闪烁速度是由延时控制的。其次加上外端中断,即用外部的按键控制走马灯的暂停和继续操作。最后加上定时/计数器来控制走马灯的闪烁的速度,而此时的闪烁速度是由定时器控制[4]。其用Proteus 仿真软件仿真的效果图如图1所示。这样通过教师的演示操作,能够让了解中断的概念,以及对外端终端和定时器的使用方法,达到教学实验的目的。

结束语:

随着电子科学技术的不断发展,越来越多的芯片不断被研制出来并投入实际生产中,使得各种智能化的设备逐渐被带入人们的生活中,给人们的生活带来了极大的便利。随之带来的就是对硬件设备制造、嵌入式系统开发人才的大量需求[5]。各大院校通过对单片机实验教学的改革,使得学生更容易对单片机有关的知识进行掌握,从而使自身的专业能力得到提升,促进学生的就业能力。

参考文献:

[1]玄金红,郭振环. 单片机实验教学改革实例[J]. 科技信息(科学教研),2008,04:17.

[2]李莉. 单片机实验教学改革与创新能力的培养[J]. 电脑与电信,2008,04:71-72.

[3]冯刚. 单片机实验教学平台的改革[J]. 计算机教育,2010,02:144-146.

[4]郑晓霞. 浅谈单片机实验教学改革[J]. 青春岁月,2014,21:106.

上一篇:幸福的作文1500字下一篇:有动物的字的四字词语