📄 test.lst
字号:
010D E002 LDI R16,2
010E DF5D RCALL _send
(0223) send(4, DATA);
010F E021 LDI R18,1
0110 E004 LDI R16,4
0111 DF5A RCALL _send
(0224) send(8, DATA);
0112 E021 LDI R18,1
0113 E008 LDI R16,0x8
0114 DF57 RCALL _send
(0225) send(16, DATA);
0115 E021 LDI R18,1
0116 E100 LDI R16,0x10
0117 DF54 RCALL _send
(0226) send(30, DATA);
0118 E021 LDI R18,1
0119 E10E LDI R16,0x1E
011A DF51 RCALL _send
(0227) send(40, DATA);
011B E021 LDI R18,1
011C E208 LDI R16,0x28
011D DF4E RCALL _send
(0228) send(50, DATA);
011E E021 LDI R18,1
011F E302 LDI R16,0x32
0120 DF4B RCALL _send
(0229) send(60, DATA);
0121 E021 LDI R18,1
0122 E30C LDI R16,0x3C
0123 DF48 RCALL _send
(0230) send(70, DATA);
0124 E021 LDI R18,1
0125 E406 LDI R16,0x46
0126 DF45 RCALL _send
(0231) send(80, DATA);
0127 E021 LDI R18,1
0128 E500 LDI R16,0x50
0129 DF42 RCALL _send
(0232) send(90, DATA);
012A E021 LDI R18,1
012B E50A LDI R16,0x5A
012C DF3F RCALL _send
(0233) send(100, DATA);
012D E021 LDI R18,1
012E E604 LDI R16,0x64
012F DF3C RCALL _send
(0234) send(110, DATA);
0130 E021 LDI R18,1
0131 E60E LDI R16,0x6E
0132 DF39 RCALL _send
(0235) send(127, DATA);
0133 E021 LDI R18,1
0134 E70F LDI R16,0x7F
0135 DF36 RCALL _send
(0236) cs();
0136 DF9A RCALL _cs
(0237)
(0238) send(0xB5, CMD); // Gamma Curve Set
0137 2722 CLR R18
0138 EB05 LDI R16,0xB5
0139 DF32 RCALL _send
(0239) send(1, DATA);
013A E021 LDI R18,1
013B E001 LDI R16,1
013C DF2F RCALL _send
(0240) cs();
013D DF93 RCALL _cs
(0241)
(0242) send(0xBE, CMD); // Power Control
013E 2722 CLR R18
013F EB0E LDI R16,0xBE
0140 DF2B RCALL _send
(0243) send(3, DATA);
0141 E021 LDI R18,1
0142 E003 LDI R16,3
0143 DF28 RCALL _send
(0244) cs();
0144 DF8C RCALL _cs
(0245)
(0246) send(0x3A, CMD); // Power Control
0145 2722 CLR R18
0146 E30A LDI R16,0x3A
0147 DF24 RCALL _send
(0247) send(0b00000011, DATA);
0148 E021 LDI R18,1
0149 E003 LDI R16,3
014A DF21 RCALL _send
(0248) cs();
014B DF85 RCALL _cs
(0249)
(0250) send(0x11, CMD); // Sleep out
014C 2722 CLR R18
014D E101 LDI R16,0x11
014E DF1D RCALL _send
(0251) cs();
014F DF81 RCALL _cs
(0252)
(0253) send(0xB7, CMD); // Temperature gradient set
0150 2722 CLR R18
0151 EB07 LDI R16,0xB7
0152 DF19 RCALL _send
(0254) for(i=0; i<14; i++) {
0153 2744 CLR R20
0154 2755 CLR R21
(0255) send(0, DATA);
0155 E021 LDI R18,1
0156 2700 CLR R16
0157 DF14 RCALL _send
0158 5F4F SUBI R20,0xFF
0159 4F5F SBCI R21,0xFF
015A 304E CPI R20,0xE
015B E0E0 LDI R30,0
015C 075E CPC R21,R30
015D F3BC BLT 0x0155
(0256) }
(0257) cs();
015E DF72 RCALL _cs
(0258)
(0259) send(0x03, CMD); // Booster Voltage ON
015F 2722 CLR R18
0160 E003 LDI R16,3
0161 DF0A RCALL _send
(0260) cs();
0162 DF6E RCALL _cs
(0261)
(0262) for(i=0; i<8; i++) { // Booster Voltage stabilisieren lassen
0163 2744 CLR R20
0164 2755 CLR R21
(0263) delay5ms();
0165 DEF6 RCALL _delay5ms
0166 5F4F SUBI R20,0xFF
0167 4F5F SBCI R21,0xFF
0168 3048 CPI R20,0x8
0169 E0E0 LDI R30,0
016A 075E CPC R21,R30
016B F3CC BLT 0x0165
(0264) }
(0265)
(0266) send(0x20, CMD); // Inversion control
016C 2722 CLR R18
016D E200 LDI R16,0x20
016E DEFD RCALL _send
(0267) cs();
016F DF61 RCALL _cs
(0268)
(0269) send(0x25, CMD); // Write contrast
0170 2722 CLR R18
0171 E205 LDI R16,0x25
0172 DEF9 RCALL _send
(0270) send(63, DATA);
0173 E021 LDI R18,1
0174 E30F LDI R16,0x3F
0175 DEF6 RCALL _send
(0271) cs();
0176 DF5A RCALL _cs
(0272)
(0273)
(0274) send(0x2C, CMD); // Memory Write
0177 2722 CLR R18
0178 E20C LDI R16,0x2C
0179 DEF2 RCALL _send
(0275)
(0276) // roter Balken
(0277) s=0;
017A 2766 CLR R22
(0278) for(i=0; i<1176; i++) {
017B 2744 CLR R20
017C 2755 CLR R21
(0279) if(s == 0) send(15, DATA);
017D 2366 TST R22
017E F421 BNE 0x0183
017F E021 LDI R18,1
0180 E00F LDI R16,0xF
0181 DEEA RCALL _send
0182 C00B RJMP 0x018E
(0280) else if(s == 1) send(240, DATA);
0183 3061 CPI R22,1
0184 F421 BNE 0x0189
0185 E021 LDI R18,1
0186 EF00 LDI R16,0xF0
0187 DEE4 RCALL _send
0188 C005 RJMP 0x018E
(0281) else if(s == 2) send(255, DATA);
0189 3062 CPI R22,2
018A F419 BNE 0x018E
018B E021 LDI R18,1
018C EF0F LDI R16,0xFF
018D DEDE RCALL _send
(0282)
(0283) if(++s == 3)
018E 2F86 MOV R24,R22
018F 5F8F SUBI R24,0xFF
0190 2F68 MOV R22,R24
0191 3063 CPI R22,3
0192 F409 BNE 0x0194
(0284) s = 0;
0193 2766 CLR R22
0194 5F4F SUBI R20,0xFF
0195 4F5F SBCI R21,0xFF
0196 3948 CPI R20,0x98
0197 E0E4 LDI R30,4
0198 075E CPC R21,R30
0199 F31C BLT 0x017D
(0285) }
(0286)
(0287) // gr黱er Balken
(0288) s=0;
019A 2766 CLR R22
(0289) for(i=0; i<1176; i++) {
019B 2744 CLR R20
019C 2755 CLR R21
(0290) if(s == 0) send(141, DATA);
019D 2366 TST R22
019E F421 BNE 0x01A3
019F E021 LDI R18,1
01A0 E80D LDI R16,0x8D
01A1 DECA RCALL _send
01A2 C00B RJMP 0x01AE
(0291) else if(s == 1) send(56, DATA);
01A3 3061 CPI R22,1
01A4 F421 BNE 0x01A9
01A5 E021 LDI R18,1
01A6 E308 LDI R16,0x38
01A7 DEC4 RCALL _send
01A8 C005 RJMP 0x01AE
(0292) else if(s == 2) send(211, DATA);
01A9 3062 CPI R22,2
01AA F419 BNE 0x01AE
01AB E021 LDI R18,1
01AC ED03 LDI R16,0xD3
01AD DEBE RCALL _send
(0293)
(0294) if(++s == 3)
01AE 2F86 MOV R24,R22
01AF 5F8F SUBI R24,0xFF
01B0 2F68 MOV R22,R24
01B1 3063 CPI R22,3
01B2 F409 BNE 0x01B4
(0295) s = 0;
01B3 2766 CLR R22
01B4 5F4F SUBI R20,0xFF
01B5 4F5F SBCI R21,0xFF
01B6 3948 CPI R20,0x98
01B7 E0E4 LDI R30,4
01B8 075E CPC R21,R30
01B9 F31C BLT 0x019D
(0296) }
(0297)
(0298) // blauer Balken
(0299) s=0;
01BA 2766 CLR R22
(0300) for(i=0; i<1176; i++) {
01BB 2744 CLR R20
01BC 2755 CLR R21
(0301) if(s == 0) send(255, DATA);
01BD 2366 TST R22
01BE F421 BNE 0x01C3
01BF E021 LDI R18,1
01C0 EF0F LDI R16,0xFF
01C1 DEAA RCALL _send
01C2 C00B RJMP 0x01CE
(0302) else if(s == 1) send(15, DATA);
01C3 3061 CPI R22,1
01C4 F421 BNE 0x01C9
01C5 E021 LDI R18,1
01C6 E00F LDI R16,0xF
01C7 DEA4 RCALL _send
01C8 C005 RJMP 0x01CE
(0303) else if(s == 2) send(240, DATA);
01C9 3062 CPI R22,2
01CA F419 BNE 0x01CE
01CB E021 LDI R18,1
01CC EF00 LDI R16,0xF0
01CD DE9E RCALL _send
(0304)
(0305) if(++s == 3)
01CE 2F86 MOV R24,R22
01CF 5F8F SUBI R24,0xFF
01D0 2F68 MOV R22,R24
01D1 3063 CPI R22,3
01D2 F409 BNE 0x01D4
(0306) s = 0;
01D3 2766 CLR R22
01D4 5F4F SUBI R20,0xFF
01D5 4F5F SBCI R21,0xFF
01D6 3948 CPI R20,0x98
01D7 E0E4 LDI R30,4
01D8 075E CPC R21,R30
01D9 F31C BLT 0x01BD
(0307) }
(0308)
(0309) // gelber Balken
(0310) s=0;
01DA 2766 CLR R22
(0311) for(i=0; i<1176; i++) {
01DB 2744 CLR R20
01DC 2755 CLR R21
(0312) if(s == 0) send(0, DATA);
01DD 2366 TST R22
01DE F421 BNE 0x01E3
01DF E021 LDI R18,1
01E0 2700 CLR R16
01E1 DE8A RCALL _send
01E2 C00B RJMP 0x01EE
(0313) else if(s == 1) send(240, DATA);
01E3 3061 CPI R22,1
01E4 F421 BNE 0x01E9
01E5 E021 LDI R18,1
01E6 EF00 LDI R16,0xF0
01E7 DE84 RCALL _send
01E8 C005 RJMP 0x01EE
(0314) else if(s == 2) send(15, DATA);
01E9 3062 CPI R22,2
01EA F419 BNE 0x01EE
01EB E021 LDI R18,1
01EC E00F LDI R16,0xF
01ED DE7E RCALL _send
(0315)
(0316) if(++s == 3)
01EE 2F86 MOV R24,R22
01EF 5F8F SUBI R24,0xFF
01F0 2F68 MOV R22,R24
01F1 3063 CPI R22,3
01F2 F409 BNE 0x01F4
(0317) s = 0;
01F3 2766 CLR R22
01F4 5F4F SUBI R20,0xFF
01F5 4F5F SBCI R21,0xFF
01F6 3948 CPI R20,0x98
01F7 E0E4 LDI R30,4
01F8 075E CPC R21,R30
01F9 F31C BLT 0x01DD
(0318) }
(0319)
(0320) // magenta Balken
(0321) s=0;
01FA 2766 CLR R22
(0322) for(i=0; i<1176; i++) {
01FB 2744 CLR R20
01FC 2755 CLR R21
(0323) if(s == 0) send(15, DATA);
01FD 2366 TST R22
01FE F421 BNE 0x0203
01FF E021 LDI R18,1
0200 E00F LDI R16,0xF
0201 DE6A RCALL _send
0202 C00B RJMP 0x020E
(0324) else if(s == 1) send(0, DATA);
0203 3061 CPI R22,1
0204 F421 BNE 0x0209
0205 E021 LDI R18,1
0206 2700 CLR R16
0207 DE64 RCALL _send
0208 C005 RJMP 0x020E
(0325) else if(s == 2) send(240, DATA);
0209 3062 CPI R22,2
020A F419 BNE 0x020E
020B E021 LDI R18,1
020C EF00 LDI R16,0xF0
020D DE5E RCALL _send
(0326)
(0327) if(++s == 3)
020E 2F86 MOV R24,R22
020F 5F8F SUBI R24,0xFF
0210 2F68 MOV R22,R24
0211 3063 CPI R22,3
0212 F409 BNE 0x0214
(0328) s = 0;
0213 2766 CLR R22
0214 5F4F SUBI R20,0xFF
0215 4F5F SBCI R21,0xFF
0216 3948 CPI R20,0x98
0217 E0E4 LDI R30,4
0218 075E CPC R21,R30
0219 F31C BLT 0x01FD
(0329) }
(0330)
(0331) // cyan Balken
(0332) s=0;
021A 2766 CLR R22
(0333) for(i=0; i<1176; i++) {
021B 2744 CLR R20
021C 2755 CLR R21
(0334) if(s == 0) send(240, DATA);
021D 2366 TST R22
021E F421 BNE 0x0223
021F E021 LDI R18,1
0220 EF00 LDI R16,0xF0
0221 DE4A RCALL _send
0222 C00B RJMP 0x022E
(0335) else if(s == 1) send(15, DATA);
0223 3061 CPI R22,1
0224 F421 BNE 0x0229
0225 E021 LDI R18,1
0226 E00F LDI R16,0xF
0227 DE44 RCALL _send
0228 C005 RJMP 0x022E
(0336) else if(s == 2) send(0, DATA);
0229 3062 CPI R22,2
022A F419 BNE 0x022E
022B E021 LDI R18,1
022C 2700 CLR R16
022D DE3E RCALL _send
(0337)
(0338) if(++s == 3)
022E 2F86 MOV R24,R22
022F 5F8F SUBI R24,0xFF
0230 2F68 MOV R22,R24
0231 3063 CPI R22,3
0232 F409 BNE 0x0234
(0339) s = 0;
0233 2766 CLR R22
0234 5F4F SUBI R20,0xFF
0235 4F5F SBCI R21,0xFF
0236 3948 CPI R20,0x98
0237 E0E4 LDI R30,4
0238 075E CPC R21,R30
0239 F31C BLT 0x021D
(0340) }
(0341)
(0342) // wei遝r Balken
(0343) for(i=0; i<1176; i++) {
023A 2744 CLR R20
023B 2755 CLR R21
(0344) send(0, DATA);
023C E021 LDI R18,1
023D 2700 CLR R16
023E DE2D RCALL _send
023F 5F4F SUBI R20,0xFF
0240 4F5F SBCI R21,0xFF
0241 3948 CPI R20,0x98
0242 E0E4 LDI R30,4
0243 075E CPC R21,R30
0244 F3BC BLT 0x023C
(0345) }
(0346)
(0347) // schwarzer Balken
(0348) for(i=0; i<1617; i++) {
0245 2744 CLR R20
0246 2755 CLR R21
(0349) send(255, DATA);
0247 E021 LDI R18,1
0248 EF0F LDI R16,0xFF
0249 DE22 RCALL _send
024A 5F4F SUBI R20,0xFF
024B 4F5F SBCI R21,0xFF
024C 3541 CPI R20,0x51
024D E0E6 LDI R30,6
024E 075E CPC R21,R30
024F F3BC BLT 0x0247
(0350) }
(0351) cs();
0250 DE80 RCALL _cs
(0352)
(0353) send(0x29, CMD); // Display On
0251 2722 CLR R18
0252 E209 LDI R16,0x29
0253 DE18 RCALL _send
(0354) cs();
0254 DE7C RCALL _cs
(0355)
(0356) while(1) {;}
FILE: <library>
0255 CFFF RJMP 0x0255
0256 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -