- /*************************************************************/
- /********************** 16*16 阵列LED显示实验 *******************/
- /*************************************************************/
- /************************* 作者:XHCH ************************/
- /*************************************************************/
- /******************* 修改日期:2015年5月1日 ******************/
- /*************************************************************/
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- uint code Tab[][32] = {
- {0x18,0x0C,0x18,0x0C,0x98,0x7F,0x18,0x0C,0x7F,0x0C,0x18,0x0C,0xDC,0xFF,0x3C,0x00,
- 0x7E,0x0C,0x7E,0x0C,0x9B,0x7F,0x18,0x0C,0x18,0x0C,0x18,0x0C,0xD8,0xFF,0x18,0x00},/*"桂",0*/
- {0x18,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x0C,0xFF,0xFF,0x18,0x0C,0x1C,0x1E,0x3C,0x1E,
- 0x7E,0x3F,0x1E,0x3F,0x9B,0x6D,0xD8,0xCC,0x78,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x0C},/*"林",1*/
- {0x80,0x01,0x80,0x01,0x80,0x01,0xFC,0x3F,0x8C,0x31,0x8C,0x31,0x8C,0x31,0xFC,0x3F,
- 0x8C,0x31,0x8C,0x31,0x8C,0x31,0xFC,0x3F,0x8C,0xF1,0x80,0xC1,0x80,0xC1,0x00,0xFF},/*"电",2*/
- {0x00,0x00,0xFE,0x3F,0x00,0x18,0x00,0x0C,0x00,0x06,0x80,0x03,0x80,0x01,0xFF,0xFF,
- 0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xE0,0x01,0xC0,0x00},/*"子",3*/
- {0x30,0x18,0xF8,0x19,0x1F,0x1B,0x18,0x1B,0x18,0x18,0xFF,0x19,0x18,0x1B,0x3C,0x1B,
- 0x7C,0x18,0x1E,0xF8,0xDE,0x1F,0x1B,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},/*"科",4*/
- {0x18,0x0C,0x18,0x0C,0x18,0x0C,0xD8,0xFF,0x7F,0x0C,0x18,0x0C,0x18,0x0C,0xF8,0x7F,
- 0x38,0x63,0x1C,0x33,0x1F,0x36,0x18,0x1E,0x18,0x0C,0x18,0x1E,0x9E,0x33,0xEC,0xE0},/*"技",5*/
- {0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xFF,0xFF,0x80,0x01,0x80,0x01,
- 0xC0,0x03,0xC0,0x03,0x60,0x06,0x60,0x06,0x30,0x0C,0x18,0x18,0x0C,0x30,0x07,0xE0},/*"大",6*/
- {0xCC,0x30,0x98,0x31,0x98,0x19,0x00,0x0C,0xFE,0xFF,0x06,0xC0,0x03,0x60,0xF8,0x0F,
- 0x00,0x06,0x80,0x03,0xFF,0xFF,0x80,0x01,0x80,0x01,0x80,0x01,0xE0,0x01,0xC0,0x00},/*"学",7*/
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"—",8*/
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"—",9*/
- {0x00,0x06,0x3E,0x06,0x36,0x06,0xFE,0xFF,0x1E,0x03,0x8E,0x0D,0x9E,0x0D,0xF6,0x0C,
- 0xF6,0x7F,0x36,0x0C,0xBE,0x3D,0x9E,0x6D,0xC6,0xCC,0x66,0xCC,0x06,0x0F,0x06,0x06},/*"陈",10*/
- {0x80,0x01,0xC0,0x03,0x60,0x06,0x30,0x0C,0x1C,0x38,0xF7,0xEF,0x00,0x00,0xFC,0x30,
- 0xCC,0x36,0xFC,0x36,0xCC,0x36,0xFC,0x36,0xCC,0x36,0xCC,0x30,0xFC,0x3C,0x6C,0x18},/*"俞",11*/
- {0x80,0x01,0x80,0x01,0xC0,0x03,0x60,0x06,0x30,0x0C,0x18,0x18,0xFC,0x3F,0x87,0xE1,
- 0x80,0x01,0x80,0x01,0xF8,0x1F,0x80,0x01,0x80,0x01,0x80,0x01,0xFE,0x7F,0x00,0x00},/*"全",12*/
- {0x60,0x60,0x6C,0x60,0x6C,0x60,0xFC,0x6F,0x66,0x6C,0x60,0x6C,0xFF,0x6F,0x60,0x6C,
- 0x60,0x6C,0xFC,0x6F,0x6C,0x6F,0x6C,0x6F,0xEC,0x63,0xEC,0x61,0x60,0x78,0x60,0x30},/*"制",13*/
- {0xB0,0x01,0xB0,0x01,0xB0,0x01,0x98,0xFF,0xD8,0x03,0xDC,0x03,0x7C,0x03,0x1E,0x3F,
- 0x1B,0x03,0x18,0x03,0x18,0x03,0x18,0x7F,0x18,0x03,0x18,0x03,0x18,0x03,0x18,0x03},/*"作",14*/
- };
- void mDelay(uint Delay) //延时
- { uchar i;
- for(;Delay > 0;Delay--)
- for(i = 0;i < 110;i++);
- }
- void main() //主函数
- {
- uchar i,j,a,b;
- uint k,p;
- while(1)
- {
- for(i = 0;i < 14;i++) //显示15个字
- {
- P0=0;
- P2=0;
- for(p=0;p<16;p++) //每个字移动16次
- {
- for(k = 0;k < 20;k++) //每一个字扫描显示20次
- {
- a = 1;
- b = 1;
- for(j = 0;j < 16;j++) //扫描16行点阵
- {
- P1 = Tab[i][j*2+2*p]; //列数据传输
- P3 = Tab[i][j*2+(p*2+1)];
-
- if(j < 8) //前八行设置哪一行显示
- {
- P0 = P0|a; //当前显示的那一行置高
- mDelay(1);
- P0 = P0&0;
- a *= 2;
- }
- else //后八行设置哪一行显示
- {
- P2 = P2|b; //当前显示的那一行置高
- mDelay(1);
- P2 = P2&0;
- b *= 2;
- }
- }
- }
- }
- }
- }
- }
复制代码 |