| 
  
大伙看看这个能点亮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); 
	}	 
} 
 
  |