📄 clock.c
字号:
/*********************************************************
Project: ST FST(TDA7540)
File name: clock.c
Description:
Write/Modify: Perry Liang
Time: 2006-1-24- 15:30:39
*********************************************************/
#include "public.h"
/*********************************************
Function: ClockMain
Description:
Write/Modify: Perry.Liang
Time: 2006-1-24- 15:43:05
*********************************************/
void ClockMain(void)
{
ClockDisplay();
if(F_HalfSecond!=F_HalfSecondBackup)
{
F_HalfSecondOut=1;
F_HalfSecondBackup=F_HalfSecond;
}
else
F_HalfSecondOut=0;
}
/*********************************************
Function: ClockDisplay
Description:
Write/Modify: Perry.Liang
Time: 2005-1-12- 14:10:05
*********************************************/
void ClockDisplay(void)
{
unsigned char str[8]=" ";
if(((System.DispMode.Current==DISPMODE_STANDBY && F_HalfSecondOut)
||System.DispMode.Next==DISPMODE_STANDBY)
&&System.AccMode==ACCMODE_ACCON
)
{
#ifdef SINO_MOS
/*str[0] = '0'+Clock.hour/10;
str[1] = '0'+Clock.hour%10;
str[3] = '0'+Clock.min/10;
str[4] ='0' +Clock.min%10;
str[6] = '0' + Clock.sec/10;
str[7] = '0' + Clock.sec%10;
PrintLine(str);*/
// MovChar();
#else
Display(DISP_CLEAR2);
DispBuff[2][6]='0'+Clock.hour/10;
DispBuff[2][7]='0'+Clock.hour%10;
DispBuff[2][8]=':';
DispBuff[2][9]='0'+Clock.min/10;
DispBuff[2][10]='0'+Clock.min%10;
DispBuff[2][11]=':';
DispBuff[2][12]='0'+Clock.sec/10;
DispBuff[2][13]='0'+Clock.sec%10;
Display(DISP_REFRESH2);
#endif
#ifndef SINO_MOS
PrintLine(1, "");
PrintLine(3, "");
#endif
}
}
/*********************************************
Function: ClockInit
Description:
Write/Modify: Perry.Liang
Time: 2005-1-12- 14:10:12
*********************************************/
void ClockInit(void)
{
Clock.hour=0;
Clock.min=0;
Clock.sec=0;
Clock.frame=0;
Clock.update=1;
Hour24toHour12();
//F_BLINK_P=1;
}
/*********************************************
Function: ClockRun
Description:
Write/Modify: Perry.Liang
Time: 2005-1-12- 14:10:17
*********************************************/
void ClockRun(void)
{
//#ifdef MCU8_664M
if(Clock.frame%5==0)
F_HalfSecond=~F_HalfSecond;
Clock.frame++;
if(Clock.frame<10)return;
/*#else
if(Clock.frame%10==0)
F_HalfSecond=~F_HalfSecond;
Clock.frame++;
if(Clock.frame<20)return;
#endif*/
Clock.frame=0;
Clock.sec++;
if(Clock.sec<60)return;
Clock.sec=0;
Clock.min++;
Clock.update=1;
if(Clock.min<60)return;
Clock.min=0;
Clock.hour++;
if(Clock.hour==24)
Clock.hour=0;
Hour24toHour12();
}
/*********************************************
Function: ClockChange
Description:
Write/Modify: Perry.Liang
Time: 2005-1-12- 14:10:21
*********************************************/
void ClockChange(unsigned char hour,unsigned char min)
{
switch(hour)
{
case HOUR_KEEP:
break;
case HOUR_UP:
Clock.hour=MaxMinChangeProtect(Clock.hour, 1, 23, 0, 0);
break;
case HOUR_DOWN:
Clock.hour=MaxMinChangeProtect(Clock.hour, -1, 23, 0, 0);
break;
default:
Clock.hour=hour;
break;
}
switch(min)
{
case MIN_KEEP:
break;
case MIN_UP:
Clock.min=MaxMinChangeProtect(Clock.min, 1, 59, 0, 0);
break;
case MIN_DOWN:
Clock.min=MaxMinChangeProtect(Clock.min, -1, 59, 0, 0);
break;
default:
Clock.min=min;
break;
}
Clock.sec=0;
Hour24toHour12();
Clock.update=1;
}
/*********************************************
Function: Hour24toHour12
Description:
Write/Modify: Perry.Liang
Time: 2005-1-12- 14:10:23
*********************************************/
void Hour24toHour12(void)
{
if(Clock.hour>11)
Clock.pm=1;
else
Clock.pm=0;
Clock.hour12=Clock.hour%12;
if(Clock.hour12==0)
Clock.hour12=12;
}
/*********************************************************
File End
*********************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -