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

📄 rtc.c

📁 本程序是关于实时时钟控制的。即rtc。不错哦的。
💻 C
字号:
Void RTC_Init(void)
	{
		rRTCCON = 0x01;
		rBCDYEAR = TESTYEAR;
		rBCDMON = TESTMONTH;
		rBCDDAY = TESTDAY;
		rBCDDATE = TESTDATE;
		rBCDHOUR = TESTHOUR;
		rBCDMIN = TESTMIN;
		rBCDSEC = TESTSEC;
		rRTCCON = 0x0;		
	}


void Test_Tick_RTC(void)         // RTC时间片控制程序
	{
		pISR_TICK = (unsigned int)Rtc_Tick;
		rRTCCON = 0x01;
		sec_tick = 1;
		rINTMSK = ~(BIT_GLOBAL | BIT_TICK);
		rRTCCON = 0x0;          //关闭R/W功能
		rTICINT = 127 + (1<<7);    //启动时间片中断功能
	}

	void Tick_RTC(void)         //RTC工作检测程序
	{
		rI_ISPC = BIT_TICK;        //清除时间片中断标志
		RTC_OK = 1;               //RTC检测标志置位
	}

	void check_RTC(void)
	{
		int i = 0;
		
		RTC_OK = 0;             //检测标志位清除
		rRTCCON = 0x01;         //R/W使能
		Test_Tick_RTC();         //测试初始化函数
		for(I = 0; i<0xffff; i++);     //等待时间中断
        for(I = 0; i<0xffff; i++);     //等待时间中断
		
		rINTMSK |= BIT_TICK;     //禁止时间中断
		
		rRTCCON = 0x0;           //检测结束
		rINTCON = 0x3;
	}
void Display_RTC(void)            // RTC显示控制程序
{
	int year, month, weekday, hour, min, sec;
	
	rRTCCON = 0x01;   //R/W使能;
	while(1)
	{
		if(rBCDYEAR == 0x99)
	    {
			year = 0x1999;
		}
		else
		{
			year = 0x2000 + rBCDYEAR;
		}
		month = rBCDMON;
		day = rBCDDAY;
		weekday = rBCDDATE;
		hour = rBCDHOUR;
		min = rBCDMIN;
		sec = rBCDSEC;
		if(sec != 0)          //如果秒为0值,则要求重新读取RTC一次
			break;
	}
	UART_Printf(“%4x, %2x, %2x, %s”, year, month, day, date[weekday]);
	UART_Printf(“%2x, %2x, %2x”, hour, min, sec);
}

void main(void)
{ 
	char aa;
	int i;

	Uart_Init(0,115200);       //UART初始化
	
	Uart_Select(0); //Select UART0//
	Uart_Printf("\n*UART  Config--COM:115.2kbps,8Bit,NP,UART0*");
	Uart_Printf("\n*--------------Begin to Start RTC test,OK? (Y/N)-------------*");
    RTC_Init();              //RTC初始化
	aa= Uart_Getch();
	if((aa=='Y')||(aa=='y'))
	{
		Display_RTC();
	}
	Else
	{
		UART_Printf(“\n you have input a wrong key !\n”);
	}
}

⌨️ 快捷键说明

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