ex1.c
来自「基于51单片机的16*16点阵」· C语言 代码 · 共 355 行 · 第 1/2 页
C
355 行
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xEF,0xFF,0xEF,0xEF,0xFF,0x83,0xF7,0xFD,
0xDE,0x03,0xEF,0xDF,0xE0,0x7F,0xE8,0x1D,0xDA,0xFB,0xDD,0xDB,0xDF,0xFF,0xEB,0xAD,
0x84,0x07,0x83,0x87,0xDF,0xFF,0xEA,0xAD,0xCE,0x97,0xD7,0xBF,0xE0,0x07,0xEA,0x2D,
0xAE,0xB7,0xB7,0xBD,0xDB,0xEF,0xCA,0xAD,0xAA,0x03,0xB7,0x03,0xDB,0xEF,0xAA,0xAD,
0x84,0xB7,0x83,0xBF,0xDD,0xDF,0xAA,0xAD,0xEE,0xB5,0xF7,0xBF,0xDD,0xDF,0xEA,0xAD,
0xE8,0x4B,0xF3,0xC3,0xDE,0xBF,0xEC,0xAD,0xC5,0x6B,0xE7,0xF7,0xDF,0x7F,0xEE,0xFD,
0xAD,0x67,0x97,0xF7,0xDE,0x3F,0xED,0x3D,0xED,0x67,0xF7,0xCF,0xBD,0xCF,0xED,0xBD,
0xEB,0x9B,0xF7,0xE7,0xB3,0xF1,0xEB,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
},
//参差荇菜 14
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFD,0xFF,0xF7,0xEF,0xFD,0xDF,0xFB,0xBF,
0xFB,0xDF,0xFB,0xDF,0x80,0x01,0x80,0x01,0xF7,0xEF,0xFB,0xBB,0xFF,0xDF,0xFB,0xFF,
0xE8,0x17,0xC4,0x47,0xFF,0xBF,0xFF,0xE7,0xFD,0xFF,0xFD,0xFF,0xF6,0x03,0xC0,0x17,
0x82,0x03,0xE0,0x07,0xEF,0xFF,0xEE,0xF7,0xFB,0xBF,0xFD,0xFF,0x9B,0xFF,0xF7,0x6F,
0xE7,0x4F,0xFB,0xFD,0xF7,0xFD,0xF6,0x7F,0xDE,0xF7,0xC0,0x03,0xF6,0x03,0xFE,0xFD,
0x39,0xB9,0xF7,0xFF,0xC7,0xEF,0xC0,0x03,0xE7,0x7F,0xE8,0x0F,0xB7,0xEF,0xFA,0xBF,
0xFC,0xE7,0xDF,0x7F,0xF7,0xEF,0xFA,0xDF,0xF3,0x9F,0xBF,0x7F,0xF7,0xEF,0xE6,0xE7,
0xFE,0x7F,0x70,0x03,0xF7,0xEF,0xDE,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
//左右采之 15
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0xC7,0xFD,0xFF,
0xFE,0xFF,0xFE,0xFF,0xF0,0x3F,0xFE,0x7F,0xFD,0xFF,0xFD,0xFD,0xEE,0xFB,0xFF,0x7F,
0xFD,0xFD,0x80,0x03,0xEE,0xF7,0xFF,0xF7,0xC0,0x03,0xFB,0xFF,0xEF,0x6F,0xC0,0x07,
0xFB,0xFF,0xFB,0xFF,0xFE,0xFF,0xFF,0xEF,0xFB,0xFF,0xF7,0xFF,0xFE,0xFF,0xFF,0xDF,
0xF7,0xFF,0xE7,0xF7,0x80,0x01,0xFF,0xBF,0xF0,0x0F,0xE0,0x07,0xFC,0xBF,0xFF,0x7F,
0xEF,0x7F,0xD7,0xF7,0xFA,0xBF,0xFE,0xFF,0xDF,0x7F,0x37,0xF7,0xFA,0xDF,0xFD,0xFF,
0xDF,0x7F,0xF7,0xF7,0xF6,0xEF,0xF3,0xFF,0xBF,0x7F,0xF7,0xF7,0xEE,0xF3,0x87,0xFF,
0x60,0x01,0xF0,0x07,0x9E,0xFD,0x39,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
},
//窈窕淑女 16
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFC,0xFF,0xDD,0xFF,0xFE,0xFF,
0xFE,0xFD,0xFF,0xFD,0xED,0xFF,0xFE,0xFF,0x81,0x01,0x80,0x03,0xFD,0x01,0xFD,0xFF,
0xBB,0xD7,0xB7,0xEF,0xFC,0xBB,0xFD,0xFF,0xE7,0xE7,0xEF,0xF7,0xAD,0xDB,0x80,0x00,
0x97,0xBF,0x9D,0xB7,0xDD,0xDB,0xFB,0xEF,0xEF,0xBF,0xDD,0xB7,0xD0,0x17,0xFB,0xDF,
0xDC,0x03,0xED,0x8F,0xDD,0xD7,0xF7,0xDF,0xBB,0xBB,0xFD,0xBF,0xB5,0xD7,0xF7,0xDF,
0x87,0xB7,0xFB,0x8F,0xB5,0x6F,0xF9,0xBF,0xEF,0xB7,0xE3,0xB7,0xAD,0xEF,0xFE,0x3F,
0xDB,0x77,0xDB,0xBF,0x9D,0xD7,0xFE,0xDF,0x84,0xF7,0xF7,0xBD,0xBD,0xBB,0xFD,0xE7,
0xFD,0xB7,0xEF,0xBD,0xB1,0x79,0xF3,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
},
//琴瑟友之 17
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0x01,0x81,0x01,0xFE,0xFF,0xFD,0xFF,
0xF7,0xDF,0xEE,0xEF,0xFE,0xFF,0xFE,0x7F,0xF7,0xDB,0xEF,0xEB,0xFD,0xFD,0xFF,0x7F,
0xC3,0x87,0xC3,0x87,0xC0,0x03,0xFF,0xF7,0xF7,0xDF,0xEF,0xEF,0xFD,0xFF,0xC0,0x07,
0x80,0x01,0xED,0xED,0xFD,0xFF,0xFF,0xEF,0xFE,0x7F,0x90,0x13,0xFA,0x07,0xFF,0xDF,
0xFD,0x7F,0xFE,0xEF,0xF9,0xEF,0xFF,0xBF,0xF9,0x8F,0xFB,0x6F,0xFA,0xEF,0xFF,0x7F,
0xE6,0x71,0xFB,0xDF,0xF6,0xDF,0xFE,0xFF,0x9F,0xFF,0xDB,0xA1,0xEF,0x3F,0xFD,0xFF,
0xF0,0x1F,0xDA,0x6E,0xEF,0x3F,0xF3,0xFF,0xFF,0xDF,0xF9,0xEF,0xDE,0xCF,0x87,0xFF,
0xFF,0xBF,0xF3,0xCF,0xBD,0xF3,0x39,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
},
//参差荇菜 18
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFD,0xFF,0xF7,0xEF,0xFD,0xDF,0xFB,0xBF,
0xFB,0xDF,0xFB,0xDF,0x80,0x01,0x80,0x01,0xF7,0xEF,0xFB,0xBB,0xFF,0xDF,0xFB,0xFF,
0xE8,0x17,0xC4,0x47,0xFF,0xBF,0xFF,0xE7,0xFD,0xFF,0xFD,0xFF,0xF6,0x03,0xC0,0x17,
0x82,0x03,0xE0,0x07,0xEF,0xFF,0xEE,0xF7,0xFB,0xBF,0xFD,0xFF,0x9B,0xFF,0xF7,0x6F,
0xE7,0x4F,0xFB,0xFD,0xF7,0xFD,0xF6,0x7F,0xDE,0xF7,0xC0,0x03,0xF6,0x03,0xFE,0xFD,
0x39,0xB9,0xF7,0xFF,0xC7,0xEF,0xC0,0x03,0xE7,0x7F,0xE8,0x0F,0xB7,0xEF,0xFA,0xBF,
0xFC,0xE7,0xDF,0x7F,0xF7,0xEF,0xFA,0xDF,0xF3,0x9F,0xBF,0x7F,0xF7,0xEF,0xE6,0xE7,
0xFE,0x7F,0x70,0x03,0xF7,0xEF,0xDE,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
},
//左右芼之 19
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFE,0xFF,0xFB,0xBF,0xFD,0xFF,
0xFE,0xFF,0xFE,0xFF,0xFB,0xBF,0xFE,0x7F,0xFD,0xFF,0xFD,0xFD,0x80,0x03,0xFF,0x7F,
0xFD,0xFD,0x80,0x03,0xFB,0xBF,0xFF,0xF7,0xC0,0x03,0xFB,0xFF,0xFF,0xCF,0xC0,0x07,
0xFB,0xFF,0xFB,0xFF,0xFC,0x3F,0xFF,0xEF,0xFB,0xFF,0xF7,0xFF,0xC2,0xFF,0xFF,0xDF,
0xF7,0xFF,0xE7,0xF7,0xFE,0xE7,0xFF,0xBF,0xF0,0x0F,0xE0,0x07,0xE0,0x1F,0xFF,0x7F,
0xEF,0x7F,0xD7,0xF7,0xFE,0xFF,0xFE,0xFF,0xDF,0x7F,0x37,0xF7,0xFE,0x81,0xFD,0xFF,
0xDF,0x7F,0xF7,0xF7,0x80,0x7D,0xF3,0xFF,0xBF,0x7F,0xF7,0xF7,0xFE,0xFD,0x87,0xFF,
0x60,0x01,0xF0,0x07,0xFE,0x01,0x39,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
},
//窈窕淑女 20
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFC,0xFF,0xDD,0xFF,0xFE,0xFF,
0xFE,0xFD,0xFF,0xFD,0xED,0xFF,0xFE,0xFF,0x81,0x01,0x80,0x03,0xFD,0x01,0xFD,0xFF,
0xBB,0xD7,0xB7,0xEF,0xFC,0xBB,0xFD,0xFF,0xE7,0xE7,0xEF,0xF7,0xAD,0xDB,0x80,0x00,
0x97,0xBF,0x9D,0xB7,0xDD,0xDB,0xFB,0xEF,0xEF,0xBF,0xDD,0xB7,0xD0,0x17,0xFB,0xDF,
0xDC,0x03,0xED,0x8F,0xDD,0xD7,0xF7,0xDF,0xBB,0xBB,0xFD,0xBF,0xB5,0xD7,0xF7,0xDF,
0x87,0xB7,0xFB,0x8F,0xB5,0x6F,0xF9,0xBF,0xEF,0xB7,0xE3,0xB7,0xAD,0xEF,0xFE,0x3F,
0xDB,0x77,0xDB,0xBF,0x9D,0xD7,0xFE,0xDF,0x84,0xF7,0xF7,0xBD,0xBD,0xBB,0xFD,0xE7,
0xFD,0xB7,0xEF,0xBD,0xB1,0x79,0xF3,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
},
//钟鼓乐之 21
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xEF,0xF7,0xDF,0xFF,0xE7,0xFD,0xFF,
0xDF,0xEF,0xF7,0xDF,0xEC,0x1F,0xFE,0x7F,0xC1,0xEF,0xC1,0xDF,0xE3,0xFF,0xFF,0x7F,
0xBF,0x01,0xF7,0x03,0xEF,0x7F,0xFF,0xF7,0xBF,0x6D,0x81,0xDF,0xEF,0x7F,0xC0,0x07,
0x43,0x6D,0xFF,0xDF,0xEF,0x7F,0xFF,0xEF,0xEF,0x6D,0xC1,0x23,0xEF,0x7B,0xFF,0xDF,
0xEF,0x6D,0xBD,0x77,0xF0,0x07,0xFF,0xBF,0x83,0x01,0xBD,0xB7,0xFF,0x5F,0xFF,0x7F,
0xEF,0xED,0x83,0xAF,0xF3,0x6F,0xFE,0xFF,0xEF,0xEF,0xD9,0xCF,0xF7,0x77,0xFD,0xFF,
0xED,0xEF,0xDB,0xCF,0xEF,0x7B,0xF3,0xFF,0xE3,0xEF,0xF4,0xB7,0xDF,0x7B,0x87,0xFF,
0xEF,0xEF,0x8B,0x7B,0xB8,0x7F,0x39,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
}
};
uchar idata dispram[128]; //显示缓存
void main()
{
SCON=0x00; //串口工作模式0;移位寄存器方式
TMOD=0x01; //定时器T0工作方式1:16位方式
TR0=1; //启动定时器t0
P1=0x3f; //P1端口初值:允许接收、锁定、显示
IE=0x82;
while(1)
{
for(i=0;i<22;i++)
{
for(j=0;j<16;j++)
{
for(k=0;k<15;k++)
{
dispram[k*BLKN]=dispram[(k+1)*BLKN];
dispram[k*BLKN+1]=dispram[(k+1)*BLKN+1];
dispram[k*BLKN+2]=dispram[(k+1)*BLKN+2];
dispram[k*BLKN+3]=dispram[(k+1)*BLKN+3];
dispram[k*BLKN+4]=dispram[(k+1)*BLKN+4];
dispram[k*BLKN+5]=dispram[(k+1)*BLKN+5];
dispram[k*BLKN+6]=dispram[(k+1)*BLKN+6];
dispram[k*BLKN+7]=dispram[(k+1)*BLKN+7];
}
dispram[120]=bmp[i][j*BLKN];
dispram[121]=bmp[i][j*BLKN+1];
dispram[122]=bmp[i][j*BLKN+2];
dispram[123]=bmp[i][j*BLKN+3];
dispram[124]=bmp[i][j*BLKN+4];
dispram[125]=bmp[i][j*BLKN+5];
dispram[126]=bmp[i][j*BLKN+6];
dispram[127]=bmp[i][j*BLKN+7];
delay(50);
}
delay(1000);
}
}
}
void leddisplay(void) interrupt 1 using 1
{
uchar i,j=BLKN; //设定显示屏刷新率62.5帧/s
TH0=0xfd;
TL0=0xf0;
i=P1; //读取当前显示的行列
i=++i&0x0f; /*行数自动加一,屏蔽高4位 ,注意P1.0,P1.1,P1.2,P1,3控制行的显示,
通过4线16线译码器,对16行进行控制*/
do
{
j--;
SBUF=dispram[i*BLKN+j]; //送显示数据,SBUF串行数据缓冲寄存器
while(!TI); /*串行发送停止位的开始时,由内部硬件使T11,向CPU发出中断请求
,在中断服务程序中,必须用软件使其清0*/
TI=0;
}
while(j); //完成一行数据的发送
G=1; //消隐(关闭显示)
P1&=0xf0; //行号端口清0
RCK=1; //显示数据打入输出锁存器
P1|=i; //写入行号
RCK=0; //锁存显示数据
G=0; //打开显示
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?