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

📄 display.lst

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 LST
字号:
C51 COMPILER V7.50   DISPLAY                                                               08/20/2008 17:10:35 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN ..\output\output_bin\output_voice\display.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\code\common\display.c LARGE OPTIMIZE(9,SIZE) BROWSE INCDIR(..\..\..\b
                    -sp\include;..\..\code\ap_voice\src\include;..\..\code\global;..\..\code\include) DEFINE(CONFIG_ASIC,dynamic_load) DEBUG 
                    -OBJECTEXTEND PRINT(..\output\output_bin\output_voice\display.lst) OBJECT(..\output\output_bin\output_voice\display.obj)

line level    source

   1          /*******************
   2           *    display.c
   3           *******************/
   4          
   5          #include <string.h>
   6          #include "api.h"
   7          #include "lcd.h"
   8          #include "common.h"
   9          #include "display.h"
  10           
  11          void gfx_bg(void)
  12          {
  13   1              UINT8 i;
  14   1              
  15   1              gfx_set_bg(COLOR_WHITE);
  16   1              
  17   1              lcd_set_rw_area(SCREEN_START_X,SCREEN_START_Y,SCREEN_WIDTH,SCREEN_HEIGHT);
  18   1                      
  19   1              for(i = 0; i < SCREEN_HEIGHT; i++)
  20   1                      lcd_put_data((UINT16)bg_pixel, sizeof(bg_pixel));
  21   1      }
  22          
  23          void gfx_bg_rectangle(UINT8 x, UINT8 y, UINT8 w, UINT8 h)
  24          {
  25   1              lcd_set_rw_area(x, y, w, h);
  26   1              
  27   1              while(h--)
  28   1                      lcd_put_data((UINT16)bg_pixel, w << 1);
  29   1      }
  30          
  31          void gfx_set_bg(UINT16 color)
  32          {
  33   1              UINT8 i;
  34   1              static UINT16 curr_color;
  35   1      
  36   1              if(curr_color != color)
  37   1                      curr_color = color;
  38   1                      
  39   1              /* Init background pixel */
  40   1              for(i = 0; i < SCREEN_WIDTH; i++)
  41   1                      bg_pixel[i] = color;
  42   1      }
  43          
  44          
  45          void gfx_filename(UINT8 x, UINT8 y)
  46          {       
  47   1              if(*(UINT16 xdata *)curr_finfo.pu8LongFileName == 0) {
  48   2                      get_short_name(&curr_finfo, _buf);
  49   2                      lcd_puts(x, y, _buf, FONTSIZE_HYPER);
  50   2              }
  51   1              else {
  52   2                      get_long_name(&curr_finfo, _buf);
  53   2                      lcd_puts_unicode(x, y, (UINT16 *)_buf, FONTSIZE_HYPER);
C51 COMPILER V7.50   DISPLAY                                                               08/20/2008 17:10:35 PAGE 2   

  54   2              }
  55   1      }
  56          
  57          #if 0
              void vScollDataUpdate(INT8U *buf)
              {
                      if(!bDisplayLongFileName)
                              u8ScrollLen = strlen(u8ScrollData);
                      else
                      {
                              INT8U i;
                              u8ScrollLen = u16GetUniStringLength(buf);       
                              for(i=0; i<u8ScrollLen; i++)
                                      u8ScrollData[i] = buf[i];
                              u8ScrollData[i] = 0x20; u8ScrollData[i+1] = 0x00;
                              u8ScrollLen += 2;   
                      }
                      u8ScrollPos = 0;
                      bNeedScroll = TRUE;
                      vLcd_ScollDataUpdate();
              }
              
              //--------------------------------------------------------------------------
              void vLcd_SongName()
              {
                      if(FALSE == api_bGetCurrMusicInfo(&cMusic))
                              return;
                              
                      bDisplayLongFileName = FALSE;
                    
                      if(cMusic.pu8Title[0] != 0 || cMusic.pu8Artist[0] != 0 || cMusic.pu8Album[0] != 0) 
                      {
                              my_sprintf(u8ScrollData, "%s %s %s ", cMusic.pu8Title, cMusic.pu8Artist, cMusic.pu8Album);
                      }
                      else
                      {  
                              if(cMusic.pu8LongFileName[0] == 0 && cMusic.pu8LongFileName[1] == 0) {
                                      my_sprintf(u8ScrollData, "%s.%s", cMusic.pu8FileName, cMusic.pu8FileExt);               
                              }       
                              else
                                      bDisplayLongFileName = TRUE;
                      }
              
                      vScollDataUpdate(cMusic.pu8LongFileName);
              }
              
              //--------------------------------------------------------------------------
              void vLcd_ScollDataUpdate(void)
              {
                      INT8U i,j;
                      INT16U u16unicode;
                                            
                      if(!bNeedScroll)
                         return;
                         
                      for(i=0, j=u8ScrollPos; i<SCREEN_WIDTH; i++)
                      {
                              if(i >= u8ScrollLen)
                                      break;
                              u8LCDData[i] = u8ScrollData[j];
                              if(++j >= u8ScrollLen)
                                      j = 0;          
C51 COMPILER V7.50   DISPLAY                                                               08/20/2008 17:10:35 PAGE 3   

                      }   
                    
                      u8LCDData[i] = u8LCDData[i+1] = 0;  
                      
                      //vLcdSetPosition(LCD_ADDR_4LINE_START);
                      if(bDisplayLongFileName)
                      {       
                              /*
                              for(j=0; j<SCREEN_WIDTH; )
                              {
                                      u16unicode = u8LCDData[j++];
                                      u16unicode += (u8LCDData[j++]<<8);
                                      if(u16unicode == 0)
                                              break;
                                      if(api_bGetUniFont16x16BMP(u16unicode))
                                              vLcdPut16x16Char();
                              }
                              */
                              lcd_puts(0, 95, u8LCDData, FONTSIZE_HYPER);
                              //j = u8ScrollLen;
                      }
                      else
                      {
                              /*
                              vLcdOutString(u8LCDData, 16); 
                              j = 0;
                              for(i=0; i<u8ScrollLen; i++)
                              {
                                      if(u8ScrollData[i] >= 0x80)
                                              i++;
                                      j+=2;              
                              }
                              */
                              lcd_puts_unicode(x, y, (UINT16 *)_buf, FONTSIZE_HYPER);  
                      }
                      
                      if(SCREEN_WIDTH >= j)
                      bNeedScroll = FALSE;   
                              
                      u8ScrollPos++;
                      if(bDisplayLongFileName || (u8LCDData[0] >= 0x80))
                      u8ScrollPos++;
              
                      if(u8ScrollPos >= u8ScrollLen)
                              u8ScrollPos = 0;
              }
              #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    217    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      2       7
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -