打印

求助 KEIL软件使用 问题

[复制链接]
2945|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baolai|  楼主 | 2013-6-2 16:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
用reg51.H. 头文件 编译时候总是提示 P1   P2  是未声明的标示符 标示符  很纳闷  我查看根目录INC  里面有 REG51.H  头文件啊  我单独 用SFR  声明  就编译通过了   到底是怎么回事啊
#include<reg51.h>



void main(void)

{
   int a=67;
   p1=a;
   p2=p1;
  

}

相关帖子

沙发
logokfu| | 2013-6-2 16:35 | 只看该作者
你的是大小写给搞错了吧

使用特权

评论回复
板凳
baolai|  楼主 | 2013-6-2 16:53 | 只看该作者
头文件大小写 我都试过了  都要 用SFR声明才能编译痛过  不用SFR 就提示 未声明的标示符

使用特权

评论回复
地板
logokfu| | 2013-6-2 17:42 | 只看该作者
baolai 发表于 2013-6-2 16:53
头文件大小写 我都试过了  都要 用SFR声明才能编译痛过  不用SFR 就提示 未声明的标示符  ...

我是指P0  !=p0

使用特权

评论回复
5
baolai|  楼主 | 2013-6-2 19:53 | 只看该作者
这也没搞错 主函数内的 大小写 也没搞错  就这么几行 我仔细 查过了

使用特权

评论回复
6
baolai|  楼主 | 2013-6-3 12:11 | 只看该作者
谢谢你 我明白了 就是你说的问题 本应该大写 我弄成小写了  呵呵谢谢昂

使用特权

评论回复
7
庄吉| | 2013-6-4 15:09 | 只看该作者
哈哈,明显是P1.P2写成p1,p2了,不是哪个字符 大小写都不分的

使用特权

评论回复
8
zwp0822| | 2013-6-4 16:13 | 只看该作者
年轻人,结贴散分把!

使用特权

评论回复
9
限量_个性。| | 2013-6-4 16:22 | 只看该作者
接个分 ~

使用特权

评论回复
10
baolai|  楼主 | 2013-6-4 17:49 | 只看该作者
呵呵 我刚学不太懂 各位老师别笑话我 呵呵 以后还望各位老师多指点   我可以再问个问题吗 我在书上看到一个列子程序 是一个矩阵键盘的 4*4的  开头一句看不懂 也不知道是不是一个函数  希望各位老师 给指点指点 我把程序贴上
int keysscan()
  {
    unsigned char k,k_temp[;
    P1=0xf0;
    k=P1;
    if(k !=0xf0)
     {
      delay();
     K_temp=P1;
     if(k==k_temp)
     {
      k=0xfe;
      do
     {
      P1=k;
      if(k!=P1)
     {
       switch(P1)
       {
        //第一行
        case 0x7e:{return 0;break;}

         case 0xbe:{return 1;break;}
          case 0xde:{return 2;break;}
         case 0xee:{return 3;break;}
         //第二行
          case 0x7d:{return 4;break;}
           case 0xbd:{return 5;break;}
           case 0xdd:{return 6;break;}
            case 0xed:{return 7;break;}
          //第三行
             case 0x7b:{return 8;break;}
               case 0xbb:{return 9;break;}
             case 0xdb:{return 10;break;}
              case 0xeb:{return 11;break;}
              //第四行
            case 0x77:{return 12;break;}
             case 0xb7:{return 13;break;}
              case 0xd7:{return 14;break;}
              case 0xe7:{return 15;break;}
              }

             }
             k=_crol_(k,1);

            }
             while(k!=0xef);

            }

            }
   
             }
   

使用特权

评论回复
11
huangxz| | 2013-6-4 19:28 | 只看该作者
安装路径有问题

使用特权

评论回复
12
baolai|  楼主 | 2013-6-4 19:37 | 只看该作者
什么 安装路径 有问题  请问这是个什么函数  int keysscan()

使用特权

评论回复
13
huangxz| | 2013-6-4 22:26 | 只看该作者
baolai 发表于 2013-6-4 19:37
什么 安装路径 有问题  请问这是个什么函数  int keysscan()

你的那个头文件不在编译器的搜索路径里面,所以不认识你的头文件,比如你的keil是绿色版的就有可能会出这个问题,如果是安装版的,建议重装一下

使用特权

评论回复
14
baolai|  楼主 | 2013-6-5 12:55 | 只看该作者
不是你说的那样  我解决了  我调用函数 调用的不对  是这样的  如下  编译通过

#include<reg51.h>
#include<stdio.h>
#include<intrins.h>

   int k;
   int k_temp;
  int key,i;
  void delay();
   int keysscan();

void main(void)
{


  key=  keysscan();
   
for(i=0;i<key;i++)
{
   P2=0x80;
   delay();
   P2=0x00;
   delay();

}


}

void delay()
   {
    long i;
  for(i=10000;i<0;i++);

}

int keysscan()
  {
    unsigned char k;
     unsigned char  k_temp;
    P1=0xf0;
    k=P1;
    if(k !=0xf0)
     {
      delay();
     
     if(k==k_temp)
     {
      k=0xfe;
      do
     {
      P1=k;
      if(k!=P1)
     {
       switch(P1)
       {
        //第一行
        case 0x7e:{return 0;break;}

         case 0xbe:{return 1;break;}
          case 0xde:{return 2;break;}
         case 0xee:{return 3;break;}
         //第二行
          case 0x7d:{return 4;break;}
           case 0xbd:{return 5;break;}
           case 0xdd:{return 6;break;}
            case 0xed:{return 7;break;}
          //第三行
             case 0x7b:{return 8;break;}
               case 0xbb:{return 9;break;}
             case 0xdb:{return 10;break;}
              case 0xeb:{return 11;break;}
              //第四行
            case 0x77:{return 12;break;}
             case 0xb7:{return 13;break;}
              case 0xd7:{return 14;break;}
              case 0xe7:{return 15;break;}
              }

             }
             k=_crol_(k,1);

            }
             while(k!=0xef);

            }

            }
   
             }


使用特权

评论回复
15
baolai|  楼主 | 2013-6-5 12:58 | 只看该作者
顺便问一下 怎么结贴  呵呵

使用特权

评论回复
16
huangxz| | 2013-6-5 14:07 | 只看该作者
baolai 发表于 2013-6-5 12:58
顺便问一下 怎么结贴  呵呵


点那个<>号,ran

使用特权

评论回复
17
baolai|  楼主 | 2013-6-5 21:52 | 只看该作者
怎么结贴

使用特权

评论回复
18
勿以泪惧| | 2013-6-5 23:54 | 只看该作者

使用特权

评论回复
19
baolai|  楼主 | 2013-6-6 23:37 | 只看该作者
RUN

使用特权

评论回复
20
baolai|  楼主 | 2013-6-6 23:38 | 只看该作者
嘛意思

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

16

帖子

0

粉丝