亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd159a.lst

?? Keil C下通過的UCGUI,UCGUI的移植源代碼
?? LST
?? 第 1 頁 / 共 4 頁
字號:
C51 COMPILER V8.05a   LCD159A                                                              04/11/2008 14:19:23 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE LCD159A
OBJECT MODULE PLACED IN LCD159A.obj
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE gui\LCDDriver\LCD159A.c LARGE BROWSE MDU_F120 DEBUG OBJECTEXT
                    -END PRINT(.\LCD159A.lst) OBJECT(LCD159A.obj)

line level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                                uC/GUI
   4          *                        Universal graphic software for embedded applications
   5          *
   6          *                       (c) Copyright 2002, Micrium Inc., Weston, FL
   7          *                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
   8          *
   9          *              礐/GUI is protected by international copyright laws. Knowledge of the
  10          *              source code may not be used to write a similar product. This file may
  11          *              only be used in accordance with a license and should not be redistributed
  12          *              in any way. We appreciate your understanding and fairness.
  13          *
  14          ----------------------------------------------------------------------
  15          File        : LCD159A.C
  16          Purpose     : Driver for LCDs using a Seiko Epson SED159A controller
  17          ----------------------------------------------------------------------   
  18          Version-Date---Author-Explanation                                        
  19          ----------------------------------------------------------------------   
  20          1.00b   020204 JE     a) Hardwareinterface routines renamed:
  21                                   ...DATA -> ...A1, ...CMD -> ...A0
  22          1.00a   010926 JE     a) Support for LCD_SWAPXY added
  23          1.00.00 010710 JE     a) Speed optimizations added
  24          0.90.00 010709 JE     a) First release
  25          ---------------------------LIST OF CONFIG SWITCHES--------------------
  26          The following is a list of additional configuration switches for this
  27          driver. These switches might not be listed in the manual, because
  28          the manual mainly covers the general config switches which are
  29          supported by all drivers.
  30          ----------------------------------------------------------------------
  31          define ----------------------Explanation------------------------------
  32          LCD_OPTIMIZE                 Controls the use of optimized routines.
  33                                       If 1, several (speed) optimizations are used.
  34                                       Default: ON (1)
  35          ----------------------------------------------------------------------
  36          Known problems or limitations with current version
  37          ----------------------------------------------------------------------
  38          a) Cache not supported yet, becuse RAM requirement would be 
  39             to large. LCD_CACHE must be set to 0
  40          ----------------------------------------------------------------------
  41          Open issues
  42          ----------------------------------------------------------------------
  43          none
  44          ---------------------------END-OF-HEADER------------------------------
  45          */
  46          
  47          #include <string.h>             /* for memset */
  48          #include <stddef.h>           /* needed for definition of NULL */
  49          #include "gui\Core\LCD_Private.h"      /* private modul definitions & config */
  50          #include "gui\Core\GUI_Private.h"
  51          #include "gui\Core\GUIDebug.h"
  52          #include "gui\LCDDriver\LCD_0.h"            /* Defines for first display */
  53          
  54          #if      (LCD_CONTROLLER == 0x159A) \
