完整版 电路图和程序代码 下载地址
https://pan.baidu.com/s/1B-WpfJmkiU9OK0ki8ycBtw?pwd=8888
部分代码展示
void delay()
{
unsigned int ii,j;
for(ii=0;ii<5;ii++)
for(j=0;j<16;j++);
}
unsigned char const code dat_bit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char const code data_bit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void timer0() interrupt 1 using 0
{
TH0=0x02;
TL0=0x02;
brk++;
}
void Disp_SXHZ(unsigned char *dat)
{
unsigned char j;
j=0;
while(j!=32)
{
if(brk>=0x01){i+=8;brk=0;}
if(j<8){DOWN2_CLK_DATA=0xff;UP1_CLK_DATA=dat_bit[j];}
if((j<16)&&(j>=8)){UP1_CLK_DATA=0xff;DOWN1_CLK_DATA=dat_bit[j-8];}
if((j<24)&&(j>=16)){DOWN1_CLK_DATA=0xff;UP2_CLK_DATA=dat_bit[j-16];}
if((j<32)&&(j>=24)){UP2_CLK_DATA=0xff;DOWN2_CLK_DATA=dat_bit[j-24];}
j++;
delay();
CS1=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
CS2=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
CS3=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
CS4=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
CS5=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
CS6=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
CS7=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
CS8=*(dat+i);
if(*(dat+i)==0xbb)i=0;
dat++;
delay();
CS1=0x00;
CS2=0x00;
CS3=0x00;
CS4=0x00;
CS5=0x00;
CS6=0x00;
CS7=0x00;
CS8=0x00;
}
}
void main()
{
TMOD=0x01;
TH0=0xb1;
TL0=0xe0;
ET0=1;
EA=1;
TR0=1;
while(1)
{
while(1)Disp_SXHZ(HZ[0]);
} }