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

📄 key.c

📁 一个使用ARM7控制16*32点阵LED的程序,主控芯片为2131
💻 C
📖 第 1 页 / 共 2 页
字号:
			{
				hour++;
				if(hour>23) hour=0;
				KeyTabStruct.key3=0;
			}
			if(KeyTabStruct.key4)
			{
				hour--;
				if(hour>24)hour=23;
				KeyTabStruct.key4=0;
			}
			break;
		case 3:					//修改分钟
			if(KeyTabStruct.key3)
			{
				min++;
				if(min>59) min=0;
				KeyTabStruct.key3=0;
			}
			if(KeyTabStruct.key4)
			{
				min--;
				if(min>60)min=59;
				KeyTabStruct.key4=0;
			}
			break;
		case 4:                //确认修改
			TimeChangeQueren(week,hour,min);
			break;
	}
	Time[8]=week;

	Time[9]=(hour / 10);
	Time[10]=(hour % 10);
		
	Time[11]=(min / 10);
	Time[12]=(min % 10);
		
	LEDPrintTime();	
}

/********************************************************************************************************
** 函数名称 :void keyhanziprint(void)
** 函数功能 :key1为1时的处理程序,即显示汉字,通过key2控制
** 入口参数 :
** 出口参数 :无
********************************************************************************************************/
void keyhanziprint(void)
{
	switch(KeyTabStruct.key2)
	{
		case 0:LEDPrintchinese(8,FristHanzi);     //显示1次第一组汉字
			break;
		case 1:LEDPrintchinese(8,SecondHanzi);    //显示1次第二组汉字
			break;
		case 2:LEDPrintchinese(8,ThirdHanzi);     //显示1次第三组汉字
			break;
		case 3:LEDPrintchinese(8,FourthHanzi);    //显示1次第四组汉字
			break;
		case 4:
			LEDPrintchinese(8,FristHanzi);
			LEDPrintchinese(8,SecondHanzi);
			LEDPrintchinese(8,ThirdHanzi);
			LEDPrintchinese(8,FourthHanzi);
			break;
		default:
		break;
	}
}

/********************************************************************************************************
** 函数名称 :void keyhanziprint_H(void)
** 函数功能 :key1为1时的处理程序,即横向显示汉字,通过key2控制
** 入口参数 :
** 出口参数 :无
********************************************************************************************************/
void keyhanziprint_H(void)
{
	switch(KeyTabStruct.key2)
	{
		case 0:LEDPrintchinese_H(8,FristHanzi_H);     //显示1次第一组汉字
			break;
		case 1:LEDPrintchinese_H(8,SecondHanzi_H);    //显示1次第二组汉字
			break;
		case 2:LEDPrintchinese_H(8,ThirdHanzi_H);     //显示1次第三组汉字
			break;
		case 3:LEDPrintchinese_H(8,FourthHanzi_H);    //显示1次第四组汉字
			break;
		case 4:	
			LEDPrintchinese_H(8,FristHanzi_H);
			LEDPrintchinese_H(8,SecondHanzi_H);
			LEDPrintchinese_H(8,ThirdHanzi_H);
			LEDPrintchinese_H(8,FourthHanzi_H);
			break;
		default:
		break;
	}
}
/********************************************************************************************************
** 函数名称 :void keyzimuprint( void )
** 函数功能 :key1为2时的处理程序,即显示字母,通过key2控制
** 入口参数 :
** 出口参数 :无
********************************************************************************************************/
void keyzimuprint( void )
{
	//uint8 i,key;
	switch(KeyTabStruct.key2)
	{
		case 0:LEDPrintChar(0,0,Fristzimu);           //显示一组字母"ThisCQIT"
			break;
		case 1:LEDPrintChar(0,0,Secondzimu);           //显示第二组字母
			break;
		case 2:LEDPrintChar(0,0,Thirdzimu);          //显示第三组字母
			break;
		case 3:LEDPrintChar(0,0,Fourthzimu);          //显示第四组字母
			break;
		case 4:
			LEDPrintChar(0,0,Fristzimu);           //显示一组字母"ThisCQIT"
			LEDPrintChar(0,0,Secondzimu);           //显示第二组字母
			LEDPrintChar(0,0,Thirdzimu);          //显示第三组字母
			LEDPrintChar(0,0,Fourthzimu);          //显示第四组字母
			break;
		
		default:
		break;
	}
}

