以下程序在16×16点阵LED上依次显示“梅川酷子”四个字,分别用正向显示和反向显示,间隔两秒钟变换一次,电路图和效果图下图所示。AT89c52晶振频率为24MHz,用T0定时,改变变量flag值,从而让程序确定显示哪个汉字和显示方式(正向or反向)。#include<atmel\>或者#include<>#defineint8unsignedchar#defineint16unsignedint#defineint32unsignedlongint8flag;/*flag变量MSB7 6 5 4 3 2 1 0 LSB ×× ×Bit5=1,Bit4=0时,负向显示Bit5=0,Bit4=1时,负向显示Bit[2..0]74HC138的片选信号*/int8n;int8codetable[][32]={{0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x12,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x10,0x08,0x14,0x08,0x08},/*"梅",0*/{0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x21,0x04,0x20,0x02,0x00},/*"川",1*/{0x00,0x08,0xFE,0x08,0x28,0x0A,0x28,0x7E,0xFE,0x0A,0xAA,0x09,0xAA,0xFF,0xEA,0x00,0x86,0x00,0x82,0x7E,0xFE,0x42,0x82,0x42,0x82,0x42,0xFE,0x7E,0x82,0x42,0x00,0x00},/*"酷",2*/{0x00,0x00,0xF8,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x41,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x40,0x01,0x80,0x00}/*"子",3*/};voiddelay(void);voidmain(void){int8i;int8j;int8index;flag=0x10;n=0;//定时器T0初始化TMOD=0x01;TH0=0xb1;TL0=0xe0;ET0=1;EA=1;TR0=1;while(1){index=flag&0x03;if((flag&0x30)==0x10){ //正向显示 for(i=0;i<8;i++) {//显示上半屏 P0=table[index][2*i]; //左上 P2=i|0x08; delay(); P0=table[
16×16点阵LED显示汉字 来自淘豆网m.daumloan.com转载请标明出处.