16×16点阵LED显示电路的设计与程序设计 下载本文

16×16点阵LED显示电路

图3-10 16×16点阵LED PROTUES显示电路

74HC595: 74LS138: 4. 程序

#include unsigned char

colxuan[16]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef}; //led位选码 unsigned char

dotxuan1[32]={0x10,0x04,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x20,0x84,0x20,0x04,0x40,0x00}; //“川”字编码及字模点阵 unsigned

char

andd[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; sbit SHCP=P0^0; sbit STCP=P0^1; sbit DOS=P0^2; sbit MR=P0^3; sbit OE=P0^4; void gc();

void delay(unsigned int m);

void main() { MR=0; while(1) { gc(); } }

void gc( )

{ unsigned int i,j,k; unsigned char v; bit cc=0; OE=0;

for(k=0;k<16;k++) { MR=1;

P1=colxuan[15-k]; for(i=0;i<2;i++) { v=dotxuan1[2*k+i]; for(j=0;j<8;j++) { STCP=0; SHCP=0; cc=0;

if((v&andd[j])!=0) cc=1;

DOS=cc; SHCP=1; STCP=1; } } delay(20); MR=0; } }

void delay(unsigned int m) { while(--m);

}