⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dot_9.c

📁 LED16X16 滚动显示,非常经典
💻 C
字号:
/*--------------------------------------------------------------*/
//包含头文件
#include<reg52.h>


/*--------------------------------------------------------------*/
//代码区
//取码规则:纵向取模,字节倒序
//取码顺序:左到右,上到下(← → ↑ ↓)
//字体:@GungsuhChe
unsigned char code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0xFE,0x80,0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x01,0x01,0x01,0x01,0x03,0x05,0x09,0x11,0x21,0x41,0x01,0x01,0x01,0x00,//不0
0x00,0xF0,0x10,0xF0,0x10,0xF0,0x00,0xFE,0x00,0x00,0xF8,0x00,0x00,0x00,0xFE,0x00,
0x00,0x0F,0x08,0x0F,0x08,0x0F,0x00,0xFF,0x01,0x09,0x09,0x09,0x15,0x23,0x40,0x00,//是1
0x00,0xFC,0x04,0x04,0x04,0xF4,0x04,0x04,0x84,0x44,0x24,0x34,0x24,0x04,0xFC,0x04,
0x00,0x7F,0x41,0x41,0x41,0x5F,0x41,0x43,0x42,0x46,0x44,0x48,0x50,0x40,0x7F,0x40,//因2
0x80,0x80,0x80,0x84,0xFE,0x04,0x04,0x84,0x44,0x24,0x24,0x04,0x44,0x28,0x10,0x00,
0x00,0x10,0x0C,0x04,0x7F,0x01,0x01,0x01,0x01,0x02,0x02,0x04,0x08,0x10,0x20,0x00,//为3
0x00,0x80,0xFE,0x04,0x00,0x78,0x88,0x88,0x48,0x50,0x20,0x20,0x50,0x88,0x06,0x04,
0x01,0x00,0x3F,0x48,0x48,0x0F,0x08,0x08,0x7F,0x08,0x2C,0x2A,0x4B,0x8A,0x29,0x12,//寂4
0x00,0x00,0xFE,0x44,0xF8,0x40,0xF0,0x10,0xF0,0x10,0xF0,0x00,0xF8,0x80,0x60,0x1C,
0x02,0x01,0x7F,0x44,0xBF,0x04,0x1F,0x10,0x1F,0x10,0x1F,0x01,0x7F,0x06,0x18,0x60,//寞5
0x40,0x40,0x40,0x40,0xFE,0xC0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x01,0x02,0x04,0x08,0x10,0x60,0x00,0x01,0x00,//才6
0x00,0xFC,0x84,0xFC,0x84,0xFC,0x84,0x84,0xFC,0x00,0x00,0x84,0x82,0x12,0xF0,0x00,
0x10,0x10,0x10,0xFE,0x38,0x34,0x54,0x50,0x90,0x00,0x01,0x08,0x28,0x28,0x67,0x00,//想7
0x00,0x80,0x04,0xFE,0x04,0x48,0x40,0x50,0x48,0x48,0x44,0x46,0x44,0x40,0x80,0x00,
0x09,0x09,0x11,0x13,0x22,0x34,0x68,0xA2,0x23,0x22,0x24,0x24,0x28,0x21,0x20,0x00,//你8
0x00,0xF8,0x08,0x08,0x08,0x08,0x08,0xF8,0x08,0x20,0x10,0x08,0x0C,0x06,0x04,0x00,
0x00,0x1F,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x04,0x06,0x0C,0x18,0x30,0x40,0x00,//只9
0x00,0xF0,0x10,0xF0,0x10,0xF0,0x00,0xFE,0x00,0x00,0xF8,0x00,0x00,0x00,0xFE,0x00,
0x00,0x0F,0x08,0x0F,0x08,0x0F,0x00,0xFF,0x01,0x09,0x09,0x09,0x15,0x23,0x40,0x00,//是10
0x00,0xFC,0x04,0x04,0x04,0xF4,0x04,0x04,0x84,0x44,0x24,0x34,0x24,0x04,0xFC,0x04,
0x00,0x7F,0x41,0x41,0x41,0x5F,0x41,0x43,0x42,0x46,0x44,0x48,0x50,0x40,0x7F,0x40,//因11
0x80,0x80,0x80,0x84,0xFE,0x04,0x04,0x84,0x44,0x24,0x24,0x04,0x44,0x28,0x10,0x00,
0x00,0x10,0x0C,0x04,0x7F,0x01,0x01,0x01,0x01,0x02,0x02,0x04,0x08,0x10,0x20,0x00,//为12
0x00,0xFC,0x84,0xFC,0x84,0xFC,0x84,0x84,0xFC,0x00,0x00,0x84,0x82,0x12,0xF0,0x00,
0x10,0x10,0x10,0xFE,0x38,0x34,0x54,0x50,0x90,0x00,0x01,0x08,0x28,0x28,0x67,0x00,//想13
0x00,0x80,0x04,0xFE,0x04,0x48,0x40,0x50,0x48,0x48,0x44,0x46,0x44,0x40,0x80,0x00,
0x09,0x09,0x11,0x13,0x22,0x34,0x68,0xA2,0x23,0x22,0x24,0x24,0x28,0x21,0x20,0x00,//你14
0x40,0x40,0x40,0x40,0xFE,0xC0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,
0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x01,0x02,0x04,0x08,0x10,0x60,0x00,0x01,0x00,//才15
0x00,0x80,0xFE,0x04,0x00,0x78,0x88,0x88,0x48,0x50,0x20,0x20,0x50,0x88,0x06,0x04,
0x01,0x00,0x3F,0x48,0x48,0x0F,0x08,0x08,0x7F,0x08,0x2C,0x2A,0x4B,0x8A,0x29,0x12,//寂16
0x00,0x00,0xFE,0x44,0xF8,0x40,0xF0,0x10,0xF0,0x10,0xF0,0x00,0xF8,0x80,0x60,0x1C,
0x02,0x01,0x7F,0x44,0xBF,0x04,0x1F,0x10,0x1F,0x10,0x1F,0x01,0x7F,0x06,0x18,0x60,//寞17
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
#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 buffer[64];		//两个汉字的缓冲区
	unsigned char k;				//指向第几个汉字的变量
	bit next = 1, neg;				//控制是否缓冲,反色显示

	while(1)
	{
		if(next)
		{
			for(i = 0; i < 16; i++)				//写入两个汉字进缓冲区12-23-34
			{
				buffer[i]    = table[32*k+15-i];	
				buffer[i+16] = table[32*(k+1)+15-i];
				buffer[i+32] = table[32*k+31-i];	
				buffer[i+48] = table[32*(k+1)+31-i];
			}
		}	
									
		for(i = 0; i < 16; i++)					//单列扫描
		{
			if(neg)								//反色显示
			{
				P0 = ~buffer[i+m];				//字的上半部分
				P2 = ~buffer[i+m+32];			//字的下半部分
			}
			else								//正常显示
			{	
				P0 = buffer[i+m];				//字的上半部分
				P2 = buffer[i+m+32];			//字的下半部分
			}
			P1 = ~((0x8000>>i)&0xff);			//列扫描
			P3 = ~((0x8000>>i)>>8);
			delay1();delay1();delay1();			//延时
			P1 = 0xff;							//关显示
			P3 = 0xff;
		}
		n++; 
		if(n == 10)  {n = 0; m++;}				//控制滚动速度
		if(m == 16)  {m = 0; k++; next = 1;}	//下一组汉字
		else next = 0;							//控制是否缓冲
		if(k == num/32-1) {k = 0; neg = ~neg;}	//循环滚动
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -