📄 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)
{
if(((System.DispMode.Current==DISPMODE_STANDBY && F_HalfSecondOut)
||System.DispMode.Next==DISPMODE_STANDBY)
&&System.AccMode==ACCMODE_ACCON
&&!F_DispAnimation)
{
/*DispNum[0]=' ';
DispNum[1]=' ';
DispNum[2]=Clock.hour/10;
DispNum[3]=Clock.hour%10;
if(F_HalfSecond)
DispNum[4]='-';
else
DispNum[4]=' ';
DispNum[5]=Clock.min/10;
DispNum[6]=Clock.min%10;
DispNum[7]=' ';
DisplayRefresh();*/
DispNum[0]=Clock.hour/10;
DispNum[1]=Clock.hour%10;
DispNum[2]='\'';
DispNum[3]=Clock.min/10;
DispNum[4]=Clock.min%10;
DispNum[5]='\'';
DispNum[6]=Clock.sec/10;
DispNum[7]=Clock.sec%10;
DisplayRefresh();
}
}
/*********************************************
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 + -