C51 COMPILER V8.05a   LCD159A                                                              04/11/2008 14:19:23 PAGE 2   

  55                && (!defined(WIN32) | defined(LCD_SIMCONTROLLER))
              
              
              /*
                      *********************************************************
                      *
                      *           Defaults for config switches
                      *
                      *********************************************************
              
              */
              
              #ifndef LCD_OPTIMIZE
                #define LCD_OPTIMIZE                (1)
              #endif
              
              #ifndef LCD_CACHE
                #define  LCD_CACHE                  (0)
              #endif
              
              /*
                      *********************************************************
                      *
                      *           Defines for simulation
                      *
                      *********************************************************
              */
              
              #ifdef WIN32
                #undef LCD_WRITE_A0
                #undef LCD_WRITE_A1
                #undef LCD_READ_A0
                #undef LCD_READ_A1
                void SIM_WriteA1C0(U8 Byte);
                void SIM_WriteA0C0(U8 Byte);
                U8   SIM_ReadA1C0(void);
                U8   SIM_ReadA0C0(void);
                #define LCD_WRITE_A1(Byte) SIM_WriteA1C0(Byte) 
                #define LCD_WRITE_A0(Byte) SIM_WriteA0C0(Byte)
                #define LCD_READ_A1(Byte)  Byte = SIM_ReadA1C0()
                #define LCD_READ_A0(Byte)  Byte = SIM_ReadA0C0()
              #endif
              
              /*
                      *********************************************************
                      *
                      *          Remap ...A0, ...A1 -> ...CMD, ...DATA
                      *
                      *********************************************************
              */
              
              #define LCD_READCMD0    LCD_READ_A0
              #define LCD_READDATA0   LCD_READ_A1
              #define LCD_WRITECMD0   LCD_WRITE_A0
              #define LCD_WRITEDATA0  LCD_WRITE_A1
              
              /*
                      *********************************************************
                      *
                      *           Macro calculations
                      *
                      *********************************************************
C51 COMPILER V8.05a   LCD159A                                                              04/11/2008 14:19:23 PAGE 3   

              */
              
              /*
                      *********************************************************
                      *
                      *           Configuration switch checking
                      *
                      *********************************************************
              */
              
              #if (LCD_BITSPERPIXEL != 8)
                #error This controller can handle only 8bpp displays
              #endif
              
              /*
                      *********************************************************
                      *
                      *           Macros, standard
                      *
                      *********************************************************
              
              These macros can be found in any LCD-driver as they serve purposes
              that can be found in any class of LCD-driver (Like clipping).
              
              */
              
              #if (!LCD_SWAP_XY) && (!LCD_MIRROR_X) && (!LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) x, y
              #elif (!LCD_SWAP_XY) && (!LCD_MIRROR_X) && (LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) x, LCD_YSIZE_PHYS - 1 - (y)
              #elif (!LCD_SWAP_XY) && (LCD_MIRROR_X) && (!LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) LCD_XSIZE_PHYS - 1 - (x), y
              #elif (!LCD_SWAP_XY) && (LCD_MIRROR_X) && (LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) LCD_XSIZE_PHYS - 1 - (x), LCD_YSIZE_PHYS - 1 - (y)
              #elif (LCD_SWAP_XY) && (!LCD_MIRROR_X) && (!LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) y, x
              #elif (LCD_SWAP_XY) && (LCD_MIRROR_X) && (!LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) y, LCD_XSIZE - 1 - (x)
              #elif (LCD_SWAP_XY) && (!LCD_MIRROR_X) && (LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) LCD_YSIZE - 1 - (y), x
              #elif (LCD_SWAP_XY) && (LCD_MIRROR_X) && (LCD_MIRROR_Y)
                #define LOG2PHYS(x, y) LCD_YSIZE - 1 - (y), LCD_XSIZE - 1 - (x)
              #else
                #error unsupported configuration
              #endif
              
              #define BKCOLOR LCD_BKCOLORINDEX
              #define   COLOR LCD_COLORINDEX
              
              /*
                      *********************************************************
                      *
                      *           Static variables for driver
                      *
                      *********************************************************
              */
              
              #if LCD_CACHE
                static U8 VRam[LCD_YSIZE_PHYS][LCD_XSIZE_PHYS];
              #endif
              
              static int CurrentX, CurrentY, StartPage, StartColumn, RAM_Mode;
