void Clock_Start() { *P_INT_Ctrl_New |= C_IRQ5_2Hz; __asm(\}
//============================================================= // 语法格式: unsigned int Clock_GetYear(); // 实现功能: 查询当前年 // 参数: 无 // 返回值: 当前年
//============================================================= unsigned int Clock_GetYear() { return Clock.Year; }
//============================================================= // 语法格式: unsigned int Clock_GetMon(void); // 实现功能: 查询当前月 // 参数: 无 // 返回值: 当前月
//============================================================= unsigned int Clock_GetMon() { return Clock.Mon; }
//============================================================= // 语法格式: unsigned int Clock_GetDay(void); // 实现功能: 查询当前日 // 参数: 无 // 返回值: 当前日
//============================================================= unsigned int Clock_GetDay() { return Clock.Day; }
//============================================================= // 语法格式: unsigned int Clock_GetHour(void); // 实现功能: 查询当前小时 // 参数: 无 // 返回值: 当前时
//============================================================= unsigned int Clock_GetHour() { return Clock.Hour; }
23
//============================================================= // 语法格式: unsigned int Clock_GetMin(void); // 实现功能: 查询当前分 // 参数: 无 // 返回值: 当前分
//============================================================= unsigned int Clock_GetMin() { return Clock.Min; }
//============================================================= // 语法格式: unsigned int Clock_GetSec(void); // 实现功能: 查询当前秒 // 参数: 无 // 返回值: 当前秒
//============================================================= unsigned int Clock_GetSec() { return Clock.Sec; }
//============================================================= // 语法格式: void Clock_SetYear(unsigned int Year); // 实现功能: 设置年 // 参数: Year - 年 // 返回值: 无
//============================================================= void Clock_SetYear(unsigned int Year) { Clock.Year = Year; }
//============================================================= // 语法格式: void Clock_SetMon(unsigned int Mon); // 实现功能: 设置月 // 参数: Mon - 月 // 返回值: 无
//============================================================= void Clock_SetMon(unsigned int Mon) { Clock.Mon = Mon; }
//============================================================= // 语法格式: void Clock_SetDay(unsigned int Day); // 实现功能: 设置日 // 参数: Day - 日 // 返回值: 无
//============================================================= void Clock_SetDay(unsigned int Day)
24
{ Clock.Day = Day; }
//============================================================= // 语法格式: void Clock_SetHour(unsigned int Hour); // 实现功能: 设置小时 // 参数: Hour - 时 // 返回值: 无
//============================================================= void Clock_SetHour(unsigned int Hour) { Clock.Hour = Hour; }
//============================================================= // 语法格式: void Clock_SetMin(unsigned int Min); // 实现功能: 设置分 // 参数: Min - 分 // 返回值: 无
//============================================================= void Clock_SetMin(unsigned int Min) { Clock.Min = Min; }
//============================================================= // 语法格式: void Clock_SetSec(unsigned int Sec); // 实现功能: 设置秒 // 参数: Sec - 秒 // 返回值: 无
//============================================================= void Clock_SetSec(unsigned int Sec) { *P_TimeBase_Clear = 0x01; // 时基计数器清零 Clock.Sec = Sec; Clock.HalfSec = 0; // 半秒计数清零 }
子程序:2
//====================================================== // 文件名称: Clock_Adjust.c // 功能描述: 调整日期和时间的函数集 // 维护记录: 2006-08-30 v1.0
//======================================================
25
#include \#include \#include \#include \#include \
//============================================================= // 语法格式: unsigned int AdjustYear(unsigned int Year); // 实现功能: 调整年 // 参数: // 返回值:
Year - 调整前的年 调整后的年
//============================================================= unsigned int AdjustYear(unsigned int Year) {
unsigned int KeyCode; unsigned int TempYear = Year;
PlayYear(TempYear); while(1) {
*P_Watchdog_Clear = 0x01; KeyCode = Key_Get(); switch(KeyCode) {
case KEY_1:
return TempYear;
// 按Key1键返回调整后的年
// 获取按键
// 播放当前年
case KEY_2:
26
}
}
}
TempYear++; // 按Key2键,年数加1
PlayYear(TempYear); break;
case KEY_3:
TempYear--;
// 按Key3键,年数减1
PlayYear(TempYear); break;
default:
break;
//============================================================= // 语法格式: unsigned int AdjustMon(unsigned int Mon); // 实现功能: 调整月 // 参数: // 返回值:
Mon - 调整前的月 调整后的月
//============================================================= unsigned int AdjustMon(unsigned int Mon) {
unsigned int KeyCode; unsigned int TempMon = Mon;
PlayMon(TempMon); while(1) {
*P_Watchdog_Clear = 0x01;
// 播报调整前的月
27