- 12
- 0
- 约3.16千字
- 约 8页
- 2016-11-05 发布于重庆
- 举报
在KEILC中调试程序
在KEIL?C中调试程序
首先建立工程。选[Project\New?Project],选择工程保存的路径,及为工程命名。例如将其存放在D:\新建文件夹(2),命名为123。输入完工程名后会打开一个如下图所示的对话框,在这里我们选择CPU的型号,根据我们选用的CPU芯片的不同,这里的设置不同。在这里我们选用Atmel\AT89C51。
接下来弹出一个如下图的对话框。该对话框提示你是否要把标准8051的启动代码添加到工程中去。如用C语言写程序,一般选“否”,但是,如果用到了某些增强功能需要初始化配置时,则可选“是”。在这里,我们选“否”,即不添加启动代码。
新建文件。
在[File\New]建一个文件,将程序写入。这里以一个00-99秒计时器程序为例。程序如下
#include AT89X51.H
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90}; //共阳数码管段0-9
unsigned char Second;
delay10ms() //延时10毫秒
{ unsigned int i,j;
for(i=0;i10;i++)
for(j=0;j120;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();????? //延时??
?? P2=0xff;???? //消影???
? P0_1=1;?????? //消除P0_0选通状态?
}
void?delay1s(void)?//延时1秒
{??
unsigned?char?j;???
? for(j=50;j0;j--)?
leds();?
}?
void main(void)
{
Second=0; //显示置0
while(1) //主循环
{
delay1s(); // 延时
Second++; //自加
if(Second==60) //判断是否到60
{
Second=0; //到60置0
}
leds(); //显示子程序
}
}
保存文件。选[File\Save],将其保存在刚建的工程下。这里是用的C语言编程,所以后缀名要加上”.C”。这里我们将其命名为“Text1.c“。注意扩展名“.C”不可省略。 打开工程[Project\Open Project],在左窗口中单击右键,选“Add files to Group “Source Gropu 1“,将程序Text1.c加载到工程。只有经过这一步才能对程序进行下面的编译及调试。
单击KEIL C51
工具栏的“”图标,弹出名为“Options for Target ?Target1?”的对话 框。单击“Output”标签页,选中“Create HEX File”项,然后“确定”。如下图所示。
编译: 可选译工具栏上的编译“ ”也可选 [Project\Rebuild all target files]。如编译有 错误会在最下面的Build窗口中显示出来,通过双击出错的信息可到出错的那一行。
调试: 编译通过后就进行调试。可选择工具栏上的调试按键也可选[Debug\satr\stop Debug Scssion]。
运行: 运行可选择全速运行、单步进入等运行方式。可以利用工具栏上的快捷键也可在[Debug]菜单中选择。
其中:
单步进入与单步跳过运行的区别在于:
当调用子程序时,单步进入会进入子程序运行,而单步跳过不进入子程序。
例如上面的程序,当选择单步进入运行方式,则在调用显示子程序时,它会进入子程序内部运行,此时我们就可以看到执行时P0、P2的变化。
当选择单步跳过运行方式时,我们则只能它到它运行完子程序后的结果。即P0
您可能关注的文档
最近下载
- 2025年植物源新农药百部碱行业深度研究报告.docx
- 2025年高考英语北京卷真题(解析版).doc VIP
- 高考数学考点与题型全归纳.docx VIP
- (高清版)-B-T 30146-2023 安全与韧性 业务连续性管理体系 要求.pdf VIP
- 高考数学考点题型全归纳.pdf VIP
- 2026年度黑龙江省交通运输厅所属事业单位公开招聘工作人员86人备考题库带答案详解(完整版).docx
- 2026年01月20日路易达孚(青岛)粮油食路易达孚食品科技产业中心青岛董家口一期项目董家口港区港润大道以东、纬十四路以北.pdf VIP
- 【高中物理】题型全总结(16专题),详细总结与归类!.pdf VIP
- 安徽师大附中2026届高二化学第一学期期末综合测试试题含答案.doc
- 化学元素读音及顺口溜大全.doc VIP
原创力文档

文档评论(0)