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

📄 lcm.lst

📁 基于MST-G240128点阵液晶的 状态机机制 人机界面四级滚屏菜单 源代码 ,带时间片机制模拟操作系统
💻 LST
📖 第 1 页 / 共 4 页
字号:
 631   3                 }
 632   2                 if( (uint8)*str >= 0xA0 )
 633   2                 {
 634   3                    strncpy(regc, str, 2);
 635   3                    regc[2] = 0;
 636   3                    LCD_DispChStr16x16(x, y, regc, bReve, FontNo);
 637   3                    str = str + 2;
 638   3                    x = x + 16;
 639   3                 }
 640   2         }
 641   1      }
 642          
 643          
 644          /****************************************************************************
 645          * 名称:LCD_DispAsciiChCURS()
 646          * 功能:显示光标
 647          * 入口参数:x        指定显示位置,x坐标
 648          *           y        指定显示位置,y坐标
 649          *           bCOLOR  0/1, 不显示/显示.    
 650          *           bCHAR   0/1, ASCII码字符/汉字字符型光标.
 651          * 出口参数:
 652          * 说明:
 653          ****************************************************************************/
 654          void LCD_DispAsciiChCURS(uint8 xx, uint8 yy, bit bCOLOR, bit bCHAR)
 655          {                                                   
 656   1         uint8  idata x, y;
 657   1      
 658   1         x = xx;
 659   1              y = yy;
 660   1      
 661   1         if( bCHAR == 1 )    // 显示汉字
 662   1              {
 663   2                 if( bCOLOR == 1 )      // 显示光标
 664   2                      {
 665   3                    LCD_UpdateByte(x,   y+15, 0xff);
 666   3                    LCD_UpdateByte(x+8, y+15, 0xff);
 667   3            } 
 668   2                 else                   // 不显示光标
 669   2                      {
 670   3                    LCD_UpdateByte(x,   y+15, 0x00);
 671   3                    LCD_UpdateByte(x+8, y+15, 0x00);
 672   3            } 
 673   2              }
 674   1         else     // 显示ASCII码
C51 COMPILER V7.06   LCM                                                                   09/04/2006 09:56:02 PAGE 12  

 675   1              {
 676   2                 if( bCOLOR == 1 )      // 显示光标
 677   2                      {
 678   3                    LCD_UpdateByte(x,   y+15, 0xff);
 679   3            } 
 680   2                 else                   // 不显示光标
 681   2                      {
 682   3                    LCD_UpdateByte(x,   y+15, 0x00);
 683   3            } 
 684   2              }
 685   1      }
 686          
 687          
 688          /****************************************************************************
 689          ** 函数名称: LCD_SelfTest()
 690          ** 功能描述: LCD测试程序
 691          ** 入口参数: 无
 692          ** 出口参数: 无
 693          ** 全局变量: 无
 694          ** 调用模块: 无
 695          ** 说明:
 696          ****************************************************************************/
 697          void LCD_SelfTest(void)
 698          {   
 699   1         LCD_BLED = 1;  // Light ON.  
 700   1      
 701   1              Box();
*** WARNING C206 IN LINE 701 OF LCM.C: 'Box': missing function-prototype
 702   1              D1S(1);
 703   1         Staticmap();
*** WARNING C206 IN LINE 703 OF LCM.C: 'Staticmap': missing function-prototype
 704   1         D1S(1);
 705   1              Box();
 706   1      //   Scrollmap();
 707   1      /*
 708   1         LCD_DispAsciiChStr  (16, 96, "苏州LZK-X型电动机", 1);
 709   1      
 710   1         LCD_DispAsciiCh16x8 (16, 16, '4' );
 711   1         LCD_DispAsciiStr16x8( 0, 32, ">0123456789LZK-xABCDEFG");
 712   1         LCD_DispChChar16x16 (16, 48, "科", 1);
 713   1              LCD_DispChStr16x16  (32, 48, "科树", 1);
 714   1      
 715   1         LCD_DispChStr16x16  (64, 48, "通信", 1);
 716   1         LCD_DispChStr16x16  (64+2*16+8, 48, "公科有技限司", 1);
 717   1         LCD_DispChStr16x16  (16, 72, "友明科技有限公司", 1);
 718   1      
 719   1              LCD_DispAsciiChStr  (16,112, "常滑全", 0);
 720   1              LCD_DispAsciiChStr  (64,112, "科树", 1);
 721   1      */
 722   1         LCD_BLED = 0;  // Light OFF  
 723   1         D1S(1);
 724   1      }
 725          
 726          
 727          /****************************************************************************
 728          ** 函数名称: LCD_GoToXY()
 729          ** 功能描述: 光标定位
 730          ** 入口参数: 无
 731          ** 出口参数: 无
 732          ** 全局变量: 无
 733          ** 调用模块: 无
 734          ** 说明:
C51 COMPILER V7.06   LCM                                                                   09/04/2006 09:56:02 PAGE 13  

 735          ****************************************************************************/
 736          void LCD_GoToXY(uint8 x, uint8 y)
 737          {   
 738   1         CURS_X = x;
 739   1         CURS_Y = y;
 740   1      }
 741          
 742          
 743          
 744          
 745          Staticmap()
 746          {
 747   1        int i,j,tr1,tr2;
 748   1      
 749   1        LCD_CS();                         /* ExSRAM Page 16 */
 750   1      
 751   1        LCD_WriteCommand(0xB0); /* SET PAGE   ADDRESS               */
 752   1        LCD_WriteCommand(0x10); /* SET COLUMN ADDRESS MSB(00000000) */
 753   1        LCD_WriteCommand(0x00); /* SET COLUMN ADDRESS LSB(00000000) */
 754   1        LCD_WriteCommand(0x89); /* SET RAM    ADDRESS CONTROL       */
 755   1        for(i=0;i<480;i++)
 756   1        {
 757   2           LCD_WriteData(0x00);
 758   2      //        DmS(10);
 759   2        }
 760   1        for(i=0,tr1=0,tr2=0;i<13;i++)
 761   1        {
 762   2          for(j=0;j<24;j++)
 763   2          {
 764   3            LCD_WriteData(0x00);
 765   3      //         DmS(10);
 766   3          }
 767   2          for(j=0;j<96;j++,tr1++)
 768   2          {
 769   3            LCD_WriteData(TRULY1[tr1]);
 770   3      //         DmS(10);
 771   3          }
 772   2          for(j=0;j<96;j++,tr2++)
 773   2          {
 774   3            LCD_WriteData(TRULY2[tr2]);
 775   3      //         DmS(10);
 776   3          }
 777   2          for(j=0;j<24;j++)
 778   2          {
 779   3            LCD_WriteData(0x00);
 780   3      //         DmS(10);
 781   3          }
 782   2        }
 783   1        for(i=0;i<240;i++)
 784   1          LCD_WriteData(0x00);
 785   1      }
 786          
 787          Box()
 788          {
 789   1         int i,j;
 790   1      
 791   1         LCD_CS();                         /* ExSRAM Page 16 */
 792   1      
 793   1         LCD_WriteCommand(0xB0); /*SET PAGE ADDRESS*/
 794   1         LCD_WriteCommand(0x10); /*SET COLUMN ADDRESS MSB(00000000)*/
 795   1         LCD_WriteCommand(0x00); /*SET COLUMN ADDRESS LSB(00000000)*/
 796   1         LCD_WriteCommand(0x89); /*SET RAM ADDRESS CONTROL*/
C51 COMPILER V7.06   LCM                                                                   09/04/2006 09:56:02 PAGE 14  

 797   1      
 798   1         LCD_WriteData(0xFF);
 799   1      
 800   1         for(i=0;i<238;i++)
 801   1           LCD_WriteData(0x01);
 802   1      
 803   1         LCD_WriteData(0xFF);
 804   1      
 805   1         for(i=0;i<14;i++)
 806   1         {
 807   2            LCD_WriteData(0xFF);
 808   2      
 809   2            for(j=0;j<238;j++)
 810   2              LCD_WriteData(0x00);
 811   2                         
 812   2            LCD_WriteData(0xFF);
 813   2         }
 814   1      
 815   1         LCD_WriteData(0xFF);
 816   1      
 817   1         for(i=0;i<238;i++)
 818   1           LCD_WriteData(0x80);
 819   1      
 820   1         LCD_WriteData(0xFF);
 821   1         ExInSRAM_Select(0);       //  
 822   1      }
 823          
 824          
 825          
 826          
 827          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2074    ----
   CONSTANT SIZE    =   5000    ----
   XDATA SIZE       =      2       7
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      42
   IDATA SIZE       =   ----      10
   BIT SIZE         =   ----       8
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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