实现的是高电平p2口输出,低电平p0输出,输出为7位LED数码管显示,以下程序有什么错误?来帮帮忙吧,美女帅哥们
#include <reg51.h>
#include<intrins.h>
sbit GREEN=P3^0;
sbit YELLOW=P3^1;
sbit RED=P3^2;
unsigned char code led[9]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x07,0x7F};
//void delay(int ms);
void main()
{
unsigned char CNT;
//unsigned char CNW;
unsigned char x,y;
unsigned char i;
P3=0x00;
while(1)
{
P1=0xFF;
P0=0x00;
y=P0;
x=P1;
CNT=0;
for(i=0;i<8;i++)
{
if(x>=128) ++CNT;
x=_crol_(x,1);
if (x<128) ;
y=_cror_(y,1);
}
P2=led[CNT];
P0=led[8-CNT];
if(CNT>5)
{GREEN=1;YELLOW=0;RED=0;}
else if(CNT>=3&CNT<=5)
{GREEN=0;YELLOW=1;RED=0;}
else
{GREEN=0;YELLOW=0;RED=1;}
}
}
#include <reg51.h>
#include<intrins.h>
sbit GREEN=P3^0;
sbit YELLOW=P3^1;
sbit RED=P3^2;
unsigned char code led[9]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x07,0x7F};
//void delay(int ms);
void main()
{
unsigned char CNT;
//unsigned char CNW;
unsigned char x,y;
unsigned char i;
P3=0x00;
while(1)
{
P1=0xFF;
P0=0x00;
y=P0;
x=P1;
CNT=0;
for(i=0;i<8;i++)
{
if(x>=128) ++CNT;
x=_crol_(x,1);
if (x<128) ;
y=_cror_(y,1);
}
P2=led[CNT];
P0=led[8-CNT];
if(CNT>5)
{GREEN=1;YELLOW=0;RED=0;}
else if(CNT>=3&CNT<=5)
{GREEN=0;YELLOW=1;RED=0;}
else
{GREEN=0;YELLOW=0;RED=1;}
}
}