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

📄 lcd_pg320240.lst

📁 how to use display powertip PG 320x240
💻 LST
📖 第 1 页 / 共 4 页
字号:
               R   435           ?SYMB   '',$,96,2
00C4 88C0          436           MOV     [-R0],R12
               R   437           ?SYMB   '',$,96,4
00C6 2802          438           SUB     R0,#02h
               R   439           ?SYMB   '',$,96,6
                   440   ; Locals:
                   441   ;     Address = offset 2
                   442   ;     Data = offset 0
                   443   ;     Reg = offset 4
                   444   ; 
                   445   ; Statics:
                   446   ; 
                   447   ; CSEs:
                   448   ; 
                   449           ?LINE   109
                   450           ?SYMB   'Address',1,99,18
               R   451           ?SYMB   '-4',$,101,1
                   452           ?SYMB   'Reg',3,99,3
               R   453           ?SYMB   '-2',$,101,3
                   454   ; lcd_pg320240.c  110           unsigned int Data;
                   455           ?LINE   110
                   456           ?SYMB   'Data',2,98,18
               R   457           ?SYMB   '-6',$,101,2
                   458   ; lcd_pg320240.c  111       CS = 0;
                   459           ?LINE   111
00C8 9EE0          460           BCLR    P2.9
                   461   ; lcd_pg320240.c  112           READ    = 1;
                   462           ?LINE   112
00CA EFE0          463           BSET    P2.14
                   464   ; lcd_pg320240.c  113       WRITE       = 1;
                   465           ?LINE   113
00CC CFE0          466           BSET    P2.12
                   467   ; lcd_pg320240.c  114      // AB16 = 0;
                   468   ; lcd_pg320240.c  115       if (Reg) Address += REG_OFFSET;
                   469           ?LINE   115
00CE F4200400      470           MOVB    RL1,[R0+#04H]
00D2 2D06          471           JMPR    cc_Z,_9
00D4 D4C00200      472           MOV     R12,[R0+#02H]
00D8 06FCE0FF      473           ADD     R12,#0FFE0h
00DC C4C00200      474           MOV     [R0+#02H],R12
00E0               475   _9:
                   476   ; lcd_pg320240.c  116           lcd_write_address(Address);
                   477           ?LINE   116
00E0 D4C00200      478           MOV     R12,[R0+#02H]
00E4 BBA9          479           CALLR   _lcd_write_address
                   480   ; lcd_pg320240.c  117     //  AB16 = 1;
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962                    Date: Apr 23 2004  Time: 16:27:02  Page:  10
lcd_pg320240

 LOC CODE        LINE   SOURCELINE

                   481   ; lcd_pg320240.c  118       SETDATAINPUT;
                   482           ?LINE   118
00E6 F2FCC6FF      483           MOV     R12,DP3
00EA 66FC00FF      484           AND     R12,#0FF00h
00EE F6FCC6FF      485           MOV     DP3,R12
                   486   ; lcd_pg320240.c  119           READ    = 0;
                   487           ?LINE   119
00F2 EEE0          488           BCLR    P2.14
                   489   ; lcd_pg320240.c  120       while(!WAIT);
                   490           ?LINE   120
00F4 0D00          491           JMPR    cc_UC,_11
00F6               492   _10:
00F6               493   _11:
00F6               494   _12:
00F6 9AE0FEA0      495           JNB     P2.10,_12
                   496   ; lcd_pg320240.c  121           Data    = DATA;
                   497           ?LINE   121
00FA 8400C4FF      498           MOV     [R0],P3
                   499   ; lcd_pg320240.c  122       READ        = 1;
                   500           ?LINE   122
00FE EFE0          501           BSET    P2.14
                   502   ; lcd_pg320240.c  123       SETDATAOUTPUT;
                   503           ?LINE   123
0100 F2FCC6FF      504           MOV     R12,DP3
0104 76FCFF00      505           OR      R12,#0FFh
0108 F6FCC6FF      506           MOV     DP3,R12
                   507   ; lcd_pg320240.c  124       CS = 1;
                   508           ?LINE   124
010C 9FE0          509           BSET    P2.9
                   510   ; lcd_pg320240.c  125      //   Data =  reverseLSB_MSB(Data); 
                   511   ; lcd_pg320240.c  126       return(Data);    
                   512           ?LINE   126
010E A980          513           MOVB    RL4,[R0]
                   514   ; lcd_pg320240.c  127   }
                   515           ?LINE   127
0110               516   _13:
               R   517           ?SYMB   '',$,102,2
               R   518           ?SYMB   '',$,102,3
               R   519           ?SYMB   '',$,102,1
0110 0806          520           ADD     R0,#06h
               R   521           ?SYMB   '',$,96,0
0112 CB00          522           RET
                   523   _lcd_read_reg   ENDP
               R   524           ?SYMB   '',$,17,127
                   525   ; lcd_pg320240.c  128   //---------------------------------------------------------------------
                         --------
                   526   ; lcd_pg320240.c  129   void lcd_write (unsigned int Address, unsigned char Data)
                   527   ; lcd_pg320240.c  130   {
                   528           ?LINE   130
                   529           PUBLIC  _lcd_write
               R   530           ?SYMB   'lcd_write',_lcd_write,37,1
                   531           ?SYMB   '',130,8,34
                   532   _lcd_write      PROC    NEAR
                   533           ?SYMB   '',00H,95,0
0114 88D0          534           MOV     [-R0],R13
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962                    Date: Apr 23 2004  Time: 16:27:02  Page:  11
lcd_pg320240

 LOC CODE        LINE   SOURCELINE

               R   535           ?SYMB   '',$,96,2
0116 88C0          536           MOV     [-R0],R12
               R   537           ?SYMB   '',$,96,4
                   538   ; Locals:
                   539   ;     Address = offset 0
                   540   ;     Data = offset 2
                   541   ; 
                   542   ; Statics:
                   543   ; 
                   544   ; CSEs:
                   545   ; 
                   546           ?LINE   130
                   547           ?SYMB   'Address',1,99,18
               R   548           ?SYMB   '-4',$,101,1
                   549           ?SYMB   'Data',2,99,3
               R   550           ?SYMB   '-2',$,101,2
                   551   ; lcd_pg320240.c  131           CS = 0;
                   552           ?LINE   131
0118 9EE0          553           BCLR    P2.9
                   554   ; lcd_pg320240.c  132           lcd_write_address(Address);
                   555           ?LINE   132
011A A8C0          556           MOV     R12,[R0]
011C BB8D          557           CALLR   _lcd_write_address
                   558   ; lcd_pg320240.c  133           lcd_write_data(Data);
                   559           ?LINE   133
011E F4200200      560           MOVB    RL1,[R0+#02H]
0122 C02C          561           MOVBZ   R12,RL1
0124 CA002200  R   562           CALLA   cc_UC,_lcd_write_data
                   563   ; lcd_pg320240.c  134       CS = 1;
                   564           ?LINE   134
0128 9FE0          565           BSET    P2.9
                   566   ; lcd_pg320240.c  135   }
                   567           ?LINE   135
               R   568           ?SYMB   '',$,102,2
               R   569           ?SYMB   '',$,102,1
012A 0804          570           ADD     R0,#04h
               R   571           ?SYMB   '',$,96,0
012C CB00          572           RET
                   573   _lcd_write      ENDP
               R   574           ?SYMB   '',$,17,135
                   575   ; lcd_pg320240.c  136   
                   576   ; lcd_pg320240.c  137   // initializing of display
                   577   ; lcd_pg320240.c  138   void lcd_init (void)
                   578   ; lcd_pg320240.c  139   {
                   579           ?LINE   139
                   580           PUBLIC  _lcd_init
               R   581           ?SYMB   'lcd_init',_lcd_init,37,1
                   582           ?SYMB   '',139,8,34
                   583   _lcd_init       PROC    NEAR
                   584           ?SYMB   '',00H,95,0
012E 2802          585           SUB     R0,#02h
               R   586           ?SYMB   '',$,96,2
                   587   ; Locals:
                   588   ;     i = offset 0
                   589   ; 
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962                    Date: Apr 23 2004  Time: 16:27:02  Page:  12
lcd_pg320240

 LOC CODE        LINE   SOURCELINE

                   590   ; Statics:
                   591   ; 
                   592   ; CSEs:
                   593   ; 
                   594   ; lcd_pg320240.c  140           int i;   
                   595           ?LINE   140
                   596           ?SYMB   'i',1,98,16
               R   597           ?SYMB   '-2',$,101,1
                   598   ; lcd_pg320240.c  141       /* Initialize the chip. Each register is individually programmed to
                          make comments clearer.*/
                   599   ; lcd_pg320240.c  142           lcd_set_reg(0x01, 0x00);        //Register 01h: Mode Register 0
                          - Mono, 4-bit format 2
                   600           ?LINE   142
0130 E01C          601           MOV     R12,#01h
0132 E00D          602           MOV     R13,#00h
0134 BBB6          603           CALLR   _lcd_set_reg
                   604   ; lcd_pg320240.c  143           lcd_set_reg(0x02, 0xB0);        //Register 02h: Mode Register 1
                          - 4BPP, High Performance, CLKi/2
                   605           ?LINE   143
0136 E02C          606           MOV     R12,#02h
0138 E6FDB000      607           MOV     R13,#0B0h
013C BBB2          608           CALLR   _lcd_set_reg
                   609   ; lcd_pg320240.c  144   //      lcd_set_reg(0x02, 0x60);        //Register 02h: Mode Register 1
                          - 2BPP, High Performance, CLKi/2
                   610   ; lcd_pg320240.c  145   
                   611   ; lcd_pg320240.c  146           lcd_set_reg(0x03, 0x03);        //Register 03h: Mode Register 2
                          - Normal power mode
                   612           ?LINE   146
013E E03C          613           MOV     R12,#03h
0140 E03D          614           MOV     R13,#03h
0142 BBAF          615           CALLR   _lcd_set_reg
                   616   ; lcd_pg320240.c  147       lcd_set_reg(0x04, 0x27);    //Register 04h: Horizontal Panel Size -
                          320 pixels - (320/8)-1 = 39 = 27h
                   617           ?LINE   147
0144 E04C          618           MOV     R12,#04h
0146 E6FD2700      619           MOV     R13,#027h
014A BBAB          620           CALLR   _lcd_set_reg
                   621   ; lcd_pg320240.c  148           lcd_set_reg(0x05, 0xEF);        //Register 05h: Vertical Panel 
                         Size LSB - 240 pixels
                   622           ?LINE   148
014C E05C          623           MOV     R12,#05h
014E E6FDEF00      624           MOV     R13,#0EFh
0152 BBA7          625           CALLR   _lcd_set_reg
                   626   ; lcd_pg320240.c  149           lcd_set_reg(0x06, 0x00);        //Register 06h: Vertical Panel 
                         Size MSB - (240 - 1) = 239 = EFh
                   627           ?LINE   149
0154 E06C          628           MOV     R12,#06h
0156 E00D          629           MOV     R13,#00h
0158 BBA4          630           CALLR   _lcd_set_reg
                   631   ; lcd_pg320240.c  150           lcd_set_reg(0x07, 0x1E);        //Register 07h - FPLINE Start P
                         osition - not used by STN
                   632           ?LINE   150
015A E07C          633           MOV     R12,#07h
015C E6FD1E00      634           MOV     R13,#01Eh
0160 BBA0          635           CALLR   _lcd_set_reg
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962                    Date: Apr 23 2004  Time: 16:27:02  Page:  13
lcd_pg320240

 LOC CODE        LINE   SOURCELINE

                   636   ; lcd_pg320240.c  151           /* Register 08h - Horizontal Non-Display Period HNDP and VNDP a
                         re calculated to achieve the
                   637   ; lcd_pg320240.c  152           ** desired frame rate according to:
                   638   ; lcd_pg320240.c  153           **                                              PCLK
                   639   ; lcd_pg320240.c  154           ** Frame Rate = ---------------------------
                   640   ; lcd_pg320240.c  155           **                              (HDP + HNDP) * (VDP + VNDP)
                   641   ; lcd_pg320240.c  156           */
                   642   ; lcd_pg320240.c  157           lcd_set_reg(0x08, 0x00);
                   643           ?LINE   157
0162 E08C          644           MOV     R12,#08h
0164 E00D          645           MOV     R13,#00h
0166 BB9D          646           CALLR   _lcd_set_reg
                   647   ; lcd_pg320240.c  158           lcd_set_reg(0x09, 0x00);        //Register 09h - FPFRAME Start 
                         Position - not used by STN
                   648           ?LINE   158
0168 E09C          649           MOV     R12,#09h

⌨️ 快捷键说明

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