/********************************************************************************************************
** 函数名称 :void keyzimuprint_H( void )
** 函数功能 :key1为2时的处理程序,即横向显示字母,通过key2控制
** 入口参数 :
** 出口参数 :无
********************************************************************************************************/
void keyzimuprint_H( void )
{
	//uint8 i,key;
	switch(KeyTabStruct.key2)
	{
		case 0:LEDPrintChar_H(0,0,Fristzimu);           //显示一组字母"ThisCQIT"
			break;
		case 1:LEDPrintChar_H(0,0,Secondzimu);           //显示1次第二组字母
			break;
		case 2:LEDPrintChar_H(0,0,Thirdzimu);          //显示1次第三组字母
			break;
		case 3:LEDPrintChar_H(0,0,Fourthzimu);          //显示1次第四组字母
			break;
		case 4:
			LEDPrintChar_H(0,0,Fristzimu);           //横向显示一组字母"ThisCQIT"
			LEDPrintChar_H(0,0,Secondzimu);           //横向显示第二组字母
			LEDPrintChar_H(0,0,Thirdzimu);          //横向显示第三组字母
			LEDPrintChar_H(0,0,Fourthzimu);          //横向显示第四组字母
			break;
		default:
		break;
	}

}
/********************************************************************************************************
** 函数名称 :void key_main()
** 函数功能 :菜单函数,根据按键值,实现相应功能
** 入口参数 :
** 出口参数 :无
********************************************************************************************************/
void key_main( void )
{
	//uint8 i,key;
	while(1)
		{
			KEY_PROC();
			switch(KeyTabStruct.key1)
			{
				case 0:  keyhanziprint_H(); 
					break;         
					/*if(KeyTabStruct.key2)  Timechange();         //修改时钟
					else                           //显示时钟
					{
						while (0 == (ILR & 0x01));	// 等待RTC增量中断
						ILR = 0x01;					// 清除中断标志
						SendTimeRtc();
                
						LEDPrintTime();             //显示星期、时分秒
					}
					break;*/
				case 1:  keyhanziprint();                           //显示汉字
					break;
					
				case 2:  keyzimuprint_H();                           //显示字母
					break;
				
				case 3:keyzimuprint();
					break;
				case 4:
					LEDPrintchinese_H(8,FristHanzi_H);
					LEDPrintchinese_H(8,SecondHanzi_H);
					LEDPrintchinese_H(8,ThirdHanzi_H);
					LEDPrintchinese_H(8,FourthHanzi_H);
					
					LEDPrintchinese(8,FristHanzi);
					LEDPrintchinese(8,SecondHanzi);
					LEDPrintchinese(8,ThirdHanzi);
					LEDPrintchinese(8,FourthHanzi);

					LEDPrintChar_H(0,0,Fristzimu);           //横向显示一组字母"ThisCQIT"
					LEDPrintChar_H(0,0,Secondzimu);           //横向显示第二组字母
					LEDPrintChar_H(0,0,Thirdzimu);          //横向显示第三组字母
					LEDPrintChar_H(0,0,Fourthzimu);          //横向显示第四组字母

					LEDPrintChar(0,0,Fristzimu);           //显示一组字母"ThisCQIT"
					LEDPrintChar(0,0,Secondzimu);           //显示第二组字母
					LEDPrintChar(0,0,Thirdzimu);          //显示第三组字母
					LEDPrintChar(0,0,Fourthzimu);          //显示第四组字母
					break;
					//for(i=0;i<100;i++)                   //显示星期、时分秒
					//{LEDPrintTime();
					//key=key_jiance();
					//if(key!=0) break;}
					//break;
					/*
					for(i=0;i<1;i++)
					LEDPrintchinese(8,FristHanzi);     //显示1次第一组汉字
					key=key_jiance();
					if(key!=0) break;
					
					for(i=0;i<1;i++)
					LEDPrintchinese(8,SecondHanzi);    //显示1次第二组汉字
					key=key_jiance();
					if(key!=0) break;
					
					for(i=0;i<1;i++)
					LEDPrintchinese(8,ThirdHanzi);     //显示1次第三组汉字
					key=key_jiance();
					if(key!=0) break;
					
					for(i=0;i<1;i++)
					LEDPrintchinese(8,FourthHanzi);    //显示1次第四组汉字
					key=key_jiance();
					if(key!=0) break;
					
					for(i=0;i<100;i++)                   //显示一组字母"ThisCQIT"
					{LEDPrintChar(0,0,Fristzimu);
					key=key_jiance();
					if(key!=0) break;}
					break;
					*/
				default:
					break;							
			}
			while(KeyTabStruct.key5)
			{
				if(KeyTabStruct.key5==1)
				{
						LEDPrintChar(0,0,snd);          //纵向显示串口接收到的字符串
				}
				if(KeyTabStruct.key5==2)			
				{
						LEDPrintChar_H(0,0,snd);          //横向显示串口接收到的字符串
				}
			}
			while(KeyTabStruct.key6)
				uart0();
		}
}

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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