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

📄 clock.c

📁 程序经典!编程控制51单片机定时器实现的电子钟功能
💻 C
字号:
#include "clock.h"

uchar code n[10]="0123456789";

void main()
{
	initial();
	LcdInit();
	sec=min=hour=0;
	flag=1;
	
	while(1)
	{
		while(flag)
		{
			DisChar(0,n[hour/10]);
			DisChar(1,n[hour%10]);
			DisChar(3,n[min/10]);
			DisChar(4,n[min%10]);
			DisChar(6,n[sec/10]);
			DisChar(7,n[sec%10]);
			flag=0;
		}
	}
}

void initial(void)
{
	//--INT0的配置----------
	IT0=1;              // INT0为0低电平触发(为1则为下降沿触发)
	EX0=1;              // INT0中断开,允许INT0中断

	//--T0的配置:定时器------------
	TMOD = 0x11; //定时器0,1 定时,工作方式1(16位装载方式)

	TH0  = 0x4c;//定时50ms,11.0592M晶体振荡器
	TL0  = 0x00;	     
	TR0  = 1; //允许T0中断
	ET0  = 1;

	EA=1;               // CPU所有中断开(IE最高位MSB)
}

void timer_0() interrupt 1 using 2
{
	FT0++;
	if(FT0==20)
	{
		sec++;
		FT0=0;
	}

	if(sec>59)
	{
		min++;
		sec=0;
	}

	if(min>59)
	{
		hour++;
		min=0;
	}

	if(hour>24)hour=0;
		

	TH0  = 0x4c;//定时50ms,12M晶体振荡器
	TL0  = 0x00;
	
	flag=1;	     
}

⌨️ 快捷键说明

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