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

📄 clock_11.c

📁 (1)上电后LCD背光打开
💻 C
📖 第 1 页 / 共 3 页
字号:
        lcd_write_data(AlarmTime2.minuteh + '0');
        lcd_write_data(AlarmTime2.minutel + '0');
        lcd_write_data(':');
        lcd_write_data(AlarmTime2.secondh + '0');
        lcd_write_data(AlarmTime2.secondl + '0');
        lcd_write_data(' ');
        lcd_write_data('O');
        if (Alarm2Enable)
        {
            lcd_write_data('n');
        }
        else
        {
            lcd_write_data('f');
            lcd_write_data('f');
        }
        pStr = StrAlarm2;
        Alarm2Cnt = 0;
    }
    lcd_write_inst(0xc0);    //    set LCD line2
    if (CurrentMode != mode_time)
    {
        for (;*pStr!=0;pStr++)
        {                        //    write hint message
            lcd_write_data(*pStr);
        }
        lcd_write_inst(0x0f);    //    LCD cursor on
        lcd_write_inst(time_start_addr);    //    move cursor to start
    }
    else    //    time mode,write date to second line
    {
        lcd_write_inst(0x0c);        //    LCD sursor off
/*        lcd_write_inst(0xc0 + 3);    //    set date start address
        lcd_write_data(CurrentDate.year1 + '0');
        lcd_write_data(CurrentDate.year2 + '0');
        lcd_write_data(CurrentDate.year3 + '0');
        lcd_write_data(CurrentDate.year4 + '0');
        lcd_write_data('/');
        lcd_write_data(CurrentDate.monthh + '0');
        lcd_write_data(CurrentDate.monthl + '0');
        lcd_write_data('/');
        lcd_write_data(CurrentDate.dayh + '0');
        lcd_write_data(CurrentDate.dayl + '0');
*/  }
    if (CurrentMode == mode_set_time)
    {
        lcd_write_inst(time_start_addr);    //    move cursor to start
    }
    else if (CurrentMode == mode_set_date)
    {
        lcd_write_inst(time_start_addr);    //    move cursor to start
    }
    else if (CurrentMode == mode_set_alarm1)
    {
        lcd_write_inst(time_secondl_addr+3);
        adjust_item = 6;
    }
    else if (CurrentMode == mode_set_alarm2)
    {
        lcd_write_inst(time_secondl_addr+3);
        adjust_item = 6;
    }
    else
    {
        lcd_write_inst(0x0c);    //    LCD cursor off
    }
}


//    -------------------------------------------------------
void set_date(void)
{
    if (adjust_item == 0)    //    adjust year
    {
        if ((KeyNew >=0) & (KeyNew <= 9))
        {
            CurrentDate.year1 = KeyNew;
            lcd_write_data(CurrentDate.year1 + '0');
            //lcd_write_inst(time_start_addr);
            adjust_item ++;
        }
        else if (KeyNew == key_left)
        {
            adjust_item = 7;
            lcd_write_inst(time_start_addr + 9);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_start_addr + 1);
        }
    }
    else if(adjust_item == 1)
    {
        if ((KeyNew >=0) & (KeyNew <= 9))
        {
            CurrentDate.year2 = KeyNew;
            lcd_write_data(CurrentDate.year2 + '0');
            //lcd_write_inst(time_start_addr + 1);
            adjust_item ++;
        }
        else if (KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_start_addr + 0);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_start_addr + 2);
        }
    }
    else if(adjust_item == 2)
    {
        if ((KeyNew >=0) & (KeyNew <= 9))
        {
            CurrentDate.year3 = KeyNew;
            lcd_write_data(CurrentDate.year3 + '0');
            //lcd_write_inst(time_start_addr + 2);
            adjust_item ++;
        }
        else if (KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_start_addr + 1);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_start_addr + 3);
        }
    }
    else if(adjust_item == 3)
    {
        if ((KeyNew >=0) & (KeyNew <= 9))
        {
            CurrentDate.year4 = KeyNew;
            lcd_write_data(CurrentDate.year4 + '0');
            //lcd_write_inst(time_start_addr + 3);
            adjust_item ++;
            lcd_write_inst(time_start_addr + 5);
        }
        else if (KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_start_addr + 2);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_start_addr + 5);
        }
    }
    else if(adjust_item == 4)
    {
        if (((CurrentDate.monthl>2) & (KeyNew == 0)) | ((CurrentDate.monthl == 0) & (KeyNew == 1))
            | (((CurrentDate.monthl == 1) | (CurrentDate.monthl == 2)) & (KeyNew <2)))
        {
            CurrentDate.monthh = KeyNew;
            lcd_write_data(CurrentDate.monthh + '0');
            //lcd_write_inst(time_start_addr + 5);
            adjust_item ++;
        }
        else if (KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_start_addr + 3);
        }
        else if (KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_start_addr + 6);
        }
    }
    else if(adjust_item == 5)
    {
        if (((CurrentDate.monthh == 3) & (KeyNew <2)) | ((CurrentDate.monthh != 3) & (KeyNew >=0) & (KeyNew <=9)))
        {
            CurrentDate.monthl = KeyNew;
            lcd_write_data(CurrentDate.monthl + '0');
            //lcd_write_inst(time_start_addr + 6);
            adjust_item ++;
            lcd_write_inst(time_start_addr + 8);
        }
        else if (KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_start_addr + 5);
        }
        else if (KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_start_addr + 8);
        }
    }
    else if(adjust_item == 6)
    {
        if (((CurrentDate.dayl>1) & ((KeyNew == 1) | (KeyNew == 2))) | ((CurrentDate.dayl == 0) & (KeyNew >0) & (KeyNew<4))
            | ((CurrentDate.dayl == 1) & (KeyNew <4)))
        {
            CurrentDate.dayh = KeyNew;
            lcd_write_data(CurrentDate.dayh + '0');
            //lcd_write_inst(time_start_addr + 8);
            adjust_item ++;
        }
        else if (KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_start_addr + 6);
        }
        else if (KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_start_addr + 9);
        }
    }
    else if(adjust_item == 7)
    {
        if (((CurrentDate.dayh == 3) & (KeyNew <2)) | ((CurrentDate.dayh != 3) & (KeyNew >=0) & (KeyNew <=9)))
        {
            CurrentDate.dayl = KeyNew;
            lcd_write_data(CurrentDate.dayl + '0');
            //lcd_write_inst(time_start_addr + 9);
            adjust_item ++;
            lcd_write_inst(time_start_addr + 0);
        }
        else if (KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_start_addr + 8);
        }
        else if (KeyNew == key_right)
        {
            adjust_item = 0;
            lcd_write_inst(time_start_addr + 0);
        }
    }
}

