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

📄 时钟.c

📁 这是基于MCS-51的时钟及显示源代码
💻 C
字号:
#include<reg51.h>
#include<define.h>
#include<shezhishijian.h>
void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}
void write_com(uchar com) //LCD写命令
{
	lcdrs=0;
	P0=com;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;	
}
void write_data(uchar date)  //LCD写数据
{
	lcdrs=1;
	P0=date;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;
}
void inis()			 //初始化程序
{
	lcden=0;
	set_time();
	write_ds(0x0B,0x26);
	time_alarm(15,3,0);
write_com(0x01);
write_com(0x38);
	write_com(0x0c);
	write_com(0x06);
	write_com(0x80);
	for(i=0;i<=15;i++)
	{
		write_data(table[i]);
		delay(5); 
	}
   	write_com(0xd0); 
	for(i=0;i<=11;i++)
	{
		write_data(table1[i]);
		delay(5);
	}
	EA=1;
	EX0=1;
	IT0=1;		
}
void write_sfm(uchar address,uchar date)  //显示LCD的时分秒
{
	write_com(0x80+0x40+address);
   	si=date/10;
	ge=date%10;
	si=0x30+si;
	ge=0x30+ge;
	write_date(si);
	delay(5);
	write_date(ge);
}
void write_ds(uchar add,uchar date)	 //写时钟芯片  DS12CR887-DS12R887_
{  
	dscs=0;
	dsds=1;
	dsrw=1;
	dsas=1;	
	P0=add;
	dsas=0;
	dsrw=0;
	P0=date;
	dsrw=1;
	dsas=1;
	dscs=1;				
}
uchar read_ds(uchar add)  //  读时钟芯片DS12CR887-DS12R887_
{
	uchar ds_date;
	dscs=0;
	dsas=1;
	dsds=1;
	dsrw=1;
	P0=add;
	dsas=0;
	dsds=0;
	ds_date=P0;
	dsds=1;
	dsas=1;
	dscs=1;
	return ds_date;	
}
void set_time()	   //设置时间
{
	write_ds(4,14);
	write_ds(2,47);
	write_ds(0,0);
}
void time_alarm(ashi,afen,amiao)   //设置闹钟时间
{
	write_ds(1,amiao);
	write_ds(3,afen);
	write_ds(5,ashi);
}
void didi()		  //闹钟响声
{
	beep=0;
	delay(50);
	beep=1;
	delay(100);
	beep=0;
	delay(50);
	beep=1;
	delay(100);

}
void  main()
{
	inis();	//初始化LCD
	while(1)
	{
		keyscan()//时间的设定
		if(flag==1)
		{
			didi();
		}
		else if(flag==0)
		{		
			miao=read_ds(0);
			fen=read_ds(2);
			shi=read_ds(4);
			write_sfm(10,miao);
			write_sfm(7,fen);
			write_sfm(4,shi);
		}

	}
}
void  exter() interrupt	 0 		//	  闹钟中断
{
	uchar c;
	flag1=1;
	c=read_ds(0x0c);
}

⌨️ 快捷键说明

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