既然keil2编译的可以下载,那应该是keil4编译时的选项没有选对,看一下编译后的文件是否也是HEX文件,如果也是的话,就是下载操作不对了。用keil2重新编译一遍,下载一遍,看是否还正常。然后再对照一下keil4的过程。可能是下载线,下载软件有问题,就误认为是keil4的问题了,这是不可能发生的,一定是你的操作有误。3个方法:【1】数据库替换法(stc官网方法):先备份keil安装目录uv2(或者uv3)文件夹下面的uv2.cdb(或者uv3.cdb)文件,然后用stc官网提供的同名的cdb文件代替。说明:这个方法最简单,但缺点是在器件选型时,只能选择stc单片机,原来的单片机都没了,让人不爽。【2】新数据库添加法:1、在keil/c51/inc下新建目录"stc"文件夹, 把stc单片机的头文件拷贝到"stc"目录下。 2、下载的用于keil下的stc器件数据库更名为stc.cdb并拷贝到keil/uv2目录下。(如果是kile3则是uv3,kile4则是uv4) 3、打开keil文件夹下的tools.ini文件,在[uv2]下面(也就是[c51]上方) 键入cdb0=uv2\stc.cdb("stc"),然后保存退出即添加完毕。(如果是kile3则是uv3,kile4则是uv4) 说明:另外增加一个单片机数据库,既可以选择stc单片机,又不影响原来数据库的使用。 使用:为目标设置选项时,点击device页,在database中选择“stc”。 新建工程时,在select a cpu date base file中选择“stc”。 注意:关于数据库cdb文件, kile4向下兼容,kile4可以使用kile2、kile3的数据库cdb文件。 kile2不向上兼容,kile2无法使用kile4的数据库cdb文件。【3】原数据库添加法:(这个需要自己编辑数据,就不介绍了)说明:只添加自己使用stc型号,简洁方便,可以选择stc单片机,又不影响原来数据库的使用。3个方法:【1】数据库替换法(stc官网方法):先备份keil安装目录uv2(或者uv3)文件夹下面的uv2.cdb(或者uv3.cdb)文件,然后用stc官网提供的同名的cdb文件代替。说明:这个方法最简单,但缺点是在器件选型时,只能选择stc单片机,原来的单片机都没了,让人不爽。【2】新数据库添加法:1、在keil/c51/inc下新建目录"stc"文件夹, 把stc单片机的头文件拷贝到"stc"目录下。 2、下载的用于keil下的stc器件数据库更名为stc.cdb并拷贝到keil/uv2目录下。(如果是kile3则是uv3,kile4则是uv4) 3、打开keil文件夹下的tools.ini文件,在[uv2]下面(也就是[c51]上方) 键入cdb0=uv2\stc.cdb("stc"),然后保存退出即添加完毕。(如果是kile3则是uv3,kile4则是uv4) 说明:另外增加一个单片机数据库,既可以选择stc单片机,又不影响原来数据库的使用。 使用:为目标设置选项时,点击device页,在database中选择“stc”。 新建工程时,在select a cpu date base file中选择“stc”。 注意:关于数据库cdb文件, kile4向下兼容,kile4可以使用kile2、kile3的数据库cdb文件。 kile2不向上兼容,kile2无法使用kile4的数据库cdb文件。【3】原数据库添加法:(这个需要自己编辑数据,就不介绍了)说明:只添加自己使用stc型号,简洁方便,可以选择stc单片机,又不影响原来数据库的使用。