rtc.c
来自「里面给出了ATmega103单片机编程的C语言实例程序」· C语言 代码 · 共 81 行
C
81 行
/* ATmega103 rtc.c file
Author : Robert Stuart
Company : PDL Industries Ltd
day of Creation : 15 July 1999
Tested : 15 July 1999
Function :
*/
/* include */
#include "rtc.h"
void RTCInitialise( void )
{
TIMSK &= ~(BIT(TOIE0) | BIT(OCIE0));
ASSR |= 8;
TCNT0 = 0;
TCCR0 = BIT(CS02) | BIT(CS00);
while ( ASSR & 0x07 );
TIMSK |= BIT(TOIE0);
Time.Second = 0;
Time.Minute = 46;
Time.Hour = 9;
Time.Day = 26;
Time.Month = 4;
Time.Year = 2000;
}
void RTCInterrupt( void )
{
if ( ++Time.Second == 60 ) /* keep track of time, day, month, and year */
{
Time.Second = 0;
if ( ++Time.Minute == 60 )
{
Time.Minute = 0;
if ( ++Time.Hour == 24 )
{
Time.Hour = 0;
if ( ++Time.Day == 32 )
{
Time.Month++;
Time.Day = 1;
}
else if ( Time.Day == 31 )
{
if ( Time.Month == 4 || Time.Month == 6 || Time.Month == 9 || Time.Month == 11 )
{
Time.Month++;
Time.Day = 1;
}
}
else if ( Time.Day == 30 )
{
if ( Time.Month == 2 )
{
Time.Month++;
Time.Day = 1;
}
}
else if ( Time.Day == 29 )
{
if ( Time.Month == 2 && Time.Year % 400 )
{
Time.Month++;
Time.Day = 1;
}
}
if ( Time.Month == 13 )
{
Time.Month = 1;
Time.Year++;
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?