单片机课程总结报告 - AVR与虚拟仪器

时间:2024.4.27

单片机课程总结报告AVR与虚拟仪器

目录

1. 整个过程中出现的问题及解决的方案 ................................................................................... 3

1.1. 软件调试中出现的问题 ............................................................................................... 3

1.1.1. PC2~PC5接口输出不正常 ............................................................................... 3

1.1.2. 如何禁用JTAG端口 ......................................................................................... 3

1.1.3. JTAG口与芯片连接不上 .................................................................................. 3

1.1.4. 程序不能正常编译 ........................................................................................... 3

1.1.5. icc程序修改与avrstudio不同步 ..................................................................... 3

1.1.6. 显示频闪 ........................................................................................................... 4

1.1.7. 子函数的单独调试 ........................................................................................... 4

1.1.8. 找不到相关文件 ............................................................................................... 4

1.2. 硬件调试中出现的问题 ............................................................................................... 4

1.2.1. 电烙铁的使用 ................................................................................................... 4

1.2.2. 焊点焊锡量 ....................................................................................................... 5

1.2.3. 焊接过程中7805稳压芯片 ............................................................................. 5

2. 团队管理的心得体会 ............................................................................................................... 5

3. 课程设计的心得体会 ....................................................................................................... 5

3.1. 细节决定成败: ........................................................................................................... 5

3.2. 动手实践能力有着非常重要的意义: ....................................................................... 6

3.3. 团队合作和分工的重要意义: ................................................................................... 6

3.4. 交流请教的必要性: ................................................................................................... 6

3.5. 计划的重要性: ........................................................................................................... 6

4. 项目成员贡献排序 ................................................................................................................... 6

5. 课程改革的建议 ....................................................................................................................... 6

2

1. 整个过程中出现的问题及解决的方案

1.1. 软件调试中出现的问题

1.1.1. PC2~PC5接口输出不正常

在调试course project显示模块的过程中,我们发现PORTC驱动的LED无法正常显示。起初以为是程序编写的问题,但是与PORTC使用相同程序的PORTA却可以正常显示。而后我们检查了DDRC设置,也没有问题。最后想到用软件进行仿真。可是仿真结果更增加了我们的疑惑,因为PORTC正是输出的我们的预想值。后来得出结论,我们的单片机坏了。换用别人的单片机仍然是相同的结果。问题一度陷入僵局。后来向同学才知道PC2~PC5端口是被JTAG利用的,因而不能用作I/O端口使用。老师在实验课上讲过这个问题。但由于清明放假冲掉了我们的那一节课,导致我们组没人知道这个问题,大量时间被浪费。

1.1.2. 如何禁用JTAG端口

在course project的电路已经焊好,程序也正剩下硬件仿真调试的情况下我们才得知PC2~PC5端口不能正常时使用。这就迫使我们要么修改写程序和电路,要么想办法禁用JTAG端口。但由于Mega16的所有端口已被利用而且大部分端口都是复用的,修改意就等于重做。于是我们只能选择禁用的方式。经过查课本我们找到了通过修改熔丝位禁用JTAG在线仿真功能,然后通过程序对JTD置为来禁用JTAG的方案。通过上网查询资料,得知在tool—programme avr 中可以修改熔丝位。最后,冒着芯片被锁的危险,和一番惊心动魄的操作,熔丝位修改成功,course project的显示模块得以正常工作。

1.1.3. JTAG口与芯片连接不上

这个问题在实验过程中遇到了多次,可以总结一下连接不上时的检查步骤。

a) 检查JTAG接线是否与计算机串口连接好了。

b) 检查JTAG接口是否插正了,是否插在了ISP端口上。

c) 检查芯片电源是否连接正常。如果是用实验箱还可以将查一下开关是否按到了底。

如果仿真器上的指示灯亮了,说明硬件连接上没有问题。剩下的可能性有三个: a) 端口类型选择错误。

b) avrstudio 的稳定性不好造成出错。解决方案是关掉avrstudio重新进入,多试几次可能

正常。

c) 芯片被锁,需要用ISP下载线或并行编程器改回熔丝位。

1.1.4. 程序不能正常编译

程序本来在宿舍的电脑编译正常,但在实验室编译时出现一连串想同类型的错误:某某地址上已赋值。检查程序若干遍还是未能发现有什么错误。将程序加入新建工程重新编译还是未能通过。一番周折后去问老师,才知道是project—option选项中单片机类型错误造成的。之后每次编译,总要先检查option中是否选择了正确的芯片类型。

1.1.5. icc程序修改与avrstudio不同步

