⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1337.c

📁 AVR单片机C语言程序设计实例精粹
💻 C
字号:
//***************************************************************
// File Name : DS1337.c
// Author    : Steaven
// Created   : 2008-10-09
// Modified  : 
// Revision  : V0.0
//***************************************************************

#include "includes.h"

struct Calendar_struct Calendar;
struct Calendar_struct Calendar_Read;

//***************************************************************
// Function    : Init_DS1337_Calendar
// Input       : None 
// Output      : None
// Description : Init time with "2007-11-21,THU,21:32:00"
//***************************************************************
void Init_DS1337_Calendar(void)
{
	Calendar.Second  = 0x00;
	Calendar.Minute  = 0x32;
	Calendar.Hour    = 0x21;
	Calendar.Day     = 0x03;
	Calendar.Date    = 0x21;
	Calendar.Month   = 0x11;
	Calendar.Year    = 0x07;
}

//***************************************************************
// Function    : Set_DS1337_Calendar
// Input       : None 
// Output      : None
// Description : Write time to DS1337 Registers
//***************************************************************
void Set_DS1337_Calendar(void)
{
	INT8U data[Calendar_LENGTH];
	data[0] = Calendar.Second;
	data[1] = Calendar.Minute;
	data[2] = Calendar.Hour;
	data[3] = Calendar.Day;
	data[4] = Calendar.Date;
	data[5] = Calendar.Month;
	data[6] = Calendar.Year;
	I2C_Send_String_with_SubAddress(DS1337,Calendar_ADDRESS,\
	                              data,Calendar_LENGTH);
}

//***************************************************************
// Function    : Read_DS1337_Calendar
// Input       : None 
// Output      : None
// Description : Read real time from DS1337 Registers
//***************************************************************
void Read_DS1337_Calendar(void)
{
	INT8U data[Calendar_LENGTH];
	I2C_Recive_String_with_SubAddress(DS1337,Calendar_ADDRESS,\
	                                   data,Calendar_LENGTH);
	Calendar_Read.Second = data[0];
	Calendar_Read.Minute = data[1];
	Calendar_Read.Hour   = data[2];
	Calendar_Read.Day    = data[3];
	Calendar_Read.Date   = data[4];
	Calendar_Read.Month  = data[5];
	Calendar_Read.Year   = data[6];
}

//***************************************************************
// Function    : Read_PCF8563_Calendar
// Input       : None 
// Output      : None
// Description : Read real time from PCF8563 Registers
//***************************************************************
void Init_DS1337(void)
{
	Init_DS1337_Calendar();
	Set_DS1337_Calendar();
}

//***************************************************************
// Function    : sbGet_Timer_Second
// Input       : None 
// Output      : None
// Description : Interface Function : Get Second
//***************************************************************
INT8U sbGet_Timer_Second(void)
{
	return(Calendar_Read.Second);
}

//***************************************************************
// Function    : sbGet_Timer_Second
// Input       : None 
// Output      : None
// Description : Interface Function : Get Minute
//***************************************************************
INT8U sbGet_Timer_Minute(void)
{
	return(Calendar_Read.Minute);
}

//***************************************************************
// Function    : sbGet_Timer_Second
// Input       : None 
// Output      : None
// Description : Interface Function : Get Hour
//***************************************************************
INT8U sbGet_Timer_Hour(void)
{
	return(Calendar_Read.Hour);
}

//***************************************************************
// Function    : sbGet_Timer_Second
// Input       : None 
// Output      : None
// Description : Interface Function : Get Day
//***************************************************************
INT8U sbGet_Timer_Day(void)
{
	return(Calendar_Read.Day);
}

//***************************************************************
// Function    : sbGet_Timer_Second
// Input       : None 
// Output      : None
// Description : Interface Function : Get Data
//***************************************************************
INT8U sbGet_Timer_Date(void)
{
	return(Calendar_Read.Date);
}

//***************************************************************
// Function    : sbGet_Timer_Second
// Input       : None 
// Output      : None
// Description : Interface Function : Get Month
//***************************************************************
INT8U sbGet_Timer_Month(void)
{
	return(Calendar_Read.Month);
}

//***************************************************************
// Function    : sbGet_Timer_Second
// Input       : None 
// Output      : None
// Description : Interface Function : Get Year
//***************************************************************
INT8U sbGet_Timer_Year(void)
{
	return(Calendar_Read.Year);
}


//=========================END OF FILE=========================//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -