#include <reg51.h>
typedef unsigned char uchar;
sbit SDI=P3^4;
sbit LCK=P3^5;
sbit SCK=P3^6;
uchar code table1[]={128,0,128,0,252,31,132,16,132,16,132,16,132,16,132,16,252,31,132,16,128,0,128,0,128,0,128,0,0,0,0,0};
uchar code table0[]={0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,
0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00};
void HC595SendData(uchar dt3,uchar dt2,uchar dt1,uchar dt0);
void main(void)
{
int j,n;
while(1)
{
for(j=0;j<100;j++)
{
for(n=0;n<16;n++)
{
HC595SendData(~table1[2*n+1],~table1[2*n],table0[2*n],table0[2*n+1]);
}
}
}
}
void HC595SendData(uchar dt3,uchar dt2,uchar dt1,uchar dt0)
{
int i;
for(i=0;i<8;i++)
{
SDI=dt3>>7;
dt3=dt3<<1;
SCK=0;
SCK=1;
}
for(i=0;i<8;i++)
{
SDI=dt2>>7;
dt2=dt2<<1;
SCK=0;
SCK=1;
}
for(i=0;i<8;i++)
{
SDI=dt1>>7;
dt1=dt1<<1;
SCK=0;
SCK=1;
}
for(i=0;i<8;i++)
{
SDI=dt0>>7;
dt0=dt0<<1;
SCK=0;
SCK=1;
}
LCK=0;
LCK=1;
LCK=0;
|