第1篇 单片机课程设计报告
放眼当今社会,电子行业快速发展,单片机在多个领域如工业自动化、智能仪器仪表、消费类电子产品、武器装备、终端及外部设备控制、计算机网络和通信设备等有着广泛的应用[1,2]。对于工科的电子、电气相关专业的学生而言,掌握好单片机技术对自我知识的提升和今后就业的帮助都是大大有益的。因此,单片机课程在上述专业中的地位非常重要,而且鉴于单片机特殊的实践性,它的实践环节比如课程设计就更是重中之重了。
一、我校单片机教学的现状
我校原有的单片机教学实验环节有两个:单片机课内实验和单片机课程设计。课内实验虽然有硬件设计和软件编程两部分,但由于开发板上硬件的最小系统比较完善,学生相当于只需要进行简单的连线便完成了硬件设计。软件设计则是在伟福lab6000系列单片机仿真实验系统上完成的,这些实验基本都是验证性实验或者是很简单的设计性试验,主要目的是让学生通过实验了解单片机的硬件环境,熟悉单片机的编程方法。因此学生总体所完成的工作基本上是简单的软件编程,硬件设计几乎没有,更谈不上是软硬件的综合系统设计。这使学生在以后的工作中应用单片机时捉襟见肘,学不够用。
针对以上情况,我校单片机课程设计通过引入proteus+keil两个软件进行较大的改进,既加强了学生硬件电路的设计,又有软硬件联调的综合考量,很好地培养了学生对单片机系统设计的能力,提高了大家学习的积极性和主动性。
此外,之前学校课程设计题目单一,没有考虑到学生的个体差异,导致有些学生无从下手,最终只能模仿别人的电路板,甚至连设计报告也是抄袭别人的;还有些能力较强的学生做起来易如反掌,达不到拔高的效果,这样就违背了课程设计的初衷[3]。
二、proteus+keil的完美结合
proteus软件是英国labcenter electronics公司出版的eda工具软件,能很好地仿真单片机及外围器件。相对于另一款使用较高的仿真软件multisim,proteus的元件库更齐全,使用更方便,最重要的是它可以把软件作用在处理器上,并和该处理器的任何模拟和数字器件协同仿真。除此,proteus还提供了大量的虚拟仪器和分析工具,用户可以在调试代码时清晰地看到仿真结果或通过节点波形等查找错误原因。
keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,易学易用。
在计算机上,安装proteus仿真软件和集成软件开发环境软件keil,就已经相当于是一个设备先进、功能完善的虚拟实验室了,可以方便地进行软硬件的级联调试,加强单片机系统设计的概念。
在实际的课程设计中,先在proteus isis中设计硬件原理图,确定io口的端口使用。项目的软件可在keil中进行设计,生成目标代码文件*.hex,若编译失败,可对源程序进行修改,直至编译成功。把生成的目标代码文件*.hex添加到硬件电路的单片机中,比如at89c52,然后运行仿真,即可以看到仿真结果。若不正确,可以分析错误原因,修改相应的软硬件,直至仿真正确[4,5]。
三、课题的设置
课程设计不同于平时的作业,它有一定的针对性,要满足高中低各层次不同学生的需求。假如全班同做的是一道很难的课程设计题,学困生根本无从下手,更别说从此获取知识了,这样他们很快没有了学习的积极性,彻底放弃了。于是针对不同阶段的学生,我校单片机课程准备了三个不同层次的题目组。
第一类是拔高性题目,比如简易计算器,学生在短期内必须要完成一些实际应用的题目,要求综合性知识较全面,适合基本功扎实、有想法、爱创新的学生。例如有些学生在低年级段就参加了电子设计竞赛,已经有了单片机系统设计的概念,他们需要的'是设计更为复杂实用的系统来提升自我。
第二类是中等难度的题目,比如多功能智力竞赛抢答器,学生除了有基本的单片机知识,还必须有一定的动手实践能力和逻辑分析能力,并且涉及其他知识领域,适合知识面较广的学生。
第三类是基础性题目,比如数字温度计,是学生在掌握了单片机基本知识后所能完成的简单的功能设计,这个层次的题目要求不高,适合底子较为薄弱的学生。也就是说,让每个阶段的学生都能从此次课程设计中汲取相应的养分,有所收获[6]。
由于题目的难度系数不同,最终的评分准则也不同,第一类题满分100分,第二类题满分90分,第三类题满分80分。这样既有针对每个层次学生的题目,又能将大家的差距拉开,让学生付出的劳动与最终给定的成绩基本成正比。
四、总结
利用proteus和keil进行课程设计对学生来说也是乐于接受的,软硬件都易于修改,减少了开发设计时间,而且proteus软件可以直观地看到仿真结果或节点的波形,也就是说学生在自己的宿舍就能完成前期的设计工作,不再像以前那样依赖实验室的测试设备,方便快捷,灵活性好。而课题的多样性,也给了学生更大的选择空间,从而提高了积极性和参与性,让学生亲身领会系统分析、设计和调试各个阶段的各种滋味,提高实际应用的能力。
第2篇 单片机课程设计实习报告
实训任务:
一、 实训目的和要求:
(1) 熟练掌握keil c51集成开发环境的使用方法
(2) 熟悉keil c51集成开发环境调试功能的使用和dp?51pro.net单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3) 利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4) 了解掌握单片机芯片的烧写方法与步骤。
(5) 学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6) 掌握利用protel 99 se绘制电路原理图及pcb图。
(7) 了解pcb板的制作腐蚀过程。
二、实训器材:
pc机(一台)
pcb板(一块)
520ω电阻(八只)
10k电阻(一只)
led发光二极管(八只)
25v 10μf电容(一只)
单片机ic座(一块)
at89c51单片机芯片(一块)
热转印机(一台)
dp?51pro.net单片机仿真器、编程器、实验仪三合一综合开发平台(一台)
三、实训步骤:
(2)将流水灯程序编写完整并使用tkstudy ice调试运行。
(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。
(6)制板。首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
(7)焊接。将所给元器件根据原理图一一焊至pcb板相应位置。
(8)调试。先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
(流水灯控制器原理图)
四、流水灯控制器程序的主程序:
org 0000h
sjmp start
org 0030h
start: mov a,#0ffh
mov r0,#1ch
mov r2,#12h
clr c
loop1: acall delay
djnz r0,loop,尽在1566范文网。
第3篇 单片机课程设计的实习报告
单片机课程设计的实习报告范文1
做了两周的单片机课程设计,我有了很多的体会和感想。
我们的课程设计有两个主要内容:一个是出租车计费器系统(还包括255计数和50000计数);另一个就是温度报警系统。实习可以在实验室里做,也可以在寝室里自己做,我大部分时间还是在寝室里做的。
出租车计费器的设计是第一周的内容,由于有了老师的设计图和程序,只需要改一下自己所要求的变量就好。单片机的编程用的主要是汇编语言,说实话,我对汇编语言谈不上掌握,充其量只是了解。学校安排的课程真的太少了,关于语言部分的学习只学了几节课的内容,整本单片机书的内容也是学了三分之一多一点。
第二周的内容就是温度报警系统的设计。这个内容没有现成的程序和设计图,需要我们真正亲手去编,最郁闷的莫过于画设计图。按照实验要求上的图画了出来,加载程序以后却不能正常运行,改了好多次都没有成功。同学们电脑上软件的版本差异也影响了交流。有些元件的型号不同,但在选用时图形确很相似,致使选错了元件,影响了结果。
这两周的实习真的有点郁闷,程序里面的好多内容不懂,自我感觉是单片机我们所学的内容还不足以编出这两个程序,但是只好硬着头皮去看去理解。但在学习过程中也充满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。
这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在qq群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。
单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。
单片机课程设计的实习报告范文2
这次这个单片机的课程设计我们完成的不太理想,我们小组两个人都是交流生,并且不是在物理学院学习,同时选课时没有认真全面的了解这门课程的安排导致没有选上和课程配套的实验课,一个学期也就没有做过一次实验,在后来的制作过程中遇到了很多困难,所以这次这个课程设计的作品完全是在没有任何单片机制作经验甚至是没有做过任何相关电路的基础上开始的。
选题的时候其实只上了几个星期的课,对单片机能做什么或者说以我们的水平能让单片机做什么根本没有一个清晰的认识,很担心自己的选题最后做不出来,所以当时选题时的原则是尽量的简单可行,因为毕竟我们没有实验课,一学期下来必定会比物理系的同学在具体的实验方面落后不少,同时平时我们都在南新校区,与老师和同学的交流都很困难,在后来的具体制作过程中遇到什么困难几乎不可能跑到实验室去向老师请教,同时现在社会上都在大力提倡节能,于是我们打算从这点出发在我们的身边发现问题,当时我们听周围的同学说起济南的夏天白天相当的炎热,可是晚上退凉很快特别是深夜的时候温度其实已经不高了,但是同学们一般晚上睡觉都比较早,都会叫风扇一直开着最大档,可是到了深夜后已经没有必要这么强的风速了,这样一夜下来将会浪费很多电能,同时还容易把同学们吹感冒。
于是我们想能不能做一个单片机系统来解决这个问题,基于以上原因我们确定了这个方案,在最初的计划中我们还准备加入对风扇转向的控制,使之能实现人体追踪功能,不过在后来的具体设计中发现现在风扇的风扇转向控制基本都是纯机械装置,要用单片机控制比较的困难,而电子控制装置一般都出现在高端的风扇之中且价格比较昂贵,而且机械部分方面我们也无法解决。所以最后决定放弃对转向的控制,等以后对机械方面的只是有所学习之后再做。
通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。
课程设计贡献排序:这次课程设计从最初的规划到后来的理论设计到最后的具体制作都是我们两共同完成的,实在无法区分贡献排序。各取50%吧。
课程改革建议:我们强烈建议将这门课程的理论学习和实验部分合并成一门,以避免想我们这种情况的再次发生。
单片机课程设计的实习报告范文3
作为一名自动化专业的大学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。
在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。
接下来的4月,我意外的接到系学生工作处主管陈老师来电,说我系承办了院校园文化艺术节的南方擂台知识抢答竞赛,而学校又没有抢答器,要我组织几个学生做一个抢答器。我当时想,那好啊,做抢答器不难。以前有用与非门做过,于是我便爽快的答应了陈老师,并保证没有问题,保质保量完成。当是可能是我想得太简单了,抢答器不就八个按键一个数码管显示不就完了么,把最先抢到的组别显示出来。可是到主任给我们提要求的时候才发现抢答器要实现我功能远不只这么多,倒计时、蜂鸣提示、范规报警、电子计分器,这些我都没有考虑进来。主任也说了,这是一次院级的比赛,电子系做的东西要拿的'出手,要做就做点样子出来。我想也好,虽有点难度,但符合我喜欢挑战难度的性格。我说行!这个活我做了!
接到任务开始布属,我把计分电路分了出去由其它几个同学做,我专攻抢答部分。由于没有独立设计电路的经验,刚开始得一步步慢慢深入,正好我会proteus。软硬件的调度都靠它完成,这样可以省很多的时间。做抢答器,我们花了一个月的时间,没日没夜的调试程序(当时单片机课程还没学到定时器中断,还得一边自学。)做pcb板,采购元器件,安装,调试,运行。那时,他们的计分电路也做好了,用了16个数码管做显示。我们将计分和抢答电路板及数码管安装在了事先木制的外壳上,进行整体调试。记得那时正赶上五一放假,而五月8号就是比赛了。我们都没有休息,将工作间从实验室搬到了寝室。那段时间虽然辛苦,但很充实,每个人收获都特别大。
为了让自己的编程水平能进一步提高,我将自己编写的程序发到了论坛里与大家共享,并下载网友们的程序进行分析。电子钟程序、液晶密码锁程序、跑马灯程序、大屏幕点阵屏程序、上下位机通信程序等等,这些我都能熟练的掌握。我认为,学编程读别人的程序非常重要,每个人都有不同的思维,相同的任务却有很多不同的方法,在每个程序里都能找到些经典的段子,让人回味。从中可以学到很多的方法,并且有些可以直接的引用。一个出色的程序员在编程时,并不是从零开始,而应该是先找出类似的例子进行分析,参考,看看有没有值得引用和借鉴的地方,加以修改,为自己所用。实践证明,这样做是对的。从当初不知如何着手到现在随手就能写个几百行,短短几个月,我进步还是蛮快的。
做单片机课设那会,我帮助了班上不少的同学,帮他们调试过硬件,修改过程序,并为他们解答了一系列的疑惑。当同学们投来羡慕的目光时,我很自豪,这些都是我努力的结果。当然,努力归努力,方法也很重要。在这里,我总结一下,与大家共勉:
1、基本功要杂实,要有一定的数模电基础。学单片机首先要搞清楚它的基本结构和存储单元的分配。
2、在学单片机的过程中,最好自己动手做一个单片机系统。先找现成的程序,现成的电路图,做成实物,并以这个例子为开端,带着疑问学习,往往更有目的,更主动。
3、有条件的话先个好的开发板,便实验时之用。没开发板,proteus软件仿真也行。
4、多读有代表性的程序,读得多了自然就会学到很多的好方法。可买本单片机子程序集看看,也可网上下载程序分析。
5、多泡泡单片机相关的论坛,与大家多交流交流,单片机完全可以自学的。
我觉得以上几点相当重要,因为它对我帮助很大,算是将我领进了单片机的大门,以至于我学起来不那么吃力,没有感觉到像大家说的那样的难。我看过很多的程序,也调试过很多的程序,每一次收获都不小。我的实验室就是keil和proteus。这使我做实验很方便。虽是虚拟的,但调试程序还是可以的,省去了很多的时间提高了效率。最近我在学cx51,因为学单片机掌握c语言是非常重要的,c语言的通用性对学习其它类型的单片机有很大的帮助。今后,我想做嵌入式系统工程师,想学arm,想搞操作系统。所以我现在必须打好基础,这样才能进步。
我学单片机的一些经历。其实我并不是很厉害,我懂的也只是一点皮毛,只是晓得单片机是怎么回事,能编几个小程序罢了。写这些我只是想记录一下我初学单片机的经历。同时对于那些想开始学习单片机的朋友们,还是可以有一些值得借鉴的地方。希望大家都能学好单片机,那些觉得难的学得吃力的同学要对自己有信心,要多做多练,这样才能培养学习兴趣。只要坚持就能如愿,同志们,加油!
93位用户关注
39位用户关注