标题: keil~ 单片机C程序编译没有问题,可是调试的时候n等都无法赋值,求指导啊 [打印本页]

作者: 宝么猪    时间: 2015-4-17 15:01
标题: keil~ 单片机C程序编译没有问题,可是调试的时候n等都无法赋值,求指导啊
#include <AT89X52.H>

#include <stdio.h>

#define uint unsigned int
#define uchar unsigned char
sbit LOAD=P1^6; //选择P1.7作为CS
sbit DI=P1^4; //选择P1.5作为数据输入
sbit DCLK=P2^5;//选择P2.6作为时钟
sbit LOAD1=P1^7; //选择P1.7作为CS1
sbit DI1=P1^5; //选择P1.5作为数据输入1
sbit DCLK1=P2^6;//选择P2.6作为时钟1
uchar green[3][8];
uchar red[3][8];
uchar dis[20][4];
int val[20]={-888,-300,-250,-200,-150,-100,-75,-50,-30,-15,0,15,30,50,75,100,150,200,250,300};
int n;



uchar judge(int x) //判断正负
{
uchar z;
if (x<0)
{z=16;}
else
{z=18;}
return(z);
}

uint abs(int x)//绝对值
{
return(x<0?-x:x);
}

                               
void delay(uint time)
{
int i;
for(i=0;i<time;i++);
}


int green_light(int n)//LED红灯判断
{
  int i;

  if((n>0)&(n<9))
  {
   for(i=0;i<n;i++)
   green[0][i]=1;
   }

   if((n>8)&(n<17))
  {
   for(i=0;i<8;i++)
   green[0][i]=1;
   for(i=8;i<n;i++)
   green[1][i-8]=1;
   }


   if((n>16)&(n<20))
  {
   for(i=0;i<8;i++)
   green[0][i]=1;
   for(i=8;i<17;i++)
   green[1][i-8]=1;
   for(i=16;i<n;i++)
   green[2][i-16]=1;
   }

}



void display_452(int *v)//452数显程序分位
{
uchar i;
uchar temp1,temp2,temp3;
uint alevel;

for(i=0;i<=20;i++)
{
dis[i][0]=judge(v[i]);
alevel=abs(v[i]);

temp1=alevel/100;     //分位显示
temp2=(alevel/10)%10;
temp3=alevel%10;

if (temp1>0)
  {dis[i][1]=temp1;
   dis[i][2]=temp2;
   dis[i][3]=temp3;}
else
   {dis[i][1]=16;
    if(temp2>0)
       {dis[i][2]=temp2;
        dis[i][3]=temp3;}
    else{dis[i][2]=16;
          dis[i][3]=temp3;}
        }
}
}

void main()
{
uchar i,j;
n=11;


display_452(val);

while(1)
{

green_light(n);
for(i=0;i<3;i++)
  {
   for(j=0;j<8;j++)
   {
     red[i][j]=1-green[i][j];
   }
  }


}

}


作者: li975244245    时间: 2015-4-20 18:25
这个不秦楚了
作者: xiao_yp2014    时间: 2015-4-20 23:22
if((n>0)&(n<9))把这种语句改成 if((n>0)&&(n<9))
作者:     时间: 2015-4-20 23:48
楼上正解,&&是逻辑与,&是按位与。
作者: 累了困了疯了    时间: 2015-4-23 21:10
逻辑与是两个&&
作者: 大海0573    时间: 2015-4-24 09:59
嗯,楼上的都正确。




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