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

📄 watch.c

📁 一个始终的设计。。大家看看择那么杨水电开发聚少离多看
💻 C
字号:
#include <AT89X51.H>

//全局变量
unsigned int s_l;		//s
unsigned int s_h;
unsigned int m_l;		//min
unsigned int m_h;
unsigned int h_l;		//hour
unsigned int h_h;

unsigned int a;
unsigned int i;
//////////////////////////////////////////

//时间设置



/*
struct SYSTEMTIME
{
 int wYear; 
 int wMonth; 
 int wDayOfWeek; 
 int wDay; 
 int wHour; 
 int wMinute; 
 int wSecond; 
 int wMilliseconds; 
}nowtime={0,0,0,0,0,0,0,0}; 

*/

//延时子程序

void delay(unsigned int times)
{
unsigned int i;
unsigned int j;
for (i=0;i<times;i++)
for (j=0;j<10;j++);
}
//显示子程序
void display (unsigned int t)
{
P1=0x80;
P2=s_l;
delay(t);
P1=0x40;
P2=s_h;
delay(t);
////////////////////////////////
P1=0x10;
P2=m_l;
delay(t);
P1=0x08;
P2=m_h;
delay(t);
//////////////////////////////////
P1=0x02;
P2=h_l;
delay(t);
P1=0x01;
P2=h_h;
delay(t);
}
//中断程序
void timer1 (void) interrupt 3 using 1
{
a=a-1;
do {} while (i-->0);
i=18;
if (a==0)
 {
 s_l=s_l+1;
 	if (s_l==10)
 	{
	s_l=0;s_h=s_h+1;
		if(s_h==6)
		{s_h=0;m_l=m_l+1;
			if (m_l==10)
			{
			m_l=0;m_h=m_h+1;
			  	if (m_h==6)
				{
				m_h=0;h_l=h_l+1;
					if (h_l==10)
					{
					h_l=0;h_h=h_h+1;	
					}
					else if (h_h==2&h_l==4)
						{h_h=0;h_l=0;}
				}
			}
		}	
 	}
 a=20;

 }
 TH1=-50000/256;
 TL1=-50000%256;
}
//////////////////////////////////////////////
///////////调定时间

void set (void) interrupt 2 using 3
{
//set second
 if (P3_0==0)
 {
 s_l=s_l+1;
 	if(s_l==10)
 	{s_l=0;
	s_h=s_h+1;
	if(s_h==6)
	s_h=0;
 	}
 }
 //set minute
 else if (P3_1==0)
 {
 m_l=m_l+1;
 	if(m_l==10)
 	{
	m_l=0;
	m_h=m_h+1;
	if(m_h==6)
	m_h=0;
 	}
 }
 //set hour
 else if (P3_2==0)
 {
 h_l=h_l+1;
 	if(h_l==10)
 	{
	h_l=0;
	h_h=h_h+1;
 	}
	 else if (h_h==2&h_l==4)
	 {h_h=0;h_l=0;}
 }

}



///////////////////////////////////////////////////////////////
void main(void)
{
 TMOD=0X10;
 TH1=-50000/256;
 TL1=-50000%256;
 EA=1;
 ET1=1;
 TR1=1;
 EX1=1;
 IT1=1;
//struct SYSTEMTIME [nowtime];
//GetLocalTime(&nowtime);

 //s_l=nowTime.wSecond%10;
 s_l=0;
 s_h=5;
 m_l=1;
 m_h=4;
 h_l=9;
 h_h=0;
 a=20;
 i=18;

do{ display(50);} while(1);
 
}

⌨️ 快捷键说明

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