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

📄 lcd.h

📁 刚做完的课程设计-万年历
💻 H
📖 第 1 页 / 共 2 页
字号:
* 入口参数:无
* 出口参数:无                 
* 说明    : 时间数组 BCD 码形式
****************************************************************************/
void Lcd_Week( uchar week )
{  
   Lcd_Character_16X16( 1, 6, 16,  week_logo[7] ); //”星“字显示
   Lcd_Character_16X16( 1, 6, 32, week_logo[8] ); //期
   Lcd_Character_16X16( 1, 6, 48, week_logo[  week & 0x0f ] );
}
/******************************************************************************
* 函数名称: Lcd_Clock( uchar *clock_time )
* 功能: 显示时钟
* 入口参数: 时钟地址,调用了日期和时间显示函数;
* 出口参数: 无
********************************************************************************/
void Lcd_Clock( uchar * clock_time )
{
   Lcd_Data( clock_time ); //显示日期
   Lcd_Time( clock_time ); //显示时间
}
/******************************************************************************
* 名称: void Lcd_Lunar_Calendar( uchar * lunch_calendar )
* 功能: 显示农历
* 入口参数: 农力指针
* 出口参数: 无
*******************************************************************************/
void Lcd_Lunar_Calendar( uchar * lunar_canlendar )
{
   uchar i;
   //显示“农历“汉字
   Lcd_Character_16X16( 1, 4, 16, lunar_calendar_logo[0] );
   Lcd_Character_16X16( 1, 4, 32, lunar_calendar_logo[1] );
   //year-mongth-day
   i= * lunar_canlendar >>  4;
   Lcd_Character_16X8( 1, 4, 96, letter_logo[i] ); //农历天的高位
   i= * lunar_canlendar & 0x0f;
   Lcd_Character_16X8( 1, 4, 104, letter_logo[i] ); //农历天的低位
   Lcd_Character_16X8( 1, 4, 88, letter_logo[11] ); //-

   lunar_canlendar ++;
   i= * lunar_canlendar >>  4;
   Lcd_Character_16X8( 1, 4, 72, letter_logo[i] ); //农历月的高位
   i= * lunar_canlendar & 0x0f;
   Lcd_Character_16X8( 1, 4, 80, letter_logo[i] ); //农历月的低位
   Lcd_Character_16X8( 1, 4, 64, letter_logo[11] ); //-

   lunar_canlendar ++;
   i= * lunar_canlendar >>  4;
   Lcd_Character_16X8( 1, 4, 48, letter_logo[i] ); //农历年的高位
   i= * lunar_canlendar & 0x0f;
   Lcd_Character_16X8( 1, 4, 56, letter_logo[i] ); //农历年的地位   
}
/***************************************************************************
*名称    :Lcd_Set_Clock( uchar bit_flag, uchar *point )
*功能    :显示调整的时间
*入口参数:指针
*出口参数:无
*说明    :
****************************************************************************/
void Lcd_Set_Clock( uchar temp, uchar *point )
{
   bit year_flag = 1;//修黑显示
   bit month_flag = 1;
   bit day_flag = 1;
   bit hour_flag =1;
   bit minute_flag = 1;
   bit second_flag = 1;
   uchar i;
   if( temp == 1 ) //滚动到 second
     second_flag = 0;
   if( temp == 2 ) //滚动到 minute
      minute_flag = 0;
   if( temp == 3 ) //滚动到 hour
      hour_flag = 0;
   if( temp == 4 ) //滚动到 day
      day_flag = 0;
   if( temp == 5 ) //滚动到 month
      month_flag = 0;
   if( temp == 6 ) //滚动到 year
      year_flag = 0;
   //日期
   Lcd_Character_16X16( 1, 2, 0 , data_time_logo[0] );
   Lcd_Character_16X16( 1, 2, 16, data_time_logo[1] );
   point += 5;    //指向年
   //year
   i = *point >> 4;  
   Lcd_Character_16X8( year_flag, 2, 40, letter_logo[i] );
   i = *point & 0x0f;
   Lcd_Character_16X8( year_flag, 2, 48, letter_logo[i] );
   //-
   Lcd_Character_16X8( 1, 2, 56, letter_logo[11] );
   point --;   //指向月
   //month
   i = *point >>4;
   Lcd_Character_16X8( month_flag, 2, 64, letter_logo[i] );
   i = *point & 0x0f;
   Lcd_Character_16X8( month_flag, 2, 72, letter_logo[i] );      
   //-
   Lcd_Character_16X8( 1, 2, 80, letter_logo[11] );
   point --;   //指向日
   //day   
   i = *point >>4;
   Lcd_Character_16X8( day_flag, 2, 88, letter_logo[i] );
   i = *point & 0x0f;
   Lcd_Character_16X8( day_flag, 2, 96, letter_logo[i] );
   //时间
   Lcd_Character_16X16( 1, 4, 0, data_time_logo[2] );
   Lcd_Character_16X16( 1, 4, 16, data_time_logo[3] );
   point -- ; //指向时
   //hour
   i = *point >>4;
   Lcd_Character_16X8( hour_flag, 4, 40, letter_logo[i] );
   i = *point & 0x0f;
   Lcd_Character_16X8( hour_flag, 4, 48, letter_logo[i] );   
   //:
   Lcd_Character_16X8( 1, 4, 56, letter_logo[10] );
   point -- ;  //指向分
   //minnute
   i = *point >>4;
   Lcd_Character_16X8( minute_flag, 4, 64, letter_logo[i] );
   i = *point & 0xff;
   Lcd_Character_16X8( minute_flag, 4, 72, letter_logo[i] );
   //:
   Lcd_Character_16X8( 1, 4, 80, letter_logo[10] );
   point --;   //指向秒
   //second
   i = *point >> 4;
   Lcd_Character_16X8( second_flag, 4, 88, letter_logo[i] );
   i = * point & 0x0f;
   Lcd_Character_16X8( second_flag, 4, 96, letter_logo[i] );
}
/**************************************************************************************
* 名称: Lcd_Function( uchar temp )
* 功能: 滚动显示 时间设置 闹钟设置
* 入口参数: 滚动位置
* 出口参数: 无
**************************************************************************************/
void Lcd_Function( uchar temp )
{
   bit time_flag = 1;
   bit alarm_flag = 1;
   if( temp == 2 ) //滚动到 时间设置
      time_flag = 0;
   if( temp == 1 ) //滚动到 闹钟设置
      alarm_flag = 0;
   //时间设置
   Lcd_Character_16X16( time_flag, 2, 32, function_logo[0] );
   Lcd_Character_16X16( time_flag, 2, 48, function_logo[1] );
   Lcd_Character_16X16( time_flag, 2, 64, function_logo[2] );
   Lcd_Character_16X16( time_flag, 2, 80, function_logo[3] );
   //闹钟设置
   Lcd_Character_16X16( alarm_flag, 4, 32, function_logo[4] );
   Lcd_Character_16X16( alarm_flag, 4, 48, function_logo[5] );
   Lcd_Character_16X16( alarm_flag, 4, 64, function_logo[6] );
   Lcd_Character_16X16( alarm_flag, 4, 80, function_logo[7] );
}
/************************************************************************************
* 名称: Lcd_Alarm( uchar * alarm_time )
* 功能: 闹钟调整画面显示
* 入口参数: 闹钟地址
* 出口参数: 无
************************************************************************************/
void Lcd_Alarm( uchar temp, uchar * alarm_time )
{
   uchar i;
   bit hour_flag = 1;
   bit minute_flag = 1;
   if( temp == 1 )
      minute_flag = 0;
   if( temp == 2 )
      hour_flag = 0;
   Lcd_Character_16X16( 1, 0, 0, alarm_logo[0] ); //显示闹钟标志
   //" 小时:分钟" 汉字显示;
   Lcd_Character_16X16( 1, 0, 16, alarm_logo[1] );
   Lcd_Character_16X16( 1, 0, 32, alarm_logo[2] );
   Lcd_Character_16X8( 1, 0, 48, letter_logo[10] );
   Lcd_Character_16X16( 1, 0, 56, alarm_logo[3] );
   Lcd_Character_16X16( 1, 0, 72, alarm_logo[4] );


   i = ( *( alarm_time + 1 ) ) / 10;
   Lcd_Character_16X8( hour_flag, 2, 32, letter_logo[i] ); //显示时的高位 
   i = ( *(alarm_time + 1 )  ) % 10;
   Lcd_Character_16X8( hour_flag, 2, 40, letter_logo[i] ); //显示时的低位
   Lcd_Character_16X8( 1, 2, 48, letter_logo[10] ); //:

   i = ( *  ( alarm_time ) ) / 10;
   Lcd_Character_16X8( minute_flag, 2, 56, letter_logo[i] ); //显示分的高位 
   i = ( * ( alarm_time  ) ) % 10;
   Lcd_Character_16X8( minute_flag, 2, 64, letter_logo[i] ); //显示分的低位
}
/********************************************************************************
*名称:LCD_ERSHI(uchar temp)**************************
*功能:24节气显示函数*************************************
********************************************************************************/
 void LCD_ERSHI( uchar temp )
 {
    switch(temp)
	  {
	    case  1 :{ 
		           Lcd_Character_16X16( 1, 6, 80, ershi_logo[0] );   //小寒
				   Lcd_Character_16X16( 1, 6, 96, ershi_logo[1] );
				   }
				  break;
		case 2:  {
		             Lcd_Character_16X16( 1, 6, 80, ershi_logo[2] ); //大寒 
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[1] );
				  }
			    	break;
		case 3:  { 
		             Lcd_Character_16X16( 1, 6, 80, ershi_logo[3] );   //立春
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[4] );
				  }
				    break;
		case 4:  { Lcd_Character_16X16( 1, 6, 80, ershi_logo[5] );     //雨水
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[6] );
				  }
				    break;
		case 5:   { Lcd_Character_16X16( 1, 6, 80, ershi_logo[7] );  	//惊蛰
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[8] );
				  }
				    break;
		case 6:  {  Lcd_Character_16X16( 1, 6, 80, ershi_logo[4] );  	//春分
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[9] );
				  }
				    break;
		case 7: {   Lcd_Character_16X16( 1, 6, 80, ershi_logo[10] );  	 //清明
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[11] );
				  }
				    break;
		 case 8: {  Lcd_Character_16X16( 1, 6, 80, ershi_logo[12] );  	//谷雨
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[5] );
				  }
				    break;
		 case 9:  {	  Lcd_Character_16X16( 1, 6, 80, ershi_logo[3] );  //立夏
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[13] );
				  }
				    break;
		 case 10: { Lcd_Character_16X16( 1, 6, 80, ershi_logo[0] );    //小满
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[14] );
				  }
				    break;
		 case 11: {	 Lcd_Character_16X16( 1, 6, 80, ershi_logo[15] );  //芒种
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[16] );
				  }
				    break;
		 case 12: {	 Lcd_Character_16X16( 1, 6, 80, ershi_logo[13] );  //夏至
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[17] );
				  }
				    break;
		 case 13: {	  Lcd_Character_16X16( 1, 6, 80, ershi_logo[0] );  //小暑
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[18] );
				  }
				    break;
		 case 14: { Lcd_Character_16X16( 1, 6, 80, ershi_logo[2] );    //大暑
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[18] );
				  }
				    break;
		 case 15: {	 Lcd_Character_16X16( 1, 6, 80, ershi_logo[3] );   //立秋
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[19] );
				  }
				    break;
		case 16:  {	  Lcd_Character_16X16( 1, 6, 80, ershi_logo[20] );  //处暑
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[18] );
				  }
				    break;
		case 17: { Lcd_Character_16X16( 1, 6, 80, ershi_logo[21] );  	//白露

				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[22] );
				  }
				    break;
	   case 18: {  Lcd_Character_16X16( 1, 6, 80, ershi_logo[19] );  	//秋分
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[9] );
				  }
				    break;
	   case 19: {   Lcd_Character_16X16( 1, 6, 80, ershi_logo[1] );    //寒露
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[22] );
				  }
				    break;
	   case 20: {  Lcd_Character_16X16( 1, 6, 80, ershi_logo[23] );    //霜降
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[24] );
				  }
				    break;
	   case 21: {   Lcd_Character_16X16( 1, 6, 80, ershi_logo[3] );  	//立冬
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[25] );
				  }
				    break;
	   case 22: {   Lcd_Character_16X16( 1, 6, 80, ershi_logo[0] );  	//小雪
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[26] );
				  }
				    break;
	   case 23: {   Lcd_Character_16X16( 1, 6, 80, ershi_logo[2] );    //大雪
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[26] );
				  }
				    break;
	   case 24: {   Lcd_Character_16X16( 1, 6, 80, ershi_logo[25] );  	//冬至
				     Lcd_Character_16X16( 1, 6, 96, ershi_logo[17] );
				  }
				    break;
		  break;
		 }
}
#endif

⌨️ 快捷键说明

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