📄 rtc_example.c
字号:
/************************************************************************************
* Copyright (c), 2004-2007,西安铭朗电子科技有限责任公司
* All rights reserved.
*
* Http: www.mlarm.com
* Email: mlarm@mlarm.com
*
* File name: RTC_Example.c
* Project : ML-F020ICB
* Processor: C8051F020
* Compiler : Keil C51 Compiler
*
* Author: 李林利
* Version: 1.20
* Date: 2007.6.1
* Email: GavinLi@126.com
*
* Description: RTC测试程序文件;
*
* Others: none;
*
* Function List:
* 1. void RTC_Proc(void)
*
* History:
* 1. Author: 李林利
* Version: 1.10
* Date: 2007.3.12
* Modification: none
*
* 2. Author: 李林利
* Version: 1.00
* Date: 2004.11.24
* Modification: 建立文件
*
*************************************************************************************/
/************************************************************************************/
// 引用外部头文件
#include "..\config\Const.h"
#include "..\driver\uart.h"
#include "..\driver\delay.h"
#include "..\driver\iic.h"
#include "..\driver\RTC.h"
/************************************************************************************/
/************************************************************************************/
// 常量及全局变量定义
/************************************************************************************/
extern unsigned char code ASCII[];
/*************************************************************************************/
//
// RTC测试程序函数定义
//
/*************************************************************************************/
/***********************************************************************************
* Function: RTC_Proc;
*
* Description: RTC测试程序;
*
* Input: none;
*
* Return: none;
*
* Note: none;
************************************************************************************/
void RTC_Proc(void)
{
unsigned char i,cmd;
unsigned int val,j;
RTC_TIME rtc;
RTC_REG reg;
Uart0_SendString("RTC test starting!\n\r");
//AD0_Init(AD0_MODE,23,1000);
//AD0_Enable();
//AT24C02_Init();
RTC_Init(400000);
while(1)
{
cmd = 0;
if (Uart0_GetCharsRxBuf()>0)
{
Uart0_RecvChar(&cmd);
}
switch (cmd)
{
case 'R':
if (RTC_Read(&rtc))
{
Uart0_SendString("RTC Time:");
Uart0_SendChar(ASCII[rtc.hour/10]);
Uart0_SendChar(ASCII[rtc.hour%10]);
Uart0_SendChar(':');
Uart0_SendChar(ASCII[rtc.minute/10]);
Uart0_SendChar(ASCII[rtc.minute%10]);
Uart0_SendChar(':');
Uart0_SendChar(ASCII[rtc.second/10]);
Uart0_SendChar(ASCII[rtc.second%10]);
Uart0_SendString("\n\r");
Uart0_SendString("Date:");
Uart0_SendChar(ASCII[rtc.year/10]);
Uart0_SendChar(ASCII[rtc.year%10]);
Uart0_SendChar('-');
Uart0_SendChar(ASCII[rtc.month/10]);
Uart0_SendChar(ASCII[rtc.month%10]);
Uart0_SendChar('-');
Uart0_SendChar(ASCII[rtc.day/10]);
Uart0_SendChar(ASCII[rtc.day%10]);
Uart0_SendString("\n\r");
Uart0_SendString("Week:");
Uart0_SendChar(ASCII[rtc.week]);
Uart0_SendString("\n\r");
}
/*
Uart0_SendBlock("RTC Time:",10,&i);
Uart0_SendChar(ASCII[(rtc.hour>>4)&0x03]);
Uart0_SendChar(ASCII[rtc.hour&0x0f]);
Uart0_SendChar(':');
Uart0_SendChar(ASCII[(rtc.minute>>4)&0x07]);
Uart0_SendChar(ASCII[rtc.minute&0x0f]);
Uart0_SendChar(':');
Uart0_SendChar(ASCII[(rtc.second>>4)&0x07]);
Uart0_SendChar(ASCII[rtc.second&0x0f]);
Uart0_SendBlock("\n\r",3,&i);
Uart0_SendBlock("Date:",6,&i);
Uart0_SendChar(ASCII[(rtc.year>>4)&0x0f]);
Uart0_SendChar(ASCII[rtc.year&0x0f]);
Uart0_SendChar('-');
Uart0_SendChar(ASCII[(rtc.month>>4)&0x01]);
Uart0_SendChar(ASCII[rtc.month&0x0f]);
Uart0_SendChar('-');
Uart0_SendChar(ASCII[(rtc.day>>4)&0x03]);
Uart0_SendChar(ASCII[rtc.day&0x0f]);
Uart0_SendBlock("\n\r",3,&i);
Uart0_SendBlock("Week:",6,&i);
Uart0_SendChar(ASCII[rtc.week&0x07]);
Uart0_SendBlock("\n\r",3,&i);
*/
cmd = 0;
break;
case 'W':
rtc.second = 0;
rtc.minute = 59;
rtc.hour = 23;
rtc.day = 31;
rtc.week = 01;
rtc.month = 12;
rtc.year = 06;
RTC_Write(&rtc);
cmd = 0;
break;
case 'S':
RTC_WriteReg(®);
cmd = 0;
break;
case 'I':
RTC_ReadReg(®);
cmd = 0;
break;
case 'E':
Uart0_SendString("RTC test end!\n\r");
return;
break;
default:
break;
}
}
}
/***********************************************************************************/
// 文件结束
/***********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -