time.c

来自「用单片机和数码管」· C语言 代码 · 共 50 行

C
50
字号
#include<avr/io.h>

#include "head.h"

extern uint8_t Second, PRE_Second, Minute, Hour, PRE_Hour,tell_en;
extern uint8_t AMinute, AHour, alarmEN;

void time(void)
{
	if ((PRE_Second!=Second)&(Second==0)) //判断是否一分钟已过

	{

		if (Minute==59) //分进位
		{
			Minute=0;
			if (Hour==23) //时进位
				Hour=0;
			else
				Hour++;
			tell_en=1;
		}
		else
			Minute++;

	}

	PRE_Second=Second;
	PRE_Hour=Hour;

	if ((Hour==AHour)&(Minute==AMinute)&(alarmEN==1)) //判断当前时间是否与闹钟时间一样,而且闹钟使能是否打开
		sbi (PORTB,3);
	//输出高电平,激活蜂鸣器
	else
		cbi (PORTB,3);
	//输出低电平,关闭蜂鸣器

	if (tell_en==1)
	{
		sbi (PORTB,3);
		
		if ((Second>3))
		{
			cbi (PORTB,3);
			tell_en=0;
		}
	}

}

⌨️ 快捷键说明

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