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

📄 main.lst

📁 用单片机控制触摸屏
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   MAIN                                                                  10/10/2008 18:23:29 PAGE 5   

 242   1                 dat2 = dat2|(0x80>>((dx%16)-8)) ;
 243   1              else
 244   1                 dat1 = dat1|(0x80>>(dx%16)) ;
 245   1              write_command ( 0x36 ) ;
 246   1              dy = dy|0x80 ;
 247   1              dx = (dx/16)|0x80 ;
 248   1              write_GDRAM ( dx,dy,dat1,dat2 ) ;
 249   1              write_command ( 0x36 ) ;
 250   1       }
 251          
 252           /*******************************显示值********************************/
 253           void display_value ( int x , uchar addr )
 254           {
 255   1          uchar i,j ;
 256   1              uint flag1=1 ;
 257   1              int t_x ;
 258   1              if ( x>=0 )
 259   1              {
 260   2                 t_x = x ;
 261   2                 j = 0 ;
 262   2              }       
 263   1              else
 264   1              {
 265   2                 t_x = 0-x ;
 266   2                 j = 1 ;
 267   2              }
 268   1              write_command ( 0x30 ) ;
 269   1              write_command ( addr ) ;
 270   1              for ( i=0;i<6;i++ )
 271   1              {
 272   2                 temp_f[i] = 0x20 ;
 273   2              }
 274   1              i = 5 ;
 275   1              while ( 1 )
 276   1              {
 277   2                 if ( t_x>0 )
 278   2                 {
 279   3                        temp_f[i] = word[t_x%10] ;
 280   3                        t_x /= 10 ;
 281   3                 }
 282   2                 else
 283   2                    break ;
 284   2                 i-- ;
 285   2                 if ( i<0 )
 286   2                    break ;
 287   2              }
 288   1              if ( x==0 )
 289   1              {
 290   2                 temp_f[5] = word[0] ;
 291   2              }
 292   1              if ( j==1 )
 293   1                 temp_f[0] = 0x2d ;
 294   1              for ( i=0;i<6;i++ )
 295   1              {
 296   2                 write_word ( temp_f[i] ) ;
 297   2              }
 298   1       }
 299          
 300           /*--------------------------------------------------------------------------*/
 301          
 302           /*                               触摸屏程序                                 */
 303           
C51 COMPILER V7.50   MAIN                                                                  10/10/2008 18:23:29 PAGE 6   

 304           /*--------------------------------------------------------------------------*/
 305           /*------------------------------计算器键值判断------------------------------*/
 306           void calculator_key ( void )
 307           {
 308   1          key_flag = ((X/760)<<4)|((Y/900)&0x0f) ;
 309   1              switch ( key_flag )
 310   1          {
 311   2                 case 0x00: key_value = 0 ; break ; //对键值赋值
 312   2                 case 0x10: key_value = 1 ; break ;
 313   2                 case 0x20: key_value = 2 ; break ; 
 314   2                 case 0x30: key_value = 3 ; break ;
 315   2                 case 0x40: key_value = 4 ; break ;
 316   2                 case 0x01: key_value = 5 ; break ;
 317   2                 case 0x11: key_value = 6 ; break ;
 318   2                 case 0x21: key_value = 7 ; break ;
 319   2                 case 0x31: key_value = 8 ; break ;
 320   2                 case 0x41: key_value = 9 ; break ;
 321   2                 case 0x02: key_value = 10 ; break ;
 322   2                 case 0x12: key_value = 11 ; break ;
 323   2                 case 0x22: key_value = 12 ; break ;
 324   2                 case 0x32: key_value = 13 ; break ;
 325   2                 case 0x42: key_value = 14 ; break ;
 326   2                 case 0x03: key_value = 15 ; break ;
 327   2                 case 0x13: key_value = 16 ; break ;
 328   2                 case 0x23: key_value = 17 ; break ;
 329   2                 case 0x33: key_value = 18 ; break ;
 330   2                 case 0x43: key_value = 19 ; break ;
 331   2              }
 332   1       }
 333          
 334           /*--------------------------------计算器函数--------------------------------*/
 335           void calculator_main ( void )
 336           {
 337   1          switch ( key_value )
 338   1              {
 339   2                 case 19:                                       //按键0
 340   2                    if( value_flag==0 )
 341   2                        {
 342   3                           if( value_act<0 )
 343   3                                  value_act=value_act*10-0 ; 
 344   3                               else
 345   3                                  value_act=value_act*10+0 ; 
 346   3                        }
 347   2                    else
 348   2                        {
 349   3                           if( value_pas<0 )
 350   3                                  value_pas=value_pas*10-0 ; 
 351   3                               else
 352   3                                  value_pas=value_pas*10+0 ; 
 353   3                        }
 354   2                        break ;
 355   2             case 14:                                       //按键1
 356   2                    if( value_flag==0 )
 357   2                        {
 358   3                           if( value_act<0 )
 359   3                                  value_act=value_act*10-1 ; 
 360   3                               else
 361   3                                  value_act=value_act*10+1 ; 
 362   3                        }
 363   2                    else
 364   2                        {
 365   3                           if( value_pas<0 )
C51 COMPILER V7.50   MAIN                                                                  10/10/2008 18:23:29 PAGE 7   

 366   3                                  value_pas=value_pas*10-1 ; 
 367   3                               else
 368   3                                  value_pas=value_pas*10+1 ; 
 369   3                        }
 370   2                        break ;
 371   2             case 13:                                       //按键2
 372   2                    if( value_flag==0 )
 373   2                        {
 374   3                           if( value_act<0 )
 375   3                                  value_act=value_act*10-2 ; 
 376   3                               else
 377   3                                  value_act=value_act*10+2 ; 
 378   3                        }
 379   2                    else
 380   2                        {
 381   3                           if( value_pas<0 )
 382   3                                  value_pas=value_pas*10-2 ; 
 383   3                               else
 384   3                                  value_pas=value_pas*10+2 ; 
 385   3                        }
 386   2                        break ;
 387   2             case 12:                                       //按键3
 388   2                    if( value_flag==0 )
 389   2                        {
 390   3                           if( value_act<0 )
 391   3                                  value_act=value_act*10-3 ; 
 392   3                               else
 393   3                                  value_act=value_act*10+3 ; 
 394   3                        }
 395   2                    else
 396   2                        {
 397   3                           if( value_pas<0 )
 398   3                                  value_pas=value_pas*10-3 ; 
 399   3                               else
 400   3                                  value_pas=value_pas*10+3 ; 
 401   3                        }
 402   2                        break ;
 403   2                 case 9:                                       //按键4
 404   2                    if( value_flag==0 )
 405   2                        {
 406   3                           if( value_act<0 )
 407   3                                  value_act=value_act*10-4 ; 
 408   3                               else
 409   3                                  value_act=value_act*10+4 ; 
 410   3                        }
 411   2                    else
 412   2                        {
 413   3                           if( value_pas<0 )
 414   3                                  value_pas=value_pas*10-4 ; 
 415   3                               else
 416   3                                  value_pas=value_pas*10+4 ; 
 417   3                        }
 418   2                        break ;
 419   2             case 8:                                       //按键5
 420   2                    if( value_flag==0 )
 421   2                        {
 422   3                           if( value_act<0 )
 423   3                                  value_act=value_act*10-5 ; 
 424   3                               else
 425   3                                  value_act=value_act*10+5 ; 
 426   3                        }
 427   2                    else
C51 COMPILER V7.50   MAIN                                                                  10/10/2008 18:23:29 PAGE 8   

 428   2                        {
 429   3                           if( value_pas<0 )
 430   3                                  value_pas=value_pas*10-5 ; 
 431   3                               else
 432   3                                  value_pas=value_pas*10+5 ; 
 433   3                        }
 434   2                        break ;
 435   2             case 7:                                       //按键6
 436   2                    if( value_flag==0 )
 437   2                        {
 438   3                           if( value_act<0 )
 439   3                                  value_act=value_act*10-6 ; 
 440   3                               else
 441   3                                  value_act=value_act*10+6 ; 
 442   3                        }
 443   2                    else
 444   2                        {
 445   3                           if( value_pas<0 )
 446   3                                  value_pas=value_pas*10-6 ; 
 447   3                               else
 448   3                                  value_pas=value_pas*10+6 ; 
 449   3                        }
 450   2                        break ;
 451   2             case 4:                                       //按键7
 452   2                    if( value_flag==0 )
 453   2                        {
 454   3                           if( value_act<0 )
 455   3                                  value_act=value_act*10-7 ; 
 456   3                               else
 457   3                                  value_act=value_act*10+7 ; 
 458   3                        }
 459   2                    else
 460   2                        {
 461   3                           if( value_pas<0 )
 462   3                                  value_pas=value_pas*10-7 ; 
 463   3                               else
 464   3                                  value_pas=value_pas*10+7 ; 
 465   3                        }
 466   2                        break ;
 467   2             case 3:                                       //按键8
 468   2                    if( value_flag==0 )
 469   2                        {
 470   3                           if( value_act<0 )
 471   3                                  value_act=value_act*10-8 ; 
 472   3                               else
 473   3                                  value_act=value_act*10+8 ; 
 474   3                        }
 475   2                    else
 476   2                        {
 477   3                           if( value_pas<0 )
 478   3                                  value_pas=value_pas*10-8 ; 
 479   3                               else
 480   3                                  value_pas=value_pas*10+8 ; 
 481   3                        }
 482   2                        break ;
 483   2                 case 2:                                       //按键9
 484   2                    if( value_flag==0 )
 485   2                        {
 486   3                           if( value_act<0 )
 487   3                                  value_act=value_act*10-9 ; 
 488   3                               else
 489   3                                  value_act=value_act*10+9 ; 

⌨️ 快捷键说明

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