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

📄 shizhong.c

📁 由C语言编写的模拟时钟,不需要时钟芯片即可准确显示
💻 C
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit p2_0=P2^0;
sbit p2_4=P2^4;
sbit p2_5=P2^5;
sbit p2_6=P2^6;
sbit p2_7=P2^7;
sbit p0_1=P0^1;
void delay();
void delay1();
void disp();
void nao();
uchar tab1[10]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};/*no dot*/
uchar tab2[10]={0x02,0x8F,0x24,0x0C,0x98,0x48,0x40,0x1E,0x00,0x08};
uchar miao,fen,shi,temp;
uchar i,j,m,t,w,a;

void main()
{	miao=0;
	fen=0;
	shi=0;
	t=20;
	w=10;
	TMOD=0X01;
	TL0=0XB0;
	TH0=0X3C;
	EA=1;
	ET0=1;
	TR0=1;
	while(1);
	if(w!=0)disp();
	
	else
    {w=10; 
	 p0_1=!p0_1;
	 if(t!=0)disp();
	 else
		{t=20;
		 miao++;
		 if(miao!=60)disp();
		 else 
        	{miao=0;
			 fen++;
			 if(fen!=60)disp();
			 else
			 	{fen=0;
			  	 shi++;
				 if(shi!=12)
					{if(shi!=24)disp();
					 else{shi=0;disp();}
					}
				 else nao();
			 	}
			}
		}
		
	} 
    
	

}

void timer0_uchar(void) interrupt 1
{	TL0=0xB0;
	TH0=0x3C;
	t--;
	w--;
}

void disp()
{	temp=fen;
 	i=temp%10;
 	SBUF=tab1[i];
 	while(1)
 		{while(TI);
     	TI=0;
	 	break;
		}
 	p2_4=0;
 	delay();
 	p2_4=1;
 	i=temp/10;
 	SBUF=tab1[i];
 	while(TI!=1);
 	TI=0;
 	p2_5=0;
 	delay();
 	p2_5=1;
 	temp=shi;
 	i=temp%10;
 	SBUF=tab2[i];
 	while(TI!=1);
 	TI=0;
 	p2_6=0;
 	delay();
 	p2_6=1;
 	i=temp/10;
 	SBUF=tab1[i];
 	while(TI!=1);
 	TI=0;
 	p2_7=0;
 	delay();
 	p2_7=1;
}

void nao()
{	m=20;
 	do
		{p2_0=!p2_0;
		 delay1();
		}while(!(m--));
}

void delay()
{	for(j=0;j<100;j++);
}

void delay1()
{	for(a=0;a<5000;a++);
}

⌨️ 快捷键说明

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