C51 COMPILER V8.05a   LCD159A                                                              04/11/2008 14:19:23 PAGE 4   

              
              /*
                      *********************************************************
                      *
                      *           Hardware access
                      *
                      *********************************************************
              */
              
              /*
                      *****************************************
                      *
                      *           Low level macros
                      *
                      *****************************************
              */
              
              #define RAM_WRITE (0x5c)
              #define RAM_READ  (0x5d)
              
              #define INCREMENT_CURSOR() \
                CurrentX++; \
                if (CurrentX >= LCD_XSIZE_PHYS) { \
                  CurrentX = StartColumn; \
                  CurrentY++; \
                  if (CurrentY >= LCD_YSIZE_PHYS) \
                    CurrentY = StartPage; \
                }
              
              #define RESET_CURSOR() \
                CurrentX = StartColumn; \
                CurrentY = StartPage
              
              #define SET_RAMMODE(Mode) \
                RAM_Mode = Mode; \
                LCD_WRITECMD0 (Mode); \
                RESET_CURSOR()
              
              #define PASET(y) \
                RAM_Mode = 0; \
                LCD_WRITECMD0 (0x75); \
                LCD_WRITEDATA0(y); \
                LCD_WRITEDATA0(LCD_YSIZE_PHYS - 1); \
                StartPage = y
                
              #define CASET(x) \
                RAM_Mode = 0; \
                LCD_WRITECMD0 (0x15); \
                LCD_WRITEDATA0(x); \
                LCD_WRITEDATA0(LCD_XSIZE_PHYS - 1); \
                StartColumn = x
              
              #define LCD_ON() \
                LCD_WRITECMD0 (0xaf); \
                SET_RAMMODE(RAM_WRITE)
              
              #define LCD_OFF() \
                LCD_WRITECMD0 (0xae); \
                SET_RAMMODE(RAM_WRITE)
              
              #define DUMMYREAD(Data) \
                LCD_READDATA0(Data)
C51 COMPILER V8.05a   LCD159A                                                              04/11/2008 14:19:23 PAGE 5   

              
              #if (LCD_OPTIMIZE)
                
                #define SET_RECT(x1, y1, x2, y2) \
                  CurrentX = CurrentY = 0xfff; \
                  LCD_WRITECMD0 (0x15); \
                  LCD_WRITEDATA0(x1); \
                  LCD_WRITEDATA0(x2); \
                  LCD_WRITECMD0 (0x75); \
                  LCD_WRITEDATA0(y1); \
                  LCD_WRITEDATA0(y2); \
                  LCD_WRITECMD0 (0x5c)
              
                #define WRITEDATA_DIRECT(Data) \
                  LCD_WRITEDATA0(Data)
              
              #endif
              
              #if LCD_CACHE
              
                #define WRITEDATA(Data) \
                  if (VRam[CurrentX][CurrentY] != Data) { \
                    VRam[CurrentX][CurrentY] = Data; \
                    LCD_WRITEDATA0(Data); \
                  } \
                  INCREMENT_CURSOR()
              
                #define READDATA(Data) \
                  Data = VRam[CurrentX][CurrentY]
              
              #else
              
                #define WRITEDATA(Data) \
                  LCD_WRITEDATA0(Data); \
                  INCREMENT_CURSOR()
              
                #define READDATA(Data) \
                  LCD_READDATA0(Data); \
                  INCREMENT_CURSOR()
              
              #endif
              
              /*
                      *****************************************
                      *
                      *           GotoXY
                      *
                      *****************************************
              */
              
              void GotoXY(int x, int y, int Mode) {
                if ((CurrentX != x) || (CurrentY != y)) {
                  CASET(x);
                  PASET(y);
                }
                if (RAM_Mode != Mode) {
                  SET_RAMMODE(Mode);
                }
              }
              
              #define GOTOXY(x, y, Mode) GotoXY(x, y, Mode)
              
