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

📄 test.lis

📁 基于AVR和51的240*128液晶显示模块驱动程序。很有用的喔~
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0200 0895              ret
 0202           ;              t -> R20,R21
 0202           ;             dy -> R22,R23
 0202           ;             dx -> R10,R11
 0202           ;              e -> R12,R13
 0202           ;           draw -> R14
 0202           ;             y2 -> y+17
 0202           ;             x2 -> y+15
 0202           ;             y1 -> y+13
 0202           ;             x1 -> y+11
                        .even
 0202           _Lcd_Line::
 0202 0E940000          xcall push_arg4
 0206 0E940000          xcall push_gset5
 020A 2197              sbiw R28,1
 020C EB88              ldd R14,y+19
 020E           ;     Lcd_Line(0,127,239,0,1);
 020E           ;     Lcd_Line(0,64,239,64,1);
 020E           ;     Lcd_Line(120,0,120,127,1);
 020E           ;     Lcd_Circle(120,64,30,1);
 020E           ;     Lcd_Box(2,2,237,125,1,0);
 020E           ;     Lcd_Box(110,54,130,74,1,1);
 020E           ;     Lcd_Box(115,59,125,69,0,1);
 020E           ;       Lcd_Point(0,0,1);
 020E           ;     a=75;
 020E           ;     b=1;
 020E 0B84              ldd R0,y+11
 0210 0F85              ldd R16,y+15
 0212 0016              cp R0,R16
 0214 F1F4              brne L40
 0216           ; 
 0216           ;     c=5;
 0216 0988              ldd R0,y+17
 0218 0D85              ldd R16,y+13
 021A 0016              cp R0,R16
 021C 20F4              brsh L42
 021E 8FEF              ldi R24,-1
 0220 9FEF              ldi R25,-1
 0222 6C01              movw R12,R24
 0224 0DC0              xjmp L47
 0226           L42:
 0226           ;     d=64;
 0226 81E0              ldi R24,1
 0228 90E0              ldi R25,0
 022A 6C01              movw R12,R24
 022C 09C0              xjmp L47
 022E           L44:
 022E E882              std y+0,R14
 0230 2D85              ldd R18,y+13
 0232 0B85              ldd R16,y+11
 0234 B4DF              xcall _Lcd_Point
 0236           L45:
 0236 2D84              ldd R2,y+13
 0238 3324              clr R3
 023A 2C0C              add R2,R12
 023C 3D1C              adc R3,R13
 023E 2D86              std y+13,R2
 0240           L47:
 0240           ;     Lcd_Box(4,63,116,120,1,0);
 0240 0D84              ldd R0,y+13
 0242 0989              ldd R16,y+17
 0244 0016              cp R0,R16
 0246 99F7              brne L44
 0248           ; 
 0248 E882              std y+0,R14
 024A 202D              mov R18,R0
 024C 0B85              ldd R16,y+11
 024E A7DF              xcall _Lcd_Point
 0250           ;       while(1)
 0250 97C0              xjmp L39
 0252           L40:
 0252           ;     {
 0252           ;         Lcd_Line(a,14,a,26,b);
 0252           ;         if (LCD_X_MAX-8==a++) {a=75;b= 1-b;}
 0252 0D84              ldd R0,y+13
 0254 0989              ldd R16,y+17
 0256 0016              cp R0,R16
 0258 F1F4              brne L48
 025A           ; 
 025A           ;         if (c<115)
 025A 0F84              ldd R0,y+15
 025C 0B85              ldd R16,y+11
 025E 0016              cp R0,R16
 0260 20F4              brsh L50
 0262 8FEF              ldi R24,-1
 0264 9FEF              ldi R25,-1
 0266 6C01              movw R12,R24
 0268 0DC0              xjmp L55
 026A           L50:
 026A           ;         {
 026A 81E0              ldi R24,1
 026C 90E0              ldi R25,0
 026E 6C01              movw R12,R24
 0270 09C0              xjmp L55
 0272           L52:
 0272 E882              std y+0,R14
 0274 2D85              ldd R18,y+13
 0276 0B85              ldd R16,y+11
 0278 92DF              xcall _Lcd_Point
 027A           L53:
 027A 2B84              ldd R2,y+11
 027C 3324              clr R3
 027E 2C0C              add R2,R12
 0280 3D1C              adc R3,R13
 0282 2B86              std y+11,R2
 0284           L55:
 0284           ;             Lcd_Line(c,d,120-c,183-d,1);
 0284 0B84              ldd R0,y+11
 0286 0F85              ldd R16,y+15
 0288 0016              cp R0,R16
 028A 99F7              brne L52
 028C           ;                       delay_us(250);
 028C E882              std y+0,R14
 028E 2D85              ldd R18,y+13
 0290 002D              mov R16,R0
 0292 85DF              xcall _Lcd_Point
 0294           ;             Lcd_Line(c,d,120-c,183-d,0);
 0294 75C0              xjmp L39
 0296           L48:
 0296           ;             c++;
 0296           ;         }
 0296           ;         else
 0296 2B84              ldd R2,y+11
 0298 3324              clr R3
 029A AF84              ldd R10,y+15
 029C BB24              clr R11
 029E A218              sub R10,R2
 02A0 B308              sbc R11,R3
 02A2           ;         {
 02A2 C501              movw R24,R10
 02A4 8030              cpi R24,0
 02A6 E0E0              ldi R30,0
 02A8 9E07              cpc R25,R30
 02AA 7CF4              brge L56
 02AC           ;             Lcd_Line(c,d,120-c,183-d,1);
 02AC           ;                       delay_us(250);
 02AC 422D              mov R20,R2
 02AE 5527              clr R21
 02B0 0F84              ldd R0,y+15
 02B2 0B86              std y+11,R0
 02B4 4F87              std y+15,R20
 02B6           ;             Lcd_Line(c,d,120-c,183-d,0);
 02B6 4D85              ldd R20,y+13
 02B8 5527              clr R21
 02BA 0988              ldd R0,y+17
 02BC 0D86              std y+13,R0
 02BE 498B              std y+17,R20
 02C0           ;             d++;
 02C0 8095              com R24
 02C2 9095              com R25
 02C4 8F5F              subi R24,0xFF
 02C6 9F4F              sbci R25,0xFF
 02C8 5C01              movw R10,R24
 02CA           ;             if (d>=120) {d=64;c=5;} 
 02CA           L56:
 02CA           ;         }
 02CA           ; 	}       
 02CA 2D84              ldd R2,y+13
 02CC 3324              clr R3
 02CE 6989              ldd R22,y+17
 02D0 7727              clr R23
 02D2 6219              sub R22,R2
 02D4 7309              sbc R23,R3
 02D6           ; }
 02D6 2224              clr R2
 02D8 2616              cp R2,R22
 02DA 3706              cpc R3,R23
 02DC 1CF4              brge L58
 02DE           ; 
 02DE           ; void avr_init(void)
 02DE 41E0              ldi R20,1
 02E0 50E0              ldi R21,0
 02E2           ; {
 02E2 06C0              xjmp L59
 02E4           L58:
 02E4           ;     Lcd_Setup();
 02E4           ; 	Lcd_Init();
 02E4           ;     return;
 02E4 4FEF              ldi R20,-1
 02E6 5FEF              ldi R21,-1
 02E8           ; }
 02E8 6095              com R22
 02EA 7095              com R23
 02EC 6F5F              subi R22,0xFF
 02EE 7F4F              sbci R23,0xFF
 02F0           ; }
 02F0           L59:
 02F0           ; }
 02F0           ; }
 02F0 E882              std y+0,R14
 02F2 2D85              ldd R18,y+13
 02F4 0B85              ldd R16,y+11
 02F6 53DF              xcall _Lcd_Point
 02F8           ; }
 02F8 A616              cp R10,R22
 02FA B706              cpc R11,R23
 02FC 0CF1              brlt L60
 02FE           ; }
 02FE           ; }
 02FE 1501              movw R2,R10
 0300 3594              asr R3
 0302 2794              ror R2
 0304 6B01              movw R12,R22
 0306 C218              sub R12,R2
 0308 D308              sbc R13,R3
 030A 15C0              xjmp L63
 030C           L62:
 030C           ; }
 030C           ; }
 030C           ; }
 030C 2224              clr R2
 030E 3324              clr R3
 0310 2C14              cp R2,R12
 0312 3D04              cpc R3,R13
 0314 3CF4              brge L65
 0316           ; }
 0316           ; }
 0316 2D84              ldd R2,y+13
 0318 3324              clr R3
 031A 240E              add R2,R20
 031C 351E              adc R3,R21
 031E 2D86              std y+13,R2
 0320           ; }
 0320 CA18              sub R12,R10
 0322 DB08              sbc R13,R11
 0324           ; }
 0324           L65:
 0324 0B84              ldd R0,y+11
 0326 0394              inc R0
 0328 0B86              std y+11,R0
 032A C60E              add R12,R22
 032C D71E              adc R13,R23
 032E E882              std y+0,R14
 0330 2D85              ldd R18,y+13
 0332 002D              mov R16,R0
 0334 34DF              xcall _Lcd_Point
 0336           L63:
 0336 0B84              ldd R0,y+11
 0338 0F85              ldd R16,y+15
 033A 0016              cp R0,R16
 033C 39F7              brne L62
 033E           ; }
 033E           ; }
 033E           ; }
 033E           ; }
 033E           ; }
 033E 20C0              xjmp L61
 0340           L60:
 0340           ; }
 0340           ; }
 0340           ; }
 0340 1B01              movw R2,R22
 0342 3594              asr R3
 0344 2794              ror R2
 0346 6501              movw R12,R10
 0348 C218              sub R12,R2
 034A D308              sbc R13,R3
 034C 15C0              xjmp L68
 034E           L67:
 034E           ; }
 034E           ; }
 034E           ; }
 034E 2224              clr R2
 0350 3324              clr R3
 0352 2C14              cp R2,R12
 0354 3D04              cpc R3,R13
 0356 2CF4              brge L70
 0358           ; }
 0358           ; }
 0358 0B84              ldd R0,y+11
 035A 0394              inc R0
 035C 0B86              std y+11,R0
 035E           ; }
 035E C61A              sub R12,R22
 0360 D70A              sbc R13,R23
 0362           ; }
 0362           L70:
 0362 2D84              ldd R2,y+13
 0364 3324              clr R3
 0366 240E              add R2,R20
 0368 351E              adc R3,R21
 036A 2D86              std y+13,R2
 036C CA0C              add R12,R10
 036E DB1C              adc R13,R11
 0370 E882              std y+0,R14
 0372 222D              mov R18,R2
 0374 0B85              ldd R16,y+11
 0376 13DF              xcall _Lcd_Point
 0378           L68:
 0378 0D84              ldd R0,y+13
 037A 0989              ldd R16,y+17
 037C 0016              cp R0,R16
 037E 39F7              brne L67
 0380           ; }

⌨️ 快捷键说明

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