//    -------------------------------------------------------
void set_time(void)
{
    if (adjust_item == 0)    //    set hourh
    {
        if (((CurrentTime.hourl <4) & (KeyNew < 3)) | ((CurrentTime.hourl >3) & (KeyNew <2)))
        {
            CurrentTime.hourh = KeyNew;
            lcd_write_data(CurrentTime.hourh + '0');    //    refresh hourh
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
        }
        else if(KeyNew == key_left)
        {
            adjust_item = 5;
            lcd_write_inst(time_secondl_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_hourl_addr);
        }
    }
    else if (adjust_item == 1) //    set hourl
    {
        if (((CurrentTime.hourh == 2) & (KeyNew < 4)) | ((CurrentTime.hourh < 2) & (KeyNew <=9)))
        {
            CurrentTime.hourl = KeyNew;
            lcd_write_data(CurrentTime.hourl + '0');    //    refresh hourl
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
            lcd_write_inst(time_minuteh_addr);
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_hourh_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_minuteh_addr);
        }
    }
    else if (adjust_item == 2)    //    set minuteh
    {
        if (KeyNew <6)
        {
            CurrentTime.minuteh = KeyNew;
            lcd_write_data(CurrentTime.minuteh + '0');
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_hourl_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_minutel_addr);
        }
    }
    else if (adjust_item == 3)    //    set minutel
    {
        if ((KeyNew >=0) & (KeyNew <=9))
        {
            CurrentTime.minutel = KeyNew;
            lcd_write_data(CurrentTime.minutel + '0');
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
            lcd_write_inst(time_secondh_addr);
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_minuteh_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_secondh_addr);
        }
    }
    else if (adjust_item == 4)    //    set secondh
    {
        if (KeyNew <6)
        {
            CurrentTime.secondh = KeyNew;
            lcd_write_data(CurrentTime.secondh + '0');
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
  &nb, sp;         lcd_write_inst(time_minutel_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_secondl_addr);
        }
    }
    else if (adjust_item == 5)    //    set secondl
    {
        if ((KeyNew >=0) & (KeyNew <=9))
        {
            CurrentTime.secondl = KeyNew;
            lcd_write_data(CurrentTime.secondl + '0');
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item = 0;
            lcd_write_inst(time_hourh_addr);
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_secondh_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item = 0;
            lcd_write_inst(time_hourh_addr);
        }
    }
}

//    -------------------------------------------------------
void set_alarm1(void)
{
    if (adjust_item == 0)    //    set hourh
    {
        if (((AlarmTime1.hourl <4) & (KeyNew < 3)) | ((AlarmTime1.hourl >3) & (KeyNew <2)))
        {
            AlarmTime1.hourh = KeyNew;
            lcd_write_data(AlarmTime1.hourh + '0');    //    refresh hourh
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
        }
        else if(KeyNew == key_left)
        {
            adjust_item = 6;
            lcd_write_inst(time_secondl_addr + 3);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_hourl_addr);
        }
    }
    else if (adjust_item == 1) //    set hourl
    {
        if (((AlarmTime1.hourh == 2) & (KeyNew < 4)) | ((AlarmTime1.hourh < 2) & (KeyNew <=9)))
        {
            AlarmTime1.hourl = KeyNew;
            lcd_write_data(AlarmTime1.hourl + '0');    //    refresh hourl
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
            lcd_write_inst(time_minuteh_addr);
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_hourh_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_minuteh_addr);
        }
    }
    else if (adjust_item == 2)    //    set minuteh
    {
        if (KeyNew <6)
        {
            AlarmTime1.minuteh = KeyNew;
            lcd_write_data(AlarmTime1.minuteh + '0');
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_hourl_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_minutel_addr);
        }
    }
    else if (adjust_item == 3)    //    set minutel
    {
        if ((KeyNew >=0) & (KeyNew <=9))
        {
            AlarmTime1.minutel = KeyNew;
            lcd_write_data(AlarmTime1.minutel + '0');
            //lcd_write_inst(0x10);    //    move cursor back
            adjust_item ++;
            lcd_write_inst(time_secondh_addr);
        }
        else if(KeyNew == key_left)
        {
            adjust_item --;
            lcd_write_inst(time_minuteh_addr);
        }
        else if(KeyNew == key_right)
        {
            adjust_item ++;
            lcd_write_inst(time_secondh_addr);
        }
    }
    else if (adjust_item == 4)    //    set secondh

⌨️ 快捷键说明

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