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

📄 lcd_dis.lst

📁 本代码实现的是12864图形LCD模块
💻 LST
📖 第 1 页 / 共 3 页
字号:
 414          #endif
 415          #if     LCD_XY_Switch == 1
 416                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 417                          Write_Dot_LCD(y,x,Color);
 418                  #endif
 419                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 420                          Write_Dot_LCD(y,LCD_Y_MAX - x,Color);
 421                  #endif
 422                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 423                          Write_Dot_LCD(LCD_X_MAX - y,x,Color);
 424                  #endif
 425                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
C51 COMPILER V8.08   LCD_DIS                                                               11/02/2007 15:16:55 PAGE 8   

 426                          Write_Dot_LCD(LCD_X_MAX - y,LCD_Y_MAX - x,Color);
 427                  #endif
 428          #endif  
 429          }*/
 430          /*
 431          //========================================================================
 432          // 函数: unsigned int Get_Dot(int x,int y)
 433          // 描述: 获取x,y为坐标的象素
 434          // 参数: x  X轴坐标     y  Y轴坐标      
 435          // 返回: Color  像素颜色 
 436          // 备注: 这里以及之前的所有x和y坐标系都是用户层的,并不是实际LCD的坐标体系
 437          //               本函数提供可进行坐标变换的接口
 438          // 版本:
 439          //      2006/10/15      First version
 440          //========================================================================
 441          unsigned int Get_Dot(int x,int y)
 442          {
 443          #if     LCD_XY_Switch == 0
 444                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 445                          return Get_Dot_LCD(x,y);
 446                  #endif
 447                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 448                          return Get_Dot_LCD(LCD_X_MAX - x,y);
 449                  #endif
 450                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 451                          return Get_Dot_LCD(x,LCD_Y_MAX - y);
 452                  #endif
 453                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 454                          return Get_Dot_LCD(LCD_X_MAX - x,LCD_Y_MAX - y);
 455                  #endif
 456          #endif
 457          #if     LCD_XY_Switch == 1
 458                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 459                          return Get_Dot_LCD(y,x);
 460                  #endif
 461                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 462                          return Get_Dot_LCD(y,LCD_Y_MAX - x);
 463                  #endif
 464                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 465                          return Get_Dot_LCD(LCD_X_MAX - y,x);
 466                  #endif
 467                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 468                          return Get_Dot_LCD(LCD_X_MAX - y,LCD_Y_MAX - x);
 469                  #endif
 470          #endif  
 471          }
 472          
 473          //========================================================================
 474          // 函数: void Clear_Dot(int x,int y)
 475          // 描述: 清除以x,y为坐标的象素
 476          // 参数: x  X轴坐标     y  Y轴坐标      
 477          // 返回: 无 
 478          // 备注: 这里以及之前的所有x和y坐标系都是用户层的,并不是实际LCD的坐标体系
 479          //               本函数提供可进行坐标变换的接口
 480          // 版本:
 481          //      2006/10/15      First version
 482          //========================================================================
 483          void Clear_Dot(int x,int y)
 484          {
 485          #if     LCD_XY_Switch == 0
 486                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 487                          Clear_Dot_LCD(x,y);
C51 COMPILER V8.08   LCD_DIS                                                               11/02/2007 15:16:55 PAGE 9   

 488                  #endif
 489                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 490                          Clear_Dot_LCD(LCD_X_MAX - x,y);
 491                  #endif
 492                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 493                          Clear_Dot_LCD(x,LCD_Y_MAX - y);
 494                  #endif
 495                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 496                          Clear_Dot_LCD(LCD_X_MAX - x,LCD_Y_MAX - y);
 497                  #endif
 498          #endif
 499          #if     LCD_XY_Switch == 1
 500                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 501                          Clear_Dot_LCD(y,x);
 502                  #endif
 503                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 504                          Clear_Dot_LCD(y,LCD_Y_MAX - x);
 505                  #endif
 506                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 507                          Clear_Dot_LCD(LCD_X_MAX - y,x);
 508                  #endif
 509                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 510                          Clear_Dot_LCD(LCD_X_MAX - y,LCD_Y_MAX - x);
 511                  #endif
 512          #endif  
 513          }
 514          //========================================================================
 515          // 函数: void Set_Dot_Addr(int x,int y)
 516          // 描述: 设置当前需要操作的象素地址
 517          // 参数: x  X轴坐标     y  Y轴坐标      
 518          // 返回: 无 
 519          // 备注: 这里以及之前的所有x和y坐标系都是用户层的,并不是实际LCD的坐标体系
 520          //               本函数提供可进行坐标变换的接口
 521          // 版本:
 522          //      2006/10/15      First version
 523          //========================================================================
 524          void Set_Dot_Addr(int x,int y)
 525          {
 526          #if     LCD_XY_Switch == 0
 527                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 528                          Set_Dot_Addr_LCD(x,y);
 529                  #endif
 530                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 531                          Set_Dot_Addr_LCD(LCD_X_MAX - x,y);
 532                  #endif
 533                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 534                          Set_Dot_Addr_LCD(x,LCD_Y_MAX - y);
 535                  #endif
 536                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 537                          Set_Dot_Addr_LCD(LCD_X_MAX - x,LCD_Y_MAX - y);
 538                  #endif
 539          #endif
 540          #if     LCD_XY_Switch == 1
 541                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 542                          Set_Dot_Addr_LCD(y,x);
 543                  #endif
 544                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 545                          Set_Dot_Addr_LCD(y,LCD_Y_MAX - x);
 546                  #endif
 547                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 548                          Set_Dot_Addr_LCD(LCD_X_MAX - y,x);
 549                  #endif
C51 COMPILER V8.08   LCD_DIS                                                               11/02/2007 15:16:55 PAGE 10  

 550                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 551                          Set_Dot_Addr_LCD(LCD_X_MAX - y,LCD_Y_MAX - x);
 552                  #endif
 553          #endif          
 554          }*/
 555          /*
 556          //========================================================================
 557          // 函数: void Pos_Switch(unsigned int * x,unsigned int * y)
 558          // 描述: 将画面的坐标变换为实际LCD的坐标体系,以便于快速画圆形以及矩形
 559          // 参数: x  X轴坐标     y  Y轴坐标      
 560          // 返回: 无 
 561          // 备注: 这里以及之前的所有x和y坐标系都是用户层的,并不是实际LCD的坐标体系
 562          //               本函数提供可进行坐标变换的接口
 563          // 版本:
 564          //      2006/10/15      First version
 565          //========================================================================
 566          void Pos_Switch(unsigned int * x,unsigned int * y)
 567          {
 568          #if     LCD_XY_Switch == 0
 569                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 570                  #endif
 571                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 572                          *x = LCD_X_MAX-*x;
 573                  #endif
 574                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 575                          *y = LCD_Y_MAX-*y;
 576                  #endif
 577                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 578                          *x = LCD_X_MAX-*x;
 579                          *y = LCD_Y_MAX-*y;
 580                  #endif
 581          #endif
 582          #if     LCD_XY_Switch == 1
 583                  unsigned int uiTemp;
 584                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 0)
 585                          uiTemp = *x;
 586                          *x = y;
 587                          *y = uiTemp;
 588                  #endif
 589                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 0)
 590                          uiTemp = LCD_Y_MAX-*x;
 591                          *x = *y;
 592                          *y = uiTemp;
 593                  #endif
 594                  #if (LCD_X_Rev == 0)&&(LCD_Y_Rev == 1)
 595                          uiTemp = *x;
 596                          *x = LCD_X_MAX-*y;
 597                          *y = uiTemp;
 598                  #endif
 599                  #if (LCD_X_Rev == 1)&&(LCD_Y_Rev == 1)
 600                          uiTemp = LCD_Y_MAX - *x;
 601                          *x = LCD_X_MAX-*y;
 602                          *y = uiTemp;
 603                  #endif
 604          #endif
 605          }
 606          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    678    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V8.08   LCD_DIS                                                               11/02/2007 15:16:55 PAGE 11  

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8      28
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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