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

📄 点阵上滚显示20字.c

📁 点阵上滚显示20字./*点阵显示汉字程串口输出字符数据
💻 C
字号:
/*点阵显示汉字程串口输出字符数据,P2口输出行扫描信号,P0_0输出595锁存信号。
  由于595接在LED阴极所以取模时要反白处理*/
#include <REGX51.H>
unsigned char code hanzi[4][176]={		 //二维数据
/*--  文字:  祝  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFB,0xE0,0x77,0xEF,0x77,0xEF,0x40,0xEF,0x5F,0xEF,0x6F,0xEF,0x77,0xE0,0x63,
0xF6,0xD5,0xF6,0xD6,0xF6,0xF7,0xF6,0xF7,0xB7,0x77,0xB7,0x77,0xB7,0xB7,0x8F,0xD7,

/*--  文字:  新  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xF7,0x8F,0xEF,0xF1,0x01,0xFD,0xBB,0xFD,0xD7,0x81,0x00,0xED,0xEF,0xED,0xEF,
0xED,0x00,0xED,0xEF,0xED,0xCB,0xEE,0xAB,0xEE,0xAD,0xEF,0x6E,0xEF,0xAB,0xEF,0xF7,

/*--  文字:  万  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0x80,0x01,0xFF,0xBF,0xFF,0xBF,0xF7,0xBF,0xE0,0x3F,0xF7,0xBF,0xF7,0xDF,
0xF7,0xDF,0xF7,0xDF,0xF7,0xEF,0xF7,0xEF,0xF7,0xF7,0xF8,0xFB,0xFD,0xFD,0xFF,0xFF,

/*--  文字:  开  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0x80,0x01,0xFB,0xDF,0xFB,0xDF,0xFB,0xDF,0xFB,0xDF,0x80,0x00,0xFB,0xDF,
0xFB,0xDF,0xFB,0xDF,0xFB,0xEF,0xFB,0xEF,0xFB,0xF7,0xFB,0xFB,0xFB,0xFD,0xFF,0xFF,

/*--  文字:  平  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xC0,0x01,0xFF,0x7F,0xF7,0x7B,0xE7,0x77,0xF7,0x6F,0xFB,0x4F,0xFD,0x6F,0xFF,0x7F,
0x80,0x00,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,



/*--  文字:  愿  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x80,0x03,0xFF,0x7B,0xE0,0x1B,0xEF,0xDB,0xE0,0x1B,0xEF,0xDB,0xE0,0x1B,0xFD,0xFB,
0xED,0xBB,0xDC,0xCB,0xFD,0xFB,0xDE,0xAD,0xBD,0xAD,0xB7,0xA6,0xF0,0x7F,0xFF,0xFF,

/*--  文字:  年  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xEF,0xC0,0x0F,0xFE,0xF7,0xFE,0xF7,0xFE,0xFB,0xE0,0x0D,0xFE,0xEE,0xFE,0xEF,
0xFE,0xEF,0xFE,0xEF,0x80,0x00,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,

/*--  文字:  事  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0x7F,0x80,0x00,0xFF,0x7F,0xE0,0x07,0xEF,0x77,0xE0,0x07,0xFF,0x7F,0xE0,0x03,
0xEF,0x7F,0x80,0x00,0xEF,0x7F,0xE0,0x03,0xEF,0x7F,0xFF,0x6F,0xFF,0x5F,0xFF,0xBF,

/*--  文字:  开  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0x80,0x01,0xFB,0xDF,0xFB,0xDF,0xFB,0xDF,0xFB,0xDF,0x80,0x00,0xFB,0xDF,
0xFB,0xDF,0xFB,0xDF,0xFB,0xEF,0xFB,0xEF,0xFB,0xF7,0xFB,0xFB,0xFB,0xFD,0xFF,0xFF,

/*--  文字:  安  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xBF,0xFF,0x7F,0x80,0x03,0xDF,0xFB,0xEF,0xDD,0xFF,0x9F,0xFF,0xDF,0x80,0x00,
0xFB,0xEF,0xFB,0xEF,0xFD,0xEF,0xFE,0x9F,0xFF,0x7F,0xFC,0x9F,0xE3,0xE7,0xF7,0xF8,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,




/*--  文字:  大  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0x80,0x00,0xFF,0x7F,0xFE,0xBF,
0xFE,0xBF,0xFD,0xBF,0xFD,0xDF,0xFB,0xDF,0xF7,0xEF,0xE7,0xF7,0x8F,0xFB,0xDF,0xFD,

/*--  文字:  快  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFE,0xFB,0xFE,0xFB,0xFE,0xFB,0xE0,0x13,0xEE,0xEA,0xEE,0xEA,0xEE,0xFA,0x80,0x0B,
0xFE,0xFB,0xFD,0x7B,0xFD,0x7B,0xFB,0x7B,0xF7,0xBB,0xE7,0xBB,0x8F,0xDB,0xDF,0xEB,

/*--  文字:  如  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xF7,0xFF,0xF7,0xFF,0xE7,0x81,0xF7,0xBD,0x80,0xBD,0xBB,0xBD,0xBB,0xBD,0xBB,
0xBD,0xBB,0xBD,0xDB,0xBD,0xD7,0xBD,0xEF,0x81,0xD7,0xBD,0x3B,0xBD,0xBD,0xFF,0xFE,

/*--  文字:  心  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xBF,0xFF,0x7F,0xFE,0xFF,0xFC,0xFF,0xFE,0xEF,0xFF,0xEF,0xF7,0xEF,0xEF,0xED,
0xDF,0xED,0x9F,0xED,0xDF,0xEE,0xF7,0xEF,0xF7,0xEF,0xF7,0xEF,0xF0,0x1F,0xFF,0xFF,

/*--  文字:  幸  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0x7F,0xFF,0x7F,0xE0,0x03,0xFF,0x7F,0x80,0x00,0xFB,0xF7,0xF3,0xEF,0xFD,0xDF,
0xE0,0x03,0xFF,0x7F,0xFF,0x7F,0xC0,0x01,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,



/*--  文字:  家  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xBF,0xFF,0x7F,0x80,0x03,0xDF,0xFD,0xE8,0x05,0xFF,0x7F,0xFF,0xBF,0xFB,0x0F,
0xF2,0xB1,0xFC,0xDF,0xFC,0x67,0xF2,0x99,0x8E,0xE7,0xDE,0xF9,0xFF,0x5F,0xFF,0xBF,

/*--  文字:  乐  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xF3,0xFF,0xE0,0x7F,0xFF,0x07,0xFE,0xF7,0xFE,0xF7,0xFE,0xF7,0xC0,0x03,0xFE,0xF7,
0xFE,0xEF,0xF6,0xCF,0xEE,0xE7,0xCE,0xF3,0x9E,0xDB,0xDE,0xBD,0xFF,0x7F,0xFF,0xFF,

/*--  文字:  意  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0x7F,0xC0,0x03,0xFB,0xEF,0xFD,0xDF,0x80,0x00,0xFF,0xFF,0xF0,0x07,0xF7,0xB7,
0xF7,0x77,0xF0,0x07,0xFF,0xFF,0xEF,0x6B,0xDE,0xEB,0xD7,0xE9,0xF0,0x1F,0xFF,0xFF,

/*--  文字:  心  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xBF,0xFF,0x7F,0xFE,0xFF,0xFC,0xFF,0xFE,0xEF,0xFF,0xEF,0xF7,0xEF,0xEF,0xED,
0xDF,0xED,0x9F,0xED,0xDF,0xEE,0xF7,0xEF,0xF7,0xEF,0xF7,0xEF,0xF0,0x1F,0xFF,0xFF,

/*--  文字:  福  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFB,0x80,0x37,0xFF,0xF7,0xC0,0x40,0xDF,0x5F,0xDF,0x6F,0xC0,0x77,0xFF,0xF3,
0x80,0x25,0xBB,0x96,0xBB,0xB7,0x80,0x37,0xBB,0xB7,0xBB,0xB7,0x80,0x37,0xBF,0xB7,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};

unsigned char code sw[16]={0xe0,0xe2,0xe4,0xe6,0xe8,
     0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe}; /*16行段码*/
unsigned char e;
void delay();                      /*延时*/
void out_rxd(unsigned char *d);   /*串口发送*/
/*主函数*/
void main()
{unsigned char i,j,m=0;    //i是从字模数组里向后取数据时的计数器,用以改变显示文字的内容.
 SCON=0;             //初始化串口为工作方式0(同步通信方式,TxD输出同步脉冲)
 while(1)            //重复循环显示
  {
   for(j=30;j>0;j--)
    {
	for(i=1;i<=31;i+=2)
     { 
      P2=0xff;
	  							//如果要连级只需增加调用如下函数,一个汉字要调用两次。
	   out_rxd(&hanzi[0][i+m]);	     //从串口输出第1个字的第一字节。
	   out_rxd(&hanzi[0][i+m-1]);    //从串口输出第1个字的第二字节。
       out_rxd(&hanzi[1][i+m]);    	//从串口输出第2个字的第一字节。
	   out_rxd(&hanzi[1][i+m-1]);	//从串口输出第2个字的第二字节。
       out_rxd(&hanzi[2][i+m]);		//
	   out_rxd(&hanzi[2][i+m-1]);
	   out_rxd(&hanzi[3][i+m]);
	   out_rxd(&hanzi[3][i+m-1]);
	  P0_0=1;					//锁存为高,595锁存信号
	  P0_0=0;
	  P2=sw[e];				    //输出行信号
      delay();	//延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象。*/
	 
	  e++;	   //行加一
	  if(e==16)
	    e=0;																	 
	}
   }
  m+=2;
   if(m>144)	 //滚动完一圈后再来,有有点问题滚完一圈后下一组会跳上来,而不是滚上来。
     m=0;
 }
}
 
  

void out_rxd(unsigned char *d)	  /*从串口发送数据*/
{
     SBUF=*d;
	  while(TI==0);       //等待发送完毕
      TI=0;
	 
 } 
  
 /*延时子程序*/
void delay()
{unsigned char n;
 for(n=100;n>0;n--)
   {;}
}

⌨️ 快捷键说明

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