#asm
nop
nop
nop
#endasm
key_in = PORTA & 0x0f;
if (key_in != 0)
{
return (key_in | KeyLine);
}
}
return 0;
}
else
return 0;
}
// -------------------------------------------------------
void set_mode(void)
{
if (CurrentMode == mode_set_alarm2)
CurrentMode = mode_time;
else
{
CurrentMode++;
adjust_item = 0;
}
lcd_write_inst(0x01); // clear LCD display
lcd_write_inst(time_start_addr); // set LCD line1
if (CurrentMode == mode_set_time)
{
lcd_write_data(CurrentTime.hourh + '0');
lcd_write_data(CurrentTime.hourl + '0');
lcd_write_data(':');
lcd_write_data(CurrentTime.minuteh + '0');
lcd_write_data(CurrentTime.minutel + '0');
lcd_write_data(':');
lcd_write_data(CurrentTime.secondh + '0');
lcd_write_data(CurrentTime.secondl + '0');
pStr = StrSetTime;
}
else if(CurrentMode == mode_set_date)
{
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');
pStr = StrSetDate;
}
else if(CurrentMode == mode_set_alarm1)
{
lcd_write_data(AlarmTime1.hourh + '0');
lcd_write_data(AlarmTime1.hourl + '0');
lcd_write_data(':');
lcd_write_data(AlarmTime1.minuteh + '0');
lcd_write_data(AlarmTime1.minutel + '0');
lcd_write_data(':');
lcd_write_data(AlarmTime1.secondh + '0');
lcd_write_data(AlarmTime1.secondl + '0');
lcd_write_data(' ');
lcd_write_data('O');
if (Alarm1Enable)
{
lcd_write_data('n');
}
else
{
lcd_write_data('f');
lcd_write_data('f');
}
pStr = StrAlarm1;
Alarm1Cnt =0;
}
else if(CurrentMode == mode_set_alarm2)
{
lcd_write_data(AlarmTime2.hourh + '0');
lcd_write_data(AlarmTime2.hourl + '0');
lcd_write_data(':');
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('/');
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] 下一页
本文关键字:程序 C语言 PIC单片机,单片机-工控设备 - PIC单片机