📄 dac_backup.c
字号:
lcd_putc("*Esc #Save");
while (true)
{
c = kbd_getc();
if( c != 0 )
{
lcd_gotoxy(4,1);
switch(c)
{
case '*'://tro ve man hinh chinh
cap22_xuat_menu_hen_gio();
return 0;
case '#':
kt = luu_gio_hen(m_time, m_weekly, c_input);
if (kt == 1)
{
cap22_xuat_menu_hen_gio();
return 1;
}
break;
case '0':
if ( m_weekly == 0 && m_cho_phep == 1)
{
lcd_putc('+');
m_weekly = 1;
}else
{
lcd_putc(' ');
m_weekly = 0;
}
break;
case '1':
lcd_putc(" Sunday ");
c_input = 1;
m_weekly = 0;
m_cho_phep = 1;
break;
case '2':
lcd_putc(" Monday ");
m_weekly = 0;
c_input = 2;
m_cho_phep = 1;
break;
case '3':
lcd_putc(" Tuesay ");
m_weekly = 0;
c_input = 3;
m_cho_phep = 1;
break;
case '4':
lcd_putc(" Wednesday");
m_weekly = 0;
m_cho_phep = 1;
c_input = 4;
break;
case '5':
lcd_putc(" Thursday ");
m_weekly = 0;
c_input = 5;
m_cho_phep = 1;
break;
case '6':
lcd_putc(" Friday ");
m_weekly = 0;
c_input = 6;
m_cho_phep = 1;
break;
case '7':
lcd_putc(" Saturday ");
m_weekly = 0;
c_input = 7;
m_cho_phep = 1;
break;
case '8':
lcd_putc(" Mon~Fri ");
m_weekly = 0;
c_input = 8;
m_cho_phep = 0;
break;
case '9':
lcd_putc(" Mon~Sat ");
m_weekly = 0;
c_input = 9;
m_cho_phep = 0;
break;
default:
break;
}//end switch
}//end if
}//end funtion
return 1;
}
#org 0x1800
void xuat_gio_hen_mac_dinh(char c_h_hour, char c_l_hour, char c_h_minute, char c_l_minute)
{
// xuat_gio_mac_dinh();
lcd_putc("\f");
lcd_gotoxy(6,1);
lcd_putc(c_h_hour);
lcd_putc(c_l_hour);
lcd_putc(':');
lcd_putc(c_h_minute);
lcd_putc(c_l_minute);
////////////
lcd_gotoxy(1,0);
lcd_putc("*Esc #Save");
}
#org 0x0800
int1 add_time_alarm(){
char c,pre_c;
char c_h_hour, c_l_hour, c_h_minute, c_l_minute;
struct_time_eeprom m_time;
byte m_vitri_nhap;
// byte kt;
xuat_gio_hen_mac_dinh('0','0','0','0');
m_vitri_nhap = 1;
lcd_blink_on(6,1);
while (true)
{
c = kbd_getc();
if( c != 0 )
{
if (c == '*')//tro ve man hinh chinh
{
lcd_blink_off(6,1);
return 0;
}
else if(c == '#')
{
lcd_blink_off(6,1);
//ghi lai gio da nhap
c_h_hour = lcd_getc(6,1);
c_l_hour = lcd_getc(7,1);
c_h_minute = lcd_getc(9,1);
c_l_minute = lcd_getc(10,1);
//luu gio
/////////////////////////////
c = lcd_getc( 6, 1) ;
m_time.h_hour = c - 0x30;
c = lcd_getc( 7, 1) ;
m_time.l_hour = c - 0x30;
c = lcd_getc( 9, 1) ;
m_time.h_minute = c - 0x30;
c = lcd_getc( 10, 1) ;
m_time.l_minute = c - 0x30;
//chuyen sang nhap ngay sau do luu gio va ngay
if (nhap_ngay_hen(m_time) == 1)
{
return 1;
}
else
{
xuat_gio_hen_mac_dinh(c_h_hour, c_l_hour, c_h_minute, c_l_minute);
m_vitri_nhap = 1;
lcd_blink_on(6,1);
}
}
else
{
//bat_phim_nhap_gio(m_vitri_nhap,c);
if(m_vitri_nhap == 1)//truong hop nhap so dau tien cua gio
{
if((0x29<c)&&(c < 0x33))
{
lcd_gotoxy(6,1);
lcd_putc(c);
pre_c = c;
m_vitri_nhap = 2;
}
}else if ( m_vitri_nhap == 2 )//nhap so thu 2 cua gio
{
if(pre_c == '2')//chi nhap tu 0 => 3
{
if((0x29 < c)&&(c < 0x34))//20-23 gio
{
lcd_putc(c);
m_vitri_nhap = 3;
lcd_blink_on(9,1);
}
}
else
{
if((0x29 < c)&&(c < 0x40))
{
lcd_putc(c);
m_vitri_nhap = 3;
lcd_blink_on(9,1);
}
}
}else if(m_vitri_nhap == 3)
{
if((0x29 < c)&&(c < 0x36))
{
lcd_gotoxy(9,1);
lcd_putc(c);
m_vitri_nhap = 4;
}
}else if(m_vitri_nhap == 4)
{
if((0x29 < c)&&(c < 0x40))
{
lcd_putc(c);
m_vitri_nhap = 1;
lcd_blink_on(6,1);
}
}
}
}
}
return 1;
}
#separate
int1 delete_time_alarm(){
char c;
byte m_addr;
m_addr = xuat_gio_da_luu(0x00,3);
if (m_addr != 0xFF)
{
//tiep tuc xu ly quet phim
while (true){
c = kbd_getc();
if( c != 0 )
{
if(c =='4')
{//dich qua trai
// m_addr = m_addr - 3;
m_addr = xuat_gio_da_luu(m_addr-3,-3);
}
else if(c == '6')
{//dich qua phai
// m_addr = m_addr + 3;
m_addr = xuat_gio_da_luu(m_addr + 3,3);
}else if(c=='#')//xac nhan xoa gio
{
delete_time_eeprom(m_addr);
//xuat menu hen gio
cap22_xuat_menu_hen_gio();
return 1;
}else if(c=='*')
{
//xuat menu hen gio
cap22_xuat_menu_hen_gio();
return 0;
}
}
}
}
else
{
cap22_xuat_menu_hen_gio();
return 0;
}
}
///////////////giao tiep eeprom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#org 0x1800
void cap1_xuat_menu_chinh()//menu chinh
{
lcd_putc("\f");
lcd_gotoxy(2,1);
lcd_putc("1.Set time/date");
lcd_gotoxy(2,0);
lcd_putc("2.Set alarm");
}
/////cac ham xuat menu///////////
#org 0x1800
void cap21_xuat_menu_chinh_gio()//menu chinh gio
{
lcd_putc("\f");
lcd_gotoxy(2,1);
lcd_putc("1.Set time");
lcd_gotoxy(2,0);
lcd_putc("2.Set date");
}
/////////////////////
#org 0x1800
void cap22_xuat_menu_hen_gio()//menu hen gio
{
lcd_putc("\f");
lcd_gotoxy(2,1);
lcd_putc("1.Add new");
lcd_gotoxy(2,0);
lcd_putc("2.Delete");
}
/////////////
#org 0x0800
void delete_time_eeprom(byte addr_del)
{
write_eeprom(addr_del,0xff);
lcd_putc("\f Deleted!");
delay_ms(1000);
}
/////////////////////////////
#zero_ram
void main ()
{/////////Initialization//////////////////////////////////////
struct_date_time temp;
char c;
int1 kiemtra,check_init=0;
byte cancel;
int8 m_cap_menu = 0;
//struct_time_eeprom m;
temp.seconds = 0x00;
temp.minutes=0x00;
temp.hours=0x00;
temp.day=0x07;
temp.date=0x01;
temp.month=0x01;
temp.year=0x06;
lcd_init();
kbd_init();
port_b_pullups(true);
// init_time(temp);
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
lcd_putc("\f# + 1 : reset");
//////////////////////////////////////////////////////////////
while (true){
c = kbd_getc();
if( c != 0 )
{
switch (m_cap_menu)
{
case _0:
if (c == '*')//them menu chinh
{
disable_interrupts(GLOBAL); // all interrupts OFF
disable_interrupts(INT_EXT);
cap1_xuat_menu_chinh();
m_cap_menu = _1;
check_init = 0;
}else if(c == '#')
{
check_init = 1;
}else//cac phim con lai
{
if((c== '1')&&(check_init == 1))
{
init_time(temp);
check_init = 0;
}
check_init = 0;
}
break;
case _1:
if (c == '1')//hien menu chinh gio
{
cap21_xuat_menu_chinh_gio();
m_cap_menu = _21;
}else if (c == '2')//hien menu hen gio
{
cap22_xuat_menu_hen_gio();
m_cap_menu = _22;
}else if (c == '*')//tro ve man hinh chinh
{
m_cap_menu = _0;
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
}
break;
case _21://truong hop chinh gio, chinh ngay
if (c == '1')//ham chinh gio
{
kiemtra = edit_time(cancel);
if(kiemtra) lcd_putc("\f Saved!");
else if(cancel) lcd_putc("\f Escape!");
else lcd_putc("\f Invalid time!");
delay_ms(1000);
m_cap_menu= _21;
cap21_xuat_menu_chinh_gio();
}else if (c == '2')//ham hen gio
{
//lcd_putc("\fOk,day set");
//delay_ms(1000);
kiemtra = update_date(cancel);
if(kiemtra) lcd_putc("\f Saved!");
else if(cancel) lcd_putc("\f Escape!");
else lcd_putc("\f Invalid date!");
delay_ms(1000);
m_cap_menu= _21;
cap21_xuat_menu_chinh_gio();
//chinh ngay chua cai dat
}else if(c=='*')
{
cap1_xuat_menu_chinh();
m_cap_menu= _1;
}
break;
case _22://truong hop hen gio
if (c == '1')//Ham hen gio
{
kiemtra = add_time_alarm();
m_cap_menu = _22;
cap22_xuat_menu_hen_gio();
}else if (c == '2'){//Ham xoa gio
kiemtra = delete_time_alarm();
m_cap_menu = _22;
cap22_xuat_menu_hen_gio();
}
else if (c == '*')//tro ve man hinh chinh
{
cap1_xuat_menu_chinh();
m_cap_menu = _1;
}
break;
}
}//end if
}//end while
}//end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -