📄 两个16×16点阵汉字显示.c
字号:
/***********************************************************************
两个16×16点阵汉字显示
************************************************************************/
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
sbit p30=P3^0;
sbit p31=P3^1;
code uchar tab1[]={ // 显示的字符代码
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"电",0*/
0x00,0xFF,0xFB,0x80,0x00,0x41,0x04,0x00,
0x00,0x41,0x04,0x00,0x00,0x41,0x04,0x00,
0x00,0x41,0x04,0x00,0x3F,0xFF,0xFF,0xFC,
0x00,0x41,0x04,0x04,0x00,0x41,0x04,0x04,
0x00,0x41,0x04,0x04,0x00,0x41,0x04,0x04,
0x01,0xFF,0xFE,0x04,0x00,0x00,0x00,0xE4,
0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,/*"子",1*/
0x08,0x01,0x00,0x00,0x08,0x01,0x00,0x00,
0x08,0x01,0x00,0x00,0x08,0x01,0x00,0x08,
0x08,0x01,0x00,0x0C,0x08,0x01,0x00,0x0E,
0x08,0x3F,0xFF,0xF8,0x08,0x41,0x00,0x00,
0x09,0x81,0x00,0x00,0x0B,0x01,0x00,0x00,
0x1C,0x01,0x00,0x00,0x0C,0x07,0x00,0x00,
0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,/*"协",2*/
0x00,0x10,0x00,0x00,0x1F,0xFF,0xFF,0xFE,
0x00,0x10,0x00,0x02,0x00,0x30,0x38,0x0C,
0x00,0x21,0xC0,0x30,0x00,0x20,0x03,0xC0,
0x0F,0xFF,0xFC,0x00,0x10,0x20,0x00,0x10,
0x00,0x20,0x00,0x08,0x00,0x20,0x00,0x1C,
0x00,0xFF,0xFF,0xE0,0x00,0x01,0x80,0x00,
0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,/*"会",3*/
0x00,0x03,0x08,0x00,0x00,0x04,0x08,0x0E,
0x00,0x19,0x08,0x3C,0x00,0xE1,0x08,0xC8,
0x07,0x81,0x0F,0x08,0x3C,0x01,0x0C,0x08,
0x17,0x01,0x08,0x08,0x00,0x81,0x09,0x08,
0x00,0x62,0x08,0xC8,0x00,0x18,0x08,0x70,
0x00,0x0C,0x08,0x1E,0x00,0x06,0x10,0x00,
0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,};
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;
uchar r,t=0;
P0=0x00;
P3=0xff;
while(1)
{
for(r=0;r<30;r++) //控制每一个字符显示的时间
for(j=q;j<64+q;j++)
{ p30=0;
p31=1;
P1=tab2[t];
P0=tab1[j];
j++;
P2=tab1[j];
delay(20);
j++;
p30=1;
p31=0;
P1=tab2[t];
P0=tab1[j];
j++;
P2=tab1[j];
delay(20);
t++;
if(t==16)
t=0;
}
q=q+64; // 显示下一个字符
if(q==256)
q=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -