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

📄 main.c

📁 LPC2132的液晶显示日历(RTC) 带按键修改
💻 C
📖 第 1 页 / 共 3 页
字号:
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xDB,0xE7,0xDB,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF,
};

uint8 const HZ016[]=
{
/*--  文字:  9  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xD9,0xE5,0xFD,0xFD,0xDB,0xC7,0xFF,0xFF,
};

uint8 const HZ017[]=
{
/*--  文字:  0  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,
};


/***************************************************************************************************
**函数名称:GUI_PutXQ
**
**函数功能:汉字输出星期
*****************************************************************************************************/
void GUI_PutXQ (uint32 h, uint32 j, uint32 k)

{
	switch(k)
	{
		case 0  :GUI_PutHZ(h,j, (uint8 *)HZ5, 16, 16);break;
		case 1  :GUI_PutHZ(h,j, (uint8 *)HZ8, 16, 16);break;
		case 2  :GUI_PutHZ(h,j, (uint8 *)HZ9, 16, 16);break;
		case 3  :GUI_PutHZ(h,j, (uint8 *)HZ10, 16, 16);break;
		case 4  :GUI_PutHZ(h,j, (uint8 *)HZ11, 16, 16);break;
		case 5  :GUI_PutHZ(h,j, (uint8 *)HZ12, 16, 16);break;
		default :GUI_PutHZ(h,j, (uint8 *)HZ13, 16, 16);break;
		
		
	}
}

/***************************************************************************************************
**函数名称:GUI_PutXQQF
**
**函数功能:汉字输出星期
*****************************************************************************************************/
void GUI_PutXQQF (uint32 h, uint32 j, uint32 k)

{
	switch(k)
	{
		case 0  :GUI_PutHZ(h,j, (uint8 *)HZ07, 16, 16);break;
		case 1  :GUI_PutHZ(h,j, (uint8 *)HZ01, 16, 16);break;
		case 2  :GUI_PutHZ(h,j, (uint8 *)HZ02, 16, 16);break;
		case 3  :GUI_PutHZ(h,j, (uint8 *)HZ03, 16, 16);break;
		case 4  :GUI_PutHZ(h,j, (uint8 *)HZ04, 16, 16);break;
		case 5  :GUI_PutHZ(h,j, (uint8 *)HZ05, 16, 16);break;
		default :GUI_PutHZ(h,j, (uint8 *)HZ06, 16, 16);break;
		
		
	}
}



/*
******************************************************************************************************
** 函数名称 :GUI_PutNumberQF
** 函数功能 :输出数字
** 入口参数 :
** 出口参数 :
*******************************************************************************************************
*/

void  GUI_PutNumberQF (uint32 h,uint32 j,uint32 g)

{
	switch(g)
	{
		case 0 :GUI_PutHZ(h,j, (uint8 *)HZ017, 8, 16);break;
		case 1 :GUI_PutHZ(h,j, (uint8 *)HZ08,  8, 16);break;
		case 2 :GUI_PutHZ(h,j, (uint8 *)HZ09,  8, 16);break;
		case 3 :GUI_PutHZ(h,j, (uint8 *)HZ010, 8, 16);break;
		case 4 :GUI_PutHZ(h,j, (uint8 *)HZ011, 8, 16);break;
		case 5 :GUI_PutHZ(h,j, (uint8 *)HZ012, 8, 16);break;
		case 6 :GUI_PutHZ(h,j, (uint8 *)HZ013, 8, 16);break;
		case 7 :GUI_PutHZ(h,j, (uint8 *)HZ014, 8, 16);break;
		case 8 :GUI_PutHZ(h,j, (uint8 *)HZ015, 8, 16);break;
		default:GUI_PutHZ(h,j, (uint8 *)HZ016, 8, 16);break;
		
	}
}


/*
******************************************************************************************************
** 函数名称 :GUI_PutNumber
** 函数功能 :输出数字
** 入口参数 :
** 出口参数 :
*******************************************************************************************************
*/

void  GUI_PutNumber (uint32 h,uint32 j,uint32 g)

{
	switch(g)
	{
		case 0 :GUI_PutHZ(h,j, (uint8 *)HZ24, 8, 16);break;
		case 1 :GUI_PutHZ(h,j, (uint8 *)HZ15, 8, 16);break;
		case 2 :GUI_PutHZ(h,j, (uint8 *)HZ16, 8, 16);break;
		case 3 :GUI_PutHZ(h,j, (uint8 *)HZ17, 8, 16);break;
		case 4 :GUI_PutHZ(h,j, (uint8 *)HZ18, 8, 16);break;
		case 5 :GUI_PutHZ(h,j, (uint8 *)HZ19, 8, 16);break;
		case 6 :GUI_PutHZ(h,j, (uint8 *)HZ20, 8, 16);break;
		case 7 :GUI_PutHZ(h,j, (uint8 *)HZ21, 8, 16);break;
		case 8 :GUI_PutHZ(h,j, (uint8 *)HZ22, 8, 16);break;
		default:GUI_PutHZ(h,j, (uint8 *)HZ23, 8, 16);break;
		
		
	}
}
/*
*********************************************************************************************************
**
**
**
*******************************************************************************************************
*/
void SendTimeRtc (void)
{
	uint32 datas;
	uint32 times;
	uint32 bak;
//	uint8  a;
//	uint8  b;
//	uint8  c;
//  uint8  d;
    
	
	times = CTIME0;			// 读取完整的时钟寄存器
	datas = CTIME1;
	
//	a=40;
//	b=0;
	GUI_PutHZ(40, 0, (uint8 *)HZ1, 16, 16);  //输出万

	GUI_PutHZ(56, 0, (uint8 *)HZ2, 16, 16); 	//输出年

	GUI_PutHZ(72, 0, (uint8 *)HZ3, 16, 16);	//输出历
	
//	c=0;
//	d=16;
	bak = (datas >> 16) & 0xfff;	// 获取 年
	GUI_PutNumber(8,16,bak/1000);
	bak = bak % 1000;
	GUI_PutNumber(16,16,bak/100);
	bak = bak % 100;
	GUI_PutNumber(24,16,bak/10);
	GUI_PutNumber(32,16,bak%10);
	
	
//	a=c;
//	b=22;
	GUI_PutHZ(40, 16, (uint8 *)HZ2, 16, 16);	//输出年
	
//	c=a+16;
	bak = (datas >> 8) & 0x0f;		// 获取 月
	GUI_PutNumber(56,16,bak/10);
	GUI_PutNumber(64,16,bak%10);
	
	
//	a=c;
	GUI_PutHZ(72, 16, (uint8 *)HZ4, 16, 16);	//输出月
	
//	c=a;
	bak = datas & 0x1f;				// 获取 日
	GUI_PutNumber(88,16,bak/10);
	GUI_PutNumber(96,16,bak%10);
	
//	a=c;
	GUI_PutHZ(104, 16, (uint8 *)HZ5, 16, 16);	//输出日
	
	
//	a=5;
//	b=42;
	GUI_PutHZ(40, 32, (uint8 *)HZ6, 16, 16);	//输出星
	GUI_PutHZ(56, 32, (uint8 *)HZ7, 16, 16);	//输出期
	
//	c=a;
//	d=b;
	bak = (times >> 24) & 0x07;		// 获取 星期
	GUI_PutXQ(72, 32, bak);
	
	
	
//	c=51;
//	d=b+5;
	bak = (times >> 16) & 0x1f;		// 获取 小时
	GUI_PutNumber(32,48,bak/10);
	GUI_PutNumber(40,48,bak%10);
//	a=c+8;
	GUI_PutHZ(48, 48, (uint8 *)HZ14, 8, 16);	//输出:

//	c=a;
	bak = (times >> 8) & 0x3f;		// 获取 分钟
	GUI_PutNumber(56,48,bak/10);
	GUI_PutNumber(64,48,bak%10);
//	a=c+8;
	GUI_PutHZ(72, 48, (uint8 *)HZ14, 8, 16);	//输出:
	
//	c=a;
	bak = times & 0x3f;				// 获取 秒钟
	GUI_PutNumber(80,48,bak/10);
	GUI_PutNumber(88,48,bak%10);

}



/*******************************************************************************************************
** 函数名称 :
** 函数功能 :
** 入口参数 :
** 出口参数 :
*******************************************************************************************************
*/

void protect(void)
{	
	if(i==15) i=0;
	if(r[0]==5) r[0]=0;
	if(r[1]==10) r[1]=0;
	if(r[2]==10) r[2]=0;
	if(r[3]==10) r[3]=0;
	if(r[4]==2) r[4]=0;
	if(r[5]==10) r[5]=0;
	if(r[6]==4) r[6]=0;
	if(r[7]==10) r[7]=0;
	if(r[8]==7) r[8]=0;
	if(r[9]==3) r[9]=0;
	if(r[10]==10) r[10]=0;
	if(r[11]==6) r[11]=0;
	if(r[12]==10) r[12]=0;
	if(r[13]==6) r[13]=0;
	if(r[14]==10) r[14]=0;
	
	
}




/*******************************************************************************************************
**函数名称:
**函数功能:
**入口参数:
**出口参数:
********************************************************************************************************
*/




void display(int i)
{
	switch(i)
	{
		case 0  : 
		{
			GUI_PutNumberQF (8 ,16,(uint32)r[0]);
			GUI_PutNumber (16,16,(uint32)r[1]);
			GUI_PutNumber (24,16,(uint32)r[2]);
			GUI_PutNumber (32,16,(uint32)r[3]);
			GUI_PutNumber (56,16,(uint32)r[4]);
			GUI_PutNumber (64,16,(uint32)r[5]);
			GUI_PutNumber (88,16,(uint32)r[6]);
			GUI_PutNumber (96,16,(uint32)r[7]);
			GUI_PutXQ     (72,32,(uint32)r[8]);
			GUI_PutNumber (32,48,(uint32)r[9]);
			GUI_PutNumber (40,48,(uint32)r[10]);
			GUI_PutNumber (56,48,(uint32)r[11]);
			GUI_PutNumber (64,48,(uint32)r[12]);
			GUI_PutNumber (80,48,(uint32)r[13]);
			GUI_PutNumber (88,48,(uint32)r[14]);			
			break;
		}
		case 1  : 
		{
			GUI_PutNumberQF (16,16,(uint32)r[1]);
			GUI_PutNumber (8 ,16,(uint32)r[0]);
			GUI_PutNumber (24,16,(uint32)r[2]);
			GUI_PutNumber (32,16,(uint32)r[3]);
			GUI_PutNumber (56,16,(uint32)r[4]);
			GUI_PutNumber (64,16,(uint32)r[5]);
			GUI_PutNumber (88,16,(uint32)r[6]);
			GUI_PutNumber (96,16,(uint32)r[7]);
			GUI_PutXQ     (72,32,(uint32)r[8]);
			GUI_PutNumber (32,48,(uint32)r[9]);
			GUI_PutNumber (40,48,(uint32)r[10]);
			GUI_PutNumber (56,48,(uint32)r[11]);
			GUI_PutNumber (64,48,(uint32)r[12]);
			GUI_PutNumber (80,48,(uint32)r[13]);
			GUI_PutNumber (88,48,(uint32)r[14]);			
			break;
		}	
		case 2  : 
		{
			GUI_PutNumberQF (24,16,(uint32)r[2]);
			GUI_PutNumber (8 ,16,(uint32)r[0]);
			GUI_PutNumber (16,16,(uint32)r[1]);
			GUI_PutNumber (32,16,(uint32)r[3]);
			GUI_PutNumber (56,16,(uint32)r[4]);
			GUI_PutNumber (64,16,(uint32)r[5]);
			GUI_PutNumber (88,16,(uint32)r[6]);
			GUI_PutNumber (96,16,(uint32)r[7]);
			GUI_PutXQ     (72,32,(uint32)r[8]);
			GUI_PutNumber (32,48,(uint32)r[9]);
			GUI_PutNumber (40,48,(uint32)r[10]);
			GUI_PutNumber (56,48,(uint32)r[11]);
			GUI_PutNumber (64,48,(uint32)r[12]);
			GUI_PutNumber (80,48,(uint32)r[13]);
			GUI_PutNumber (88,48,(uint32)r[14]);			
			break;
		}
		case 3  : 
		{
			GUI_PutNumberQF (32,16,(uint32)r[3]);
			GUI_PutNumber (8 ,16,(uint32)r[0]);
			GUI_PutNumber (16,16,(uint32)r[1]);
			GUI_PutNumber (24,16,(uint32)r[2]);
			GUI_PutNumber (56,16,(uint32)r[4]);
			GUI_PutNumber (64,16,(uint32)r[5]);
			GUI_PutNumber (88,16,(uint32)r[6]);
			GUI_PutNumber (96,16,(uint32)r[7]);
			GUI_PutXQ     (72,32,(uint32)r[8]);
			GUI_PutNumber (32,48,(uint32)r[9]);
			GUI_PutNumber (40,48,(uint32)r[10]);
			GUI_PutNumber (56,48,(uint32)r[11]);
			GUI_PutNumber (64,48,(uint32)r[12]);
			GUI_PutNumber (80,48,(uint32)r[13]);
			GUI_PutNumber (88,48,(uint32)r[14]);			
			break;
		}
		case 4  : 
		{
			GUI_PutNumberQF (56,16,(uint32)r[4]);
			GUI_PutNumber (8 ,16,(uint32)r[0]);
			GUI_PutNumber (16,16,(uint32)r[1]);
			GUI_PutNumber (24,16,(uint32)r[2]);
			GUI_PutNumber (32,16,(uint32)r[3]);
			GUI_PutNumber (64,16,(uint32)r[5]);
			GUI_PutNumber (88,16,(uint32)r[6]);
			GUI_PutNumber (96,16,(uint32)r[7]);
			GUI_PutXQ     (72,32,(uint32)r[8]);
			GUI_PutNumber (32,48,(uint32)r[9]);
			GUI_PutNumber (40,48,(uint32)r[10]);
			GUI_PutNumber (56,48,(uint32)r[11]);
			GUI_PutNumber (64,48,(uint32)r[12]);
			GUI_PutNumber (80,48,(uint32)r[13]);
			GUI_PutNumber (88,48,(uint32)r[14]);			
			break;
		}
		case 5  : 
		{
			GUI_PutNumberQF (64,16,(uint32)r[5]);
			GUI_PutNumber (8 ,16,(uint32)r[0]);
			GUI_PutNumber (16,16,(uint32)r[1]);
			GUI_PutNumber (24,16,(uint32)r[2]);
			GUI_PutNumber (32,16,(uint32)r[3]);
			GUI_PutNumber (56,16,(uint32)r[4]);
			GUI_PutNumber (88,16,(uint32)r[6]);
			GUI_PutNumber (96,16,(uint32)r[7]);
			GUI_PutXQ     (72,32,(uint32)r[8]);
			GUI_PutNumber (32,48,(uint32)r[9]);
			GUI_PutNumber (40,48,(uint32)r[10]);
			GUI_PutNumber (56,48,(uint32)r[11]);

⌨️ 快捷键说明

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