course project 工作过程中,有一个表示状态的灯不能正常显示。经过仔细读程序和单步调试后发现出错语句的可能位置。通过icc修改程序和avrstudio的同步更新后,依然不能正常显示。多方判断程序不可能在其它语句中出错,再次怀疑是硬件问题。通过对该端口强制置一,发现仍不能正常显示。通过对该端口的软件仿真发现它竟然是我第一次修改程序之前的值。由此发现,avrstudio的同步更新只是针对计算机上显示的程序,而非芯片中的程序。因而每次错修改时必然要重新编译,重新烧录。

3

1.1.6. 显示频闪

course project (五子棋)中的棋盘显示模块一直不断闪烁。为了解决这个问题,我们总共做过以下尝试:

a) 修改熔丝位,提高系统的时钟频率。编写程序时,一直以为系统时钟频率是4MHz。出

现频闪后经多番讨论和提问才知道适中的默认设置是1MHz。所以扫屏时间一定是不合适的。最简单的方式是把时钟频率改为4MHz。修改效果是棋子闪动频率加快,但距稳定还有一定差距。

b) 修改扫描屏幕的时间间隔。老师和学长对于频闪的说法不一。老师的说法是一秒钟只要

能扫描25次就会得到稳定的图像。但学长的说法是,不但一秒钟要有25帧图像,而且图像每次都要稳定保持6ms后才能最终中得到稳定图像。鉴于说法上的矛盾,我们决定采用实验的方式,即采用行扫描的方式,每行扫描时间由1ms,2ms,3ms…依次递增,直到找到效果最好的点。实验时,我们发现,屏幕闪动频率先增后减,一直没有出现过稳定图像。最终选定逐行扫描,每行停留2.5ms的方式。这种情况下,显示效果相对较好。

c) 修改工作模式。周三上课时老师讲到CTC工作模式与普通工作模式的差别,才发现我们

想要利用的是CTC的工作方式,但选择的确是普通工作模式,我们的板子到底是怎样工作的呢?带着这一疑问,我们修改了timer0的工作模式,然后又用上述实验测定的方法选定了每1ms扫描一行的方式。最终得到了稳定的棋盘显示效果。

1.1.7. 子函数的单独调试

avrstudio4提供的仿真功能只能显示每个端口的输出值,但是要对应到我们无子棋的棋盘位置就需要我们自行计算。而且由于应用的是黑白棋规则,每次落子后都要对棋盘进行重新计算。假如直接在硬件上调试,硬件问题与软件问题的叠加必然会增加调试难度。于是我们将落子规则、得分计算、胜负判定等可以独立于硬件的子函数单独导出,然后编写相应的输入输出函数,使其能够在c++中运行。最终,我们在硬件尚未完成的情况下,利用c++完成了可与硬件独立的子函数的调试,为参加校内科技创新大赛赢得了宝贵的时间。

1.1.8. 找不到相关文件

a) 在程序来回拷贝和编译的过程中,我们遇到过多次找不到相关文件的提示,下面将提示

的类型和解决方案进行汇总。

b) 文件名改动导致源文件找不到。对于一个已经建好的工程,随便改变其源文件的名称会

导致在编译过程中找不到源文件。即便把源文件名称改回去依然会出现这样的提示。比较快的解决方式是把该源文件由工程中移走,然后重新加入该工程。

c) 头文件找不到。不知道为什么,一个已经能够通过编译的程序在拷贝到另一台电脑上以

后再次编译,系统有时会提示找不到头文件。即便把相应头文件拷贝到该文件夹下并加入工程也不能消除该项错误。最简单的方法就是重建一个工程,加入源文件就可以通过编译了。

d) 烧录时找不到相应cof文件。系统提示文件已移动,但文件就在相应文件夹里。解决方

案是重新编译一次程序,然后进行烧录。

1.2. 硬件调试中出现的问题

1.2.1. 电烙铁的使用

先向有经验的同学请教电烙铁的用法和注意事项,然后用自己买来的二极管、电阻和面包板进行了练习,做好了充足的技术上的准备。并且在焊接电路板的过程中不断总结经验,发现了许多技巧和问题。比如烙铁头并不热,熔化焊锡应用电烙铁尖锥中部。

4

1.2.2. 焊点焊锡量

焊锡过多过多易造成短路,过少则虚焊;焊点的形状不规则,表面不光滑,有毛刺经过练习基本对焊锡量心中有数。经实践发现,先将焊锡一点点熔化到焊点上(形状可不在意),调整到一个合适的量,再用烙铁将其在电路板上再次熔化,利用熔化焊锡的表面张力和对金属的吸引力形成一个火山一样的尖锥形。这样既可把握好焊锡量,又能使焊点比较光滑和完整,还能很好地避免虚焊。。如焊锡过多,则用烙铁向元件较长的引脚上拨,最后随多出来的金属引脚剪掉就行了。如果发生短路,用烙铁将中间部分熔化分开即可。

1.2.3. 焊接过程中7805稳压芯片

这种芯片三引脚的不规则形状给我们的焊接带来了很大困难,始终无法将其表面弄得比较规则,两引脚间焊锡还经常练在一起

对于这种问题只能反复焊接,注意了不能一次加热时间过长。7805芯片的引脚最终焊得也不好,但是功能没问题。虽然最终电路板并不是焊得非常美观,但是性能还是符合要求的。除了蜂鸣器由于电路板上金属环的脱落而使那一点虚焊而无法使用,其他的部分均功能良好。我们还在扩展区焊了两排插针在VCC和GND线上以扩展功能。

2. 团队管理的心得体会

在小组成员的选择上我们考虑到,每位组员必须具备履行工作职能的胜任能力,并且善于与其他小组成员合作。只有这样,每一位成员才会清楚自己的角色,清楚自己在每一个职能流程中的工作位置以及上一道工序和下一道工序,每一个进入团队的人,才能真正成为一个团队成员。实际中,我们小组队成员能根据工作的需要自发的作出反应,采取适当的行动来全力以赴地完成我们课程设计的目标。在选题阶段,我们集思广益,同学们都提出了很多有趣的构想,在确定了我们的大体方向后,根据我们的实际能力和学习兴趣,我们确定了我们课程设计的题目,即基于AVR单片机的“无子棋”的设计和制作. 每个人根据自己的兴趣和能力选择自己希望承担的项目内容,然后在小组的讨论过程中平衡各个组员的任务量.每次周一实验课结束和例行的讨论交流,我们都记录下参与同学所提出的问题,能够当场讲明的应从速,不能及时解决的待讨论结束之后分头查找和思考答案并在下次讨论中着重提出。对于提出问题或者意见的同学,大家都抱有一种鼓励和赞许的态度,因为能够提出意见和问题,暂不论其正确或科学与否,首先表明了这个同学积极思考而且关心在乎我们团队的的项目,这表明了小组成员的一种自觉和归属感.在项目进行过程中,倡导成员为集体考虑问题,锻炼成员的全局观,从课程设计整体的角度思考问题,解决问题。由于同学们的课程压力都很大和时间都很紧张,这要求各位成员尽量以整个小组计划的进度为重,以小组项目的质量为重,从项目整体出发科学安排时间,保质保量地完成各自承担的任务.在课程设计的初期,在老师的鼓励下,我们就设定了参加五月上旬的山东大学科技创新大赛的目标,出于这个目标我们不等不靠,自学了很多知识,充分利用课余时间购买元器件,设计电路,焊接电路,编制计算机程序.在这个紧张的过程中,小组成员都在自学能力、团队合作能力都得到了极大地激发和培养.值得一提的是,我们在这次大赛中获得了一等奖的好成绩,同学们对单片机这门很有价值且妙趣横生的课程更有热情和兴趣了。

3. 课程设计的心得体会

通过一个学期单片机课程的学习和实践,以及我们组学期项目的制作,我们确实产生了许多感想,有许多的心得体会。下面简要列出一些:

3.1. 细节决定成败:

使用软件和编写程序时一定要注意每一个细节,一个分号的遗漏也会造成错误。制作前

5

一定要做好规划设计,反复论证和计算,防止考虑不到的地方使得做好的东西需要翻工。如果制作或使用中发现问题,既极大地打击积极性和自信心,还会极大地消耗时间,拖延项目的进度。制作硬件也一定要耐心细致,极小的失误都会造成短路等问题而直接造成大错。在设计中,如果没有考虑到哪怕任何一个细节,都有可能让没考虑到的情况造成BUG,使各个子程序的时序和运行之间可能会互相干涉和冲突。

3.2. 动手实践能力有着非常重要的意义:

多年接受应试教育使我们忽视了动手技能的培养和这方面素质的养成。这次对单片机实验板的焊接对各个成员都非常有吸引力,而且确实使我们培养了动手能力,并且意识到了动手实践的重要意义。单片机课是到目前为止我们所接触到的与实际最为接近的一门课程。在这之前,学习到的理论性课程让我们走入了一种误区:理论的完备性是最重要的,只要理论完美了,具体实践上的落实是顺理成章的事情。但是学习了这门课之后,我们发现实践中蕴藏的智慧也是非常丰富的,实践能力对于我们的意义同理论知识同样重要。

3.3. 团队合作和分工的重要意义:

没有完美的个人,只有完美的团队。在这样复杂和长期的任务面前,一个人的力量是薄弱的,一个人能想到和做到的也是极其有限的。通过分工合作,每个人不必在短期内掌握太多的东西,而是通过充分信任队友的能力和专心钻研自己的任务来使团队效率大大提高。

3.4. 交流请教的必要性:

遇到问题有时候凭借一个人或一组人的智慧是不好解决的。我们周围有许多很强的同学,还有许多经验丰富,实力雄厚的学长,通过请教和讨论可以产生一种茅塞顿开的效果。事情总是越说越明白,而且好多非常有新意和实用价值的想法也是在大家的讨论中得到和发展出来的。

3.5. 计划的重要性:

在这样一个复杂项目的实施过程中,我们遇到了很多困难和挫折。很幸运我们方向一直明确,坚持按照计划,一步步克服困难,最终在学校的科技创新大赛前成功做出了我们的项目成品。现在想来,我们确实是因为一个明确的计划,一点点克服困难,一点点积累经验,才走到现在的。这其中计划的重要性不言而喻。

这门课的学习确实给了我们很多,而且不单单是知识和技能,还有精神层面上的东西。而在项目制作过程中的困难和喜悦,希望和失望,成功和失败,也都是我们心中永远的宝贵财富。

4. 项目成员贡献排序

高众 1/3;韩恩道1/3;高原1/3

5. 课程改革的建议

a) 从分析解决实际问题出发学习了解单片机的知识和技能,案例教学。

b) 由于单片机的内容较多且琐碎,应增加课时量,以满足同学们对单片机知识的需要。 c) 教师在讲授某一知识时,最好再多做一些当堂演示。

6

更多相关推荐:
基于51单片机课程设计报告

课题:基于51单片机的数字温度计设计专业:电气工程及其自动化班级:4学号:姓名:指导教师:设计日期:20##/6/3成绩:重庆大学城市科技学院电气学院基于51单片机数字温度计设计报告一、设计目的作用本设计是一款…

单片机课程设计总结

单片机课程设计心得体会这个学期的单片机课已经早早的上完了但是理论纯属理论没有与实践的结合总让我们学的不踏实感觉没有达到学以致用的效果所庆幸的是在课程介绍考试完之后老师给我们安排了这次单片机课程设计给了我们学以致...

单片机课程设计总结报告参考模板

湖州师范学院求真学院课程设计总结报告课程名称单片机应用系统设计设计题目基于STC89C51的数字电子钟设计专业电子科学与技术班级080835姓名张静学号12指导教师李祖欣吴小红报告成绩求真学院信息与工程系二一一...

51单片机课程设计报告

重庆科技学院学生实习实训总结报告学院电气与信息工程学院专业班级XXXXXX学生姓名XXX学号20xxXXXXXX实习实训地点逸夫科技楼I512报告题目单片机万年历系统设报告报告日期20xx年9月13日指导教师评...

单片机课程设计小结

单片机课程设计小结单片机课程设计小结一做了两周的课程设计有很多的gt心得体会有关于单片机方面的更多的是关于人与人之间关系方面的我们组一共有三个人但其他两个人是真的神龙见首不见尾除了在最后答辩的时候他们一起坐在了...

单片机课程设计报告

单片机原理及应用课程设计报告书题目简易数字电压表的设计姓名汪剑专业电气工程及其自动化设计时间20xx年11月电子与信息工程学院目录1引言111设计意义112系统功能要求12方案设计221功能要求及设计目标122...

单片机课程设计报告

JINGCHUUNIVERSITYOFTECHNOLOGY电子信息工程学院单片机原理与应用技术课程设计报告电子秒表系统专业班级11电气三班姓名学号指导教师邓鹏提交日期20xx年6月目录一前言311课程设计的目的...

51单片机电子时钟课程设计报告

第一部分设计任务和要求11单片机课程设计内容利用STC89C51单片机和LCD1602电子显示屏实现电子时钟可由按键进行调时和1224小时切换12单片机课程设计要求1能实现年月日星期时分秒的显示2能实现调时功能...

单片机课程设计报告书波形发生器

目录1课程设计目的12课程设计题目和实现目标13设计方案14Proteus仿真原理图15程序流程图16程序代码17调试总结18设计心得体会19参考文献11课程设计目的单片机原理及应用课程设计是与单片机原理及应用...

单片机课程设计报告-xx

单片机技术与应用课程设计报告题目单片机小系统电子钟的设计院系信息科学与技术系专业班级通信1101学生姓名XX学号20xx1181022指导教师XX2013年12月09日至20xx年12月20华中科技大学武昌分校...

20xx年单片机课程设计报告模板

中南民族大学计算机科学学院单片机课程设计报告课程单片机课程设计设计题目LED移动汉字显示年级专业自动化09级学号09064026学生姓名张永平指导教师苗祖英吴桂华20xx年12月6日1课程设计量化评分标准指指导...

单片机双机通信课程设计报告

课程设计说明书课程设计名称单片机课程设计课程设计题目单片机与单片机之间的串行通讯学院名称信息工程学院专业电子信息科学与技术班级090431班学号xxx姓名xxx评分教师xxx20xx年6月25日课程设计任务书2...

单片机课程设计报告总结(27篇)