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

📄 text2.c

📁 6416led+ds1302+8951电子钟,完整源代码
💻 C
字号:
 #include <AT89x51.H>
#define uchar unsigned char
#define uint unsigned int

uchar code hanzi[18][32];
uchar code hanzi2[];
uchar code timer[12][16];
uchar code sw[];

void DelayMs(void);

void Send_data(unsigned char *d);       /*串口发送一行*/



/******************************************/
sbit resget=P1^3;			//时钟复位
sbit key_moda=P1^0;			//模式转换
sbit key_up=P1^1;			//时钟加
sbit key_Down=P1^2;			//时钟减

sbit T_CLK=P1^7;		//DS1302引脚连接
sbit T_IO =P1^6;
sbit T_RST=P1^5;

sbit ACC0=ACC^0;       //1bit数据存储位
sbit ACC7=ACC^7;

uchar starts_time[7]={0x00,0x10,0x22,0x13,0x01,0x05,0x06};	 //初始化后设置
uchar Move,Speed,line,f,id;  //时间变量
uint zimuo,ss;
uchar BUFF[10];			           // 缓存


void   in_data();				        // 调整移动数据
void   rxd_data();				     // 串口发送移动数据

/*主函数*/
void main()
{
   Move=0;
   zimuo=0;
   SCON=0;             //初始化串口为工作方式0(同步通信方式,TxD输出同步脉冲)
   while(zimuo<1088)
    { 
	 while(Move<16)				           //数据移位。
       {
	     for(Speed=0;Speed<5;Speed++)                  //移动速度
	      {	
		    for(line=0;line<16;line++)
			  {
		         in_data();				     //调整移动数据
	             rxd_data();
			     P2_7=1;					 //锁存为高,595锁存信号
	             P2=sw[line];				     //输出行信号
	             DelayMs();	                 //延时,等待一段时间,让这列显示的内容在人眼内产生“视觉暂留”现象。*/
	             P2=0x7f;		             //关闭显示。
	          }
		 }
       Move++;				//移动一步
   	  }
     Move=0;
	 zimuo=zimuo+32;
    }	
   zimuo=0;
}

/**********************************************************/
void in_data(void)		                       //调整数据
{
 char s;
	for(s=4;s>=0;s--)			                    //i为向后先择字节计数器,zimuoo为向后先字计数器
	{
	 BUFF[2*s+1]=hanzi2[zimuo+32*s+2*line];            //把第一个字模的第一个字节放入BUFF0中,第二个字模和第一个字节放入BUFF2中
	 BUFF[2*s]=hanzi2[zimuo+1+32*s+2*line];	        //把第一个字模的第二个字节放入BUFF1中,第二个字模的第二个字节放入BUFF3中
	}
}

/***********************发送移动的数据****************************/
void rxd_data(void)		            //串行发送数据
{
  uchar s;
  uchar inc,tempyid,temp;
  if(Move<8)
    inc=0;
  else 
    inc=1;
  for(s=0+inc;s<8+inc;s++)		   //发送8字节数据
	{
	 if(Move<8) 
       tempyid=Move;
     else 
     tempyid=Move-8;
     temp=(BUFF[s]>>tempyid)|(BUFF[s+1]<<(8-tempyid));	//h1左移tempyid位后和h2右移8-tempyid相或,取出移位后的数据。
    
	 SBUF=temp;                      //把BUFF中的字节从大到小移位相或后发送输出。
	  while(TI==0);       //等待发送完毕
      TI=0;
	 
	}
}


/**************************延时***********************/
void DelayMs(void)
 {
  uchar TempCyc;
  for(TempCyc=100;TempCyc>1;TempCyc--)
     {;}
 }




uchar code sw[16]={0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,
                   0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e}; /*16行段码*/

uchar code hanzi2[]={/*移动显示汉字字模,*/
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,


/*--  文字:  欢  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFE,0xFF,0xFE,0xFF,0xFE,0xC0,0x80,0x5F,0xDF,0x5E,0xED,0xAD,0xFD,0xEB,0xFD,0xF7,
0xFD,0xE7,0xF9,0xE7,0xFA,0xDB,0xF6,0xDB,0xE7,0x7D,0x8F,0x9E,0xDF,0xE3,0xFF,0xFF,

/*--  文字:  迎  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFD,0xFE,0x7B,0xC1,0x93,0xDD,0xDB,0xDD,0xDF,0xDD,0xDF,0xDD,0xD8,0xDD,0xDB,
0xDD,0x5B,0xD5,0x9B,0xED,0xDB,0xFD,0xFB,0xFD,0xFB,0xFF,0xF5,0x80,0x0E,0xFF,0xFF,

/*--  文字:  您  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xEF,0xFF,0x6F,0x80,0x77,0xDF,0xB7,0xFD,0xD3,0xF5,0xB3,0xED,0xB5,0xDD,0xD6,
0xDD,0x77,0xFE,0xF7,0xFF,0xFF,0xDF,0x6B,0xB6,0xEB,0xB7,0xE9,0xF0,0x1F,0xFF,0xFF,

/*--  文字:  关  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFB,0xEF,0xF3,0xDF,0xFB,0x9F,0xED,0xDF,0xC0,0x01,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,
0x80,0x00,0xFF,0x7F,0xFE,0xBF,0xFD,0xDF,0xFB,0xEF,0xF3,0xF7,0xC7,0xFB,0xEF,0xFD,

/*--  文字:  临  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0x7F,0xFE,0x6F,0xFF,0x6F,0x80,0x6D,0xFB,0xAD,0xF7,0xAD,0xF7,0xCD,0xDF,0x6D,
0x80,0x6D,0xDB,0x6D,0xDB,0x6D,0xDB,0x6D,0xDB,0x6D,0xC0,0x6F,0xDF,0x6F,0xFF,0xFF,

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

/*--  文字:  片  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFD,0xFF,0xFD,0xF7,0xFD,0xF7,0xDD,0xF7,0x80,0x07,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,
0xF0,0x07,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xFB,0xF7,0xFB,0xF7,0xFD,0xF7,0xFE,

/*--  文字:  机  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xF7,0xE0,0xF7,0xEE,0xF7,0xEE,0x80,0xEE,0xF7,0xEE,0xF7,0xEE,0xE3,0xEE,0xD3,
0xEE,0xD5,0xEE,0xF5,0xEF,0x76,0xAF,0x77,0xAF,0xB7,0xAF,0xB7,0x9F,0xD7,0xFF,0xF7,

/*--  文字:  D  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xFF,0xDD,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,
0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xDD,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  I  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,
0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xC1,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  Y  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x88,0xFF,0xDD,0xFF,0xDD,0xFF,0xEB,0xFF,0xEB,
0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  网  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xC0,0x01,0xDF,0xFD,0xDF,0x7D,0xD7,0x75,0xC6,0xAD,0xD5,0xDD,0xDB,0xDD,
0xDB,0xAD,0xD5,0xAD,0xD6,0x75,0xDF,0x79,0xDF,0xFD,0xC7,0xFD,0xEF,0xFD,0xFF,0xFF,

/*--  文字:  站  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFB,0xFF,0xFB,0xFB,0xFB,0xF7,0xFB,0xF7,0x83,0x80,0xFB,0xDF,0xFB,0xDD,0xFB,0xDB,
0xC0,0x6B,0xDF,0x6B,0xDF,0x77,0xDF,0x43,0xDF,0x7C,0xC0,0x7F,0xDF,0x7F,0xFF,0xFF,

/*--  文字:  ,  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xF3,0xFF,0xF7,0xFF,0xFB,0xFF,0xFF,

/*--  文字:  w  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x14,
0xFF,0xB6,0xFF,0xB6,0xFF,0xAA,0xFF,0xAA,0xFF,0xDD,0xFF,0xDD,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  w  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x14,
0xFF,0xB6,0xFF,0xB6,0xFF,0xAA,0xFF,0xAA,0xFF,0xDD,0xFF,0xDD,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  w  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x14,
0xFF,0xB6,0xFF,0xB6,0xFF,0xAA,0xFF,0xAA,0xFF,0xDD,0xFF,0xDD,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  .  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,0xF9,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  8  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xDB,
0xFF,0xE7,0xFF,0xDB,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xC3,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  9  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xDB,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,
0xFF,0x9B,0xFF,0xA7,0xFF,0xBF,0xFF,0xBF,0xFF,0xDB,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  s  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,
0xFF,0xBD,0xFF,0xFD,0xFF,0xC3,0xFF,0xBF,0xFF,0xBD,0xFF,0xC1,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  5  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xE5,
0xFF,0xD9,0xFF,0xBF,0xFF,0xBF,0xFF,0xBD,0xFF,0xDD,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  1  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xF1,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,
0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xC1,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  d  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0x87,
0xFF,0xBB,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0x9B,0xFF,0x27,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  i  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xF1,
0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xC1,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  y  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x18,
0xFF,0xBD,0xFF,0xDB,0xFF,0xDB,0xFF,0xEB,0xFF,0xE7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF8,

/*--  文字:  .  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,0xF9,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  c  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC7,
0xFF,0xBB,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xBB,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  o  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xBD,0xFF,0xC3,0xFF,0xFF,0xFF,0xFF,

/*--  文字:  m  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0xFF,0x6D,0xFF,0x6D,0xFF,0x6D,0xFF,0x6D,0xFF,0x6D,0xFF,0x48,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
};

⌨️ 快捷键说明

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