能帮我看一下这个程序吗我加上了LEDLIHT()函就出错我不知道错在那里
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SDA=P1^0;
sbit CLK=P1^1;
sbit kd_key=P1^2;
sbit LEDP=P1^7
uchar i,k,second=0,minute=0,buffer;
uint time;
uchar data display_bit ,keyscan_bit,display_buffer[4];
uchar code led[10]=
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void send(void);
void ledlight(void);
void delay(void);
void display(void);
void ledlight(void)
{
uchar m; DLED;
LEDP=0;
while(1)
{ DLED=0X7F;
for( m=0;m <8;m++)
{ send(DLED);
delay(0x10);
DLED=_cror_(DLED,1);
}
}
}
void delay(uint n)
{
unsigned char i,j;
for(i=0;i <n;i++)
{
for(j=0;j <250;j++);
}
}
void send(uchar a)
{
uchar k;
for (k=0;k <8;k++)
{
if(_crol_(a,k)&0x80)
SDA=1;
else
SDA=0;
CLK=1;
CLK=0;
}
}
void display()
{
display_bit=0xbf;
// uchar i,k;
for(i=0;i <4;i++)
{
P1=0xff;
k=led[display_buffer[i]];
send(k);
delay(1);
P1=display_bit;
display_bit=_cror_(display_bit,1);
}
}
void time0(void)interrupt 1 using 1
{
TH0=-9216/256;
TL0=-9216%256;
if(++time==100)
{
++second;
time=0;
}
if(second==60)
{
++minute;
second=0;
}
if(minute==59)
{
minute=0;
}
}
void main()
{
TH0=-9216/256;
TL0=-9216%256;
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
while(1) {
display_buffer[0]=minute/10;
display_buffer[1]=minute%10;
display_buffer[2]=second/10;
display_buffer[3]=second%10;
display();
}
发表时间:2004年3月24日19:28:39