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

📄 lcd12232.lis

📁 用ICC-AVR编译器编译M16单片机适用的LCD12232液晶屏驱动程序.
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 031C 71DE              xcall _wcodel
 031E                   .dbline 125
 031E 0A2D              mov R16,R10
 0320 CBDE              xcall _wdatal
 0322                   .dbline 126
 0322           L31:
 0322                   .dbline 122
 0322 6395              inc R22
 0324           L33:
 0324                   .dbline 122
 0324 6136              cpi R22,97
 0326 C8F3              brlo L30
 0328                   .dbline 127
 0328           L27:
 0328                   .dbline 117
 0328 4395              inc R20
 032A           L29:
 032A                   .dbline 117
 032A 4430              cpi R20,4
 032C 88F3              brlo L26
 032E                   .dbline 128
 032E           ;                        {
 032E           ;                        wcodel(precol+col);
 032E           ;                        wdatal(symbol);
 032E           ;                        }
 032E           ;       }
 032E           ;       for (page=0x00;page<0x04;page++)
 032E 4427              clr R20
 0330 0DC0              xjmp L37
 0332           L34:
 0332                   .dbline 129
 0332           ;       {
 0332                   .dbline 130
 0332           ;               wcoder(prepage+page);
 0332 042F              mov R16,R20
 0334 0854              subi R16,72    ; addi 184
 0336 25DF              xcall _wcoder
 0338                   .dbline 132
 0338           ;               
 0338           ;               for (col=0x00;col<0x61;col++)
 0338 6627              clr R22
 033A 05C0              xjmp L41
 033C           L38:
 033C                   .dbline 133
 033C                   .dbline 134
 033C 062F              mov R16,R22
 033E 21DF              xcall _wcoder
 0340                   .dbline 135
 0340 0A2D              mov R16,R10
 0342 7BDF              xcall _wdatar
 0344                   .dbline 136
 0344           L39:
 0344                   .dbline 132
 0344 6395              inc R22
 0346           L41:
 0346                   .dbline 132
 0346 6136              cpi R22,97
 0348 C8F3              brlo L38
 034A                   .dbline 137
 034A           L35:
 034A                   .dbline 128
 034A 4395              inc R20
 034C           L37:
 034C                   .dbline 128
 034C 4430              cpi R20,4
 034E 88F3              brlo L34
 0350                   .dbline -2
 0350                   .dbline 138
 0350           ;               {
 0350           ;                       wcoder(precol+col);
 0350           ;                       wdatar(symbol);
 0350           ;               }
 0350           ;       }
 0350           ; }
 0350           L25:
 0350 0E940000          xcall pop_gset3
 0354                   .dbline 0 ; func end
 0354 0895              ret
 0356                   .dbsym r page 20 c
 0356                   .dbsym r col 22 c
 0356                   .dbsym r symbol 10 c
 0356                   .dbend
 0356                   .dbfunc e addressl _addressl fV
 0356           ;            col -> R20
 0356           ;           page -> R22
                        .even
 0356           _addressl::
 0356 0E940000          xcall push_gset2
 035A 422F              mov R20,R18
 035C 602F              mov R22,R16
 035E                   .dbline -1
 035E                   .dbline 141
 035E           ; //
 035E           ; void addressl(uchar page,uchar col)
 035E           ; {
 035E                   .dbline 142
 035E           ;        wcodel(prepage+page);
 035E 062F              mov R16,R22
 0360 0854              subi R16,72    ; addi 184
 0362 4EDE              xcall _wcodel
 0364                   .dbline 143
 0364           ;        wcodel(precol+col);
 0364 042F              mov R16,R20
 0366 4CDE              xcall _wcodel
 0368                   .dbline -2
 0368                   .dbline 144
 0368           ; }
 0368           L42:
 0368 0E940000          xcall pop_gset2
 036C                   .dbline 0 ; func end
 036C 0895              ret
 036E                   .dbsym r col 20 c
 036E                   .dbsym r page 22 c
 036E                   .dbend
 036E                   .dbfunc e addressr _addressr fV
 036E           ;            col -> R20
 036E           ;           page -> R22
                        .even
 036E           _addressr::
 036E 0E940000          xcall push_gset2
 0372 422F              mov R20,R18
 0374 602F              mov R22,R16
 0376                   .dbline -1
 0376                   .dbline 147
 0376           ; //
 0376           ; void addressr(uchar page,uchar col)
 0376           ; {      
 0376                   .dbline 148
 0376           ;        wcoder(prepage+page);
 0376 062F              mov R16,R22
 0378 0854              subi R16,72    ; addi 184
 037A 03DF              xcall _wcoder
 037C                   .dbline 149
 037C           ;        wcoder(precol+col+3);
 037C 042F              mov R16,R20
 037E 0D5F              subi R16,253    ; addi 3
 0380 00DF              xcall _wcoder
 0382                   .dbline -2
 0382                   .dbline 150
 0382           ; }     
 0382           L43:
 0382 0E940000          xcall pop_gset2
 0386                   .dbline 0 ; func end
 0386 0895              ret
 0388                   .dbsym r col 20 c
 0388                   .dbsym r page 22 c
 0388                   .dbend
 0388                   .dbfunc e lcdinit _lcdinit fV
                        .even
 0388           _lcdinit::
 0388                   .dbline -1
 0388                   .dbline 153
 0388           ; //     
 0388           ; void lcdinit(void)
 0388           ; {      PORTC=0XFF;
 0388                   .dbline 153
 0388 8FEF              ldi R24,255
 038A 85BB              out 0x15,R24
 038C                   .dbline 154
 038C           ;        DDRC=0X00;
 038C 2224              clr R2
 038E 24BA              out 0x14,R2
 0390                   .dbline 155
 0390           ;        DDRD=0XFF;
 0390 81BB              out 0x11,R24
 0392                   .dbline 156
 0392           ;        DDRA|=BIT(PA7);
 0392 07E0              ldi R16,7
 0394 10E0              ldi R17,0
 0396 0E940000          xcall _BIT
 039A 2AB2              in R2,0x1a
 039C 3324              clr R3
 039E 202A              or R2,R16
 03A0 312A              or R3,R17
 03A2 2ABA              out 0x1a,R2
 03A4                   .dbline 157
 03A4           ;        PORTA|=BIT(PA7);
 03A4 07E0              ldi R16,7
 03A6 10E0              ldi R17,0
 03A8 0E940000          xcall _BIT
 03AC 2BB2              in R2,0x1b
 03AE 3324              clr R3
 03B0 202A              or R2,R16
 03B2 312A              or R3,R17
 03B4 2BBA              out 0x1b,R2
 03B6                   .dbline 158
 03B6           ;        wcodel(0xe2);wcoder(0xe2);//reset
 03B6 02EE              ldi R16,226
 03B8 23DE              xcall _wcodel
 03BA                   .dbline 158
 03BA 02EE              ldi R16,226
 03BC E2DE              xcall _wcoder
 03BE                   .dbline 159
 03BE           ;        wcodel(0xae);wcoder(0xae);//display off        
 03BE 0EEA              ldi R16,174
 03C0 1FDE              xcall _wcodel
 03C2                   .dbline 159
 03C2 0EEA              ldi R16,174
 03C4 DEDE              xcall _wcoder
 03C6                   .dbline 160
 03C6           ;        wcodel(0xA4);wcoder(0xA4);//display off 
 03C6 04EA              ldi R16,164
 03C8 1BDE              xcall _wcodel
 03CA                   .dbline 160
 03CA 04EA              ldi R16,164
 03CC DADE              xcall _wcoder
 03CE                   .dbline 161
 03CE           ;        wcodel(0xa9);wcoder(0xa9);//duty select :1/32
 03CE 09EA              ldi R16,169
 03D0 17DE              xcall _wcodel
 03D2                   .dbline 161
 03D2 09EA              ldi R16,169
 03D4 D6DE              xcall _wcoder
 03D6                   .dbline 162
 03D6           ;        wcodel(0xa0);wcoder(0xa0);//clock
 03D6 00EA              ldi R16,160
 03D8 13DE              xcall _wcodel
 03DA                   .dbline 162
 03DA 00EA              ldi R16,160
 03DC D2DE              xcall _wcoder
 03DE                   .dbline 163
 03DE           ;        wcodel(0xEE);wcoder(0xEE);//display off
 03DE 0EEE              ldi R16,238
 03E0 0FDE              xcall _wcodel
 03E2                   .dbline 163
 03E2 0EEE              ldi R16,238
 03E4 CEDE              xcall _wcoder
 03E6                   .dbline 164
 03E6           ;        wcodel(0xc0);wcoder(0xc0);//start line: 1
 03E6 00EC              ldi R16,192
 03E8 0BDE              xcall _wcodel
 03EA                   .dbline 164
 03EA 00EC              ldi R16,192
 03EC CADE              xcall _wcoder
 03EE                   .dbline 165
 03EE           ;        wcodel(0x00);wcoder(0x00); //column address set:0
 03EE 0027              clr R16
 03F0 07DE              xcall _wcodel
 03F2                   .dbline 165
 03F2 0027              clr R16
 03F4 C6DE              xcall _wcoder
 03F6                   .dbline 166
 03F6           ;        clear(0X00);
 03F6 0027              clr R16
 03F8 85DF              xcall _clear
 03FA                   .dbline 167
 03FA           ;        wcodel(0xAF);wcoder(0xAF);//page address set:1
 03FA 0FEA              ldi R16,175
 03FC 01DE              xcall _wcodel
 03FE                   .dbline 167
 03FE 0FEA              ldi R16,175
 0400                   .dbline -2
 0400                   .dbline 169
 0400           ; 
 0400           ; } 
 0400           L44:
 0400                   .dbline 0 ; func end
 0400 C0CE              xjmp _wcoder
 0402                   .dbend
 0402                   .dbfunc e displaystring _displaystring fV
 0402           ;              w -> R14
 0402           ;              j -> R22
 0402           ;              z -> R10
 0402           ;              i -> R20
 0402           ;        onechar -> y+16
 0402           ;              y -> y+14
 0402           ;              x -> y+12
                        .even
 0402           _displaystring::
 0402 0E940000          xcall push_arg4
 0406 0E940000          xcall push_gset5
 040A 2297              sbiw R28,2
 040C                   .dbline -1
 040C                   .dbline 171
 040C           ; void displaystring(uchar x,uchar y,uchar *onechar)
 040C           ; {
 040C                   .dbline 172
 040C           ;        uchar i=0,z=0,j=0,w;
 040C 4427              clr R20
 040E                   .dbline 172
 040E AA24              clr R10
 0410                   .dbline 172
 0410 6627              clr R22
 0412                   .dbline 173
 0412           ;        w=y;
 0412 EE84              ldd R14,y+14
 0414                   .dbline 174
 0414           ;        if (y>60)
 0414 8CE3              ldi R24,60
 0416 0E2C              mov R0,R14
 0418 8E15              cp R24,R14
 041A 08F0              brlo X8
 041C 53C0              xjmp L46
 041E           X8:
 041E                   .dbline 175
 041E           ;        {
 041E                   .dbline 176
 041E           ;               y=y-61;
 041E 802D              mov R24,R0
 0420 8D53              subi R24,61
 0422 8E87              std y+14,R24
 0424                   .dbline 177
 0424           ;               addressr(x,y);
 0424 282F              mov R18,R24
 0426 0C85              ldd R16,y+12
 0428 A2DF              xcall _addressr
 042A 45C0              xjmp L49
 042C           L48:
 042C                   .dbline 179
 042C           ;               while((*onechar)!='\n')
 042C           ;                {
 042C                   .dbline 180
 042C           ;                       for (i=0;i<16;i++)
 042C 4427              clr R20
 042E 3AC0              xjmp L54
 0430           L51:
 0430                   .dbline 181
 0430                   .dbline 181
 0430 20900000          lds R2,_b1
 0434 2220              tst R2
 0436 21F4              brne L55
 0438                   .dbline 181
 0438                   .dbline 181
 0438 81E4              ldi R24,65
 043A 80930100          sts _pianyi,R24
 043E                   .dbline 181
 043E 1EC0              xjmp L56
 0440           L55:
 0440                   .dbline 181
 0440                   .dbline 181
 0440 CA2C              mov R12,R10
 0442 DD24              clr R13
 0444 C601              movw R24,R12
 0446 8330              cpi R24,3
 0448 E0E0              ldi R30,0
 044A 9E07              cpc R25,R30
 044C 49F0              breq L60
 044E 8430              cpi R24,4
 0450 E0E0              ldi R30,0
 0452 9E07              cpc R25,R30
 0454 51F0              breq L61
 0456 8530              cpi R24,5
 0458 E0E0              ldi R30,0
 045A 9E07              cpc R25,R30
 045C 59F0              breq L62
 045E 0EC0              xjmp L57
 0460           X0:
 0460                   .dbline 181
 0460           L60:
 0460                   .dbline 181
 0460 20900500          lds R2,_sz3

⌨️ 快捷键说明

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