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

📄 main.lis

📁 LCD彩显驱动 nokia 6100 LCD
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0158           ;       for(d=0;d<ld;d++)
 0158           ;       {
 0158           ; NOP();
 0158           L6:
 0158 00D0              rcall pop_gset5
 015A 2496              adiw R28,4
 015C                   .dbline 0 ; func end
 015C 0895              ret
 015E                   .dbsym r y 22 c
 015E                   .dbsym l x 10 c
 015E                   .dbend
 015E                   .dbfunc e glcdDoFillRect _glcdDoFillRect fV
 015E           ;              y -> R10
 015E           ;              x -> R14
 015E           ;             y2 -> R20
 015E           ;             x2 -> y+18
 015E           ;             y1 -> y+16
 015E           ;             x1 -> y+14
                        .even
 015E           _glcdDoFillRect::
 015E 00D0              rcall push_arg4
 0160 00D0              rcall push_gset5
 0162 2497              sbiw R28,4
 0164 4C89              ldd R20,y+20
 0166                   .dbline -1
 0166                   .dbline 54
 0166           ; NOP();
 0166           ; NOP();
 0166                   .dbline 59
 0166           ; NOP();
 0166           ; NOP();
 0166           ; NOP();
 0166           ; 
 0166           ;       }
 0166 20900A00          lds R2,_glcd_Clip+2
 016A 0E84              ldd R0,y+14
 016C 2014              cp R2,R0
 016E 20F4              brsh L26
 0170 81E0              ldi R24,1
 0172 90E0              ldi R25,0
 0174 6C01              movw R12,R24
 0176 02C0              rjmp L27
 0178           L26:
 0178 CC24              clr R12
 017A DD24              clr R13
 017C           L27:
 017C 20900800          lds R2,_glcd_Clip
 0180 0A88              ldd R0,y+18
 0182 0214              cp R0,R2
 0184 20F4              brsh L28
 0186 81E0              ldi R24,1
 0188 90E0              ldi R25,0
 018A 7C01              movw R14,R24
 018C 02C0              rjmp L29
 018E           L28:
 018E EE24              clr R14
 0190 FF24              clr R15
 0192           L29:
 0192 20900B00          lds R2,_glcd_Clip+3
 0196 0888              ldd R0,y+16
 0198 2014              cp R2,R0
 019A 20F4              brsh L30
 019C 81E0              ldi R24,1
 019E 90E0              ldi R25,0
 01A0 5C01              movw R10,R24
 01A2 02C0              rjmp L31
 01A4           L30:
 01A4 AA24              clr R10
 01A6 BB24              clr R11
 01A8           L31:
 01A8 20900900          lds R2,_glcd_Clip+1
 01AC 4215              cp R20,R2
 01AE 18F4              brsh L32
 01B0 61E0              ldi R22,1
 01B2 70E0              ldi R23,0
 01B4 02C0              rjmp L33
 01B6           L32:
 01B6 6627              clr R22
 01B8 7727              clr R23
 01BA           L33:
 01BA 1601              movw R2,R12
 01BC 2E28              or R2,R14
 01BE 3F28              or R3,R15
 01C0 2A28              or R2,R10
 01C2 3B28              or R3,R11
 01C4 262A              or R2,R22
 01C6 372A              or R3,R23
 01C8 2220              tst R2
 01CA 11F4              brne X1
 01CC 3320              tst R3
 01CE 09F0              breq L21
 01D0           X1:
 01D0                   .dbline 59
 01D0                   .dbline 59
 01D0 53C0              rjmp L20
 01D2           L21:
 01D2                   .dbline 60
 01D2           ; }
 01D2 20900800          lds R2,_glcd_Clip
 01D6 0E84              ldd R0,y+14
 01D8 0214              cp R0,R2
 01DA 08F4              brsh L34
 01DC                   .dbline 60
 01DC                   .dbline 60
 01DC 2E86              std y+14,R2
 01DE                   .dbline 60
 01DE           L34:
 01DE                   .dbline 61
 01DE           ; 
 01DE 20900900          lds R2,_glcd_Clip+1
 01E2 0888              ldd R0,y+16
 01E4 0214              cp R0,R2
 01E6 08F4              brsh L36
 01E8                   .dbline 61
 01E8                   .dbline 61
 01E8 288A              std y+16,R2
 01EA                   .dbline 61
 01EA           L36:
 01EA                   .dbline 62
 01EA           ; //
 01EA 20900A00          lds R2,_glcd_Clip+2
 01EE 0A88              ldd R0,y+18
 01F0 2014              cp R2,R0
 01F2 08F4              brsh L40
 01F4                   .dbline 62
 01F4                   .dbline 62
 01F4 2A8A              std y+18,R2
 01F6                   .dbline 62
 01F6           L40:
 01F6                   .dbline 63
 01F6           ; void main(void)
 01F6 20900B00          lds R2,_glcd_Clip+3
 01FA 2416              cp R2,R20
 01FC 08F4              brsh L44
 01FE                   .dbline 63
 01FE                   .dbline 63
 01FE 422D              mov R20,R2
 0200                   .dbline 63
 0200           L44:
 0200                   .dbline 65
 0200           ; {
 0200           ;  init_devices();
 0200 0A88              ldd R0,y+18
 0202 0E85              ldd R16,y+14
 0204 0016              cp R0,R16
 0206 18F0              brlo L50
 0208 61E0              ldi R22,1
 020A 70E0              ldi R23,0
 020C 02C0              rjmp L51
 020E           L50:
 020E 6627              clr R22
 0210 7727              clr R23
 0212           L51:
 0212 0888              ldd R0,y+16
 0214 4015              cp R20,R0
 0216 20F0              brlo L52
 0218 81E0              ldi R24,1
 021A 90E0              ldi R25,0
 021C 5C01              movw R10,R24
 021E 02C0              rjmp L53
 0220           L52:
 0220 AA24              clr R10
 0222 BB24              clr R11
 0224           L53:
 0224 1B01              movw R2,R22
 0226 2A20              and R2,R10
 0228 3B20              and R3,R11
 022A 2220              tst R2
 022C 11F4              brne X2
 022E 3320              tst R3
 0230 19F1              breq L48
 0232           X2:
 0232                   .dbline 66
 0232           ;      OSCCAL=0xff;                        // 8M系统内部时钟校准    
 0232                   .dbline 67
 0232           ;     //设置MCU的I/O口
 0232 242E              mov R2,R20
 0234 3324              clr R3
 0236 3B82              std y+3,R3
 0238 2A82              std y+2,R2
 023A 2888              ldd R2,y+16
 023C 3324              clr R3
 023E 3982              std y+1,R3
 0240 2882              std y+0,R2
 0242 2A89              ldd R18,y+18
 0244 3327              clr R19
 0246 0E85              ldd R16,y+14
 0248 1127              clr R17
 024A BBD9              rcall _glcdn_SetPageArea
 024C                   .dbline 68
 024C           ;       DDRD=0xFF;
 024C 0CE5              ldi R16,92
 024E 10E0              ldi R17,0
 0250 26DA              rcall _glcdn_WriteCommand
 0252                   .dbline 69
 0252 A888              ldd R10,y+16
 0254 0FC0              rjmp L57
 0256           L54:
 0256                   .dbline 69
 0256           ;       PORTD=0x00;
 0256                   .dbline 70
 0256 EE84              ldd R14,y+14
 0258 09C0              rjmp L61
 025A           L58:
 025A                   .dbline 70
 025A                   .dbline 71
 025A 00910000          lds R16,_Color1
 025E 1127              clr R17
 0260 11DA              rcall _glcdn_WriteData
 0262                   .dbline 72
 0262 00910100          lds R16,_Color2
 0266 1127              clr R17
 0268 0DDA              rcall _glcdn_WriteData
 026A                   .dbline 73
 026A           L59:
 026A                   .dbline 70
 026A E394              inc R14
 026C           L61:
 026C                   .dbline 70
 026C 0A88              ldd R0,y+18
 026E 0E14              cp R0,R14
 0270 A0F7              brsh L58
 0272                   .dbline 74
 0272           L55:
 0272                   .dbline 69
 0272 A394              inc R10
 0274           L57:
 0274                   .dbline 69
 0274 4A15              cp R20,R10
 0276 78F7              brsh L54
 0278                   .dbline 75
 0278           L48:
 0278                   .dbline -2
 0278                   .dbline 76
 0278           ;     DDRB = 0xFF;
 0278           ;       PORTB=0x00;
 0278           ; //    SPSR |= BIT(SPI2X);                 // 设置SPI时钟倍速
 0278           ; //   SPCR |= BIT(SPE)|BIT(MSTR);              // 使能SPI接口,主机模式,4M时钟
 0278           ; //SPCR=0x51; 
 0278           ; //SPCR = 0x73; //setup SPI
 0278           ; //SPSR = 0x01; //setup SPI
 0278           L20:
 0278 2496              adiw R28,4
 027A 00D0              rcall pop_gset5
 027C 2496              adiw R28,4
 027E                   .dbline 0 ; func end
 027E 0895              ret
 0280                   .dbsym r y 10 c
 0280                   .dbsym r x 14 c
 0280                   .dbsym r y2 20 c
 0280                   .dbsym l x2 18 c
 0280                   .dbsym l y1 16 c
 0280                   .dbsym l x1 14 c
 0280                   .dbend
 0280                   .dbfunc e glcdFillRect _glcdFillRect fV
 0280           ;              t -> R14
 0280           ;              t -> R14
 0280           ;             y2 -> R12
 0280           ;             x2 -> R10
 0280           ;             y1 -> R22
 0280           ;             x1 -> R20
                        .even
 0280           _glcdFillRect::
 0280 00D0              rcall push_gset5
 0282 622F              mov R22,R18
 0284 402F              mov R20,R16
 0286 2397              sbiw R28,3
 0288 AD84              ldd R10,y+13
 028A CF84              ldd R12,y+15
 028C                   .dbline -1
 028C                   .dbline 78
 028C           ; SPCR = (1<<SPE) | (1<<MSTR) | (1<<CPHA) | (1<<CPOL);
 028C           ;  //insert your functional code here...
 028C                   .dbline 80
 028C                   .dbline 80
 028C A416              cp R10,R20
 028E 18F4              brsh L63
 0290                   .dbline 80
 0290                   .dbline 80
 0290                   .dbline 80
 0290 E42E              mov R14,R20
 0292                   .dbline 80
 0292 4A2D              mov R20,R10
 0294                   .dbline 80
 0294 AE2C              mov R10,R14
 0296                   .dbline 80
 0296                   .dbline 80
 0296           L63:
 0296                   .dbline 80
 0296           ; // glcdn_Delay(9900000);
 0296           ; 
 0296                   .dbline 80
 0296                   .dbline 81
 0296                   .dbline 81
 0296 C616              cp R12,R22
 0298 18F4              brsh L65
 029A                   .dbline 81
 029A                   .dbline 81
 029A                   .dbline 81
 029A E62E              mov R14,R22
 029C                   .dbline 81
 029C 6C2D              mov R22,R12
 029E                   .dbline 81
 029E CE2C              mov R12,R14
 02A0                   .dbline 81
 02A0                   .dbline 81
 02A0           L65:
 02A0                   .dbline 81
 02A0           ; RGB2(255,255,255);
 02A0                   .dbline 81
 02A0                   .dbline 83
 02A0           ;      glcdSetRect(glcd_Clip, 0, 0, 130, 130);
 02A0           ; init_lcd();
 02A0 CA82              std y+2,R12
 02A2 A882              std y+0,R10
 02A4 262F              mov R18,R22
 02A6 042F              mov R16,R20
 02A8 5ADF              rcall _glcdDoFillRect
 02AA                   .dbline -2
 02AA                   .dbline 84
 02AA           ; top:
 02AA           L62:
 02AA 2396              adiw R28,3
 02AC 00D0              rcall pop_gset5
 02AE                   .dbline 0 ; func end
 02AE 0895              ret
 02B0                   .dbsym r t 14 c
 02B0                   .dbsym r t 14 c
 02B0                   .dbsym r y2 12 c
 02B0                   .dbsym r x2 10 c
 02B0                   .dbsym r y1 22 c
 02B0                   .dbsym r x1 20 c
 02B0                   .dbend
 02B0                   .dbfunc e glcdRectangle _glcdRectangle fV
 02B0           ;              t -> R14
 02B0           ;              t -> R14
 02B0           ;             y2 -> R12
 02B0           ;             x2 -> R10
 02B0           ;             y1 -> R22
 02B0           ;             x1 -> R20
                        .even
 02B0           _glcdRectangle::
 02B0 00D0              rcall push_gset5
 02B2 622F              mov R22,R18
 02B4 402F              mov R20,R16
 02B6 2397              sbiw R28,3
 02B8 AD84              ldd R10,y+13
 02BA CF84              ldd R12,y+15
 02BC                   .dbline -1
 02BC                   .dbline 86
 02BC           ; RGB2(255,255,255);
 02BC           ; glcdn_ClearLcd();
 02BC                   .dbline 88
 02BC                   .dbline 88
 02BC A416              cp R10,R20
 02BE 18F4              brsh L68
 02C0                   .dbline 88
 02C0                   .dbline 88
 02C0                   .dbline 88
 02C0 E42E              mov R14,R20
 02C2                   .dbline 88

⌨️ 快捷键说明

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