C51 COMPILER V8.05a   LCD159A                                                              04/11/2008 14:19:23 PAGE 6   

              /*
                      *********************************************************
                      *
                      *           Drawing routines, internal
                      *
                      *********************************************************
              */
              
              /*
                      *****************************************
                      *
                      *           SET pixel
                      *
                      *****************************************
              */
              
              static void SetPixel(int x, int y, U8 Color) {
                GOTOXY(x, y, RAM_WRITE);
                WRITEDATA(Color);
              }
              
              /*
                      *****************************************
                      *
                      *           GET pixel
                      *
                      *****************************************
              */
              
              static U8 GetPixel(int x, int y) {
                U8 Color;
                CASET(x);
                PASET(y);
                SET_RAMMODE(RAM_READ);
                DUMMYREAD(Color);
                READDATA(Color);
                return Color;
              }
              
              /*
                      *****************************************
                      *
                      *           XOR pixel
                      *
                      *****************************************
              */
              
              static void XorPixel(int x, int y) {
                U8 Color = GetPixel(x, y);
                Color ^= 0xff;
                SET_RAMMODE(RAM_WRITE);
                WRITEDATA(Color);
              }
              
              /*
                      *********************************************************
                      *
                      *           Access macros for pixel access
                      *
                      *********************************************************
              
              Use only this macros for pixel access
C51 COMPILER V8.05a   LCD159A                                                              04/11/2008 14:19:23 PAGE 7   

              
              */
              
              #define XORPIXEL(x, y) \
                XorPixel(LOG2PHYS(x, y));
              
              #define SETPIXEL(x, y, Color) \
                SetPixel(LOG2PHYS(x, y), Color);
              
              #define GETPIXEL(x, y, Color) \
                Color = GetPixel(LOG2PHYS(x, y));
              
              /*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.色综合.com| 久久久精品影视| 一区二区三区久久久| 国产露脸91国语对白| 精品久久国产字幕高潮| 日韩和欧美一区二区| 欧美天堂一区二区三区| 亚洲综合免费观看高清完整版 | 国产拍揄自揄精品视频麻豆| 日本亚洲最大的色成网站www| 欧美美女一区二区| 蜜桃视频第一区免费观看| 日韩欧美色电影| 国产自产视频一区二区三区| 久久亚洲二区三区| 不卡电影一区二区三区| 一区二区三区在线免费观看| 欧美日韩一区二区三区四区| 日韩成人精品在线| 久久午夜国产精品| 一本色道久久加勒比精品| 午夜久久福利影院| 国产精品久久久一区麻豆最新章节| 99国产精品久| 日本欧美肥老太交大片| 国产日韩欧美在线一区| 欧美视频一区二| 国产精品一区二区久久不卡| 成人免费一区二区三区视频 | 亚洲欧美日本在线| 日韩一级免费一区| 一本色道久久综合亚洲aⅴ蜜桃 | 久久午夜免费电影| 欧美图区在线视频| 国产精品正在播放| 日精品一区二区三区| 国产精品乱子久久久久| 日韩视频永久免费| 色av成人天堂桃色av| 成人午夜看片网址| 免费日本视频一区| 日日夜夜一区二区| 亚洲成年人网站在线观看| 国产日韩一级二级三级| 精品美女在线播放| 欧美岛国在线观看| 精品88久久久久88久久久| www..com久久爱| 成人福利视频在线| 国产69精品久久久久777| 国模少妇一区二区三区| 性欧美疯狂xxxxbbbb| 性做久久久久久久免费看| 一区二区三区在线免费播放| 国产精品久99| 国产性色一区二区| 久久美女高清视频 | 国产精品夜夜嗨| 蜜桃视频免费观看一区| 天天操天天综合网| 久久99国产精品免费| 亚洲最快最全在线视频| 亚洲免费三区一区二区| 日韩伦理av电影| 国产精品剧情在线亚洲| 日韩久久一区二区| 亚洲一区二区av电影| 日韩成人免费电影| 亚洲一二三四区不卡| 五月婷婷激情综合| 青草av.久久免费一区| 韩国三级在线一区| 成人免费观看av| 欧美三级视频在线观看| 67194成人在线观看| 欧美mv日韩mv国产| 国产欧美一区二区精品性色超碰 | 亚洲婷婷在线视频| 日韩毛片精品高清免费| 亚洲成人免费视频| 亚洲国产一区二区三区| 久久er99热精品一区二区| 欧美精品久久99久久在免费线 | 中文字幕一区二区三区色视频| 国产风韵犹存在线视精品| 国产精品拍天天在线| 亚洲欧美日韩成人高清在线一区| 国产欧美一区二区三区沐欲| 激情综合网激情| 国产成人激情av| 在线国产亚洲欧美| xnxx国产精品| 亚洲精品国产视频| 奇米色777欧美一区二区| 欧美精品第1页| 国产精品免费久久久久| 亚洲国产精品久久不卡毛片| 国产a区久久久| 国产精品中文欧美| 一本大道久久a久久综合婷婷| 日韩一区二区电影在线| 国产精品久久国产精麻豆99网站| 日本在线播放一区二区三区| 色视频一区二区| 国产日韩欧美综合一区| 久久精品国产精品青草| 欧美精品自拍偷拍动漫精品| 亚洲色图在线视频| 91网站在线观看视频| 国产精品国产a| 国产99久久久精品| 久久久三级国产网站| 美女看a上一区| 精品第一国产综合精品aⅴ| 美国十次综合导航| 欧美电视剧免费观看| 狠狠色狠狠色综合| 国产日韩欧美制服另类| 精彩视频一区二区| 国产视频一区在线播放| 成人一区二区三区视频在线观看| 精品国产一区二区三区av性色| 天堂一区二区在线| 欧美一级理论性理论a| 一区二区三区四区国产精品| 在线电影欧美成精品| 国产剧情一区二区三区| 国产亚洲欧美激情| 在线视频欧美区| 国产在线视频不卡二| 26uuu欧美| 在线观看国产日韩| 精品在线视频一区| 亚洲视频中文字幕| 欧美精品一区二区高清在线观看| 成人妖精视频yjsp地址| 亚洲第一电影网| 精品国产不卡一区二区三区| av不卡一区二区三区| 亚洲国产精品久久不卡毛片| 久久久精品综合| 欧美色偷偷大香| 91网站最新网址| 国产91丝袜在线18| 亚洲福利一区二区三区| 国产欧美一区二区三区在线老狼| 欧美日本在线视频| av电影在线观看完整版一区二区| 人人超碰91尤物精品国产| 一区二区三区毛片| 久久综合中文字幕| 3d动漫精品啪啪一区二区竹菊| 99国产精品视频免费观看| 国产高清一区日本| 亚洲资源中文字幕| 伊人婷婷欧美激情| 尤物av一区二区| 亚洲一区中文日韩| 樱花影视一区二区| 一区二区欧美在线观看| 亚洲欧美日韩国产综合| 国产精品乱人伦中文| 亚洲国产精品黑人久久久| 久久九九99视频| 久久色在线观看| 国产欧美日韩三级| 国产精品乱人伦| 久久人人爽爽爽人久久久| 精品国产欧美一区二区| 久久久国产精品不卡| 日韩欧美国产电影| 久久免费偷拍视频| 亚洲人成网站精品片在线观看| 亚洲视频一二区| 男人的天堂亚洲一区| 日本网站在线观看一区二区三区| 奇米一区二区三区| 国产福利一区在线| 欧美最猛性xxxxx直播| 91精品国产综合久久香蕉的特点| 日韩女同互慰一区二区| 国产精品入口麻豆原神| 亚洲综合在线观看视频| 日韩不卡免费视频| 99久久综合国产精品| 欧美剧情片在线观看| 精品国产一二三| 亚洲与欧洲av电影| 国产v综合v亚洲欧| 欧美一区二视频| 中文字幕不卡在线观看| 久久精品国产亚洲高清剧情介绍 | 国产午夜精品一区二区三区视频| 91网站在线播放| 国产网站一区二区三区| 精品亚洲欧美一区| 久久理论电影网| 国产精品灌醉下药二区| 亚洲天堂av老司机| 91玉足脚交白嫩脚丫在线播放|