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

📄 led.c

📁 led显示屏幕中文移动广告显示牌
💻 C
字号:
//led显示屏幕的显示
#include<REG52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int
/********变量定义**************/
//p0、p2口输出数据,p1口低位输出控制选通
uchar code char_s[192]={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,0x20,0x24,0x20,0x24,0x44,0x24,0x88,
0xfd,0x30,0x26,0x02,0x24,0x01,0x25,0xFE,
0x24,0x10,0x26,0x08,0xFD,0x20,0x24,0x90,
0x64,0x4C,0x2C,0x60,0x04,0x40,0x00,0x00,	          //恭
0x00,0x40,0x40,0x40,0x50,0x40,0x57,0x5F,
0x55,0x52,0x55,0xD2,0x55,0x52,0xF5,0x52,
0x55,0x52,0x55,0xD2,0x55,0x52,0x57,0x7F,
0xD0,0x50,0x40,0xC0,0x00,0x40,0x00,0x00,             //喜
0x00,0x02,0x08,0x04,0x18,0x09,0x68,0x11,
0x08,0x62,0x09,0x82,0x0F,0xC4,0xF9,0x28,
0x09,0x10,0x09,0x28,0x49,0x44,0x29,0x84,
0x08,0x02,0x18,0x03,0x08,0x02,0x00,0x00,         	  //发
0x00,0x02,0x7F,0xE4,0x40,0x18,0x5F,0xE0,
0x40,0x10,0xFF,0xEC,0x48,0x10,0x08,0x20,
0x08,0x40,0x08,0x82,0x0B,0x01,0xFF,0xFE,
0x08,0x00,0x18,0x00,0x08,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,0x00,0x00,0x00};	          //财

/************函数声明***************/
void delay_1(uint n);
void diap_char(uchar *word_1);
void diap_chars(void);
void diap_m(void);

/*******主函数开始**************/

void main()
{
  
 	P0=0xff;
	P1=0xff;
	P2=0xff;
	diap_chars();
	delay_1(2000);
	while(1)
	{
	    diap_m();
		diap_m();
		diap_chars();
		delay_1(800);	
    }
		
}
/***********子函数定义************/
void delay_1(uint n)                     //小延时函数,为74hc154的时续时间
{   
    //int i_d;
	while(n--!=0);
}

void diap_char(uchar *word_1)			 //显示一个汉字	 ,一闪而过,只显示一次
{
    int i;
	int j_1;
	j_1=0;
//	for(i=0;*(word_1+i)!='\0';i++)
	for(i=0;i<32;i++)
    {
	   P0=*(word_1+i);
	   i++;
	   P2=*(word_1+i);
	   P1=0xe0+j_1;
	   j_1++;
	   delay_1(15);
	   P0=0;
	   P2=0;
	   P1=0xff;                         //关74hc154
	}
}
void diap_chars(void)			         	//显示所有的字符
{	
    uint j_2;
	uint mm;
	uchar *pc;
	pc=char_s;
	for(j_2=1;j_2<5;j_2++)
	{
	    for(mm=0;mm<2000;mm++)					  //显示一个字的时间
		{
			diap_char(pc+32*j_2);  
		}
		delay_1(1000);		//每个字的显示之间不要太快,否则没过度效果,所以先清屏一小段时间先
	}
}
//移动显示汉字
//显示方案为:定义一个变化的数组随着时间的变话而改变在调用显示函数
//在显示的时候改数组值
void diap_m(void)
{
   	uint ii;
	uint j;
 	uchar *p;
    P1=0xff;
	delay_1(20);
	p=char_s;
	for(ii=0;ii<80;ii++)				   //移动显示一边的
	{ 
	  // p=char_s;
	   for(j=0;j<16;j++)				//为控制移动速度而设的,即每一暮至少要显示一段时间才看到显示的效果
	   {
	      diap_char(p);
		}
		p++;
		p++;
	}					  
}

⌨️ 快捷键说明

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