找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2763|回复: 25
打印 上一主题 下一主题
收起左侧

Keil4编译一大堆错误,代码发给别人却能编译,会是什么问题导致的?

  [复制链接]
跳转到指定楼层
楼主
keil4编译七十多个错误

#include  "stc15f104.h"
sbit k1 = P3^0;               
sbit led1=P3^1;
sbit led2=P3^2;
sbit led3=P3^3;
sbit led4=P3^4;
sbit led5=P3^5;
unsigned char ms,flag=0,flag1=0;
void keyscan();
void init()
{
                P0M1 = 0;        P0M0 = 0;        //设置为准双向口
                P1M1 = 0;        P1M0 = 0;        //设置为准双向口
                P2M1 = 0;        P2M0 = 0;        //设置为准双向口
                P3M1 = 0;        P3M0 = 0;        //设置为准双向口
                P4M1 = 0;        P4M0 = 0;        //设置为准双向口
                P5M1 = 0;        P5M0 = 0;        //设置为准双向口
                P6M1 = 0;        P6M0 = 0;        //设置为准双向口
                P7M1 = 0;        P7M0 = 0;        //设置为准双向口        
                AUXR |=  (1<<7);    // Timer0 set as 1T mode
                TMOD = 0X01;                                         //初始化定时器
                TH0        = 0X63;                                                 //10ms计时初值
                TL0= 0Xc0;
                EA = 1;                                                         //开总中断
                ET0 = 1;                                                 //开T0中断
          TR0=0;
}
void main(void)
{        
        init();        
         while(1)
        {
                        keyscan();
           if((flag==1)&&(flag1==0))
                 {
                                if(ms==0)
                                {
                                        led1=0;
                                }
                          if(ms==6)
                                {
                                        led1=1;
                                }
                                if(ms==11)
                                {
                                                led2=0;
                                }
                                if(ms==17) led2=1;
                                if(ms==22) led3=0;
                                if(ms==28) led3=1;
                                if(ms==33) led4=0;
                                if(ms==39)led4=1;
                                if(ms==45)led5=0;
                                if(ms==50) {led5=1;TR0=0;ms=0;flag1=1;flag=0;}
                }
         
        }
                     
}
//定时器0中断服务程序
void T0_ISR(void) interrupt 1                //定时器0中断服务程序
{
                TH0        = 0X63;                                                 //10ms计时初值
                TL0= 0Xc0;
                ms++;
        
}
void keyscan()
{
          if(k1==0)                                                
                {
                                TR0=1;
                          flag=1;
                }
                else
                {
                         TR0=0;ms=0;
                         flag1=0;led1=1;led2=1;led3=1;led4=1;led5=1;flag=0;
                }
               
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:950956 发表于 2021-7-8 20:11 | 只看该作者
刚开始的芯片没选对 而且你好像没加芯片进去
回复

使用道具 举报

板凳
ID:899569 发表于 2021-7-8 20:23 | 只看该作者
看第一个错误,不能打开stc15f104.h,应该是你没有把包含这个文件的路径添加进去

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:883242 发表于 2021-7-8 20:27 | 只看该作者
你的电脑没有stc15f104.h这个文件,别人的有。
回复

使用道具 举报

5#
ID:57657 发表于 2021-7-8 20:48 | 只看该作者
代码没有问题,而是缺少头文件 stc15f104.h 放到相同目录下即可。
回复

使用道具 举报

6#
ID:739610 发表于 2021-7-8 22:05 | 只看该作者
根据提示去搜问题  很快就能解决的  缺少 stc15f104.h文件  复制一个到软件目录
回复

使用道具 举报

7#
ID:801917 发表于 2021-7-8 22:28 | 只看该作者
jin111 发表于 2021-7-8 20:23
看第一个错误,不能打开stc15f104.h,应该是你没有把包含这个文件的路径添加进去

你好,我是有STC15F104E.H这个头文件的,是软件还有哪没设置吗,我刚开始学习单片机,还望大神指点迷津
回复

使用道具 举报

8#
ID:801917 发表于 2021-7-8 22:31 | 只看该作者
安达市;‘6 发表于 2021-7-8 20:11
刚开始的芯片没选对 而且你好像没加芯片进去

你好,是创建工程后那个选芯片吗,我选的的89c51。添加芯片是怎么添加的,可以详细点吗
回复

使用道具 举报

9#
ID:801917 发表于 2021-7-8 23:07 | 只看该作者
我电脑里是有STC15F104E.H头文件的,还是编译出错。我要是编译别的,是<reg52.h>头文件的就没有问题,还请大家帮帮忙,不胜感激

回复

使用道具 举报

10#
ID:88256 发表于 2021-7-9 08:18 | 只看该作者
jin111 发表于 2021-7-8 20:23
看第一个错误,不能打开stc15f104.h,应该是你没有把包含这个文件的路径添加进去

第一个的是警告不是错误
回复

使用道具 举报

11#
ID:883242 发表于 2021-7-9 08:20 | 只看该作者
517537092 发表于 2021-7-8 23:07
我电脑里是有STC15F104E.H头文件的,还是编译出错。我要是编译别的,是头文件的就没有问题,还请大家帮帮忙 ...

什么眼神啊你!那么大的字母e看不见?
回复

使用道具 举报

12#
ID:748788 发表于 2021-7-9 08:25 | 只看该作者
那个头文件是否有问题?
回复

使用道具 举报

13#
ID:88256 发表于 2021-7-9 08:31 | 只看该作者
517537092 发表于 2021-7-8 23:07
我电脑里是有STC15F104E.H头文件的,还是编译出错。我要是编译别的,是头文件的就没有问题,还请大家帮帮忙 ...

你这个会不会是单片机的头文件和别人的不一样了?打开STC15F104E.H看看,P0.0等端口是写成P0^0还是P0_0其它方式?还有别人是不是完全没有更改?有时候一点点的小错误随手改了没告诉你
回复

使用道具 举报

14#
ID:743654 发表于 2021-7-9 08:37 | 只看该作者
创建工程的时候,芯片选择错误
回复

使用道具 举报

15#
ID:123289 发表于 2021-7-9 08:38 | 只看该作者
原因只有一个,你还没有理解KELL平台的编译原理。
回复

使用道具 举报

16#
ID:18307 发表于 2021-7-9 08:39 | 只看该作者
你文件是stc15f104e.h,那么就要#include  "stc15f104e.h",你少写1个e.
回复

使用道具 举报

17#
ID:934353 发表于 2021-7-9 09:00 | 只看该作者
你把头文件的名字写错了,自然有许多名词未定义
回复

使用道具 举报

18#
ID:81196 发表于 2021-7-9 09:06 | 只看该作者
确实头文件,或者是确实库
回复

使用道具 举报

19#
ID:798631 发表于 2021-7-9 09:29 | 只看该作者
KEIL工程设置  你需要再熟悉一下
回复

使用道具 举报

20#
ID:170318 发表于 2021-7-9 10:15 | 只看该作者
第一句“STC15F104.h”改为“STC15F104E.h”缺少个字母“e”
回复

使用道具 举报

21#
ID:950257 发表于 2021-7-9 10:26 | 只看该作者
你没有相应的头文件,头文件里面都是对你这个程序里的一些系统变量的声明定义,你没包含自然出错
回复

使用道具 举报

22#
ID:88256 发表于 2021-7-9 11:58 | 只看该作者
Hephaestus 发表于 2021-7-9 08:20
什么眼神啊你!那么大的字母e看不见?

我昨晚回复帖子时就盯着头文件名看,结果愣是没看出漏写了个e
回复

使用道具 举报

23#
ID:328014 发表于 2021-7-9 15:59 | 只看该作者
搞定: c样本51hei.7z (14 KB, 下载次数: 6)
回复

使用道具 举报

24#
ID:801917 发表于 2021-7-9 19:49 | 只看该作者
改成STC15F104E.h还是不行   能不能请各位大神帮个忙,就是帮我把代码改成<REGX51.H>头文件的代码,REGX51.H头文件我能编译
回复

使用道具 举报

25#
ID:328014 发表于 2021-7-9 22:01 | 只看该作者
我已经帮你搞定了,可以结贴了,你在23楼下载

51hei.png (34.82 KB, 下载次数: 39)

51hei.png
回复

使用道具 举报

26#
ID:801917 发表于 2021-7-10 11:57 来自手机 | 只看该作者
51hei团团 发表于 2021-7-9 22:01
我已经帮你搞定了,可以结贴了,你在23楼下载

你好,你的加e能编译,我的加不加e都不能编译,我怀疑我的软件有问题。请问你的keil是哪里下载的,能传给我一份吗,谢谢!还有代码中延时以后需要多次变动,不能光靠别人代编译
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表