初学者,请各位多多指教,程序也在下边,显示的三种情况如下:
#include<reg51.h>
#include<intrins.h>
#define duan P2
#define wei P3
void disp();
void delay1ms(unsigned char d);
unsigned char code duans[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF}; //段选
unsigned char code weis[]={0xfe,0xfd,0xfb,0xf7}; //位选
unsigned int buffer[4]; //
//unsigned int dian[3]; //
unsigned int i;
void main()
{
while(1)
{
for(i=0;i<500;i++)
{
buffer[0]=duans[10]; // 全灭
buffer[1]=duans[10];
buffer[2]=duans[10];
buffer[3]=duans[10];
disp();
}
for(i=0;i<500;i++)
{
buffer[0]=duans[8]&~0x80; // 显示8
buffer[1]=duans[8]&~0x80;
buffer[2]=duans[8]&~0x80;
buffer[3]=duans[8]&~0x80;
disp();
}
for(i=0;i<500;i++)
{
buffer[0]=duans[0];
buffer[1]=duans[1];
buffer[2]=duans[2];
buffer[3]=duans[3];
disp();
}
for(i=0;i<500;i++)
{
buffer[0]=duans[5];
buffer[1]=duans[6];
buffer[2]=duans[7];
buffer[3]=duans[8];
disp();
}
}
}
void disp()
{
unsigned int i;
for(i=0;i<4;i++)
{
P3=weis;
P2=buffer;
delay1ms(1);
}
}
void delay1ms(unsigned char d)
{
unsigned char a,b,c;
for(c=1*d;c>0;c--) // ?
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}
求大神!!!!!
|