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

📄 scan_key.c

📁 2005年全国大学生电子设计竞赛论文集
💻 C
字号:
#include <SPCE061V004.H>
//变量声明

extern unsigned int key_value;
unsigned int set_bit=0;			//光标闪动位置
unsigned int set_sign=0;		//电流符号(方向)
unsigned int set_value=0;		//电流设定值
unsigned int set_mode=0;		//设定标志位,set_mode=0时处于非设定状态
								//			  set_mode=1时处于设定状态


//函数声明
void keyboard(void);
void scankey(void);
//=========================================================================================
//
//=========================================================================================
void scankey(void)
{
	keyboard();
	switch (key_value)
	{
		case 0:	break;		//没按键
		case 1:	
			if (set_mode)
				switch (set_bit) 
				{
					case 0:	set_value=(set_value+1)%2001;break;
					case 1: set_value=(set_value+10)%2001;break;
					case 2: set_value=(set_value+100)%2001;break;
					case 3: set_value=(set_value+1000)%2001;break;
					case 4:	set_sign=(set_sign+1)%2;
					default:break;
				}
			asm("INT OFF");	
			LCD_Set_Num();
			asm("INT IRQ");
			key_value=0;
			break;
		case 2:
			if (set_mode) 
				switch (set_bit) 
				{
					case 0:	set_value=(set_value-1+2001)%2001;break;
					case 1: set_value=(set_value-10+2001)%2001;break;
					case 2: set_value=(set_value-100+2001)%2001;break;
					case 3: set_value=(set_value-1000+2001)%2001;break;
					case 4: set_sign=(set_sign+1)%2;
					default:break;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
				}
			asm("INT OFF");
			LCD_Set_Num();
			asm("INT IRQ");
			key_value=0;
			break;		
		case 3:
			if (set_mode) 
			{
				set_bit=(set_bit+1)%5;
				asm("INT OFF");
				LCD_Set_Shift();
				asm("INT IRQ");
			}
			key_value=0;
			break;
		case 4:
			if (set_mode) 
			{
				set_bit=(set_bit-1+5)%5;
				asm("INT OFF");
				LCD_Set_Shift();
				asm("INT IRQ");
			}
			key_value=0;
			break;
		case 5:
			set_mode=(set_mode+1)%2;
			if (set_mode) 
			{
				set_bit=0;	
				asm("INT OFF");		
				LCD_Set_Ini();
				asm("INT IRQ");				
			}
			else
				asm("INT OFF");
				LCD_Set_Finish();
				asm("INT IRQ");
			key_value=0;
			break;
		default: 
			break;
	}
}


⌨️ 快捷键说明

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