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

📄 main.lis

📁 一个单片机的完整开发程序AVR的
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 03AE 8F7E              andi R24,239
 03B0 8093E700          sts _lcd_buffer+15,R24
 03B4                   .dbline 244
 03B4           ;               send_data(14,lcd_buffer[7]);
 03B4 222D              mov R18,R2
 03B6 0EE0              ldi R16,14
 03B8 0E940000          xcall _send_data
 03BC                   .dbline 245
 03BC           ;               send_data(30,lcd_buffer[15]);
 03BC 2091E700          lds R18,_lcd_buffer+15
 03C0 0EE1              ldi R16,30
 03C2 0E940000          xcall _send_data
 03C6                   .dbline 246
 03C6           ;               send_data(2,lcd_buffer[1]);
 03C6 2091D900          lds R18,_lcd_buffer+1
 03CA 02E0              ldi R16,2
 03CC 0E940000          xcall _send_data
 03D0                   .dbline 247
 03D0           ;               send_data(18,lcd_buffer[9]);
 03D0 2091E100          lds R18,_lcd_buffer+9
 03D4 02E1              ldi R16,18
 03D6 0E940000          xcall _send_data
 03DA                   .dbline 248
 03DA           ;               key=key_scan();
 03DA 0E940000          xcall _key_scan
 03DE FE01              movw R30,R28
 03E0 E253              subi R30,50  ; addi 206
 03E2 FF4F              sbci R31,255
 03E4 0083              std z+0,R16
 03E6                   .dbline 249
 03E6           ;               if(key==3)
 03E6 0330              cpi R16,3
 03E8 49F4              brne L77
 03EA                   .dbline 250
 03EA           ;               keyc_flag=~keyc_flag;
 03EA FE01              movw R30,R28
 03EC EE52              subi R30,46  ; addi 210
 03EE FF4F              sbci R31,255
 03F0 0080              ldd R0,z+0
 03F2 0094              com R0
 03F4 FE01              movw R30,R28
 03F6 EE52              subi R30,46  ; addi 210
 03F8 FF4F              sbci R31,255
 03FA 0082              std z+0,R0
 03FC           L77:
 03FC                   .dbline 251
 03FC           ;               if(key==7)
 03FC FE01              movw R30,R28
 03FE E253              subi R30,50  ; addi 206
 0400 FF4F              sbci R31,255
 0402 8081              ldd R24,z+0
 0404 8730              cpi R24,7
 0406 89F4              brne L79
 0408                   .dbline 252
 0408           ;               {
 0408                   .dbline 253
 0408           ;                if(keyc_flag==0)
 0408 FE01              movw R30,R28
 040A EE52              subi R30,46  ; addi 210
 040C FF4F              sbci R31,255
 040E 0080              ldd R0,z+0
 0410 0020              tst R0
 0412 31F4              brne L81
 0414                   .dbline 254
 0414           ;                host_id++;
 0414 8091D700          lds R24,_host_id
 0418 8F5F              subi R24,255    ; addi 1
 041A 8093D700          sts _host_id,R24
 041E 05C0              xjmp L82
 0420           L81:
 0420                   .dbline 256
 0420           ;                else
 0420           ;                guest_id++;
 0420 8091D600          lds R24,_guest_id
 0424 8F5F              subi R24,255    ; addi 1
 0426 8093D600          sts _guest_id,R24
 042A           L82:
 042A                   .dbline 257
 042A           ;               }
 042A           L79:
 042A                   .dbline 258
 042A           ;               if(key==4)
 042A FE01              movw R30,R28
 042C E253              subi R30,50  ; addi 206
 042E FF4F              sbci R31,255
 0430 8081              ldd R24,z+0
 0432 8430              cpi R24,4
 0434 89F4              brne L83
 0436                   .dbline 259
 0436           ;               {
 0436                   .dbline 260
 0436           ;                if(keyc_flag==0)
 0436 FE01              movw R30,R28
 0438 EE52              subi R30,46  ; addi 210
 043A FF4F              sbci R31,255
 043C 0080              ldd R0,z+0
 043E 0020              tst R0
 0440 31F4              brne L85
 0442                   .dbline 261
 0442           ;                host_id--;
 0442 8091D700          lds R24,_host_id
 0446 8150              subi R24,1
 0448 8093D700          sts _host_id,R24
 044C 05C0              xjmp L86
 044E           L85:
 044E                   .dbline 263
 044E           ;                else
 044E           ;                guest_id--;
 044E 8091D600          lds R24,_guest_id
 0452 8150              subi R24,1
 0454 8093D600          sts _guest_id,R24
 0458           L86:
 0458                   .dbline 264
 0458           ;               }
 0458           L83:
 0458                   .dbline 265
 0458           ;               if(host_id>80||host_id<1)
 0458 80E5              ldi R24,80
 045A 2090D700          lds R2,_host_id
 045E 8215              cp R24,R2
 0460 18F0              brlo L89
 0462 822D              mov R24,R2
 0464 8130              cpi R24,1
 0466 18F4              brsh L87
 0468           L89:
 0468                   .dbline 266
 0468           ;               host_id=1;
 0468 81E0              ldi R24,1
 046A 8093D700          sts _host_id,R24
 046E           L87:
 046E                   .dbline 267
 046E           ;               if(guest_id>80||guest_id<1)
 046E 80E5              ldi R24,80
 0470 2090D600          lds R2,_guest_id
 0474 8215              cp R24,R2
 0476 18F0              brlo L92
 0478 822D              mov R24,R2
 047A 8130              cpi R24,1
 047C 18F4              brsh L90
 047E           L92:
 047E                   .dbline 268
 047E           ;               guest_id=1;
 047E 81E0              ldi R24,1
 0480 8093D600          sts _guest_id,R24
 0484           L90:
 0484                   .dbline 269
 0484           ;               if(key==5)
 0484 FE01              movw R30,R28
 0486 E253              subi R30,50  ; addi 206
 0488 FF4F              sbci R31,255
 048A 8081              ldd R24,z+0
 048C 8530              cpi R24,5
 048E 09F0              breq X5
 0490 4EC0              xjmp L93
 0492           X5:
 0492                   .dbline 270
 0492           ;               {
 0492                   .dbline 271
 0492           ;                lcd_buffer[0]=table[i];
 0492 80E0              ldi R24,<_table
 0494 90E0              ldi R25,>_table
 0496 DE01              movw R26,R28
 0498 A653              subi R26,54  ; addi 202
 049A BF4F              sbci R27,255
 049C EC91              ld R30,x
 049E FF27              clr R31
 04A0 E80F              add R30,R24
 04A2 F91F              adc R31,R25
 04A4 2080              ldd R2,z+0
 04A6 2092D800          sts _lcd_buffer,R2
 04AA                   .dbline 272
 04AA           ;                lcd_buffer[6]=table[k];
 04AA DE01              movw R26,R28
 04AC A553              subi R26,53  ; addi 203
 04AE BF4F              sbci R27,255
 04B0 EC91              ld R30,x
 04B2 FF27              clr R31
 04B4 E80F              add R30,R24
 04B6 F91F              adc R31,R25
 04B8 2080              ldd R2,z+0
 04BA 2092DE00          sts _lcd_buffer+6,R2
 04BE                   .dbline 274
 04BE           ;               
 04BE           ;                PORTB&=~BIT(PB5);
 04BE C598              cbi 0x18,5
 04C0                   .dbline 275
 04C0           ;                PORTC&=~BIT(PC1);
 04C0 A998              cbi 0x15,1
 04C2 25C0              xjmp L97
 04C4           L96:
 04C4                   .dbline 277
 04C4           ;                while(!((PIND|0x97)==0x97))
 04C4           ;               { 
 04C4                   .dbline 278
 04C4           ;                if(t<50)
 04C4 8091D500          lds R24,_t
 04C8 8233              cpi R24,50
 04CA 80F4              brsh L99
 04CC                   .dbline 279
 04CC           ;                {
 04CC                   .dbline 280
 04CC           ;                send_data(0x10,table[0]|0x10);
 04CC 20910000          lds R18,_table
 04D0 2061              ori R18,16
 04D2 00E1              ldi R16,16
 04D4 0E940000          xcall _send_data
 04D8                   .dbline 281
 04D8           ;        send_data(0,lcd_buffer[0]);
 04D8 2091D800          lds R18,_lcd_buffer
 04DC 0027              clr R16
 04DE 0E940000          xcall _send_data
 04E2                   .dbline 282
 04E2           ;        send_data(12,lcd_buffer[6]);
 04E2 2091DE00          lds R18,_lcd_buffer+6
 04E6 0CE0              ldi R16,12
 04E8 0E940000          xcall _send_data
 04EC                   .dbline 283
 04EC           ;                }
 04EC           L99:
 04EC                   .dbline 284
 04EC           ;                if(t>50)
 04EC 82E3              ldi R24,50
 04EE 2090D500          lds R2,_t
 04F2 8215              cp R24,R2
 04F4 60F4              brsh L102
 04F6                   .dbline 285
 04F6           ;                {
 04F6                   .dbline 286
 04F6           ;                send_data(0x10,0);
 04F6 2227              clr R18
 04F8 00E1              ldi R16,16
 04FA 0E940000          xcall _send_data
 04FE                   .dbline 287
 04FE           ;        send_data(0,0);
 04FE 2227              clr R18
 0500 0027              clr R16
 0502 0E940000          xcall _send_data
 0506                   .dbline 288
 0506           ;        send_data(12,0);
 0506 2227              clr R18
 0508 0CE0              ldi R16,12
 050A 0E940000          xcall _send_data
 050E                   .dbline 289
 050E           ;                }
 050E           L102:
 050E                   .dbline 290
 050E           L97:
 050E                   .dbline 276
 050E 80B3              in R24,0x10
 0510 8769              ori R24,151
 0512 8739              cpi R24,151
 0514 B9F6              brne L96
 0516                   .dbline 291
 0516           ;               }
 0516           ;                EEPROMwrite(0x02,guest_id);
 0516 2091D600          lds R18,_guest_id
 051A 02E0              ldi R16,2
 051C 10E0              ldi R17,0
 051E 0E940000          xcall _EEPROMwrite
 0522                   .dbline 292
 0522           ;                EEPROMwrite(0x03,host_id);
 0522 2091D700          lds R18,_host_id
 0526 03E0              ldi R16,3
 0528 10E0              ldi R17,0
 052A 0E940000          xcall _EEPROMwrite
 052E                   .dbline 293
 052E           ;               }
 052E           L93:
 052E                   .dbline 294
 052E           L63:
 052E                   .dbline 226
 052E FE01              movw R30,R28
 0530 E253              subi R30,50  ; addi 206
 0532 FF4F              sbci R31,255
 0534 8081              ldd R24,z+0
 0536 8530              cpi R24,5
 0538 09F0              breq X6
 053A ECCE              xjmp L62
 053C           X6:
 053C                   .dbline 295
 053C           ;       }
 053C           ;        }
 053C           L60:
 053C                   .dbline 296
 053C           ;       i=guest_id/10;
 053C 1AE0              ldi R17,10
 053E 0091D600          lds R16,_guest_id
 0542 0E940000          xcall div8u
 0546 FE01              movw R30,R28
 0548 E653              subi R30,54  ; addi 202
 054A FF4F              sbci R31,255
 054C 0083              std z+0,R16
 054E                   .dbline 297
 054E           ;       j=guest_id-10*i;
 054E 8AE0              ldi R24,10
 0550 002E              mov R0,R16
 0552 809D              mul R24,R0
 0554 2090D600          lds R2,_guest_id
 0558 2018              sub R2,R0
 055A FE01              movw R30,R28
 055C E453              subi R30,52  ; addi 204
 055E FF4F              sbci R31,255
 0560 2082              std z+0,R2
 0562                   .dbline 298
 0562           ;       lcd_buffer[0]=table[i];
 0562 80E0              ldi R24,<_table
 0564 90E0              ldi R25,>_table
 0566 DE01              movw R26,R28
 0568 A653              subi R26,54  ; addi 202
 056A BF4F              sbci R27,255
 056C EC91              ld R30,x
 056E FF27              clr R31
 0570 E80F              add R30,R24
 0572 F91F              adc R31,R25
 0574 2080              ldd R2,z+0
 0576 2092D800          sts _lcd_buffer,R2
 057A                   .dbline 299
 057A           ;       lcd_buffer[6]=table[j];
 057A DE01              movw R26,R28
 057C A453              subi R26,52  ; addi 204
 057E BF4F              sbci R27,255
 0580 EC91              ld R30,x
 0582 FF27              clr R31
 0584 E80F              add R30,R24
 0586 F91F              adc R31,R25
 0588 2080              ldd R2,z+0
 058A 2092DE00          sts _lcd_buffer+6,R2
 058E                   .dbline 300
 058E           ;       send_data(0x10,table[0]|0x10);
 058E 20910000          lds R18,_table
 0592 2061              ori R18,16
 0594 00E1              ldi R16,16
 0596 0E940000          xcall _send_data
 059A                   .dbline 301
 059A           ;     send_data(0,lcd_buffer[0]);
 059A 2091D800          lds R18,_lcd_buffer
 059E 0027              clr R16
 05A0 0E940000          xcall _send_data
 05A4                   .dbline 302
 05A4           ;     send_data(12,lcd_buffer[6]);
 05A4 2091DE00          lds R18,_lcd_buffer+6
 05A8 0CE0              ldi R16,12
 05AA 0E940000          xcall _send_data
 05AE                   .dbline 304

⌨️ 快捷键说明

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