你這樣寫LED驅動函數(shù)不行,改成這樣就可以了。
無標題.jpg (241.83 KB, 下載次數(shù): 26)
下載附件
2019-2-17 20:34 上傳
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED1 = P3^5;
sbit LED2 = P1^7;
sbit LED3 = P1^6;
sbit LED4 = P1^5;
sbit LED5 = P1^4;
sbit LED6 = P1^3;
sbit LED7 = P3^7;
sbit LED8 = P0^0;
sbit LED9 = P1^2;
sbit LED10 = P1^0;
sbit LED11 = P3^2;
sbit LED12 = P1^1;
//全局變量//
uint y;
//定義LED數(shù)組//
uint leddata[]={0xfffe,0xfffd,0xfffb,0xfff7,0xffef,0xffdf,0xffbf,0xff7f,0xfeff,0xfdff,0xfbff,0xf7ff};
//延時函數(shù)//
delay(uint t)
{
uint i,j;
for(i=t;i>0;i--)
for(j=112;j>0;j--);
}
//LED驅動函數(shù)//
void LED(uint i)//寫入12位數(shù)據
{
LED1=i&0x01;i>>=1;
LED2=i&0x01;i>>=1;
LED3=i&0x01;i>>=1;
LED4=i&0x01;i>>=1;
LED5=i&0x01;i>>=1;
LED6=i&0x01;i>>=1;
LED7=i&0x01;i>>=1;
LED8=i&0x01;i>>=1;
LED9=i&0x01;i>>=1;
LED10=i&0x01;i>>=1;
LED11=i&0x01;i>>=1;
LED12=i&0x01;
}
void main()
{
uchar j=0;
while(1)
{
y=leddata[j];
LED(y);
j++;
j%=12;
delay(500);
}
}
|