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

📄 1602.txt

📁 1602的显示
💻 TXT
字号:
#include <reg52.h>
#define uint unsigned int 
#define uchar unsigned char
uchar shi,fen,miao,gg,tt;
uint a,z,nian,yue,tian;
sbit rs=P3^0; //RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
sbit en=P3^1;//	E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
sbit key1=P2^0;//调时
sbit key2=P2^1;//调分
sbit key3=P2^2;//调月
sbit key4=P2^3;	//调天
uchar code table[]={'0','1','2','3','4','5','6','7','8','9','-',};
uchar code table1[]={"TIME"};
void key(  );
void display(uchar ,uchar ,uchar );
void display1(uint,uint,uint);
void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
	   for(y=100;y>0;y--);
}
void writecom(uchar com) //写指令程序
{
	en=1;
	rs=0;
	P1=com;
	en=0;
	delay(5);
}
void writedate(uchar date)	//写数据
{
	en=1;
	rs=1;
	P1=date;
	en=0;
	delay(5);
}
void init()
{
	 TMOD=0x01;
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	EA=1;
	ET0=1;
	TR0=1;
	gg=16;
	tt=0;
	shi=0;
	fen=0;
	miao=0;
	nian=2009;
	yue=0;
	tian=0;
	key1=1;
	key2=1;
	key3=1;//以前是时钟
	writecom(0x01);//1602清屏
	writecom(0x38);//显示模块设置
	writecom(0x0c);//开显示,
	writecom(0x06);//写一个数据后光标左移
}
void main()
{
	init();
	while(1)
	{
		writecom(0x80);
		for(a=0;a<4;a++)
	   { 
	      writedate(table1[a]);
	   	  delay(20);
	   }
	   	  writecom(0x80+0x05);
	      display1(nian,yue,tian);	//日期
	      key();
	      writecom(0x80+0x43);
	      display( shi, fen, miao);	  //时间
	 }

}
void timer0() interrupt 1
{
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	tt++;
	if(tt==20)
	{
		tt=0;
		miao++;
		if(miao==60)
		{
			miao=0;
			fen++;
			if(fen==60)
			{
				fen=0;
				shi++;
				if(shi==24)
				{
					shi=0;
					tian++;
					if(tian==30)
					{
						tian=0;
						yue++;
						if(yue==12)
						{
							yue=0;
							nian++;
						}
					}
				}
			}
		}
	}
}
void key()
{
	if(key1==0)
	{
		delay(5);
		if(key1==0)
		{
			while(!key1);
			shi++;
			if(shi==24)
			{
				shi=0;
			}
		}
	}
		if(key2==0)
	{
		delay(5);
		if(key2==0)
		{
			while(!key2);
			fen++;
			if(fen==60)
			{
				fen=0;
			}
		}
	}
	if(key3==0)
	{
		delay(5);
		if(key3==0)
		{
			while(!key3);
			yue++;
			if(yue==12)
			{
				yue=0;
			}
		}
	}
	if(key4==0)
	{
		delay(5);
		if(key4==0)
		{
			while(!key4);
			tian++;
			if(tian==30)
			{
				tian=0;
			}
		}
	};
	
}
void display(uchar shi,uchar fen,uchar miao)
{
	writedate(table[shi/10]);
	delay(20);
	writedate(table[shi%10]);
	delay(20);
	writedate(table[10]);
	delay(20);
	writedate(table[fen/10]);
	delay(20);
	writedate(table[fen%10]);
	delay(20);
	writedate(table[10]);
	delay(20);
	writedate(table[miao/10]);
	delay(20);
	writedate(table[miao%10]);
	delay(20);

}
void display1(uint nian,uint yue,uint tian)
{
	writedate(table[nian/1000]);
	delay(20);
	writedate(table[nian/100%10]);
	delay(20);
	writedate(table[nian/10%100]);
	delay(20);
	writedate(table[nian%1000]);
	delay(20);
	writedate(table[10]);
	delay(20);
	writedate(table[yue/10]);
	delay(20);
	writedate(table[yue%10]);
	delay(20);
	writedate(table[10]);
	delay(20);
	writedate(table[tian/10]);
	delay(20);
	writedate(table[tian%10]);
	delay(20);;
}

⌨️ 快捷键说明

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