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

📄 drive.lis

📁 LED显示面板
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 03BA           ;   pas_flag=pas_flag<<1;
 03BA AA0C              lsl R10
 03BC BB1C              rol R11
 03BE                   .dbline 289
 03BE           ;  WDR();
 03BE A895              wdr
 03C0                   .dbline 290
 03C0           ;  if(dd&0x40)
 03C0 C6FE              sbrs R12,6
 03C2 02C0              rjmp L61
 03C4                   .dbline 291
 03C4           ;  temp2 &= 0x10;
 03C4 4071              andi R20,16
 03C6 5070              andi R21,0
 03C8           L61:
 03C8                   .dbline 292
 03C8           ;   pas_flag=pas_flag<<1;
 03C8 AA0C              lsl R10
 03CA BB1C              rol R11
 03CC                   .dbline 293
 03CC           ;  if(dd&0x80)
 03CC C7FE              sbrs R12,7
 03CE 02C0              rjmp L63
 03D0                   .dbline 294
 03D0           ;  temp2 &= 0x08;
 03D0 4870              andi R20,8
 03D2 5070              andi R21,0
 03D4           L63:
 03D4                   .dbline 295
 03D4           ;  asm("nop");
 03D4 0000              nop
 03D6                   .dbline 296
 03D6           ;  asm("nop");
 03D6 0000              nop
 03D8                   .dbline 297
 03D8           ;  if(pas_flag!=0x40)
 03D8 C501              movw R24,R10
 03DA 8034              cpi R24,64
 03DC E0E0              ldi R30,0
 03DE 9E07              cpc R25,R30
 03E0 11F0              breq L65
 03E2                   .dbline 298
 03E2           ;  RESET;
 03E2 0C940000          jmp 0x000
 03E6           L65:
 03E6                   .dbline 299
 03E6           ;   WDR();
 03E6 A895              wdr
 03E8                   .dbline 300
 03E8           ;  }
 03E8           L30:
 03E8                   .dbline 301
 03E8           ;   WDR();
 03E8 A895              wdr
 03EA                   .dbline 302
 03EA           ; switch(i)
 03EA A02E              mov R10,R16
 03EC BB24              clr R11
 03EE AA20              tst R10
 03F0 11F4              brne X2
 03F2 BB20              tst R11
 03F4 B1F0              breq L70
 03F6           X2:
 03F6 C501              movw R24,R10
 03F8 8130              cpi R24,1
 03FA E0E0              ldi R30,0
 03FC 9E07              cpc R25,R30
 03FE A1F0              breq L71
 0400 8230              cpi R24,2
 0402 E0E0              ldi R30,0
 0404 9E07              cpc R25,R30
 0406 99F0              breq L72
 0408 8330              cpi R24,3
 040A E0E0              ldi R30,0
 040C 9E07              cpc R25,R30
 040E 91F0              breq L73
 0410 8430              cpi R24,4
 0412 E0E0              ldi R30,0
 0414 9E07              cpc R25,R30
 0416 89F0              breq L74
 0418 8530              cpi R24,5
 041A E0E0              ldi R30,0
 041C 9E07              cpc R25,R30
 041E 81F0              breq L75
 0420 12C0              xjmp L67
 0422           X3:
 0422                   .dbline 303
 0422           ; {
 0422           L70:
 0422                   .dbline 304
 0422           ; case 0: PORTC=0x10; break;
 0422 80E1              ldi R24,16
 0424 88B9              out 0x8,R24
 0426                   .dbline 304
 0426 11C0              xjmp L68
 0428           L71:
 0428                   .dbline 305
 0428           ; case 1: PORTC=0x90; break;
 0428 80E9              ldi R24,144
 042A 88B9              out 0x8,R24
 042C                   .dbline 305
 042C 0EC0              xjmp L68
 042E           L72:
 042E                   .dbline 306
 042E           ; case 2: PORTC=0x50; break;
 042E 80E5              ldi R24,80
 0430 88B9              out 0x8,R24
 0432                   .dbline 306
 0432 0BC0              xjmp L68
 0434           L73:
 0434                   .dbline 307
 0434           ; case 3: PORTC=0xd0; break;
 0434 80ED              ldi R24,208
 0436 88B9              out 0x8,R24
 0438                   .dbline 307
 0438 08C0              xjmp L68
 043A           L74:
 043A                   .dbline 308
 043A           ; case 4: PORTC=0x30; break;
 043A 80E3              ldi R24,48
 043C 88B9              out 0x8,R24
 043E                   .dbline 308
 043E 05C0              xjmp L68
 0440           L75:
 0440                   .dbline 309
 0440           ; case 5: PORTC=0xb0; break;
 0440 80EB              ldi R24,176
 0442 88B9              out 0x8,R24
 0444                   .dbline 309
 0444 02C0              xjmp L68
 0446           L67:
 0446                   .dbline 310
 0446           ; default:RESET;
 0446 0C940000          jmp 0x000
 044A                   .dbline 311
 044A           ; }
 044A           L68:
 044A                   .dbline 312
 044A           ; asm("nop");
 044A 0000              nop
 044C                   .dbline 313
 044C           ; asm("nop");
 044C 0000              nop
 044E                   .dbline 314
 044E           ; PORTE =temp1;
 044E 6EB9              out 0xe,R22
 0450                   .dbline 315
 0450           ; PORTG =temp2;
 0450 44BB              out 0x14,R20
 0452                   .dbline 317
 0452           ; 
 0452           ; PORTC&=0xef;
 0452 88B1              in R24,0x8
 0454 8F7E              andi R24,239
 0456 88B9              out 0x8,R24
 0458                   .dbline 318
 0458           ; WDR();
 0458 A895              wdr
 045A                   .dbline -2
 045A           L28:
 045A 0E940000          xcall pop_gset4
 045E                   .dbline 0 ; func end
 045E 0895              ret
 0460                   .dbsym r temp2 20 i
 0460                   .dbsym r temp1 22 i
 0460                   .dbsym r pas_flag 10 i
 0460                   .dbsym l tt 10 c
 0460                   .dbsym r dd 12 c
 0460                   .dbsym r d 18 c
 0460                   .dbsym r i 16 c
 0460                   .dbend
 0460                   .dbfunc e led_clear _led_clear fV
 0460           ;              i -> R20
                        .even
 0460           _led_clear::
 0460 0E940000          xcall push_gset1
 0464                   .dbline -1
 0464                   .dbline 323
 0464           ; }
 0464           ; 
 0464           ; 
 0464           ; void led_clear(void)                     //LED复位函数
 0464           ; {
 0464                   .dbline 325
 0464           ; unsigned char i;
 0464           ; for(i=0;i<48;i++)
 0464 4427              clr R20
 0466 03C0              xjmp L80
 0468           L77:
 0468                   .dbline 326
 0468                   .dbline 327
 0468 042F              mov R16,R20
 046A D6DE              xcall _led_off
 046C                   .dbline 328
 046C           L78:
 046C                   .dbline 325
 046C 4395              inc R20
 046E           L80:
 046E                   .dbline 325
 046E 4033              cpi R20,48
 0470 D8F3              brlo L77
 0472                   .dbline -2
 0472           L76:
 0472 0E940000          xcall pop_gset1
 0476                   .dbline 0 ; func end
 0476 0895              ret
 0478                   .dbsym r i 20 c
 0478                   .dbend
 0478                   .dbfunc e led7_clear _led7_clear fV
 0478           ;             p6 -> R16,R17
 0478           ;             p5 -> R18,R19
 0478           ;             p4 -> R20,R21
 0478           ;             p3 -> R22,R23
 0478           ;             p2 -> R10,R11
 0478           ;             p1 -> R12,R13
                        .even
 0478           _led7_clear::
 0478 0E940000          xcall push_gset4
 047C                   .dbline -1
 047C                   .dbline 334
 047C           ; {
 047C           ; led_off(i);
 047C           ; }
 047C           ; }
 047C           ; 
 047C           ; 
 047C           ; 
 047C           ; void led7_clear(void)                                                                    //七段码复位
 047C           ; {
 047C                   .dbline 335
 047C           ; unsigned char *p1 = (unsigned char *) (addr_led7[0]);
 047C C0900000          lds R12,_addr_led7
 0480 D0900100          lds R13,_addr_led7+1
 0484                   .dbline 336
 0484           ; unsigned char *p2 = (unsigned char *) (addr_led7[1]);
 0484 A0900200          lds R10,_addr_led7+2
 0488 B0900300          lds R11,_addr_led7+2+1
 048C                   .dbline 337
 048C           ; unsigned char *p3 = (unsigned char *) (addr_led7[2]);
 048C 60910400          lds R22,_addr_led7+4
 0490 70910500          lds R23,_addr_led7+4+1
 0494                   .dbline 338
 0494           ; unsigned char *p4 = (unsigned char *) (addr_led7[3]);
 0494 40910600          lds R20,_addr_led7+6
 0498 50910700          lds R21,_addr_led7+6+1
 049C                   .dbline 339
 049C           ; unsigned char *p5 = (unsigned char *) (addr_led7[4]);
 049C 20910800          lds R18,_addr_led7+8
 04A0 30910900          lds R19,_addr_led7+8+1
 04A4                   .dbline 340
 04A4           ; unsigned char *p6 = (unsigned char *) (addr_led7[5]);
 04A4 00910A00          lds R16,_addr_led7+10
 04A8 10910B00          lds R17,_addr_led7+10+1
 04AC                   .dbline 341
 04AC           ; WDR();
 04AC A895              wdr
 04AE                   .dbline 342
 04AE           ; *p1= led7_data[0];
 04AE 20900C00          lds R2,_led7_data
 04B2 F601              movw R30,R12
 04B4 2082              std z+0,R2
 04B6                   .dbline 343
 04B6           ; *p2= led7_data[0];
 04B6 20900C00          lds R2,_led7_data
 04BA F501              movw R30,R10
 04BC 2082              std z+0,R2
 04BE                   .dbline 344
 04BE           ; *p3= led7_data[0];
 04BE 20900C00          lds R2,_led7_data
 04C2 FB01              movw R30,R22
 04C4 2082              std z+0,R2
 04C6                   .dbline 345
 04C6           ; *p4= led7_data[0];
 04C6 20900C00          lds R2,_led7_data
 04CA FA01              movw R30,R20
 04CC 2082              std z+0,R2
 04CE                   .dbline 346
 04CE           ; *p5= led7_data[0];
 04CE 20900C00          lds R2,_led7_data
 04D2 F901              movw R30,R18
 04D4 2082              std z+0,R2
 04D6                   .dbline 347
 04D6           ; *p6= led7_data[0];
 04D6 20900C00          lds R2,_led7_data
 04DA F801              movw R30,R16
 04DC 2082              std z+0,R2
 04DE                   .dbline -2
 04DE           L81:
 04DE 0E940000          xcall pop_gset4
 04E2                   .dbline 0 ; func end
 04E2 0895              ret
 04E4                   .dbsym r p6 16 pc
 04E4                   .dbsym r p5 18 pc
 04E4                   .dbsym r p4 20 pc
 04E4                   .dbsym r p3 22 pc
 04E4                   .dbsym r p2 10 pc
 04E4                   .dbsym r p1 12 pc
 04E4                   .dbend
 04E4                   .dbfunc e RUN_led _RUN_led fV
                        .even
 04E4           _RUN_led::
 04E4                   .dbline -1
 04E4                   .dbline 351
 04E4           ; }
 04E4           ; 
 04E4           ; void RUN_led(void)                          //运行指示灯
 04E4           ; {
 04E4                   .dbline 352
 04E4           ; if(PINF&0x04)
 04E4 7A9B              sbis 0xf,2
 04E6 02C0              rjmp L88
 04E8                   .dbline 353
 04E8           ;    PORTF &= ~(0x04);
 04E8 8A98              cbi 0x11,2
 04EA 01C0              xjmp L89
 04EC           L88:
 04EC                   .dbline 355
 04EC 8A9A              sbi 0x11,2
 04EE           L89:
 04EE                   .dbline -2
 04EE           L87:
 04EE                   .dbline 0 ; func end
 04EE 0895              ret
 04F0                   .dbend
 04F0                   .dbfunc e get_key _get_key fc
 04F0           ;           temp -> R16,R17
                        .even
 04F0           _get_key::
 04F0                   .dbline -1
 04F0                   .dbline 360
 04F0           ; else
 04F0           ;    PORTF |= 0x04;
 04F0           ; }
 04F0           ; 
 04F0           ; 
 04F0           ; unsigned char get_key(void)                //键值读取函数
 04F0           ; {
 04F0                   .dbline 363
 04F0           ; unsigned temp;
 04F0           ; 
 04F0           ; PORTC = addr_key;
 04F0 80E7              ldi R24,112
 04F2 88B9              out 0x8,R24
 04F4                   .dbline 364
 04F4           ; WDR();
 04F4 A895              wdr
 04F6                   .dbline 365
 04F6           ;  asm("nop");
 04F6 0000              nop
 04F8                   .dbline 366
 04F8           ;  asm("nop");
 04F8 0000              nop
 04FA                   .dbline 367
 04FA           ;  asm("nop");
 04FA 0000              nop
 04FC                   .dbline 368
 04FC           ;  asm("nop");
 04FC 0000              nop
 04FE                   .dbline 369
 04FE           ; temp = PINB;
 04FE 03B1              in R16,0x3
 0500 1127              clr R17
 0502                   .dbline 371
 0502           ; 
 0502           ; return temp;
 0502                   .dbline -2
 0502           L90:
 0502                   .dbline 0 ; func end
 0502 0895              ret
 0504                   .dbsym r temp 16 i
 0504                   .dbend
 0504                   .dbfunc e hardware_reset _hardware_reset fV
                        .even
 0504           _hardware_reset::
 0504                   .dbline -1
 0504                   .dbline 376
 0504           ; 
 0504           ; }
 0504           ; 
 0504           ; void hardware_reset(void)                        //硬件层复位函数
 0504           ; {
 0504                   .dbline 377
 0504           ; led7_clear();
 0504 B9DF              xcall _led7_clear
 0506                   .dbline 378
 0506           ; led_clear();
 0506 ACDF              xcall _led_clear
 0508                   .dbline 379
 0508           ; relay_out_reset();
 0508 79DE              xcall _relay_out_reset
 050A                   .dbline -2
 050A           L91:
 050A                   .dbline 0 ; func end
 050A 0895              ret
 050C                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\drive.c
 0000           _out_state::
 0000                   .blkb 1
 0001                   .dbsym e out_state _out_state c

⌨️ 快捷键说明

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