keil 调试问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil 调试问题相关的知识,希望对你有一定的参考价值。

keil erro:Could not load file"F\keil\test"debugger aborted

1.运行Keil C 在file 菜单中选Device Database
2.在Data base k中选Cygnal Integrated products -->双击"C8051F020"
3.在Option中删除 SFILE="LIB\\STARTUP.A51" ("Standard 8051 Startup Code")
4.把SIM=S8051.DLL DP51.DLL("-p51F00") MON=S8051.DLL TP51.DLL("-p51F00")
改为SIM=S8051.DLL DCYG.DLL("-p51F00") MON=S8051.DLL TCYG.DLL("-pCYGF021")
5.单击"Update","确定"
参考技术A 应该是文件的问题,或者是文件夹命名的问题!文件夹命名问题!不能用空格,连_这样的下划线和.小数点都不行! 参考技术B 很有可能打入了中文字符,而KEIL的编辑器对中文支持不好,也就是显示不出中文字符。用别的编辑器打开看看。

keil调试问题

大家好, 最近我在调试Keil软件时出现一个问题:源程序如下--调试时,我用单步调(F11),发现开始时箭头会跳过P1=aa,(指针指向for语句,再按一下F11跳转至delayms(200)处,对应的P1口也缺少这一步信息。谢谢大家帮忙。
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
void main()

uint aa,i,j;
while(1)

aa=0xaa;
for(i=0;i<5;i++)

P1=aa;
delayms(200);
P1=0xff;
aa=_crol_(aa,1);

for(j=0;j<3;j++)

aa=0xfe;
for(i=0;i<7;i++)

P1=aa;
delayms(200);
aa=_crol_(aa,1);

for(i=0;i<7;i++)

P1=aa;
delayms(200);
aa=_cror_(aa,1);




void delayms(uint ms)

uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);

二楼说的情况可能是有,但有时候又不会出现我上述的那种情况,就是单步执行时P1=aa;会执行,怪事了。

应该是编译器优化的结果.
因为在三个循环中
P1=aa;
delayms(200);
aa=_crol_(aa,1);
基本一致.从仿真时的反汇编程序看,他们的入口一样,就好像同样调用一个函数.这样可以缩短代码的长度.
参考技术A 好久不弄51了,不知道给端口赋值是p1=aa,还是str p1 = aa 了

以上是关于keil 调试问题的主要内容,如果未能解决你的问题,请参考以下文章

keil调试中的问题。

keil mdk 调试的时候没有黄色箭头

keil调试程序下面的窗口叉掉不见了咋两个放在一起

记录一次keil vscode 联合调试阅读代码过程中出现乱码,导致keil编译不过的问题

如何在keil调试中黄色箭头不出现汇编窗口而是停在main主函数上

keil调试问题记录