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

📄 +_-

📁 avr单片机icc写的密码锁
💻
📖 第 1 页 / 共 5 页
字号:
 0368           X30:
 0368 4735              cpi R20,87
 036A E0E0              ldi R30,0
 036C 5E07              cpc R21,R30
 036E 69F1              breq L98
 0370           X31:
 0370 4D35              cpi R20,93
 0372 E0E0              ldi R30,0
 0374 5E07              cpc R21,R30
 0376 69F1              breq L99
 0378           X32:
 0378 4E35              cpi R20,94
 037A E0E0              ldi R30,0
 037C 5E07              cpc R21,R30
 037E 69F1              breq L100
 0380           X33:
 0380 4F35              cpi R20,95
 0382 E0E0              ldi R30,0
 0384 5E07              cpc R21,R30
 0386 69F1              breq L101
 0388           X34:
 0388 2FC0              xjmp L87
 038A           L90:
 038A                   .dbline 18
 038A           ;   {
 038A           ;     case keycode_s1:  g=1;break;
 038A 81E0              ldi R24,1
 038C 80930100          sts _g,R24
 0390                   .dbline 18
 0390 2BC0              xjmp L88
 0392           L91:
 0392                   .dbline 19
 0392           ;       case keycode_s2:  g=2;break;
 0392 82E0              ldi R24,2
 0394 80930100          sts _g,R24
 0398                   .dbline 19
 0398 27C0              xjmp L88
 039A           L92:
 039A                   .dbline 20
 039A           ;       case keycode_s3:  g=3;break;
 039A 83E0              ldi R24,3
 039C 80930100          sts _g,R24
 03A0                   .dbline 20
 03A0 23C0              xjmp L88
 03A2           L93:
 03A2                   .dbline 21
 03A2           ;       case keycode_s9:  g=4;break;
 03A2 84E0              ldi R24,4
 03A4 80930100          sts _g,R24
 03A8                   .dbline 21
 03A8 1FC0              xjmp L88
 03AA           L94:
 03AA                   .dbline 22
 03AA           ;       case keycode_s10: g=5;break;
 03AA 85E0              ldi R24,5
 03AC 80930100          sts _g,R24
 03B0                   .dbline 22
 03B0 1BC0              xjmp L88
 03B2           L95:
 03B2                   .dbline 23
 03B2           ;       case keycode_s11: g=6;break;
 03B2 86E0              ldi R24,6
 03B4 80930100          sts _g,R24
 03B8                   .dbline 23
 03B8 17C0              xjmp L88
 03BA           L96:
 03BA                   .dbline 24
 03BA           ;       case keycode_s17: g=7;break;
 03BA 87E0              ldi R24,7
 03BC 80930100          sts _g,R24
 03C0                   .dbline 24
 03C0 13C0              xjmp L88
 03C2           L97:
 03C2                   .dbline 25
 03C2           ;       case keycode_s18: g=8;break;
 03C2 88E0              ldi R24,8
 03C4 80930100          sts _g,R24
 03C8                   .dbline 25
 03C8 0FC0              xjmp L88
 03CA           L98:
 03CA                   .dbline 26
 03CA           ;       case keycode_s19: g=9;break;
 03CA 89E0              ldi R24,9
 03CC 80930100          sts _g,R24
 03D0                   .dbline 26
 03D0 0BC0              xjmp L88
 03D2           L99:
 03D2                   .dbline 27
 03D2           ;       case keycode_s4:  g=0;break;
 03D2 2224              clr R2
 03D4 20920100          sts _g,R2
 03D8                   .dbline 27
 03D8 07C0              xjmp L88
 03DA           L100:
 03DA                   .dbline 28
 03DA           ;     case keycode_s12: g=12;break;
 03DA 8CE0              ldi R24,12
 03DC 80930100          sts _g,R24
 03E0                   .dbline 28
 03E0 03C0              xjmp L88
 03E2           L101:
 03E2                   .dbline 29
 03E2           ;       case keycode_s20: g=20;break;
 03E2 84E1              ldi R24,20
 03E4 80930100          sts _g,R24
 03E8                   .dbline 29
 03E8           L87:
 03E8           L88:
 03E8                   .dbline 31
 03E8           ; }
 03E8           ; if(g>=0&&g<=9)
 03E8 20900100          lds R2,_g
 03EC 822D              mov R24,R2
 03EE 8030              cpi R24,0
 03F0 B8F0              brlo L103
 03F2           X35:
 03F2 89E0              ldi R24,9
 03F4 8215              cp R24,R2
 03F6 A0F0              brlo L103
 03F8           X36:
 03F8                   .dbline 32
 03F8           ; {j++,mimas[j-1]=g;
 03F8                   .dbline 32
 03F8 80910000          lds R24,_j
 03FC 8F5F              subi R24,255    ; addi 1
 03FE 80930000          sts _j,R24
 0402 80E0              ldi R24,<_mimas-1
 0404 90E0              ldi R25,>_mimas-1
 0406 E0910000          lds R30,_j
 040A FF27              clr R31
 040C E80F              add R30,R24
 040E F91F              adc R31,R25
 0410 2082              std z+0,R2
 0412                   .dbline 33
 0412           ; if(j==7){j=0;}}
 0412 80910000          lds R24,_j
 0416 8730              cpi R24,7
 0418 19F4              brne L106
 041A           X37:
 041A                   .dbline 33
 041A                   .dbline 33
 041A 2224              clr R2
 041C 20920000          sts _j,R2
 0420                   .dbline 33
 0420           L106:
 0420                   .dbline 33
 0420           L103:
 0420                   .dbline 34
 0420           ; if(g==12)
 0420 80910100          lds R24,_g
 0424 8C30              cpi R24,12
 0426 41F4              brne L108
 0428           X38:
 0428                   .dbline 35
 0428           ; {j=0,write_com12864(0x01),  
 0428                   .dbline 35
 0428 2224              clr R2
 042A 20920000          sts _j,R2
 042E 01E0              ldi R16,1
 0430 51DE              xcall _write_com12864
 0432 05E0              ldi R16,5
 0434 10E0              ldi R17,0
 0436 E4DD              xcall _delay
 0438                   .dbline 36
 0438           ;       delay(5); }
 0438           L108:
 0438                   .dbline 37
 0438           ; if(g==20)
 0438 80910100          lds R24,_g
 043C 8431              cpi R24,20
 043E 49F4              brne L110
 0440           X39:
 0440                   .dbline 38
 0440           ; {j=0,xg=1;
 0440                   .dbline 38
 0440 2224              clr R2
 0442 20920000          sts _j,R2
 0446 81E0              ldi R24,1
 0448 90E0              ldi R25,0
 044A 90930400          sts _xg+1,R25
 044E 80930300          sts _xg,R24
 0452                   .dbline 39
 0452           ; }
 0452           L110:
 0452                   .dbline -2
 0452           L86:
 0452                   .dbline 0 ; func end
 0452 0E940000          xcall pop_xgset300C
 0456 0990              ld R0,y+
 0458 0FBE              OUT 63,R0
 045A F991              ld R31,y+
 045C E991              ld R30,y+
 045E B991              ld R27,y+
 0460 A991              ld R26,y+
 0462 9991              ld R25,y+
 0464 8991              ld R24,y+
 0466 3991              ld R19,y+
 0468 2991              ld R18,y+
 046A 1991              ld R17,y+
 046C 0991              ld R16,y+
 046E 9990              ld R9,y+
 0470 8990              ld R8,y+
 0472 7990              ld R7,y+
 0474 6990              ld R6,y+
 0476 5990              ld R5,y+
 0478 4990              ld R4,y+
 047A 3990              ld R3,y+
 047C 2990              ld R2,y+
 047E 1990              ld R1,y+
 0480 0990              ld R0,y+
 0482 1895              reti
 0484                   .dbsym r q 10 c
 0484                   .dbend
 0484                   .dbfunc e main _main fV
 0484           ;              i -> R20,R21
                        .even
 0484           _main::
 0484                   .dbline -1
 0484                   .dbline 44
 0484           ; 
 0484           ; }
 0484           ; 
 0484           ; void main()
 0484           ; {uint i;
 0484                   .dbline 45
 0484           ; for(i=0;i<6;i++)
 0484 4427              clr R20
 0486 5527              clr R21
 0488 0AC0              xjmp L116
 048A           L113:
 048A                   .dbline 46
 048A           ; {mimac[i]=read_eep(i);
 048A                   .dbline 46
 048A 8A01              movw R16,R20
 048C 22DF              xcall _read_eep
 048E 80E0              ldi R24,<_mimac
 0490 90E0              ldi R25,>_mimac
 0492 FA01              movw R30,R20
 0494 E80F              add R30,R24
 0496 F91F              adc R31,R25
 0498 0083              std z+0,R16
 049A                   .dbline 47
 049A           ; }
 049A           L114:
 049A                   .dbline 45
 049A 4F5F              subi R20,255  ; offset = 1
 049C 5F4F              sbci R21,255
 049E           L116:
 049E                   .dbline 45
 049E 4630              cpi R20,6
 04A0 E0E0              ldi R30,0
 04A2 5E07              cpc R21,R30
 04A4 90F3              brlo L113
 04A6           X44:
 04A6                   .dbline 49
 04A6           ;  //液晶配置
 04A6           ;    port_init12864();
 04A6 D8DD              xcall _port_init12864
 04A8                   .dbline 50
 04A8           ;    lcd_init12864();
 04A8 DFDD              xcall _lcd_init12864
 04AA                   .dbline 52
 04AA           ;    
 04AA           ;    write_com12864(0x01);
 04AA 01E0              ldi R16,1
 04AC 13DE              xcall _write_com12864
 04AE                   .dbline 53
 04AE           ;    delay_ms(10);
 04AE 0AE0              ldi R16,10
 04B0 10E0              ldi R17,0
 04B2 BDDD              xcall _delay_ms
 04B4                   .dbline 56
 04B4           ;    
 04B4           ;    //451配置
 04B4           ;    port_init451();
 04B4 B5DE              xcall _port_init451
 04B6                   .dbline 57
 04B6           ;    int0_init();
 04B6 FADE              xcall _int0_init
 04B8                   .dbline 58
 04B8           ;    ch451_init();
 04B8 F6DE              xcall _ch451_init
 04BA                   .dbline 59
 04BA           ;    ch451_write(CH451_RESET);
 04BA 01E0              ldi R16,513
 04BC 12E0              ldi R17,2
 04BE BADE              xcall _ch451_write
 04C0                   .dbline 60
 04C0           ;    ch451_write(CH451_SYSON2);
 04C0 03E0              ldi R16,1027
 04C2 14E0              ldi R17,4
 04C4 B7DE              xcall _ch451_write
 04C6                   .dbline 61
 04C6           ;    ch451_write(CH451_TWINKLE);
 04C6 00E0              ldi R16,1536
 04C8 16E0              ldi R17,6
 04CA B4DE              xcall _ch451_write
 04CC                   .dbline 62
 04CC           ;    ch451_write(CH451_BCD);
 04CC 0FE8              ldi R16,1423
 04CE 15E0              ldi R17,5
 04D0 B1DE              xcall _ch451_write
 04D2                   .dbline 63
 04D2           ;    for(;;)
 04D2           L117:
 04D2                   .dbline 64
 04D2           ;    {
 04D2                   .dbline 65
 04D2           ;    switch(j)
 04D2 60910000          lds R22,_j
 04D6 7727              clr R23
 04D8 6030              cpi R22,0
 04DA 6707              cpc R22,R23
 04DC F9F0              breq L124
 04DE           X45:
 04DE 6130              cpi R22,1
 04E0 E0E0              ldi R30,0
 04E2 7E07              cpc R23,R30
 04E4 09F4              brne X76
 04E6 69C0              xjmp L137
 04E8           X76:
 04E8           X46:
 04E8 6230              cpi R22,2
 04EA E0E0              ldi R30,0
 04EC 7E07              cpc R23,R30
 04EE 09F4              brne X77
 04F0 6AC0              xjmp L138
 04F2           X77:
 04F2           X47:
 04F2 6330              cpi R22,3
 04F4 E0E0              ldi R30,0
 04F6 7E07              cpc R23,R30
 04F8 09F4              brne X78
 04FA 6DC0              xjmp L139
 04FC           X78:
 04FC           X48:
 04FC 6430     

⌨️ 快捷键说明

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