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

📄 lcd.lst

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 LST
📖 第 1 页 / 共 2 页
字号:
 246   3                      }
 247   2                      else 
 248   2                      {
 249   3                              if((fontsize == FONTSIZE_8x16) || 
 250   3                                 (fontsize == FONTSIZE_HYPER && r1 != 1 && *str <= 0x80)) 
 251   3                              {
 252   4                                      if(lcd_putc_8x16(x, y, *str++)) 
 253   4                                      {
 254   5                                              x += 8;
 255   5                                              n++;
 256   5                                      }
 257   4                                      continue;
 258   4                              }
 259   3                              r1 = api_s8GetFont16x16BMP(*str++, FALSE);
 260   3                              if(r1 == 0) 
 261   3                              {
 262   4                                      if(lcd_putc_16x16(x, y, 0)) 
 263   4                                      {
 264   5                                              x += 16;
 265   5                                              n += 2;
 266   5                                      }
 267   4                              }
 268   3                      }
 269   2              }       
 270   1      }
 271          
 272          void lcd_puts_unicode(UINT8 x, UINT8 y, UINT16 *str, UINT8 fontsize)
 273          {
 274   1              UINT8 data n;
 275   1              n = 0;
 276   1              while(*str != '\0') 
 277   1              {
 278   2                      if(n >= lcd_max_str)
 279   2                              return;
 280   2      
 281   2                      if(fontsize == FONTSIZE_8x8)
 282   2                      {
 283   3                              if(lcd_putc_8x8(x, y, *str++)) 
 284   3                              {
 285   4                                      x += 6;
 286   4                                      n++;
 287   4                              }
 288   3                      }
 289   2                      else {
 290   3                              if((fontsize == FONTSIZE_8x16) ||
 291   3                                 (fontsize == FONTSIZE_HYPER && *str <= 0x80)) 
 292   3                              {
 293   4                                      if(lcd_putc_8x16(x, y, *str++)) 
 294   4                                      {
 295   5                                              x += 8;
 296   5                                              n++;
 297   5                                      }
 298   4                                      continue;
 299   4                              }
 300   3                              if(lcd_putc_16x16(x, y, *str++)) 
 301   3                              {
C51 COMPILER V7.50   LCD                                                                   08/18/2008 13:49:10 PAGE 6   

 302   4                                      x += 16;
 303   4                                      n += 2;
 304   4                              }
 305   3                      }
 306   2              }
 307   1      }
 308          
 309          void lcd_clear(void)
 310          {
 311   1              UINT8 i;
 312   1              
 313   1              lcd_set_rw_area(0, 0, XRES, YRES);
 314   1              
 315   1              memset(pixel_buf, 0x0, sizeof(pixel_buf));
 316   1              
 317   1              for(i = 0; i < YRES; i++)
 318   1                      lcd_put_data((UINT16)pixel_buf, XRES << 1);
 319   1      }
 320          
 321          
 322          #if 0
              
              void lcd_clear_word(void)
              {
                      UINT8 i;
                      
                      lcd_set_rw_area(50, 74, 54, 80);
                      
                      memset(pixel_buf, 0xF77F, sizeof(pixel_buf));
                      
                      for(i = 96; i < 102; i++)
                              lcd_put_data((UINT16)pixel_buf, XRES << 1);
              }
              
              void lcd_set_brightness(UINT8 v)
              {
              #if 1
                      api_vLcdPinSelect();
                      writec(0x2a);
                      writec(0xce+v);  //90 0xde   c8
                      delay(20);
                      writec(0x2b);
                      writec(0x44+v); //90 0x54    c8
                      api_vLcdPinRecover();
              #else
                      api_vLcdPinSelect();
                      writec(0x2a);
                      writec(v*8);  //90 0xde   c8
                      delay(20);
                      writec(0x2b);
                      writec(v*8); //90 0x54    c8
                      api_vLcdPinRecover();
              #endif
              }
              
              
              void lcd_init(void)
              {              
              //       Print("LCD Init\n");
                      
                      api_vLcdInit(LCM_INTERFACE_6800);
                      api_vLcdPinSelect();
C51 COMPILER V7.50   LCD                                                                   08/18/2008 13:49:10 PAGE 7   

                      XBYTE[0XF400] = 0XFF;
                      XBYTE[0XF401] = 0XFF;   
                      //
                      bLCD_PIN_RESET = 0;
                      delay(100);
                      bLCD_PIN_RESET = 1;
                      
                      CDIR = 0;
                      
                      delay(100);
              //-------------------------------------------------
                      writec(0x2C);
                      delay(20);
              //-------------------------------------------------
                      writec(0x02);
                      writec(0x01);
                      delay(20);
              //-------------------------------------------------
                      writec(0x26);
                      writec(0x01);
                      delay(20);
                      writec(0x26);
                      writec(0x09);
                      delay(20);
                      writec(0x26);
                      writec(0x0b);
                      delay(20);
                      writec(0x26);
                      writec(0x0f);
                      delay(20);
              //------------------------------------------------
                      writec(0x10);
                      writec(0x23);  // 21,25
                      delay(5);
              //-------------------------------------------------
                      writec(0x20);
                      writec(0x03); //20
                      delay(20);
              //-------------------------------------------------
                      writec(0x22);
                      writec(0x11);
                      delay(5);
              //------------------------------------------------
                      writec(0x24);
                      writec(0x11); //00
                      delay(20);
              //-------------------------------------------------
                      writec(0x28);
                      writec(0x01);
                      delay(20);
              //------------------------------------------------
                      writec(0x2a);
                      writec(0xc8);  //90 0xde
                      delay(20);
              //------------------------------------------------
                      writec(0x2b);
                      writec(0xc8); //90 0x54
                      delay(10);
              //------------------------------------------------
                      writec(0x30);
                      writec(0x09); //0b
                      delay(20);
C51 COMPILER V7.50   LCD                                                                   08/18/2008 13:49:10 PAGE 8   

              //------------------------------------------------
                      writec(0x32);
                      writec(0x0E);
                      delay(20);
              //-----------------------------------------------
                      writec(0x34);
                      writec(0x08);//0d
                      delay(20);
              //-------------------------------------------------
                      writec(0x36);
                      writec(0x00);
                      delay(20);
              //---------显示模式----------
                      writec(0x40);
                      writec(0x00);//显示模式08和 00相反 竖屏
                      writec(0x10);
                      writec(0x22);   
                      delay(20);
                      
              //------------------------------------------------
                      writec(0x43);
                      writec(0x00);
                      writec(0x7F);
                      delay(20);
                      
              //------------------------------------------------
                      writec(0x42);
                      writec(0x00);
                      writec(0x9F);
                      delay(20);
                      
              //------------------------------------------------
                      writec(0x53);
                      writec(0x00);
                      delay(20);
                      
              //-------------------------------------------------
                      writec(0xEB);
                      delay(20);
                      
              //-------------------------------------------------
                      writec(0x45);
                      writec(0x00);
                      
              //-------------------------------------------------
                      writec(0x55);
                      writec(0x00);
                      delay(20);
                      
              //------------------------------------------------
                      writec(0x5A);
                      writec(0x00);
                      delay(20);
              
              //------------------------------------------------
                      writec(0x51);
                      delay(40);      
                      api_vLcdPinRecover();
              }
              
              #endif

C51 COMPILER V7.50   LCD                                                                   08/18/2008 13:49:10 PAGE 9   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1321    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    773      37
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       3
   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 + -