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

📄 keyboard.i

📁 该模板使用于周立功公司研发的EasyARM2100系列开发板
💻 I
字号:
#line 1 "src\\keyboard.c"
#line 1 "src\\system.h"










#line 1 "src\\target.h"





























 










extern void Reset(void);
















 

extern void TargetInit(void);


















 





 



 
#line 12 "src\\system.h"

#line 1 "src\\sys_init.h"





extern 	void	init_sys(void);
extern 	void 	init_io(void);
extern 	void 	init_clock(void);
extern 	void 	init_timer0(void);
extern 	void 	init_timer1(void);
extern 	void 	init_int0(void);
extern 	void 	init_int2(void);

#line 14 "src\\system.h"













 
















 




















#line 2 "src\\keyboard.c"
uint8 Key_ID;
char S[10],s[10];
extern uint8 tiaoshi_falg;
extern uint8 Bclear_LCD_screen;
extern uint8 current_screen;
extern uint8 show_ID;
extern uint8 set_ID;
uint8 current_kvalue=0;

 uint8 Skey_value;
 uint8 exit_falg=0;
uint8 valid_falg=0;
float soft_key_value;
uint8 disp_ID;
double get_keyvalue(void)
{
 uint8 i;
 


 for(i=0;i<10;i++)
   {
   S[i]=0;s[i]=0;
   }
  i=0;
 while(1)
   {
            if(exit_falg==1)
              {
               exit_falg=0;
               tiaoshi_falg=0;
               break;
              }
           if((IO0PIN & DOWN)==0)
             {
              delay(200);
              if((IO0PIN & DOWN)==0)
                {
                 while((IO0PIN & DOWN)==0);
                 Key_ID++;
                 if (Key_ID>13)
                 Key_ID=0;
                }
             }
            else if( (IO0PIN & UP ) == 0)
             {
             delay(200);
              if((IO0PIN & UP)==0)
               {
                while((IO0PIN & UP)==0);
                Key_ID--;
                if (Key_ID>13)
                  {
                  Key_ID=13;
                  } 
               }
              }
             else  if((IO0PIN & ENTER)==0)
              {
                 delay(200);
                 if((IO0PIN & ENTER)==0)
                 {
                  while((IO0PIN & ENTER)==0); 
                     
                   if(valid_falg==1)
                   {
                    valid_falg=0;  disp_ID=i;
                    switch(Skey_value)
                       {
                          case  0:
                                 {
                                 current_kvalue=0x30;
                                 S[i]=current_kvalue;
                                 s[i]=0;
                                 i++;
                                 }break;
                         case  1:
                                {
                                current_kvalue=0x31;
                                S[i]=current_kvalue;
                                s[i]=1; 
                                i++;
                                }break;
                        case  2:
                                {
                                current_kvalue=0x32;
                                S[i]=current_kvalue;
                                s[i]=2;
                                i++;
                                }break;
                        case  3:
                                {
                                current_kvalue=0x33;
                                S[i]=current_kvalue;
                                s[i]=3;
                                i++;
                                 }break;
                        case  4:
                                {
                                current_kvalue=0x34;
                                S[i]=current_kvalue;
                                s[i]=4;
                                i++;
                                 }break;
                        case  5:
                                {
                                current_kvalue=0x35;
                                S[i]=current_kvalue;
                                s[i]=5;
                                i++;
                                 }break;
                        case  6:
                                {
                                current_kvalue=0x36;
                                S[i]=current_kvalue;
                                s[i]=6;
                                i++;
                                }break;    
                        case  7:
                                {
                                current_kvalue=0x37;
                                S[i]=current_kvalue;
                                s[i]=7;
                                i++;  
                                }break;
                        case  8:
                                {
                                 current_kvalue=0x38;
                                 S[i]=current_kvalue;
                                 s[i]=8;
                                 i++;   
                                }break;
                        case  9:
                                {
                                current_kvalue=0x39;
                                S[i]=current_kvalue;
                                s[i]=9;
                                i++;
                                }break;
                        case  10:
                                {
                                 current_kvalue=0x2e;
                                 S[i]=current_kvalue;
                                 s[i]=10;
                                 i++;
                                }break;
                        case  11:
                                {
                                 soft_key_value=0;
                                 current_kvalue=0;
                                 for(i=0;i<10;i++)
                                    {
                                     S[i]=0;s[i]=0;
                                     }
                                     i=0;   
                                 }break;
                        case  12:
                                 {
                                 current_kvalue=0;
                                 soft_key_value=atof(S);
                                 disp_ID=disp_ID-1;
                                 set_ID=1;
                               
                                 }break;
                        case  13:
                                 {
                                  current_kvalue=0;
                                  exit_falg=1;
                                  }break;
                        default:
                              break;
                        }
                     } 
                   
                
                    
                          show_picture(kuang,16,18,92,16); 
                    
                   
                  switch(disp_ID)
                  {
                  
                   case 0:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);      
                         }break;
                   case 1:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);  
                          show_picture(NUM[s[1]],16, 30,10,16); 
                         }break;
                   case 2:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);  
                          show_picture(NUM[s[1]],16, 30,10,16); 
                          show_picture(NUM[s[2]],16, 40,10,16);   
                         }break;
                   case 3:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);  
                          show_picture(NUM[s[1]],16, 30,10,16); 
                          show_picture(NUM[s[2]],16, 40,10,16); 
                          show_picture(NUM[s[3]],16, 50,10,16);
                         }break;
                   case 4:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);  
                          show_picture(NUM[s[1]],16, 30,10,16); 
                          show_picture(NUM[s[2]],16, 40,10,16); 
                          show_picture(NUM[s[3]],16, 50,10,16);  
                          show_picture(NUM[s[4]],16, 60,10,16);   
                         }break;
                   case 5:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);  
                          show_picture(NUM[s[1]],16, 30,10,16); 
                          show_picture(NUM[s[2]],16, 40,10,16); 
                          show_picture(NUM[s[3]],16, 50,10,16);  
                          show_picture(NUM[s[4]],16, 60,10,16);  
                          show_picture(NUM[s[5]],16, 70,10,16);    
                         }break;
                   case 6:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);  
                          show_picture(NUM[s[1]],16, 30,10,16); 
                          show_picture(NUM[s[2]],16, 40,10,16); 
                          show_picture(NUM[s[3]],16, 50,10,16);  
                          show_picture(NUM[s[4]],16, 60,10,16);  
                          show_picture(NUM[s[5]],16, 70,10,16); 
                          show_picture(NUM[s[6]],16, 80,10,16);  
                         }break;
                   case 7:
                         {
                          show_picture(kuang,    16, 18,92,16);
                          show_picture(NUM[s[0]],16, 20,10,16);  
                          show_picture(NUM[s[1]],16, 30,10,16); 
                          show_picture(NUM[s[2]],16, 40,10,16); 
                          show_picture(NUM[s[3]],16, 50,10,16);  
                          show_picture(NUM[s[4]],16, 60,10,16);  
                          show_picture(NUM[s[5]],16, 70,10,16); 
                          show_picture(NUM[s[6]],16, 80,10,16); 
                          show_picture(NUM[s[7]],16, 90,10,16); 
                             
                         }break;
                         
                    case 8:
                         {
                          show_picture(err_input,    16, 18,92,16);
                         }break;
                  default:
                          break;
                         
                  }
                 }
               }
            else if ((IO0PIN & CANCEL)==0)  
             {
              delay(200);
              if((IO0PIN & CANCEL)==0)
                {
                 while((IO0PIN & CANCEL)==0);
                 current_screen=DEFAULT_SCREEN;
                 Bclear_LCD_screen=1;
                 show_ID=0;
               


 
                 break;
                }
             }  
             
           





 
          switch(Key_ID)
         {
          case KEY_0:
                {
                 show_picture(key_0,32,18,92,32);
                 Skey_value=0;
                 valid_falg=1;
                }
                 break;
          case KEY_1:
                {
                show_picture(key_1,32,18,92,32);
                Skey_value=1;
                valid_falg=1;
                }
                 break;
           case KEY_2:
                {
                show_picture(key_2,32,18,92,32);
                Skey_value=2;
                valid_falg=1;
                }
                 break;
           case KEY_3:
                {
                show_picture(key_3,32,18,92,32);
                Skey_value=3;
                valid_falg=1;
                }
                 break;
           case KEY_4:
                {
                show_picture(key_4,32,18,92,32);
                Skey_value=4;
                valid_falg=1;
                }
                 break;
           case KEY_5:
                {
                show_picture(key_5,32,18,92,32);
                Skey_value=5;
                valid_falg=1;
                }
                 break;
           case KEY_6:
                {
                show_picture(key_6,32,18,92,32);
                Skey_value=6;
                valid_falg=1;
                }
                 break;
           case KEY_7:
                {
                show_picture(key_7,32,18,92,32);
                Skey_value=7;
                valid_falg=1;
                }
                 break;
           case KEY_8:
                {
                 show_picture(key_8,32,18,92,32);
                Skey_value=8;
                valid_falg=1;
                }
                 break;
           case KEY_9:
                {
                show_picture(key_9,32,18,92,32);
                Skey_value=9;
                valid_falg=1;
                }
                 break;
           case KEY_DIAN:             
                {
                show_picture(key_dian,32,18,92,32);
                Skey_value=10;
                valid_falg=1;
                }
                 break;
           case KEY_CANCEL:           
                {
                show_picture(key_cancel,32,18,92,32);
                Skey_value=11;
                valid_falg=1;
                }
                 break;
           case KEY_OK:                
                {
                show_picture(key_ok,32,18,92,32);
                Skey_value=12;
                valid_falg=1;
                }
                 break;
           case KEY_EXIT:            
                {
                show_picture(key_exit,32,18,92,32);
                Skey_value=13;
                valid_falg=1; 
                }
                 break;
           default:
                break;
    } 
   } 
 return soft_key_value;
}

⌨️ 快捷键说明

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