8X8 LED点阵显示驱动技术

发布时间 : 星期日 文章8X8 LED点阵显示驱动技术更新完毕开始阅读

SETB TR0 SETB ET0 SETB EA WT: JB P2.0,WT MOV R6,#5 MOV R7,#248 D1: DJNZ R7,$ DJNZ R6,D1 JB P2.0,WT INC COUNT MOV A,COUNT CJNE A,#03H,NEXT MOV COUNT,#00H NEXT: JNB P2.0,$ SJMP WT

T0X: NOP

MOV TH0,#(65536-4000) / 256 MOV TL0,#(65536-4000) MOD 256 MOV DPTR,#TAB MOV A,CNTA MOVC A,@A+DPTR

MOV P3,A

MOV DPTR,#GRAPH MOV A,COUNT MOV B,#8 MUL AB ADD A,CNTA MOVC A,@A+DPTR MOV P1,A INC CNTA MOV A,CNTA CJNE A,#8,NEX MOV CNTA,#00H NEX: RETI

TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH GRAPH: DB 12H,14H,3CH,48H,3CH,14H,12H,00H DB 00H,00H,38H,44H,44H,44H,38H,00H DB 30H,48H,44H,22H,44H,48H,30H,00H END

6. C语言源程序 #include

unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char code graph[3][8]={{0x12,0x14,0x3c,0x48,0x3c,0x14,0x12,0x00}, {0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00}, {0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00} };

unsigned char count; unsigned char cnta;

void main(void) {

unsigned char i,j;

TMOD=0x01;

TH0=(65536-4000)/256; TL0=(65536-4000)%6; TR0=1; ET0=1; EA=1; while(1) {

if(P2_0==0) {

for(i=5;i>0;i--) for(j=248;j>0;j--); if(P2_0==0) { count++; if(count==3) { count=0; }

while(P2_0==0); } } } }

void t0(void) interrupt 1 using 0 {

TH0=(65536-4000)/256; TL0=(65536-4000)%6; P3=tab[cnta];

联系合同范文客服:xxxxx#qq.com(#替换为@)