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

📄 test.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
    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 + -