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

📄 main.lis

📁 AVR单片机,STK500下载线制作全套资料,包括程序,电路图
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 01D2 E0E0              ldi R30,0
 01D4 9E07              cpc R25,R30
 01D6 69F0              breq L47
 01D8 10C0              rjmp L39
 01DA           X3:
 01DA                   .dbline 204
 01DA           ;               {
 01DA           L43:
 01DA                   .dbline 206
 01DA           ;                       case PARAM_SCK_DURATION:
 01DA           ;                               clock_speed=msg_buffer[2];
 01DA 20900A00          lds R2,_msg_buffer+2
 01DE 20920700          sts _clock_speed,R2
 01E2                   .dbline 211
 01E2           ;                               //if(eeprom_read_byte(&eeprom_sck_period)!=clock_speed) eeprom_write_byte(&eeprom_sck_period,clock_speed);
 01E2           ;                               //if (eeprom_sck_period != clock_speed) {
 01E2           ;                               //      eeprom_sck_period = clock_speed;
 01E2           ;                               //      }
 01E2           ;                               spi_set_speed(clock_speed);
 01E2 022D              mov R16,R2
 01E4 00D0              rcall _spi_set_speed
 01E6                   .dbline 212
 01E6           ;                               break;
 01E6 09C0              rjmp L40
 01E8           L45:
 01E8                   .dbline 214
 01E8           ;                       case PARAM_RESET_POLARITY:
 01E8           ;                               reset_polarity = msg_buffer[2];
 01E8 20900A00          lds R2,_msg_buffer+2
 01EC 20920600          sts _reset_polarity,R2
 01F0                   .dbline 215
 01F0           ;                               break;
 01F0 04C0              rjmp L40
 01F2           L47:
 01F2                   .dbline 217
 01F2           ;                       case PARAM_CONTROLLER_INIT:
 01F2           ;                               param_controller_init = msg_buffer[2];
 01F2 20900A00          lds R2,_msg_buffer+2
 01F6 20920500          sts _param_controller_init,R2
 01FA                   .dbline 218
 01FA           ;                               break;
 01FA           L39:
 01FA           L40:
 01FA                   .dbline 221
 01FA           ;               }
 01FA           ;               
 01FA           ;               num_bytes = 2;
 01FA 82E0              ldi R24,2
 01FC 90E0              ldi R25,0
 01FE 9B87              std y+11,R25
 0200 8A87              std y+10,R24
 0202                   .dbline 222
 0202           ;               msg_buffer[0] = CMD_SET_PARAMETER;
 0202 80930800          sts _msg_buffer,R24
 0206                   .dbline 223
 0206           ;               msg_buffer[1] = STATUS_CMD_OK;
 0206 2224              clr R2
 0208 20920900          sts _msg_buffer+1,R2
 020C                   .dbline 224
 020C           ;       }
 020C ADC6              rjmp L38
 020E           L37:
 020E                   .dbline 228
 020E           ;       //////////////////////////////////////
 020E           ;       //CMD_GET_PARAMETER
 020E           ;       //////////////////////////////////////
 020E           ;       else if(cmd==CMD_GET_PARAMETER)
 020E 8C85              ldd R24,y+12
 0210 8330              cpi R24,3
 0212 09F0              breq X7
 0214 58C0              rjmp L51
 0216           X7:
 0216                   .dbline 229
 0216           ;       {
 0216                   .dbline 230
 0216           ;               switch(msg_buffer[1])
 0216 A0900900          lds R10,_msg_buffer+1
 021A BB24              clr R11
 021C C501              movw R24,R10
 021E 8039              cpi R24,144
 0220 E0E0              ldi R30,0
 0222 9E07              cpc R25,R30
 0224 79F1              breq L59
 0226 8139              cpi R24,145
 0228 E0E0              ldi R30,0
 022A 9E07              cpc R25,R30
 022C 71F1              breq L60
 022E 8239              cpi R24,146
 0230 E0E0              ldi R30,0
 0232 9E07              cpc R25,R30
 0234 69F1              breq L61
 0236 82E9              ldi R24,146
 0238 8A15              cp R24,R10
 023A 9B05              cpc R25,R11
 023C 54F0              brlt L66
 023E           L65:
 023E C501              movw R24,R10
 0240 8038              cpi R24,128
 0242 E0E0              ldi R30,0
 0244 9E07              cpc R25,R30
 0246 C1F0              breq L57
 0248 8138              cpi R24,129
 024A E0E0              ldi R30,0
 024C 9E07              cpc R25,R30
 024E B9F0              breq L58
 0250 2DC0              rjmp L53
 0252           L66:
 0252 C501              movw R24,R10
 0254 8839              cpi R24,152
 0256 E0E0              ldi R30,0
 0258 9E07              cpc R25,R30
 025A E9F0              breq L62
 025C 8839              cpi R24,152
 025E E0E0              ldi R30,0
 0260 9E07              cpc R25,R30
 0262 24F1              brlt L53
 0264           L67:
 0264 C501              movw R24,R10
 0266 8E39              cpi R24,158
 0268 E0E0              ldi R30,0
 026A 9E07              cpc R25,R30
 026C C1F0              breq L63
 026E 8F39              cpi R24,159
 0270 E0E0              ldi R30,0
 0272 9E07              cpc R25,R30
 0274 C1F0              breq L64
 0276 1AC0              rjmp L53
 0278           X4:
 0278                   .dbline 231
 0278           ;               {
 0278           L57:
 0278                   .dbline 233
 0278           ;                       case PARAM_BUILD_NUMBER_LOW:
 0278           ;                               tmp = CONFIG_PARAM_BUILD_NUMBER_LOW;
 0278 0024              clr R0
 027A 0D86              std y+13,R0
 027C                   .dbline 234
 027C           ;                               break;
 027C 17C0              rjmp L54
 027E           L58:
 027E                   .dbline 236
 027E           ;                       case PARAM_BUILD_NUMBER_HIGH:
 027E           ;                               tmp = CONFIG_PARAM_BUILD_NUMBER_HIGH;
 027E 0024              clr R0
 0280 0D86              std y+13,R0
 0282                   .dbline 237
 0282           ;                               break;
 0282 14C0              rjmp L54
 0284           L59:
 0284                   .dbline 239
 0284           ;                       case PARAM_HW_VER:
 0284           ;                               tmp = CONFIG_PARAM_HW_VER;
 0284 8FE0              ldi R24,15
 0286 8D87              std y+13,R24
 0288                   .dbline 240
 0288           ;                               break;
 0288 11C0              rjmp L54
 028A           L60:
 028A                   .dbline 242
 028A           ;                       case PARAM_SW_MAJOR:
 028A           ;                               tmp = CONFIG_PARAM_SW_MAJOR;
 028A 82E0              ldi R24,2
 028C 8D87              std y+13,R24
 028E                   .dbline 243
 028E           ;                               break;
 028E 0EC0              rjmp L54
 0290           L61:
 0290                   .dbline 245
 0290           ;                       case PARAM_SW_MINOR:
 0290           ;                               tmp = CONFIG_PARAM_SW_MINOR;
 0290 8AE0              ldi R24,10
 0292 8D87              std y+13,R24
 0294                   .dbline 246
 0294           ;                               break;
 0294 0BC0              rjmp L54
 0296           L62:
 0296                   .dbline 248
 0296           ;                       case PARAM_SCK_DURATION:
 0296           ;                               tmp = clock_speed;
 0296 20900700          lds R2,_clock_speed
 029A 2D86              std y+13,R2
 029C                   .dbline 249
 029C           ;                               break;
 029C 07C0              rjmp L54
 029E           L63:
 029E                   .dbline 251
 029E           ;                       case PARAM_RESET_POLARITY:
 029E           ;                               tmp = reset_polarity;
 029E 20900600          lds R2,_reset_polarity
 02A2 2D86              std y+13,R2
 02A4                   .dbline 252
 02A4           ;                               break;
 02A4 03C0              rjmp L54
 02A6           L64:
 02A6                   .dbline 254
 02A6           ;                       case PARAM_CONTROLLER_INIT:
 02A6           ;                               tmp = param_controller_init;
 02A6 20900500          lds R2,_param_controller_init
 02AA 2D86              std y+13,R2
 02AC                   .dbline 255
 02AC           ;                               break;
 02AC           L53:
 02AC           L54:
 02AC                   .dbline 258
 02AC           ;               }
 02AC           ;               
 02AC           ;               num_bytes = 3;
 02AC 83E0              ldi R24,3
 02AE 90E0              ldi R25,0
 02B0 9B87              std y+11,R25
 02B2 8A87              std y+10,R24
 02B4                   .dbline 259
 02B4           ;               msg_buffer[0] = CMD_GET_PARAMETER;
 02B4 80930800          sts _msg_buffer,R24
 02B8                   .dbline 260
 02B8           ;               msg_buffer[1] = STATUS_CMD_OK;
 02B8 2224              clr R2
 02BA 20920900          sts _msg_buffer+1,R2
 02BE                   .dbline 261
 02BE           ;               msg_buffer[2] = tmp;
 02BE 0D84              ldd R0,y+13
 02C0 00920A00          sts _msg_buffer+2,R0
 02C4                   .dbline 262
 02C4           ;       }
 02C4 51C6              rjmp L52
 02C6           L51:
 02C6                   .dbline 266
 02C6           ;       //////////////////////////////////////
 02C6           ;       //CMD_LOAD_ADDRESS
 02C6           ;       //////////////////////////////////////
 02C6           ;       else if(cmd==CMD_LOAD_ADDRESS)
 02C6 8C85              ldd R24,y+12
 02C8 8630              cpi R24,6
 02CA 09F0              breq X8
 02CC 6CC0              rjmp L70
 02CE           X8:
 02CE                   .dbline 267
 02CE           ;       {
 02CE                   .dbline 268
 02CE           ;               address =  ((unsigned long)msg_buffer[1])<<24;
 02CE 88E1              ldi R24,24
 02D0 90E0              ldi R25,0
 02D2 20900900          lds R2,_msg_buffer+1
 02D6 3324              clr R3
 02D8 4424              clr R4
 02DA 5524              clr R5
 02DC 8A93              st -y,R24
 02DE 8101              movw R16,R2
 02E0 9201              movw R18,R4
 02E2 00D0              rcall lsl32
 02E4 10930100          sts _address+1,R17
 02E8 00930000          sts _address,R16
 02EC 30930300          sts _address+2+1,R19
 02F0 20930200          sts _address+2,R18
 02F4                   .dbline 269
 02F4           ;               address |= ((unsigned long)msg_buffer[2])<<16;
 02F4 20900A00          lds R2,_msg_buffer+2
 02F8 3324              clr R3
 02FA 4424              clr R4
 02FC 5524              clr R5
 02FE 2101              movw R4,R2
 0300 2224              clr R2
 0302 3324              clr R3
 0304 3801              movw R6,R16
 0306 4901              movw R8,R18
 0308 6228              or R6,R2
 030A 7328              or R7,R3
 030C 8428              or R8,R4
 030E 9528              or R9,R5
 0310 70920100          sts _address+1,R7
 0314 60920000          sts _address,R6
 0318 90920300          sts _address+2+1,R9
 031C 80920200          sts _address+2,R8
 0320                   .dbline 270
 0320           ;               address |= ((unsigned long)msg_buffer[3])<<8;
 0320 88E0              ldi R24,8
 0322 90E0              ldi R25,0
 0324 20900B00          lds R2,_msg_buffer+3
 0328 3324              clr R3
 032A 4424              clr R4
 032C 5524              clr R5
 032E 8A93              st -y,R24
 0330 8101              movw R16,R2
 0332 9201              movw R18,R4
 0334 00D0              rcall lsl32
 0336 40900200          lds R4,_address+2
 033A 50900300          lds R5,_address+2+1
 033E 20900000          lds R2,_address
 0342 30900100          lds R3,_address+1
 0346 202A              or R2,R16
 0348 312A              or R3,R17
 034A 422A              or R4,R18
 034C 532A              or R5,R19
 034E 30920100          sts _address+1,R3
 0352 20920000          sts _address,R2
 0356 50920300          sts _address+2+1,R5
 035A 40920200          sts _address+2,R4
 035E                   .dbline 271

⌨️ 快捷键说明

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