大伙看看这个能点亮32*64的点阵不啊
#include <reg52.h>
sbit la=P2^0;
sbit lb=P2^1;
sbit lc=P2^2;
sbit ld=P2^3;
sbit lck=P2^4;
sbit clk=P2^5;
sbit en=P2^6;
sbit r1=P0^0;
sbit r2=P0^1;
sbit g1=P0^2;
sbit g2=P0^3;
void delay(unsigned int i)
{
unsigned x,y;
for(x=i;x>0;x--)
for(y=110;y>0;y--);
}
void lieout1(unsigned char lie1)
{
unsigned char i;
lck=0;
for(i=0;i<8;i++)
{
clk=0;
if((lie1&0x80)==0x80)
r1=1;
else
r1=0;
clk=1;
lie1=lie1<<1;
clk=0;
}
lck=1;
lck=0;
}
void lieout2(unsigned char lie2)
{
unsigned char i;
lck=0;
for(i=0;i<8;i++)
{
clk=0;
if((lie2&0x01)==0x01)
r2=1;
else
r2=0;
clk=1;
lie2=lie2>>1;
}
lck=1;
}
void hangout(unsigned char hang)
{
la=hang&0x01;
lb=hang&0x02;
lc=hang&0x04;
ld=hang&0x08;
}
void main()
{
en=0;
while(1)
{
hangout(3);
lieout1(0x00);
lieout2(0x55);
delay(10);
}
}
|