#include<reg51.h>
#include<intrins.h>
#define NUM 3
#define ROW_SEL P1
sbit SI =P2^1;
sbit SCK =P2^0;
sbit RCK =P1^6;
sbit SCLR =P1^5;
sbit G=P1^7;
unsigned char code screen[4][32]={
{0x02,0x00,0x02,0x00,0x02,0x10,0x7F,0xF8,0x42,0x10,0x42,0x10,0x7F,0xF0,0x42,0x10,
0x42,0x10,0x7F,0xF0,0x42,0x10,0x02,0x00,0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00},
{0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x08,0x7F,0xFC,0x02,0x08,0x02,0x08,0x02,0x08,
0x02,0x08,0x02,0x08,0x02,0x08,0x04,0x08,0x04,0x08,0x08,0x88,0x08,0x50,0x70,0x20},
{0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,
0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00},
{0x00,0x80,0x78,0x40,0x4F,0xFE,0x54,0x02,0x58,0x14,0x63,0xF8,0x50,0x00,0x48,0x08,
0x4F,0xFC,0x48,0xA0,0x68,0xA0,0x50,0xA0,0x41,0x22,0x41,0x22,0x42,0x1E,0x4C,0x00}
};
//
//
//
//
void col_data(unsigned int s,unsigned int r)
{
unsigned char i,data1;
data1 = screen[s][2*r];
for (i=0;i<8;i++)
{ SCK=0;
if ( (data1 & 0x80) ==0x80)
SI=1;
else
SI=0;
data1<<=1;
SCK=1; }
data1=screen[s][2*r+1];
for ( i=0;i<8;i++)
{ SCK=0;
if ( (data1 & 0x80) ==0x80)
SI=1;
else
SI=0;
data1<<=1;
SCK=1; }
}
//
//
//
//
void out_data()
{
RCK=0;
_nop_();
_nop_();
RCK=1;
}
void main ()
{
unsigned int i,j,k;
unsigned char r_se1;
while (1)
{ for (i=0;i<NUM;i++)
{ for (j=0;j<10000;j++)
{ for (k=0;k<16;k++)
{ col_data ( i,k );
G=1;
out_data ();
r_se1=ROW_SEL & 0xF0+k;
G=0;}
}
}
}
}
|