标题:关于数组定义问题
取消只看楼主
我是凯皇
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-6-17
结帖率:100%
已结贴  问题点数:20 回复次数:1 
关于数组定义问题
这里无论怎么定义总是语法错误,为什么
搜索更多相关主题的帖子: 数组 定义 语法错误 
2019-06-17 10:47
我是凯皇
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-6-17
得分:0 
回复 2楼 rjsp
您好,麻烦再看看。1)我是先定义的uchar k[3],所以后面直接赋值,可是如图那样出现语法错误,您所说的定义一样出现语法错误,而下文所写编译成功。2)还有一个问题,用b计数定时器0溢出次数,无论把b定义成int,uint还是long,都是计数显示到256便重0开始,我不清楚是什么原因,怎么才能把b变成16位二进制数,使他能计数到999,再往上计数到9999之类的该怎么处理。十分感谢!!!
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit we = P2^7;
sbit du = P2^6;
sbit LED1=P1^0;
sbit key_s2=P3^0;
sbit key_s3=P3^1;
sbit key_s4=P3^2;
uchar code leddata[]={
 
                0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄灭
                0x00  //自定义
 
                         };

void delay(uint z)
   {
   uint x,y;
   for(x=z;x>0;x--)
   for(y=114;y>0;y--);
   }
void display(uchar i)
      {
      uchar bai,shi,ge,w,e,k[3];
      bai=i/100;
      shi=i%100/10;
      ge=i%10;

      k[0] = bai;
      k[1]=shi;
      k[2]=ge;
  
      for(w=0;w<3;w++)
      {
      P0=0xff;
      e=0xfe;
      we=1;
      P0=_crol_(e,w);
      we=0;

      du=1;
      P0=leddata[k[w]];
      du=0;
      delay(2);
      }
      w=0;
      
      }
void main()
   {
   uchar a;
   uint b;
   TR0=1;
   TMOD=0x61;
   TH0=0x4b;
   TL0=0xfc;
   while(1)
     {
     if(key_s2==0)
     {
        delay(5);
        if(key_s2==0)
        {
         TR0=0;
        }
     }
     if(key_s3==0)
        {
        delay(5);
        if(key_s3==0)
            {
            TR0=1;
            }
        }
     if(TF0==1)
       {
       TH0=0x4b;
       TL0=0xfc;
       TF0=0;
       a++;b++;
       }
     if(a==2)
        {
        a=0;
        LED1=~LED1;
        }
     display(b);
     if(key_s4==0)
     {
     delay(5);
     if(key_s4==0)
        {
        b=0;
        }
     }
     }
   
   
   }


2019-06-17 11:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495300-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078232 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved