📄 rtc.c
字号:
/*************************************************/
/****************实时时钟********************/
/*************2003年4月16日*********************/
/************WROTE BY WANGSW********************/
#include "reg52x2.h"
#include "define.h"
#include "rtc.h"
static RTCType eRTCType;
byte data g_RTCPool[4];
RTCMember g_RTCMember;
/******************************************************************************************
*函数名: rtc_init
*参数: hour
minute
second
*返回值: 无
*描述: 实时软件时钟计数器初始化
*编写: 王绍伟
*版本信息: V1.0 2003年8月15日
******************************************************************************************/
extern void rtc_soft_init(byte hour, byte minute, byte second)
{
g_RTCMember.hour = hour;
g_RTCMember.minute = minute;
g_RTCMember.second = second;
g_RTCPool[0] = g_DAA[g_RTCMember.second];
g_RTCPool[1] = g_DAA[g_RTCMember.minute];
g_RTCPool[2] = g_DAA[g_RTCMember.hour];
}
/******************************************************************************************
*函数名: rtc_process
*参数: 无
*返回值: 无
*描述: 定义时钟从秒->分钟->小时的进位规则,并抛出已过一秒时
钟的消息
*编写: 王绍伟
*版本信息: V1.0 2003年8月15日
******************************************************************************************/
extern void rtc_soft_routine(void)
{
if(++g_RTCMember.second > 59)
{
g_RTCMember.second = 0;
g_RTCMember.minute++;
}
if(g_RTCMember.minute > 59)
{
g_RTCMember.minute = 0;
g_RTCMember.hour++;
}
msg_queue_in(MSG_RTC, RTC_SECOND);
}
/******************************************************************************************
*函数名: rtc_read
*参数: 无
*返回值: g_RTC 时钟结构体
*描述: 读取当前时钟结构体内容
*编写: 王绍伟
*版本信息: V1.0 2003年8月15日
******************************************************************************************/
extern RTCMember rtc_soft_read(void)
{
return(g_RTCMember);
}
extern void rtc_soft_process(RTCType eRTCType)
{
eRTCType = eRTCType; /*以备今后用*/
g_RTCPool[0] = g_DAA[g_RTCMember.second];
g_RTCPool[1] = g_DAA[g_RTCMember.minute];
g_RTCPool[2] = g_DAA[g_RTCMember.hour];
}
/**************************应用程序*********************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -