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

📄 lcd年月日星期时间.c

📁 430开发板点阵操作源程序
💻 C
📖 第 1 页 / 共 2 页
字号:
	
}
void display_hz( BYTE *chr, BYTE nRow, BYTE nCol )
{
	BYTE i,tmpCol;
	
	write_command(0xB8|nRow);
	tmpCol=nCol;
	for(i=0;i<19;i++)
	{
		if(tmpCol<=63)
		{
			write_command(0x40|tmpCol);
			write_char(chr[i],1,0);
		}
		else
		{
			write_command(0x40|(tmpCol-64));
			write_char(chr[i],0,1);
		}
		tmpCol++;
	}
	
	write_command(0xB8|nRow+1);
	tmpCol=nCol;
	for(i=0;i<19;i++)
	{
		if(tmpCol<=63)
		{
			write_command(0x40|tmpCol);
			write_char(chr[i+19],1,0);
		}
		else
		{
			write_command(0x40|(tmpCol-64));
			write_char(chr[i+19],0,1);
		}
		tmpCol++;
	}
}
void display_16_16_icon( BYTE *chr, BYTE nRow, BYTE nCol )
{
	BYTE i,tmpCol;
	
	write_command(0xB8|nRow);
	tmpCol=nCol;
	for(i=0;i<16;i++)
	{
		if(tmpCol<=63)
		{
			write_command(0x40|tmpCol);
			write_char(chr[i],1,0);
		}
		else
		{
			write_command(0x40|(tmpCol-64));
			write_char(chr[i],0,1);
		}
		tmpCol++;
	}
	
	write_command(0xB8|nRow+1);
	tmpCol=nCol;
	for(i=0;i<16;i++)
	{
		if(tmpCol<=63)
		{
			write_command(0x40|tmpCol);
			write_char(chr[i+16],1,0);
		}
		else
		{
			write_command(0x40|(tmpCol-64));
			write_char(chr[i+16],0,1);
		}
		tmpCol++;
	}
}
void display_char( BYTE *chr, BYTE nRow, BYTE nCol )
{
	BYTE i,tmpCol;
	
	write_command(0xB8|nRow);
	tmpCol=nCol;
	for(i=0;i<5;i++)
	{
		if(tmpCol<=63)
		{
			write_command(0x40|tmpCol);
			write_char(chr[i],1,0);
		}
		else
		{
			write_command(0x40|(tmpCol-64));
			write_char(chr[i],0,1);
		}
		tmpCol++;
	}
}
//********************************************************************************i-2
//   basictimer中断
//********************************************************************************
#pragma vector=BASICTIMER_VECTOR
__interrupt void INT_timer_basic(void)
//interrupt[BASICTIMER_VECTOR] void basic_timer(void)
{
  //////////////////////////////
  tmp_basictime_ok =1;
  /////////////退出低功耗/////
  LPM3_EXIT;
  _NOP();
  _NOP();
}
//********************************************************************************
//***************************************************************************************************
//***************************************************************************************************
//***************************************************************************************************
void main(void)
{
    BYTE hAddr;
    BYTE data;
    WDTCTL = WDTPW + WDTHOLD;				// Stop watchdog timer
	
    FLL_CTL0 |= XCAP14PF;
    	
    port_ini();
    num=0;
    BTCTL = 0xA6;          //1s=0xa6
    IFG2 &= ~BTIFG;
    IE2 |= BTIE;

    Cur_time.year = 0x06;
    Cur_time.month = 0x03;
    Cur_time.day = 0x14;
    Cur_time.week =0x01;
    Cur_time.hour = 00;
    Cur_time.minute = 0x00;
    Cur_time.second = 0x00;

    write_command(0xC0);
    write_command(0x3F);
    clear_lcd();
	
	//display_16_16_icon((BYTE *)&LSD_ICON[0],1,5);           // 显示 LSD图标
    display_hz((BYTE *)&Nianyueri[0][0],0,35);               //显示 年
    display_hz((BYTE *)&Nianyueri[1][0],0,69);              //显示 月
    display_hz((BYTE *)&Nianyueri[2][0],0,98);              //显示 日
    display_hz((BYTE *)&Nianyueri[3][0],3,5);               //显示 星
    display_hz((BYTE *)&Nianyueri[4][0],3,25);              //显示 期
    display_hz((BYTE *)&Nianyueri[5][0],6,5);               //显示 时
    display_hz((BYTE *)&Nianyueri[6][0],6,25);              //显示 间
	
    display_char((BYTE *)&CHAR_2[0],1,9);                  // 显示 2      2006年03月20日
    display_char((BYTE *)&CHAR_0[0],1,15);                  // 显示 0
    display_char((BYTE *)&Symbols[0][0],6,64);                // 显示 :
    display_char((BYTE *)&Symbols[0][0],6,85);              // 显示 :
    _EINT();								// Enable interrupts

    while(1)
    {		
        _BIS_SR(LPM3);
        _NOP();
	_NOP();
		
	if(tmp_basictime_ok)
        {
            tmp_basictime_ok = 0;
          ////////////////////////////日历计算/////////////////////////////////////////1
            if (Cur_time.second<59) Cur_time.second++;
            else
            {
                Cur_time.second=0;
                if (Cur_time.minute<59) Cur_time.minute++;
                else
                {
                    Cur_time.minute=0;
                    if (Cur_time.hour<23) Cur_time.hour++;
                    else
                    {
                        Cur_time.hour=0;
                        Cur_time.week++;
                        if (Cur_time.week>7) Cur_time.week =1;
                        if (Cur_time.week==7) Cur_time.week =8;
                        Cur_time.day++;
                        switch(Cur_time.month)
                        {
                            case 1:
                            case 3:
                            case 5:
                            case 7:
                            case 8:
                            case 10:
                            case 12: if(Cur_time.day > 31)
                              {
                                  Cur_time.day = 1;
                                  Cur_time.month++;
                              }break;
                            case 4:
                            case 6:
                            case 9:
                            case 11: if(Cur_time.day > 30)
                              {
                                  Cur_time.day = 1;
                                  Cur_time.month++;
                              }break;
                            case 2:
                              if(Cur_time.day > 28)
                              {
                                  if((Cur_time.year%4==0 && Cur_time.year%100) || Cur_time.year%400 == 0)
                                  {
                                      if(Cur_time.day > 29)
                                      {
                                          Cur_time.day = 1;
                                          Cur_time.month++;
                                      }
                                  }
                                  else
                                  {
                                      if(Cur_time.day > 28)
                                      {
                                          Cur_time.day = 1;
                                          Cur_time.month++;
                                      }
                                  }
                              }break;
                        }
                        if(Cur_time.month > 12)
                        {
                            Cur_time.month = 1;
                            Cur_time.year++;
                        }

                    }         //HOUR
                }
            }
        }       	
        data = Cur_time.second%10;
        display_char((BYTE *)&CHAR_X[data][0],6,99);      //s_l
        data = (Cur_time.second/10)%10;
        display_char((BYTE *)&CHAR_X[data][0],6,92);      //s_h
        data = Cur_time.minute%10;
        display_char((BYTE *)&CHAR_X[data][0],6,78);      //m_l
        data = (Cur_time.minute/10)%10;
        display_char((BYTE *)&CHAR_X[data][0],6,71);      //m_h
        data = Cur_time.hour%10;
        display_char((BYTE *)&CHAR_X[data][0],6,57);      //h_l
        data = (Cur_time.hour/10)%10;
        display_char((BYTE *)&CHAR_X[data][0],6,50);      //h_h
        data = Cur_time.week%10;
        display_char((BYTE *)&CHAR_X[data][0],3,50);      //w
        data = Cur_time.day%10;
        display_char((BYTE *)&CHAR_X[data][0],1,99);      //d_l
        data = (Cur_time.day/10)%10;
        display_char((BYTE *)&CHAR_X[data][0],1,92);      //d_h
        data = Cur_time.month%10;
        display_char((BYTE *)&CHAR_X[data][0],1,64);      //m_l
        data = (Cur_time.month/10)%10;
        display_char((BYTE *)&CHAR_X[data][0],1,57);      //m_h
        data = Cur_time.year%10;
        display_char((BYTE *)&CHAR_X[data][0],1,27);      //y_l
        data = (Cur_time.year/10)%10;
        display_char((BYTE *)&CHAR_X[data][0],1,21);      //y_h
    }
}

⌨️ 快捷键说明

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