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

📄 99.c

📁 实现16*64点阵左移功能,但是程序不能平滑的移动,是一个字一个字的跳过去的.
💻 C
字号:
		//16×64单色点阵参考程序:
		#include<reg52.h>
		#define uint unsigned int
		#define uchar unsigned char
		uchar code table[]={


0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏

	                                           /*先写几个清屏(4个清屏刚好4个字),是为了刚开始让
											    屏幕什么都没有显示,在主函数扫描的时候是从起始位
												置开始扫描,然后程序会慢慢移动到要显示的字*/
											   
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏

												
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏
											      
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏	   
										
			 							   
0xDF,0xF7,0xEC,0x03,0xED,0xF7,0xFD,0xF7,0x01,0xF7,0xF5,0xF7,0xED,0xF7,0xC4,0x07,
0xA9,0x57,0x6F,0x5F,0xEF,0x5F,0xEE,0xDF,0xEE,0xDD,0xED,0xDD,0xEB,0xE1,0xE7,0xFF,//祝

0xEE,0xFF,0xEE,0xFF,0xEE,0xFF,0xDC,0x03,0xDD,0xFB,0x9B,0xF7,0x57,0xBF,0xDF,0xBF,
0xDE,0xAF,0xDE,0xB7,0xDD,0xB3,0xDB,0xBB,0xDF,0xBF,0xDF,0xBF,0xDE,0xBF,0xDF,0x7F,//你

0xFE,0xFF,0xEE,0xFF,0xEE,0xFF,0xEE,0xF7,0xC0,0x03,0xDE,0xFF,0xBE,0xFF,0xBE,0xFF,
0x7E,0xEF,0xC0,0x07,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFF,0xFF,//生

0xFF,0xEF,0xE0,0x07,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,
0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xE0,0x0F,0xEF,0xEF,0xFF,0xFF,//日

0xEF,0x7F,0xEF,0x7F,0xEF,0x7F,0xEF,0x77,0xA4,0x03,0xAB,0x77,0xAF,0x77,0x6F,0x77,
0xEF,0x77,0xE0,0x01,0xEF,0x7F,0xEE,0xBF,0xEE,0xDF,0xED,0xEF,0xEB,0xF1,0xE7,0xFB,//快

0xFF,0xDF,0xFF,0x0F,0xE0,0xFF,0xEF,0xFF,0xEE,0xFF,0xEE,0xFF,0xDE,0xFB,0x80,0x01,
0xFE,0xFF,0xFE,0xFF,0xF6,0xDF,0xF6,0xEF,0xEE,0xF7,0xDE,0xF3,0xBA,0xFB,0xFD,0xFF,//乐

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xF8,0xFF,0xF9,0xFF,0xF3,0xFF,0xF7,
0xFF,0xE7,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFE,0x3F,0xFF,0xFF,0xFF,0xFF,//!


0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFE,0xFF,
0xFD,0x7F,0xFD,0x7F,0xFB,0xBF,0xFB,0xBF,0xF7,0xDF,0xEF,0xEF,0xDF,0xF1,0x3F,0xFB,//天

0xFF,0xF7,0x80,0x03,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFE,0xFF,
0xFD,0x7F,0xFD,0x7F,0xFB,0xBF,0xFB,0xBF,0xF7,0xDF,0xEF,0xEF,0xDF,0xF1,0x3F,0xFB,//天

0xFF,0xF7,0x80,0x03,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xDB,0x00,0x01,
0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xEF,0xDF,0xEF,0xDF,0xDF,0xDF,0xBF,0xDF,//开

0xFD,0xFF,0xFE,0xFF,0xFF,0x7F,0xFF,0x3F,0xF7,0x7F,0xF7,0xFF,0xD7,0xF7,0xD7,0xFB,
0xD7,0xFD,0xB7,0xFD,0x77,0xFD,0xF7,0xFF,0xF7,0xEF,0xF7,0xEF,0xF8,0x0F,0xFF,0xFF,//心


0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xF8,0xFF,0xF9,0xFF,0xF3,0xFF,0xF7,
0xFF,0xE7,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFE,0x3F,0xFF,0xFF,0xFF,0xFF,//!


0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏	

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏	

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//清屏

	
		};
		sbit DS=P3^0;      //74HC595的数据串行输入端口
		sbit ST=P3^5;      //74HC595并行输出使能
		sbit SH=P3^1;      //74HC595移位寄存器移位使能
		sbit G=P3^6;
		//******延时子程序******//
		void delay(uint a)  
		{
		   uint i,j;
		   for(i=0;i<a;i++)
		       for(j=0;j<4;j++);
		}
		
		/*将1个字节(8位)数据送到74HC595的移位寄存器,但未输出*/
		void SendByte(uchar date)   
		{
		uchar i;
		for(i=0;i<8;i++)
		   {
	      SH=0;
		    if(date&0x80)   //将date最高位移到74HC595的移位寄存器
		     DS=1;
	        else
		     DS=0;

	      SH=1;     //SH上升沿时移位
		date=date<<1;   
		    }
		}
		
		//主函数
		void main(void)
		{
		uchar i, k,t,j;
		
		while(1)
		{
		   G=1;
		   
		    for(k=0;k<17;k++)         //翻动的屏数,要实现的翻屏数越多,则在数组中的清屏个数就要求越多
		    { 						  
		     for(t=0;t<15;t++)     //翻动速度
		      {
		          for(i=0,j=0;i<16;i++,j+=2)   //扫描
		             {
		              SendByte(table[32*k+j+129]);	 
		              SendByte(table[32*k+j+128]);
					 // delay(40);	 
					  
		              SendByte(table[32*k+j+97]);
		              SendByte(table[32*k+j+96]); 
					  //delay(40);
		              SendByte(table[32*k+j+65]);
		              SendByte(table[32*k+j+64]);	
					  //delay(40);
		              SendByte(table[32*k+j+33]);
		              SendByte(table[32*k+j+32]);	 
					 // delay(40);
					  
		              ST=0;   
		              G=0;	  
		              P1=i;     
		              ST=1;    
		             delay(10); 
		              G=1;  	   
		              }
					  
					   
		           }
		       }
			 }
		    
		 }
		 
		

⌨️ 快捷键说明

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