?? keycount.c
字號:
del_flag=0;
}
}
else if(((changetime_flag)&&(!checktime_flag))&&(!del_flag)){//修改時間界面,改動光標指示處時間值
switch(move_num){
case 0x00: datadr=0x00;//修改年代十位,并改寫時鐘芯片
write_dr();
lcddata=0x20;
write_data();
datadr=0x00;
write_dr();
if((YEAR>>4)<9){
lcddata=0x30+(YEAR>>4)+1;
MCB=0x80;
YEAR=YEAR+0x10;
MCB=0x02;
}
else {
lcddata=0x30;
MCB=0x80;
YEAR=YEAR&0x0f;
MCB=0x02;
}
write_data();
break;
case 1: datadr=0x01;//修改年代個位,并改寫時鐘芯片
write_dr();
lcddata=0x20;
write_data();
datadr=0x01;
write_dr();
if((YEAR&0x0f)<9){
lcddata=0x30+(YEAR&0x0f)+1;
MCB=0x80;
YEAR=YEAR+1;
MCB=0x02;
}
else {
lcddata=0x30;
MCB=0x80;//read_initstat();
YEAR=(YEAR>>4)<<4;
MCB=0x02;
}
write_data();
break;
case 3: datadr=0x03;//修改月份十位,并改寫時鐘芯片
write_dr();
lcddata=0x20;
write_data();
datadr=0x03;
write_dr();
if((MONTH>>4)>1){
if((MONTH&0x0f)<=2){
lcddata=0x31;
MCB=0x80;
MONTH=(MONTH&0x1f);
MCB=0x02;
write_data();
datadr=0x03;
write_dr();
}
if((MONTH&0x0f)>2){
lcddata=0x30;
MCB=0x80;
MONTH=(MONTH&0x0f);
MCB=0x02;
write_data();
datadr=0x03;
write_dr();
}
}
if((MONTH>>4)==1){
lcddata=0x30;
MCB=0x80;//read_initstat();
MONTH=(MONTH&0x0f);
MCB=0x02;
}
else if((MONTH>>4)==0){
lcddata=0x31;
MCB=0x80;//read_initstat();
MONTH=MONTH+0x10;
MCB=0x02;
}
write_data();
break;
case 4: datadr=0x04;//修改月份個位,并改寫時鐘芯片
write_dr();
lcddata=0x20;
write_data();
datadr=0x04;
write_dr();
if((MONTH>>4)>1){
lcddata=0x31;
MCB=0x80;
MONTH=0x01;
MCB=0x02;
write_data();
datadr=0x04;
write_dr();
}
if((MONTH>>4)==0){
if((MONTH&0x0f)<0x09){
lcddata=0x30+(MONTH&0x0f)+1;
MCB=0x80;
MONTH=MONTH+0x01;
MCB=0x02;
}
else if((MONTH&0x0f)>=0x09){
lcddata=0x31;
MCB=0x80;
MONTH=0x01;
MCB=0x02;
}
}
else if((MONTH>>4)==1){
if((MONTH&0x0f)<2){
lcddata=0x30+(MONTH&0x0f)+1;
MCB=0x80;//read_initstat();
MONTH=MONTH+0x01;
MCB=0x02;
}
else if((MONTH&0x0f)>=2){
lcddata=0x30;
MCB=0x80;//read_initstat();
MONTH=0x10;
MCB=0x02;
}
}
write_data();
break;
case 6: datadr=0x06;//修改日期十位,并改寫時鐘芯片
write_dr();
lcddata=0x20;
write_data();
datadr=0x06;
write_dr();
if((DAY==0x00)||(DAY>0x31)){
lcddata=0x31;
MCB=0x80;
DAY=0x10;
MCB=0x02;
write_data();
datadr=0x06;
write_dr();
}
if(MONTH!=2){
if(DAY&0x0f>=2){
if((DAY>>4)>=2){
lcddata=0x30;
MCB=0x80;
DAY=DAY&0x0f;
MCB=0x02;
}
else if(DAY>>4<2){
lcddata=0x30+(DAY>>4)+1;
MCB=0x80;
DAY=DAY+0x10;
MCB=0x02;
}
}
else if((DAY>>4)<3){
lcddata=0x30+((DAY>>4)+1);
MCB=0x80;
DAY=DAY+0x10;
MCB=0x02;
}
else if(((DAY>>4)>=3)&&((DAY&0x0f)==0)){
lcddata=0x31;
MCB=0x80;
DAY=0x10;
MCB=0x02;
}
else if(((DAY>>4)>=3)&&((DAY&0x0f)==1)){
lcddata=0x30;
MCB=0x80;
DAY=0x01;
MCB=0x02;
}
}
else if(MONTH==0x02){
if((DAY>>4)<2){
lcddata=0x30+((DAY>>4)+1);
MCB=0x80;
DAY=DAY+0x10;
MCB=0x02;
}
else if(((DAY>>4)>=2)&&((DAY&0x0f)==0)){
lcddata=0x31;
MCB=0x80;
DAY=0x10;
MCB=0x02;
}
else if(((DAY>>4)>=2)&&((DAY&0x0f)==1)){
lcddata=0x30;
MCB=0x80;
DAY=0x01;
MCB=0x02;
}
}
write_data();
break;
case 7: datadr=0x07;//日期個位的修改
write_dr();
lcddata=0x20;
write_data();
datadr=0x07;
write_dr();
if(DAY==0x00){
lcddata=0x31;
MCB=0x80;//read_initstat();
DAY=0x01;
MCB=0x02;
datadr=0x07;
write_dr();
}
if(DAY>0x31){
lcddata=0x31;
write_data();
datadr=0x06;
write_dr();
lcddata=0x30;
write_data();
MCB=0x80;
DAY=0x01;
MCB=0x02;
datadr=0x07;
write_dr();
}
if(MONTH!=0x02){
if((DAY>>4)<3){
if((DAY&0x0f)<9){
lcddata=0x30+(DAY&0x0f)+1;
MCB=0x80;
DAY=DAY+0x01;
MCB=0x02;
}
else if((DAY&0x0f)>=9){
if((DAY>>4)!=0){
lcddata=0x30;
MCB=0x80;
DAY=DAY&0xf0;
MCB=0x02;
}
else if((DAY>>4)==0){
lcddata=0x31;
MCB=0x80;
DAY=DAY&0xf1;
MCB=0x02;
}
}
}
else if((DAY>>4)==3){
if((MONTH==0x01)||(MONTH==0x03)||(MONTH==0x05)||(MONTH==0x07)||(MONTH==0x08)||(MONTH==0x10)||(MONTH==0x12)){
if((DAY&0x0f)==0){
lcddata=0x31;
MCB=0x80;
DAY=0x31;
MCB=0x02;
}
else if((DAY&0x0f)==1){
lcddata=0x30;
MCB=0x80;
DAY=0x30;
MCB=0x02;
}
}
if((MONTH==0x04)||(MONTH==0x06)||(MONTH==0x09)||(MONTH==0x11)){
lcddata=0x30;
MCB=0x80;
DAY=0x30;
MCB=0x02;
}
}
}
else if(MONTH==0x02){
if((DAY>>4)<2){
if((DAY&0x0f)<9){
lcddata=0x30+(DAY&0x0f)+1;
MCB=0x80;
DAY=DAY+0x01;
MCB=0x02;
}
else if((DAY&0x0f)>=9){
if((DAY>>4)!=0){
lcddata=0x30;
MCB=0x80;
DAY=DAY&0xf0;
MCB=0x02;
}
else if((DAY>>4)==0){
lcddata=0x31;
MCB=0x80;
DAY=DAY&0xf1;
MCB=0x02;
}
}
}
else if((DAY>>4)==2){
if((YEAR%4)!=0){
if((DAY&0x0f)<8){
lcddata=0x30+(DAY&0x0f)+1;
MCB=0x80;
DAY=DAY+1;
MCB=0x02;
}
else if((DAY&0x0f)==8){
lcddata=0x30;
MCB=0x80;
DAY=0x20;
MCB=0x02;
}
}
else{
if((DAY&0x0f)<9){
lcddata=0x30+(DAY&0x0f)+1;
MCB=0x80;
DAY=DAY+1;
MCB=0x02;
}
else if((DAY&0x0f)==9){
lcddata=0x30;
MCB=0x80;
DAY=0x20;
MCB=0x02;
}
}
}
}
write_data();
break;
case 9: datadr=0x09;//修改小時10位,并改寫時鐘芯片
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -