欢迎来到天天文库
浏览记录
ID:793279
大小:496.53 KB
页数:13页
时间:2017-09-05
《avr单片机开发环境及调试方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章AVR单片机开发环境及调试方法第一节AVR单片机开发环境图2.1.1开发环境的主要任务1、单片机开发环境的主要任务开发环境(SoftwareDevelopmentEnvironment)的主要任务建立工程、汇编、连接工程、仿真调试并获得目标代码(如图2.1.1)。图2.1.2工程文件结构示意工程文件LED01源程序文件部分.c头文件部分.h但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其他错误,必须通过调试才能发现并解决。事实上,除了极简单的程序以外,绝大部分的程序都要通过反复调试
2、才能得到正确的结果,因此,调试是软件开发中重要的一个环节。2、与开发环境有关的几个名词1)工程及工程文件.prj工程文件是许多包括头文件、源程序文件等的集合。它的作用是以固定的组织形式管理一个工程涉及到的所有文件。2)C语言源程序文件.C运用C语言编写的程序文件称为C语言源程序文件。由于C语言有学习方便、无需了解计算机内部结构、通用性强的优点,所以被广泛应用于单片机的程序编写。3)汇编源程序文件.asm运用汇编语言编写的程序文件称为汇编源程序文件。一些有特殊要求的程序会包括部分汇编源程序,比如要求程序对外部
3、变化反应较快或者要求程序的运行时间比较严格。4)编译、汇编编译:开发环境对程序员编写的程序进行检查。编译只能检查程序语法错误而对于程序逻辑错误则无法检查。汇编:把C语言源程序或者汇编源程序“翻译”回机器语言的过程。5)目标文件.hex工程文件经过汇编之后产生的内容为16进制数码的可执行文件称为目标文件,可以直接被CPU执行,用于直接烧录单片机芯片。6)单步运行、跟踪运行、全速运行单步运行:每次只运行程序一句指令代码,非常便于程序员调试程序。跟踪运行:一条语句一条语句的执行或者反复执行某几行代码,同样用来调试
4、程序。全速运行:不设定断点,令CPU按顺序执行全部程序的过程。7)断点简而言之,断点就是使用程序在运行进程中,中断进行,停下来的那个点。大家在一个地方打一个断点,程序运行到那里会停下来,可以检查已经运行的那部分代码有没有问题(检查对应的寄存器或者变量的值是否正确),是不是按照理想的逻辑来进行的。有了断点,还可以让程序一段一段执行检查程序的逻辑错误。3、AVR单片机编程环境(ICCAVR)1)新建一个工程文件①打开ICCAVR②创建一个工程主菜单project(工程)里选new(新工程)选项,进入打开项目窗口
5、。③选择工程一个保存路径保存好工程之后,右侧会出现工程(工程名为MYPRO)目录新建的工程目录④新建一个C源程序文件在新建立的文档中编写程序⑤保存C源程序文件⑥填写文件名,选择保存路径(注意:C语言源程序要加扩展名.c)⑦将编好的C语言文件添加到工程中。右键点击Files⑧选择好需要添加的文件之后⑨这样一个工程文件就被我们建立好了。2)打开一个工程①打开ICCAVR软件: ②由主菜单project(工程)里选open(打开工程)选项,进入打开项目窗口。 ③由路径C:iccexamples.avr下选
6、择LED.prj并打开。 ④此时系统会弹出一个警告窗口,提示设置芯片信息。 ⑤确定即可打开项目此时在右边项目窗口既可看到情况,LED项目中包含一个C语言程序文件led.c,双击此文件既可在编辑区打开。 ⑥选择芯片型号由菜单上点击Project->Options->Target,在DeviceConfiguration里选芯片型号为ATMega16;在Advanced(高级)ReturnStackSize(堆栈大小)里填30。 ⑦将文件led.c的第一行改为#include。 ⑧
7、完成上面的操作,现在就可以编译了,通过菜单Project->RebuildAll对项目进行编译。如果上面操作没有出错的话,会在项目相同路径下出现烧录文件led.hex。 ⑨到此ICCAVR软件的工作已经完成,将编译输出的led.hex文件烧录到芯片中既可看到实验结果了。下面是本例程对应的硬件,如用的芯片型号不同可以对第6步的选项进行修改。 第二节程序调试方法1、程序调试重要性对程序设计者来说,不仅要会编写程序,还要上机调试通过。初学者的程序往往不是一次就能顺利通过,即使一个有经验的程序员也常会出现某些疏
8、忽。上机的目的不仅是验证程序的正确性,还要掌握程序调试的技术,提高动手能力。程序的调试具有很强的技术性和经验性,其效率高低在很大的程度上依赖于程序设计者的经验。有经验的人很快就能发现错误,而有的人在计算机显示出错误信息并告诉他哪一行有错之后还找不出错误所在。所以初学者调通一个程序往往比编写程序花的时间还多。调试程序的经验固然可以借鉴他人的,但更重要的是靠实践来积累。调试程序是程序设计课程的一个重要环节。上机之前要
此文档下载收益归作者所有