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

📄 lcdlib.lst

📁 SED1335驱动程序(LCD320*240)含GUI
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.09   LCDLIB                                                                12/12/2007 14:46:40 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE LCDLIB
OBJECT MODULE PLACED IN Lcdlib.OBJ
COMPILER INVOKED BY: D:\电子软件\Keil\C51\BIN\C51.EXE Lcdlib.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include  "LCD_320240.h"
   2          //#include "uart_lib.h"
   3          //#include "44b.h"
   4          #include "LCDlib.h"
*** ERROR C141 IN LINE 13 OF LCDLIB.H: syntax error near 'row', expected ')'
*** ERROR C141 IN LINE 14 OF LCDLIB.H: syntax error near 'row', expected ')'
*** ERROR C141 IN LINE 15 OF LCDLIB.H: syntax error near 'rowfirst', expected ')'
   5          #include "hanzi.h"
   6          #include "GUIbasic.h"
*** ERROR C129 IN LINE 6 OF GUIBASIC.H: missing ';' before 'GUI_Point'
   7          
   8          
   9          
  10          #define BIT_A0  (0x1 << 7)
  11          #define BIT_nWR (0x1 << 6)
  12          #define BIT_nRD (0x1 << 5)
  13          #define DELAY_TIME 2
  14          
  15          static const BYTE SYSTAB[8] = {
  16              0x30,       // 0011 0000    B: 1, W/S: 0, M2: 0, M1: 0, M0: 0
  17              0x87,       // 1000 0111    WF: 1, FX: 7字符宽度8点阵
  18              0x0f,       // 0000 1111    FY: 16字符垂直大小16点阵
  19              0x27,       // 0010 0111    C/R: 39  每行显示的字符数
  20              0x36,       // 0100 0010    TC/R: 66
  21              0xEF,       // 1110 1111    L/F: 240
  22              0x28,       // 0010 1000    APL: 40
  23              0x00        // 0000 0000    APH: 0
  24          };
  25          
  26          #define BasePart1      0x00//0x0000为第一显示区首地址
  27          #define BasePart2      0x40//0x4000为第二显示区首地址
  28          #define BasePart3      0x80//0x8000为第三显示区首地址
  29          #define BasePart4      0x00
  30          static const BYTE SCRTAB[10] = {
  31              0x00,       // 0000 0000    SAD1L:  0x00
  32              BasePart1,       // 0000 0000    SAD1H:  0x00
  33              0xf0,       // 1111 0000    SL1:    240  ;1区显示屏的行数为240
  34              0x00,  // 0000 0000    SAD2L:  0x00
  35              BasePart2,    // 0001 0000    SAD2H:  0x10
  36              0xf0,       // 1111 0000    SL2:    240;1区显示屏的行数为240
  37              0x00,       // 0000 0000    SAD3L:  0x00
  38              BasePart3,       // 1000 0000    SAD3H:  0x40
  39              0x00,       // 0000 0000    SAD4L:  0x00
  40              BasePart4        // 0101 0000    SAD4H:  0x50
  41          };
  42          extern unsigned char ASCII16x8[][16];
  43          UINT8 buffer[240][40]; //显示缓冲区
  44          UINT8 nanjing[][16]=
  45          {
  46                  /*--  文字:  南  --*/
  47          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  48          0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x00,0x3F,0xFC,0x24,0x24,0x22,0x44,
  49          0x2F,0xF4,0x21,0x04,0x3F,0xFC,0x21,0x04,0x21,0x04,0x21,0x14,0x21,0x08,0x00,0x00,
  50          
  51          /*--  文字:  京  --*/
C51 COMPILER V8.09   LCDLIB                                                                12/12/2007 14:46:40 PAGE 2   

  52          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
  53          0x02,0x00,0x01,0x08,0x7F,0xFC,0x00,0x00,0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,
  54          0x1F,0xF0,0x01,0x00,0x09,0x30,0x19,0x18,0x31,0x0C,0x41,0x08,0x05,0x00,0x02,0x00,
  55          };
  56          void LCDturnoff(void)
  57          {
  58           WLCDCmd(0x58);//off screen
  59           WLCDData(0x00);
  60          }
  61          
  62          void LCDturnon(void)
  63          {
  64           WLCDCmd(0x59);//on screen
  65           WLCDData(0x55);
  66          }
  67          
  68          
  69          void Delaycicle(U16 i)
  70          {
  71                  int j=0;
  72                  while(j<i)j++;
  73          }
  74          void WLCDData(UINT8 data)
  75          {
  76                          /*  PORT D GR
  77                  OUP(I/O OR LCD)                                                                         */
  78                  // 00-input 01-output 10-sfr
  79          
  80                  /*  BIT  7              6               5               4               3               2               1               0       */
  81                  /*      VF              VM              VLINE   VCLK    VD3             VD2             VD1             VD0     */
  82          
  83                  /*  PD  7               6               5               4               3               2               1               0       */
  84                  /*      o               o               o               o               o               o               o               o       */
  85                  /*    LCD               LCD             LCD             LCD             LCD             LCD             LCD             LCD     */
  86                  /*         01           01              01              01              01              01              01              01      */
  87          
  88                  rPCOND=0x5555;
  89                  rPDATC&=~BIT_A0;
  90                  rPDATC|= BIT_nRD;
  91                  rPDATC&=~BIT_nWR;                       // clear nWR
  92                  rPDATD=data;
  93          #if DELAY_TIME > 0
  94                Delaycicle(DELAY_TIME);              // Delay for SED1335
  95          #endif
  96                 rPDATC|=BIT_nWR;
  97          }
  98          
  99          void WLCDCmd(UINT8 cmd)
 100          {
 101                          /*  PORT D GROUP(I/O OR LCD)                                                                            */
 102                  // 00-input 01-output 10-sfr
 103          
 104                  /*  BIT  7              6               5               4               3               2               1               0       */
 105                  /*      VF              VM              VLINE   VCLK    VD3             VD2             VD1             VD0     */
 106          
 107                  /*  PD  7               6               5               4               3               2               1               0       */
 108                  /*      o               o               o               o               o               o               o               o       */
 109                  /*    LCD               LCD             LCD             LCD             LCD             LCD             LCD             LCD     */
 110                  /*         01           01              01              01              01              01              01              01      */
 111          
 112                  rPCOND=0x5555;
 113                  rPDATC|=BIT_A0;
C51 COMPILER V8.09   LCDLIB                                                                12/12/2007 14:46:40 PAGE 3   

 114                  rPDATC|=BIT_nRD;
 115                  rPDATC&=~BIT_nWR;                       // Set nWR
 116                  rPDATD=cmd;
 117          #if DELAY_TIME > 0
 118              Delaycicle(DELAY_TIME);              // Delay for SED1335
 119          #endif
 120                 rPDATC|=BIT_nWR;
 121          }
 122          UINT8 RLCDData()
 123          {
 124                  UINT8 data;
 125                                  /*  PORT D GROUP(I/O OR LCD)                                                                            */
 126                  // 00-input 01-output 10-sfr
 127          
 128                  /*  BIT  7              6               5               4               3               2               1               0       */
 129                  /*      VF              VM              VLINE   VCLK    VD3             VD2             VD1             VD0     */
 130          
 131                  /*  PD  7               6               5               4               3               2               1               0       */
 132                  /*      i               i               i               i               i               i               i               i       */
 133                  /*    LCD               LCD             LCD             LCD             LCD             LCD             LCD             LCD     */
 134                  /*         00           00              00              00              00              00              00              00      */
 135                  rPDATD=0x0;
 136                  rPCOND=0x0;
 137                  rPDATC|=BIT_A0;
 138                  rPDATC&=~BIT_nRD;
 139                  rPDATC|=BIT_nWR;                       // Set nWR
 140                  data=rPDATD;
 141          #if DELAY_TIME > 0
 142              Delaycicle(DELAY_TIME);              // Delay for SED1335
 143          #endif
 144                 rPDATC|=BIT_nRD;
 145          return data;
 146          }
 147          UINT8 RLCDSta()
 148          {
 149                  UINT8 stu;
 150                                  /*  PORT D GROUP(I/O OR LCD)                                                                            */
 151                  // 00-input 01-output 10-sfr
 152          
 153                  /*  BIT  7              6               5               4               3               2               1               0       */
 154                  /*      VF              VM              VLINE   VCLK    VD3             VD2             VD1             VD0     */
 155          
 156                  /*  PD  7               6               5               4               3               2               1               0       */
 157                  /*      i               i               i               i               i               i               i               i       */
 158                  /*    LCD               LCD             LCD             LCD             LCD             LCD             LCD             LCD     */
 159                  /*         00           00              00              00              00              00              00              00      */
 160                  rPDATD=0x0;
 161              rPCOND=0x0; 
 162                  rPDATC|=BIT_A0;
 163                  rPDATC&=~BIT_nRD;
 164                  rPDATC|=BIT_nWR;                       // Set nWR
 165                  stu=rPDATD;
 166          #if DELAY_TIME > 0
 167              Delaycicle(DELAY_TIME);              // Delay for SED1335
 168          #endif
 169                 rPDATC|=BIT_nRD;
 170          return stu;
 171          }
 172          /* 更新指定的显示区域*/
 173          void LCDupdata(UINT16 x1,UINT16 y1,UINT16 x2, UINT16 y2)
 174          {
 175                   int i,j;

⌨️ 快捷键说明

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