标题: 编译错误,求大神帮忙调试程序 [打印本页]

作者: 郁郁七天    时间: 2018-7-18 21:00
标题: 编译错误,求大神帮忙调试程序

请问出现这种一般是哪里出错了
下面是程序
那位大神帮帮忙运行修改一下
谢谢了

  1. #include<reg51.h>
  2. sbit k1=P1^0;
  3. sbit k2=P1^1;
  4. sbit k3=P1^2;
  5. sbit k4=P1^3;
  6. sbit k5=P1^4;
  7. sbit k6=P1^5;
  8. unsigned char DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82};
  9. void delayms(unsigned int ms)
  10. {
  11.   unsigned int i,j;
  12.   for(i=0;i<ms;i++)
  13.    for(j=0;j<1141;j++);
  14. }
  15. void main()
  16. {
  17.   unsigned char key,i;
  18.    TMOD=0x01;
  19.    TH0=0xff;
  20.    TL0=0xff;

  21.       while(1)
  22.      {
  23.         key=P1;
  24.         if(key==0xff)
  25.       {
  26.          for(i=1;i<7;i++)
  27.           {
  28.              switch(i)
  29.             {
  30.               case 1:P2=0x01;break;
  31.               case 2:P2=0x02;break;
  32.               case 3:P2=0x04;break;
  33.               case 4:P2=0x08;break;
  34.               case 5:P2=0x10;break;
  35.               case 6:P2=0x20;break;
  36.               default : P2=0x01;break;
  37.              }
  38.              P0=DSY_CODE[i];
  39.              delayms(10);
  40.             }
  41.           }
  42.          if(key!=0xff)
  43.    {EA=1;
  44.     ET0=1;
  45.     TR0=1;
  46.     }
  47.   }
  48. }

  49. void Tim_T0() interrupt 1 using 0
  50.   {
  51.      if(k1==0&&k2!=0&&k3!=0&&k4!=0&&k5!=0&&k6!=0)
  52.    {
  53.       P2=0xff;
  54.       P0=DSY_CODE[1];
  55.    }
  56.    if(k2==0&&k1!=0&&k3!=0&&k4!=0&&k5!=0&&k6!=0)
  57.    {
  58.        P2=0xff;
  59.       P0=DSY_CODE[2];
  60.     }

  61.   if(k3==0&&k1!=0&&k2!=0&&k4!=0&&k5!=0&&k6!=0)
  62.    {
  63.       P2=0xff;
  64.       P0=DSY_CODE[3];
  65.     }
  66.     if(k4==0&&k1!=0&&k2!=0&&k3!=0&&k5!=0&&k6!=0)
  67.    {
  68.       P2=0xff;
  69.       P0=DSY_CODE[4];
  70.     }
  71.   if(k1!=0&&k6!=0&&k2!=0&&k3!=0&&k4!=0&&k5==0)
  72.    {
  73.       P2=0xff;
  74.       P0=DSY_CODE[5];
  75.    
  76.     }
  77. if (k6==0&&k1!=0&&k2!=0&&k3!=0&&k4!=0&&k5!=0)
  78.    {
  79.       P2=0xff;
  80.       P0=DSY_CODE[6];
  81.     }
  82. }
复制代码



作者: 郁郁七天    时间: 2018-7-18 22:10
各位大神救救我吧
作者: HC6800-ES-V2.0    时间: 2018-7-19 08:35
我的KEIL 4编译没有错误、没有警告。
看看你的编译软件有什么问题。
作者: 郁郁七天    时间: 2018-7-19 10:36
HC6800-ES-V2.0 发表于 2018-7-19 08:35
我的KEIL 4编译没有错误、没有警告。
看看你的编译软件有什么问题。

我是用protues8编译的,,那我现在试试用keil4
作者: JackWu0713    时间: 2018-7-19 11:59
郁郁七天 发表于 2018-7-19 10:36
我是用protues8编译的,,那我现在试试用keil4

我用 keil5 試了也没問題
作者: taotie    时间: 2018-7-19 13:05
我是用protues8。6编译,没问题~~~正常运行
作者: 郁郁七天    时间: 2018-7-19 13:21
JackWu0713 发表于 2018-7-19 11:59
我用 keil5 試了也没問題

额,为啥我用keil试了就是不行,就是显示这样的
Build target 'Target 1'
compiling 234.c...
C51 FATAL-ERROR -
  ACTION:  PARSING SOURCE-FILE
  ERROR:    PREPROCESSOR: MACROS TOO NESTED
C51 TERMINATED.
Target not created
作者: 郁郁七天    时间: 2018-7-19 15:08
taotie 发表于 2018-7-19 13:05
我是用protues8。6编译,没问题~~~正常运行

额,为啥8.0就有问题了,,,没修改任何地方吗
作者: taotie    时间: 2018-7-19 15:41
你查查你keil软件中的C51.exe是否正常~~

作者: huaxinnan    时间: 2018-7-19 15:57
keil 亲测没有问题啊,编译正常
作者: 王小邢    时间: 2019-4-17 19:55
郁郁七天 发表于 2018-7-19 13:21
额,为啥我用keil试了就是不行,就是显示这样的
Build target 'Target 1'
compiling 234.c...

表示一样,不知道咋回事





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1