📄 dot_10.c
字号:
/*--------------------------------------------------------------*/
//Note: LED16*16滚动显示
//Date: 09-2-14
//Time: 19:56
/*--------------------------------------------------------------*/
//包含头文件
#include<reg52.h>
/*--------------------------------------------------------------*/
//代码区
//取码规则:纵向取模,字节倒序,低位在前
//取码顺序:左到右,上到下
//字体:宋体
unsigned char code table[][32]={
//不是因为寂寞才想你,只是因为想你才寂寞
0x00,0x02,0x02,0x02,0x02,0x82,0x42,0xFE,0x06,0x42,0xC2,0x82,0x02,0x03,0x02,0x00,
0x00,0x08,0x04,0x02,0x01,0x00,0x00,0x7F,0x00,0x00,0x00,0x01,0x07,0x02,0x00,0x00,//不0
0x80,0x80,0x80,0x80,0xBE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBE,0x80,0x80,0x80,0x00,
0x00,0x40,0x20,0x10,0x0E,0x10,0x20,0x3F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00,//是1
0x00,0xFE,0x02,0x22,0x22,0x22,0xA2,0xFE,0x22,0x22,0x22,0x22,0x02,0xFE,0x00,0x00,
0x00,0xFF,0x40,0x50,0x48,0x46,0x43,0x40,0x41,0x42,0x5C,0x48,0x40,0xFF,0x00,0x00,//因2
0x00,0x10,0x10,0x12,0x14,0x1C,0x10,0xF0,0x9F,0x10,0x10,0x10,0x10,0xF8,0x10,0x00,
0x00,0x00,0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x11,0x26,0x40,0x20,0x1F,0x00,0x00,//为3
0x00,0x18,0x04,0x04,0xFC,0x24,0x24,0x25,0xC6,0x24,0x24,0x24,0xE4,0x0C,0x04,0x00,
0x20,0x11,0x4D,0x81,0x7F,0x05,0xB9,0x51,0x20,0x13,0x0C,0x12,0x21,0xC0,0x40,0x00,//寂4
0x10,0x0C,0x14,0xD4,0x54,0x7C,0x55,0x56,0x54,0x7C,0x54,0xD4,0x14,0x0C,0x04,0x00,
0x00,0x90,0x90,0x57,0x55,0x35,0x35,0x1D,0x35,0x55,0x55,0x97,0x90,0x80,0x00,0x00,//寞5
0x00,0x10,0x10,0x10,0x10,0x10,0x10,0xD0,0x30,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,
0x00,0x10,0x10,0x08,0x04,0x02,0x01,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,//才6
0x08,0xC8,0x38,0xFF,0x18,0x68,0x08,0x00,0xFE,0x2A,0x2A,0x2A,0x2A,0xFE,0x00,0x00,
0x01,0x40,0x70,0x01,0x38,0x40,0x40,0x44,0x59,0x41,0x41,0x61,0x01,0x09,0x30,0x00,//想7
0x80,0x40,0xF0,0x2C,0x43,0x20,0x98,0x0F,0x0A,0xE8,0x08,0x88,0x28,0x1C,0x08,0x00,
0x00,0x00,0x7F,0x00,0x10,0x0C,0x03,0x21,0x40,0x3F,0x00,0x00,0x03,0x1C,0x08,0x00,//你8
0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,
0x00,0x40,0x20,0x31,0x18,0x0E,0x04,0x00,0x00,0x00,0x02,0x04,0x19,0x70,0x20,0x00,//只9
0x80,0x80,0x80,0x80,0xBE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBE,0x80,0x80,0x80,0x00,
0x00,0x40,0x20,0x10,0x0E,0x10,0x20,0x3F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00,//是10
0x00,0xFE,0x02,0x22,0x22,0x22,0xA2,0xFE,0x22,0x22,0x22,0x22,0x02,0xFE,0x00,0x00,
0x00,0xFF,0x40,0x50,0x48,0x46,0x43,0x40,0x41,0x42,0x5C,0x48,0x40,0xFF,0x00,0x00,//因11
0x00,0x10,0x10,0x12,0x14,0x1C,0x10,0xF0,0x9F,0x10,0x10,0x10,0x10,0xF8,0x10,0x00,
0x00,0x00,0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x11,0x26,0x40,0x20,0x1F,0x00,0x00,//为12
0x08,0xC8,0x38,0xFF,0x18,0x68,0x08,0x00,0xFE,0x2A,0x2A,0x2A,0x2A,0xFE,0x00,0x00,
0x01,0x40,0x70,0x01,0x38,0x40,0x40,0x44,0x59,0x41,0x41,0x61,0x01,0x09,0x30,0x00,//想13
0x80,0x40,0xF0,0x2C,0x43,0x20,0x98,0x0F,0x0A,0xE8,0x08,0x88,0x28,0x1C,0x08,0x00,
0x00,0x00,0x7F,0x00,0x10,0x0C,0x03,0x21,0x40,0x3F,0x00,0x00,0x03,0x1C,0x08,0x00,//你14
0x00,0x10,0x10,0x10,0x10,0x10,0x10,0xD0,0x30,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,
0x00,0x10,0x10,0x08,0x04,0x02,0x01,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,//才15
0x00,0x18,0x04,0x04,0xFC,0x24,0x24,0x25,0xC6,0x24,0x24,0x24,0xE4,0x0C,0x04,0x00,
0x20,0x11,0x4D,0x81,0x7F,0x05,0xB9,0x51,0x20,0x13,0x0C,0x12,0x21,0xC0,0x40,0x00,//寂16
0x10,0x0C,0x14,0xD4,0x54,0x7C,0x55,0x56,0x54,0x7C,0x54,0xD4,0x14,0x0C,0x04,0x00,
0x00,0x90,0x90,0x57,0x55,0x35,0x35,0x1D,0x35,0x55,0x55,0x97,0x90,0x80,0x00,0x00//寞17
};
#define num sizeof(table) //获得汉字个数
/*--------------------------------------------------------------*/
//延时500+0us 函数定义
void delay1(void)
{
unsigned char i, j;
for(i = 99; i > 0; i--)
for(j = 1; j > 0; j--);
}
/*--------------------------------------------------------------*/
//主函数
void main(void)
{
unsigned char i, n; //n控制滚动速度
unsigned int m; //汉字移动变量
unsigned char k; //汉字个数变量
unsigned char buffer[32]; //缓冲
bit next = 1, neg; //控制是否缓冲,反色显示
while(1)
{
if(next)
{
for(i = 0; i < m; i++)
{
buffer[i] = 0x00;
buffer[i+16] =0x00;
}
for(i = 0; i < 16-m; i++)
{
buffer[i+m] = table[k][i];
buffer[i+m+16] = table[k][16+i];
}
}
for(i = 16; i > 0; i--) //单列扫描
{
if(neg) //反色显示
{
}
else //正常显示
{
P0 = buffer[i];
P2 = buffer[i+16];
}
if(i < 8) P1 = ~(0x01 << i); //列扫描
else P3 = ~(0x01 << (i-8));
delay1();delay1();delay1(); //延时
P1 = 0xff; //关显示
P3 = 0xff;
}
n++;
if(n == 10) {n = 0; m++; next = 1;} //控制滚动速度
else next = 0;
if(m == 16) {k++; m = 0;}
if(k == num/32) {k = 0; neg = ~neg;} //循环滚动
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -