欢迎来到天天文库
浏览记录
ID:59217656
大小:1.35 MB
页数:8页
时间:2020-09-09
《在KEILC中调试程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在KEIL C中调试程序首先建立工程。选[ProjectNew Project],选择工程保存的路径,及为工程命名。例如将其存放在D:新建文件夹(2),命名为123。输入完工程名后会打开一个如下图所示的对话框,在这里我们选择CPU的型号,根据我们选用的CPU芯片的不同,这里的设置不同。在这里我们选用AtmelAT89C51。接下来弹出一个如下图的对话框。该对话框提示你是否要把标准8051的启动代码添加到工程中去。如用C语言写程序,一般选“否”,但是,如果用到了某些增强功能需要初始化配置时,则
2、可选“是”。在这里,我们选“否”,即不添加启动代码。新建文件。在[FileNew]建一个文件,将程序写入。这里以一个00-99秒计时器程序为例。程序如下#includeunsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管段0-9unsignedcharSecond;delay10ms()//延时10毫秒{unsignedinti,j;for(i=0;i<10;i
3、++)for(j=0;j<120;j++);}leds()//显示子函数{ 0_0=0; //选通P0_0数码管 P2=table[Second/10]; //送段值 delay10ms(); //延时 P2=0xff; //消影 P0_0=1; //消除P0_0选通状态 P0_1=0; //选通P0_0数码管 P2=table[Second%10]; //送段值 delay10ms(); //
4、延时 P2=0xff; //消影 P0_1=1; //消除P0_0选通状态 }void delay1s(void) //延时1秒{ unsigned char j; for(j=50;j>0;j--) leds(); } voidmain(void){Second=0;//显示置0while(1)//主循环{delay1s();//延时Second++;//自加if(Second==60)//判断是否到60{Second=0;//到60置0}leds();//显
5、示子程序}}保存文件。选[FileSave],将其保存在刚建的工程下。这里是用的C语言编程,所以后缀名要加上”.C”。这里我们将其命名为“Text1.c“。注意扩展名“.C”不可省略。打开工程[ProjectOpenProject],在左窗口中单击右键,选“AddfilestoGroup“SourceGropu1“,将程序Text1.c加载到工程。只有经过这一步才能对程序进行下面的编译及调试。单击KEILC51工具栏的“”图标,弹出名为“OptionsforTarget„Target1‟”的对
6、话框。单击“Output”标签页,选中“CreateHEXFile”项,然后“确定”。如下图所示。编译:可选译工具栏上的编译“”也可选[ProjectRebuildalltargetfiles]。如编译有错误会在最下面的Build窗口中显示出来,通过双击出错的信息可到出错的那一行。调试:编译通过后就进行调试。可选择工具栏上的调试按键也可选[DebugsatrstopDebugScssion]。运行:运行可选择全速运行、单步进入等运行方式。可以利用工具栏上的快捷键也可在[Debug]菜单中选择
7、。其中:n单步进入与单步跳过运行的区别在于:当调用子程序时,单步进入会进入子程序运行,而单步跳过不进入子程序。例如上面的程序,当选择单步进入运行方式,则在调用显示子程序时,它会进入子程序内部运行,此时我们就可以看到执行时P0、P2的变化。当选择单步跳过运行方式时,我们则只能它到它运行完子程序后的结果。即P0、P2最后运行的值。n全速运行,则程序一直运行,直至按下停止为止。运行方式的选择可以用工具栏中的快捷键也可在[Debug]菜单下设置。n遇到延时程序时,跟踪太慢可以让它“运行到光标处”。n在遇到
8、复杂程序时,可以设断点。在要设断点的地方运用工具栏上“设断点”的快捷键即可设置断点。程序每运行到断点处,就会停下来。这时你就可以看程序运行到此处的值。取消断点可用工具栏上“取消断点”键。在程序运行时可能需要观察某个量的值,可在窗口下面的“Watch#1”或“Watch#2”等窗口中将要观察的量输入。如此窗口没打开时,可选[ViewWatch&Callstackwindow]打开观察窗口。输入变量的方法是,选中窗口中的“typeF2toedit“,按F2,即可输入,它后面就是该变量
此文档下载收益归作者所有