📄 sys_rtc.c.svn-base
字号:
/****************************************************************************
Copyright (c) 深圳市民德电子科技有限公司 http://www.szminde.cn
文件名称:sys_RTC.c
版本号: 1.0
日期: 2005-05-25
说明: 此文件包含对ES-TAD7100开发板上的RTC模块操作的函数。
调用列表:--
修改历史:--
****************************************************************************/
#include "44b.h"
#include "sys_RTC.h"
/*宏定义RTC的读写使能*/
#define RTC_RW_EN() rRTCCON = 1
#define RTC_RW_DS() rRTCCON &= 0xfe
char *date[8] = {"","SUN","MON","TUE","WED","THU","FRI","SAT"};
/****************************************************************************
函数名称:RTCInit()
说明: RTC的初始化。
调用函数:无
输入参数:*time 一个时间结构体的指针
输出参数:无
****************************************************************************/
void RTCInit(TIME_STRUC *time)
{
RTC_RW_EN(); //RTC读写使能,选择BCD时钟、计数器,无复位,1/32768
rBCDYEAR = time->year;; //年
rBCDMON = time->month; //月
rBCDDAY = time->day; //日
rBCDDATE = time->weekday; //周日
rBCDHOUR = time->hour; //小时
rBCDMIN = time->min; //分
rBCDSEC = time->sec; //秒
rTICINT = 0x80+127; //使能RTC的中断, 中断时间设置为 (127+1)/128 second
RTC_RW_DS();
}
/****************************************************************************
函数名称:RTCSetDay()
说明: 设置RTC的日期。
调用函数:无
输入参数:*time 一个时间结构体的指针
输出参数:无
****************************************************************************/
void RTCSetDay(TIME_STRUC *time)
{
RTC_RW_EN();
rBCDYEAR = time->year;
rBCDMON = time->month;
rBCDDAY = time->day;
RTC_RW_DS();
}
/****************************************************************************
函数名称:RTCSetWeek()
说明: 设置RTC的星期几。
调用函数:无
输入参数:*time 一个时间结构体的指针
输出参数:无
****************************************************************************/
void RTCSetWeek(TIME_STRUC *time)
{
RTC_RW_EN();
rBCDDATE = time->weekday;
RTC_RW_DS();
}
/****************************************************************************
函数名称:RTCSetTime()
说明: 设置RTC的时间。
调用函数:无
输入参数:*time 一个时间结构体的指针
输出参数:无
****************************************************************************/
void RTCSetTime(TIME_STRUC *time)
{
RTC_RW_EN();
rBCDHOUR = time->hour;
rBCDMIN = time->min;
rBCDSEC = time->sec;
RTC_RW_DS();
}
/****************************************************************************
函数名称:RTCAlarm()
说明: 设置RTC的闹钟。
调用函数:无
输入参数:*time 一个时间结构体的指针
输出参数:无
****************************************************************************/
void RTCAlarm(TIME_STRUC *time)
{
rALMYEAR = time->year;
rALMMON = time->month;
rALMDAY = time->day;
rALMHOUR = time->hour;
rALMMIN = time->min;
rALMSEC = time->sec;
rRTCALM = 0x7f; //全局警报使能控制,年、月、日、星期、时分秒警报使能控制
}
/****************************************************************************
函数名称:RTCGetTime()
说明: 读取RTC的日期,星期几,时间。
调用函数:无
输入参数:*time 一个时间结构体的指针
输出参数:无
****************************************************************************/
void RTCGetTime(TIME_STRUC *time)
{
RTC_RW_EN();
time->year=2000+rBCDYEAR;
time->weekday=rBCDDATE;
time->month=rBCDMON;
time->day=rBCDDAY;
time->hour=rBCDHOUR;
time->min=rBCDMIN;
time->sec=rBCDSEC;
RTC_RW_DS();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -