📄 两个16×16点阵汉字分批显示.c
字号:
/*************************************************************************
8.1.5 两个16×16点阵汉字显示
***************************************************************************/
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
code uchar tab1[]={ // 显示的字符代码
0x00,0x88,0x20,0x8A,0x20,0x92,0x20,0xB2,
0xFF,0xD2,0x2A,0x92,0x2A,0x92,0x2A,0xBE,
0x2A,0x92,0x2A,0x92,0xFF,0xD2,0x20,0xA2,
0x20,0xB2,0x20,0x9A,0x00,0x90,0x00,0x00,/*"基",0*/
0x02,0x00,0x02,0x00,0x42,0x00,0x42,0x00,
0x42,0x04,0x42,0x02,0x42,0x01,0x7F,0xFE,
0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,
0x42,0x00,0x42,0x00,0x02,0x00,0x00,0x00,/*"于",1*/
0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,
0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00,/*"p",2*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,
0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00,/*"r",3*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,
0x01,0x04,0x01,0x04,0x00,0xF8,0x00,0x00,/*"o",4*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,
0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00,/*"t",5*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xF8,0x01,0x44,0x01,0x44,
0x01,0x44,0x01,0x44,0x00,0xC8,0x00,0x00,/*"e",6*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,
0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04,/*"u",7*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,
0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00,/*"s",8*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x1F,0xFE,0x31,0x08,0xD1,0x08,
0x11,0x08,0x1F,0xFC,0x02,0x00,0x0C,0x00,
0xF1,0x00,0x10,0xC0,0x10,0x64,0x10,0x02,
0x10,0x04,0x1F,0xF8,0x00,0x00,0x00,0x00,/*"的",9*/
0x00,0x10,0x00,0x10,0x1F,0xD0,0x14,0x90,
0x94,0x90,0x74,0x90,0x54,0x90,0x1F,0xFF,
0x14,0x90,0x34,0x90,0xD4,0x90,0x54,0x90,
0x1F,0xD0,0x00,0x10,0x00,0x10,0x00,0x00,/*"单",10*/
0x00,0x01,0x00,0x02,0x00,0x0C,0x7F,0xF0,
0x08,0x80,0x08,0x80,0x08,0x80,0x08,0x80,
0x08,0x80,0xF8,0x80,0x08,0x80,0x08,0xFF,
0x08,0x00,0x18,0x00,0x08,0x00,0x00,0x00,/*"片",11*/
0x10,0x20,0x10,0xC0,0x13,0x00,0xFF,0xFF,
0x12,0x00,0x11,0x82,0x10,0x0C,0x00,0x30,
0x7F,0xC0,0x40,0x00,0x40,0x00,0x40,0x00,
0x7F,0xFC,0x00,0x02,0x00,0x1E,0x00,0x00,/*"机",12*/
0x02,0x00,0x04,0x00,0x08,0x00,0x37,0xFE,
0xE0,0x02,0x50,0x04,0x10,0x18,0x10,0x60,
0x9F,0x80,0x51,0x08,0x71,0x04,0x11,0x02,
0x11,0x04,0x33,0xF8,0x11,0x00,0x00,0x00,/*"仿",13*/
0x00,0x08,0x20,0x09,0x20,0x09,0x20,0x0A,
0x2F,0xFA,0x2A,0xAC,0x3A,0xA8,0xEA,0xA8,
0x2A,0xA8,0x2A,0xAC,0x2A,0xAA,0x2F,0xFA,
0x20,0x09,0x60,0x09,0x20,0x08,0x00,0x00,/*"真",14*/
0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x24,
0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; /*"。",15*/
const uchar tab2[]={0x07,0x06,0x05,0x04,// 扫描代码
0x03,0x02,0x01,0x00,
0x0f,0x0e,0x0d,0x0c,
0x0b,0x0a,0x09,0x08};
void delay(uint n) //延时函数
{ uint i;
for(i=0;i<n;i++);
}
void main(void)
{
int j=0,q=0,y=0;
uchar r,t=0;
P0=0x00;
P3=0xff;
while(1)
{
for(r=0;r<100;r++) //控制每一个字符显示的时间
for(j=q;j<32+q;j++)
{
P3=0xfe;
P1=tab2[t];
P0=tab1[j];
j++;
P2=tab1[j];
delay(20); // 上面的点阵显示字
y=j+31;
P3=0xfd;
P1=tab2[t];
P0=tab1[y];
y++;
P2=tab1[y];
t++;
if(t==16)
t=0;
delay(20); // 下面的点阵显示字
}
q=q+64; // 显示下一个字符
if(q==512)
q=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -