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

📄 read_key.lst

📁 SDU的字库
💻 LST
📖 第 1 页 / 共 2 页
字号:
 144             key_H   = ~key_H;
 145          
 146             key_code =  key_L;                  // 将6位键码存入key_code中
 147             key_code &= 0x3f;
 148           
 149             key_ctrl =  key_H & 0x03;
 150             key_ctrl <<= 2;
 151             key_ctrl |= key_L>>6;               // 将4位特殊码存入key_ctrl中
 152                                                 // 判有无键输入
 153             
 154             if(key_code==0 && key_ctrl==0)      // 无键
 155              {
 156                 ;
 157              }                                              // brush dis buffer sw ctrl
 158             if(key_code_temp_L == key_code && key_code_temp_H == key_ctrl)   
 159              {                                  // 有键但键码未变
 160                 ;
 161              }
 162             else                                // 有键且键码已变
 163              {       
 164                key_code_temp_H = key_ctrl;
 165                key_code_temp_L = key_code;  
 166              }
 167              
 168          }
C51 COMPILER V7.50   READ_KEY                                                              05/08/2005 19:55:53 PAGE 4   

 169          
 170          //------------------------------ end sub ----------------------------
 171          
 172          //++++++++++++++++++ key code turn to floor define ++++++++++++++++++
 173          
 174          // key code turn to define floor  
 175          
 176          
 177          void key_code_doing( uchar c_to_f )
 178          {
 179             
 180            switch( c_to_f )
 181            {
 182             //case  0  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 183             case  1  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 184             case  2  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 185             case  3  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 186             case  4  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 187             case  5  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 188             case  6  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 189             case  7  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 190             case  8  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 191             case  9  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 192          
 193             case 10  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 194             case 11  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 195             case 12  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 196             case 13  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 197             case 14  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 198             case 15  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 199             case 16  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 200             case 17  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 201             case 18  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 202             case 19  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 203          
 204             case 20  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 205             case 21  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 206             case 22  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 207             case 23  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 208             case 24  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 209             case 25  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 210             case 26  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 211             case 27  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 212             case 28  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 213             case 29  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 214          
 215             case 30  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 216             case 31  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 217             case 32  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 218             case 33  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 219             case 34  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 220             case 35  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 221             case 36  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 222             case 37  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 223             case 38  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 224             case 39  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 225          
 226             case 40  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 227             case 41  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 228             case 42  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 229             case 43  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 230             case 44  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
C51 COMPILER V7.50   READ_KEY                                                              05/08/2005 19:55:53 PAGE 5   

 231             case 45  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 232             case 46  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 233             case 47  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 234             case 48  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 235             case 49  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 236          
 237             case 50  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 238             case 51  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 239             case 52  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 240             case 53  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 241             case 54  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 242             case 55  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 243             case 56  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 244             case 57  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 245             case 58  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 246             case 59  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 247          
 248             case 60  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 249             case 61  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 250             case 62  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 251             case 63  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 252             case 64  :  floor_l = floor_tab[c_to_f*2+1]; floor_h = floor_tab[c_to_f*2]; break;
 253           
 254             default :  floor_l = 0xff; floor_h = 0xff;  break;  // send don't dis data
 255            }
 256          } 
 257          //++++++++++++++++++++++++++++++ sub end +++++++++++++++++++++++++++ 
 258          
 259          //!!!!!!!!!!!!!!!!!!!!!!!!! special key judge !!!!!!!!!!!!!!!!!!!!!!!
 260          
 261          void key_ctrl_doing()
 262          {
 263            switch( key_ctrl )
 264            {
 265                  case  0 :  special_code = 0; break;         //无特殊键
 266                  
 267                  case  1 :  special_code = 1; break;         //有上箭头
 268                  case  5 :  special_code = 2; break;         //有上箭头,且上滚
 269                  
 270                  case  2 :  special_code = 3; break;         //有下箭头
 271                  case  6 :  special_code = 4; break;         //有下箭头,且下滚
 272                  
 273                  case  8 :  special_code = 5; break;         //有暂停服务消息
 274                  
 275                  default :  special_code = 6; break;         //作出错处理
 276            }     
 277          }       
 278                   
 279           
 280          
 281          
 282          
 283          
 284          void key_decoder()
 285          {
 286                   read_key();
 287                   key_ctrl_doing();
 288                   switch( special_code )
 289                   {
 290                    case 0 : number_location_flag = 0;                                    key_code_doing( key_code );break;
 291                    case 1 : number_location_flag = 1; arrow_roll_flag = 0; arrow_type=1; key_code_doing( key_code );break;
 292                    case 2 : number_location_flag = 1; arrow_roll_flag = 1; arrow_type=1; key_code_doing( key_code );break;
C51 COMPILER V7.50   READ_KEY                                                              05/08/2005 19:55:53 PAGE 6   

 293                    case 3 : number_location_flag = 1; arrow_roll_flag = 0; arrow_type=0; key_code_doing( key_code );break;
 294                    case 4 : number_location_flag = 1; arrow_roll_flag = 1; arrow_type=0; key_code_doing( key_code );break;
 295                    case 5 : break; //out_0f_server(); break;
 296                    case 6 : break; //error(); break;
 297                   }       
 298          }          
 299           
 300           

C51 COMPILATION COMPLETE.  0 WARNING(S),  11 ERROR(S)

⌨️ 快捷键说明

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