一段程序是这样的,用的AT89C51单片机。
#include<reg51.h>
#define uchar unsigned char
#define unit unsigned int
#define ulong unsigned long
extern void cs_t(void);
extern void delay(unit);
extern void display(uchar*);
data uchar testok;
void main(void)
{
data uchar dispram[5];
data unit i;
data ulong time;
P0=0xff;
P2=0xff;
TMOD=0x11;
IE=0x80;
while(1)
{
cs_t();
delay(1);
testok=0;
EX0=1;
ET0=1;
while(!testok) display(dispram);
if(1==testok)
{
time=TH0;
time=(time<<8) | TL0;
time*=172;
time/=10000;
dispram[0]=(uchar)(time%10) ;
time/=10;
dispram[1]=(uchar)(time%10) ;
time/=10;
dispram[2]=(uchar)(time%10) ;
dispram[3]=(uchar)(time/10) ;
if(0==dispram[3])dispram[3]=17;
}else
{
dispram[0]=16;
dispram[1]=16;
dispram[2]=16;
dispram[3]=16;
}
for(i=0;i<300;i++)display(dispram) ;
}
}
用KEIL C51编译连接时出现7个WARNING,如图,请问怎么回事
字面意思是未解析的外部符号,你没把包含外部变量的c文件放在同一文件夹下,或者说你没把那个文件添加到工程。我刚测试完,就是这个问题
啊对了,如果还有问题可以百度hi我,我每天都会看。很喜欢单片机设计,愿意一起研究
Keil使用中遇到的问题
在使用Keil C51过程中,可能会遇到一系列问题。首先,安装Keil C51后,为打开项目,务必下载Keil MDK-ARM并安装配套的pack,可通过官网keil.com获取(需梯子)。遇到报错"Target 'STM32F429_439xx' uses ARM-Compiler 'Default Compiler Version 5' which is not available"时,解决方法是进入Options f...
编译出现--- Error: can't execute 'D:\\keil\\C51\\BIN\\C51.EXE'
编译出现--- Error: can't execute 'D:\\keil\\C51\\BIN\\C51.EXE'是设置错误造成的,解决方法为:1、双击错误跟踪到报错的地方我们可以看到这里就是type定义的地方。2、到新版的库文件中,注意要消除只读的设置。3、然后在这个定义的上方补充定义这个宏。4、#47-D: incompatible redefinition of macro...
c51编译时出现fail to execute:c\\keil\\c51\\bin\\c51.exe怎么整
1、自己重建工程,把要打开的程序的文件拷贝过去,编译即可以通过,但这样做比较费事。2、打开出错的程序,选择菜单:Project-Compoonents,Environment and Books 选择Folders\/Extensions,并把“Use settings from TOOLS.INI”前面的勾打上即可.但有的KEIL版本在Project下找不到Compoonents,Environment and ...
在keil中,编译时出现错误:Error:fail to execute‘ C:\\keil\\C51\\
在任务栏中有一个品字样的彩色图案,点击它然后在选择Folders\/Extensions在Toll Base Folder:后面有一个路径把他改成你自己keil安装路径下C51文件夹的路径就行了!
用Keil编译C时,出X:\\KEIL\\C51\\INC\\ATMEL\\AT89S52.H(1): error C129...
(1)这个肯定是你的代码写错了导致程序在编译的时候与头文件里面的某些东东给配对了,认真检查吧,程序、函数中每条c语句后有个分号。要不就贴出来,让大家看看。(2)不用去网上下啊,安装完后在keil的C:\\Keil\\C51\\INC\\Atmel,就有,其实用#include<reg51.h>就行。
用keil编写的 C51错误 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYM...
是试过了,KEil编译通过,没有问题,可能是你Keil设置的问题,解决办法:1.是文件没有添加到工程里。2.可能是因为存在没有被调用的已经定义的函数。3.不知道你有没有把Source group组下面的A51.C删掉,如果没有删,在A51.c上点右键,选择remove file " ".4.建一个新的c文件,里面写一个空的...
如何在C51编译的时候解决FATAL ERROR L210错误?
产生‘FATAL ERROR L210: I\/O ERROR ON INPUT FILE:’的原因:一般是由于选择的度芯片有扩展口,而编译使用了系统默认的BL51等引起的。具体解决办法:如下命令:1、 project-> options for target 'target1'。2、选择L使用扩展百连接LX51替换BL51 。3、选择A使用扩展连接AX51替换A51。
在Keil C51软件用汇编时,编辑的程序出现“UNDEFINED SYMBOL”的错误...
可能原因:你没有选好芯片(即目标设备),编译器会根据你选的芯片,进行编译连接。P0,P1口都是在一个预定义文件里定义过的。也有可能是你的这个预定义文件丢失了。造成编译时,不认识P0,P1。
安装的keil软件编译时出错:—错误:无法执行'D:\\keil\\c51\\BIN\\A51.exe...
不是兼容问题,因为Keil 在执行命令时无法识别中文,所以地址必须是英文。还有,安装目录下找到tools,找到这个命令[C51] PATH="D:\\keil\\C51\\" Path 后面改为 你自己的安装位置就可以 PATH="你安装的位置\\C51\\"
keil c51已破解编译时为什么还出现RESTRICTED VERSION WITH 0800H...
是否已经超出你选择芯片的FLASH大小,看以上提示你选择的芯片应该是4K大小的,也就是说最大容量为4096,如果是STC的话芯片号还要占用几字节的空间,第一行code=5840很显然已经超出容量了。如果确实是芯片选择错误的话可以将芯片型号修改一下,把警告的代码注释掉,再编译就会通过了 ...