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

📄 main.lis

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

⌨️ 快捷键说明

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