#include<reg52.h>
#include<intrins.h>
typedef unsigned char uchar;
typedef unsigned int uint;
#define P P1
sbit SER=P3^4;
sbit SCK=P3^6;
sbit RCK=P3^5;
void SendTo595(uchar byteData);
char shu=0xFE;
void delay(unsigned int n)
{
unsigned int i=0,j=0;
for(i=0;i<n;i++)
for(j=0;j<123;j++);
}
void hang()
{
P=shu;
shu=_crol_(shu,1);
}
char a[32]={0x00,0x04,0xFF,0xB4,0xB4,0xB2,0xF1,0x18,
0x21,0x22,0xF8,0xA9,0xFA,0xA8,0xA9,0xFA,
0x00,0x66,0xFF,0xFF,0x7E,0x3C,0x18,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
void main()
{
int i,b=0;
while(1)
{
int num=12;
while(num--){
for(i=0;i<8;i++)
{
hang();
SendTo595(a[i+b]);
delay(3);
}
P=0xFF;
SendTo595(0x00);
}
b++;
if(b>=24)b=0;
P=0xFF;
}
}
void SendTo595(uchar Data)
{
int j=0;
for(j;j<8;j++)
{
SCK = 0;
SER=0x80&Data;
Data=_crol_(Data,1);
SCK = 1;
_nop_();
}
RCK = 0;
RCK = 1;
_nop_();
RCK = 0;
}
|