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

📄 card_verify.lis

📁 环保型IC卡门禁系统的C程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 02AA           ;                 menu_Init();
 02AA 00D0              rcall _menu_Init
 02AC                   .dbline 163
 02AC           ;               }
 02AC           L77:
 02AC                   .dbline 165
 02AC           ;               
 02AC           ;               menu_Init();
 02AC 00D0              rcall _menu_Init
 02AE                   .dbline 166
 02AE           ;       }
 02AE           L73:
 02AE                   .dbline 167
 02AE           ;       }
 02AE           L71:
 02AE                   .dbline 169
 02AE           ;       
 02AE           ;       if(Menu_flag==0)
 02AE 20900000          lds R2,_Menu_flag
 02B2 2220              tst R2
 02B4 29F4              brne L79
 02B6                   .dbline 170
 02B6           ;       {
 02B6                   .dbline 171
 02B6           ;         Key = Key_Scan() ;
 02B6 00D0              rcall _Key_Scan
 02B8 402F              mov R20,R16
 02BA                   .dbline 173
 02BA           ;                 
 02BA           ;         if(Key == 12)
 02BA 0C30              cpi R16,12
 02BC 09F4              brne L81
 02BE                   .dbline 174
 02BE           ;         {
 02BE                   .dbline 175
 02BE           ;           Write_Card_Value();
 02BE 00D0              rcall _Write_Card_Value
 02C0                   .dbline 176
 02C0           ;         }
 02C0           L81:
 02C0                   .dbline 177
 02C0           ;       }
 02C0           L79:
 02C0                   .dbline 178
 02C0           L69:
 02C0                   .dbline 145
 02C0 D6CF              rjmp L68
 02C2           X4:
 02C2                   .dbline -2
 02C2           L61:
 02C2 2296              adiw R28,2
 02C4 00D0              rcall pop_gset1
 02C6                   .dbline 0 ; func end
 02C6 0895              ret
 02C8                   .dbsym r Key 20 c
 02C8                   .dbend
 02C8                   .dbfunc e Card_Verify _Card_Verify fV
 02C8           ;              i -> R20
                        .even
 02C8           _Card_Verify::
 02C8 00D0              rcall push_gset1
 02CA 2297              sbiw R28,2
 02CC                   .dbline -1
 02CC                   .dbline 182
 02CC           ;   }
 02CC           ; }
 02CC           ; 
 02CC           ; void Card_Verify(void)
 02CC           ; {
 02CC                   .dbline 183
 02CC           ;   unsigned char i = 0  ;
 02CC 4427              clr R20
 02CE                   .dbline 185
 02CE           ;   
 02CE           ;   for(Card_ID=0;Card_ID<83;Card_ID++)
 02CE 2224              clr R2
 02D0 20920000          sts _Card_ID,R2
 02D4 6DC0              rjmp L87
 02D6           L84:
 02D6                   .dbline 186
 02D6           ;   {
 02D6                   .dbline 187
 02D6           ;     if ( IC_Codes_8[2] == EEPROM_read(i) )
 02D6 042F              mov R16,R20
 02D8 1127              clr R17
 02DA 00D0              rcall _EEPROM_read
 02DC 20900200          lds R2,_IC_Codes_8+2
 02E0 2016              cp R2,R16
 02E2 09F0              breq X6
 02E4 5FC0              rjmp L88
 02E6           X6:
 02E6                   .dbline 188
 02E6           ;       {
 02E6                   .dbline 189
 02E6           ;         if ( IC_Codes_8[3] == EEPROM_read(1+i) )
 02E6 042F              mov R16,R20
 02E8 1127              clr R17
 02EA 0F5F              subi R16,255  ; offset = 1
 02EC 1F4F              sbci R17,255
 02EE 00D0              rcall _EEPROM_read
 02F0 20900300          lds R2,_IC_Codes_8+3
 02F4 2016              cp R2,R16
 02F6 09F0              breq X7
 02F8 55C0              rjmp L91
 02FA           X7:
 02FA                   .dbline 190
 02FA           ;         {
 02FA                   .dbline 191
 02FA           ;           if ( IC_Codes_8[4] == EEPROM_read(2+i) )
 02FA 042F              mov R16,R20
 02FC 1127              clr R17
 02FE 0E5F              subi R16,254  ; offset = 2
 0300 1F4F              sbci R17,255
 0302 00D0              rcall _EEPROM_read
 0304 20900400          lds R2,_IC_Codes_8+4
 0308 2016              cp R2,R16
 030A 09F0              breq X8
 030C 4BC0              rjmp L94
 030E           X8:
 030E                   .dbline 192
 030E           ;               {
 030E                   .dbline 193
 030E           ;                 if ( IC_Codes_8[5] == EEPROM_read(3+i) )
 030E 042F              mov R16,R20
 0310 1127              clr R17
 0312 0D5F              subi R16,253  ; offset = 3
 0314 1F4F              sbci R17,255
 0316 00D0              rcall _EEPROM_read
 0318 20900500          lds R2,_IC_Codes_8+5
 031C 2016              cp R2,R16
 031E 09F0              breq X9
 0320 41C0              rjmp L97
 0322           X9:
 0322                   .dbline 194
 0322           ;                 {
 0322                   .dbline 195
 0322           ;                   if ( IC_Codes_8[6] == EEPROM_read(4+i) )
 0322 042F              mov R16,R20
 0324 1127              clr R17
 0326 0C5F              subi R16,252  ; offset = 4
 0328 1F4F              sbci R17,255
 032A 00D0              rcall _EEPROM_read
 032C 20900600          lds R2,_IC_Codes_8+6
 0330 2016              cp R2,R16
 0332 09F0              breq X10
 0334 37C0              rjmp L100
 0336           X10:
 0336                   .dbline 196
 0336           ;                       {
 0336                   .dbline 197
 0336           ;                         if ( IC_Codes_8[7] == EEPROM_read(5+i) )
 0336 042F              mov R16,R20
 0338 1127              clr R17
 033A 0B5F              subi R16,251  ; offset = 5
 033C 1F4F              sbci R17,255
 033E 00D0              rcall _EEPROM_read
 0340 20900700          lds R2,_IC_Codes_8+7
 0344 2016              cp R2,R16
 0346 71F5              brne L103
 0348                   .dbline 198
 0348           ;                         {
 0348                   .dbline 199
 0348           ;                           if( Exist_flag == 1)
 0348 80910000          lds R24,_Exist_flag
 034C 8130              cpi R24,1
 034E 49F5              brne L106
 0350                   .dbline 200
 0350           ;                               {
 0350                   .dbline 201
 0350           ;                                 Exist_flag = 0 ;
 0350 2224              clr R2
 0352 20920000          sts _Exist_flag,R2
 0356                   .dbline 203
 0356           ;                                 
 0356           ;                                 LCD_write_char(0x01,0);  //清屏
 0356 2227              clr R18
 0358 3327              clr R19
 035A 01E0              ldi R16,1
 035C 10E0              ldi R17,0
 035E 00D0              rcall _LCD_write_char
 0360                   .dbline 204
 0360           ;                   delay_nms(2);
 0360 02E0              ldi R16,2
 0362 10E0              ldi R17,0
 0364 00D0              rcall _delay_nms
 0366                   .dbline 205
 0366           ;                                 LCD_write_string(2,0,"Card Existed");
 0366 80E0              ldi R24,<L108
 0368 90E0              ldi R25,>L108
 036A 9983              std y+1,R25
 036C 8883              std y+0,R24
 036E 2227              clr R18
 0370 02E0              ldi R16,2
 0372 00D0              rcall _LCD_write_string
 0374                   .dbline 206
 0374           ;                                 LCD_write_string(4,1,"Sorry !!");
 0374 80E0              ldi R24,<L66
 0376 90E0              ldi R25,>L66
 0378 9983              std y+1,R25
 037A 8883              std y+0,R24
 037C 21E0              ldi R18,1
 037E 04E0              ldi R16,4
 0380 00D0              rcall _LCD_write_string
 0382 0EC0              rjmp L110
 0384           L109:
 0384                   .dbline 209
 0384           ;                                 
 0384           ;                                 while(1)
 0384           ;                             {
 0384                   .dbline 210
 0384           ;                               if(IC_SW!=0)
 0384 80B3              in R24,0x10
 0386 8870              andi R24,8
 0388 80BB              out 0x10,R24
 038A 8823              tst R24
 038C 49F0              breq L112
 038E                   .dbline 211
 038E           ;                       {
 038E                   .dbline 212
 038E           ;                       delay_nms(50);               //   检测是否有卡插入
 038E 02E3              ldi R16,50
 0390 10E0              ldi R17,0
 0392 00D0              rcall _delay_nms
 0394                   .dbline 213
 0394           ;                         if(IC_SW!=0)
 0394 80B3              in R24,0x10
 0396 8870              andi R24,8
 0398 80BB              out 0x10,R24
 039A 8823              tst R24
 039C 09F0              breq L114
 039E                   .dbline 214
 039E           ;                         {
 039E                   .dbline 215
 039E           ;                         Menu_0();
 039E 00D0              rcall _Menu_0
 03A0                   .dbline 216
 03A0           ;                       }
 03A0           L114:
 03A0                   .dbline 217
 03A0           ;                       }
 03A0           L112:
 03A0                   .dbline 218
 03A0           L110:
 03A0                   .dbline 208
 03A0 F1CF              rjmp L109
 03A2           X5:
 03A2                   .dbline 219
 03A2           ;                             }
 03A2           ;                               }
 03A2           L106:
 03A2                   .dbline 221
 03A2           ;                         
 03A2           ;                           Right_Card();
 03A2 A2DE              rcall _Right_Card
 03A4                   .dbline 222
 03A4           ;                         }
 03A4           L103:
 03A4                   .dbline 223
 03A4           ;                       }
 03A4           L100:
 03A4                   .dbline 224
 03A4           ;                 }
 03A4           L97:
 03A4                   .dbline 225
 03A4           ;               }
 03A4           L94:
 03A4                   .dbline 226
 03A4           ;         }
 03A4           L91:
 03A4                   .dbline 227
 03A4           ;       }
 03A4           L88:
 03A4                   .dbline 229
 03A4 4A5F              subi R20,250    ; addi 6
 03A6                   .dbline 230
 03A6           L85:
 03A6                   .dbline 185
 03A6 80910000          lds R24,_Card_ID
 03AA 8F5F              subi R24,255    ; addi 1
 03AC 80930000          sts _Card_ID,R24
 03B0           L87:
 03B0                   .dbline 185
 03B0 80910000          lds R24,_Card_ID
 03B4 8335              cpi R24,83
 03B6 08F4              brsh X11
 03B8 8ECF              rjmp L84
 03BA           X11:
 03BA                   .dbline 232
 03BA 20900000          lds R2,_Exist_flag
 03BE 2220              tst R2
 03C0 09F4              brne L116
 03C2                   .dbline 233
 03C2                   .dbline 234
 03C2 2ADF              rcall _Wrong_Card
 03C4                   .dbline 235
 03C4           L116:
 03C4                   .dbline -2
 03C4           L83:
 03C4 2296              adiw R28,2
 03C6 00D0              rcall pop_gset1
 03C8                   .dbline 0 ; func end
 03C8 0895              ret
 03CA                   .dbsym r i 20 c
 03CA                   .dbend
                        .area data(ram, con, rel)
 0001                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 0001           L108:
 0001                   .blkb 13
                        .area idata
 0001 43617264204578697374656400        .byte 'C,'a,'r,'d,32,'E,'x,'i,'s,'t,'e,'d,0
                        .area data(ram, con, rel)
 000E                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 000E           L67:
 000E                   .blkb 17
                        .area idata
 000E 20536F727279212020243A2020202E20  .byte 32,'S,'o,'r,'r,'y,33,32,32,36,58,32,32,32,46,32
 001E 00                .byte 0
                        .area data(ram, con, rel)
 001F                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 001F           L66:
 001F                   .blkb 9
                        .area idata
 001F 536F72727920212100        .byte 'S,'o,'r,'r,'y,32,33,33,0
                        .area data(ram, con, rel)
 0028                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 0028           L62:
 0028                   .blkb 11
                        .area idata
 0028 57726F6E67204361726400    .byte 'W,'r,'o,'n,'g,32,'C,'a,'r,'d,0
                        .area data(ram, con, rel)
 0033                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 0033           L44:
 0033                   .blkb 17
                        .area idata
 0033 44656C205375636365737366756C6C79  .byte 'D,'e,'l,32,'S,'u,'c,'c,'e,'s,'s,'f,'u,'l,'l,'y
 0043 00                .byte 0
                        .area data(ram, con, rel)
 0044                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 0044           L30:
 0044                   .blkb 17
                        .area idata
 0044 57656C636F6D652120243A2020202E20  .byte 'W,'e,'l,'c,'o,'m,'e,33,32,36,58,32,32,32,46,32
 0054 00                .byte 0
                        .area data(ram, con, rel)
 0055                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 0055           L29:
 0055                   .blkb 16
                        .area idata
 0055 44656C20746869732043617264203F00  .byte 'D,'e,'l,32,'t,'h,'i,'s,32,'C,'a,'r,'d,32,63,0
                        .area data(ram, con, rel)
 0065                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C
 0065           L26:
 0065                   .blkb 13
                        .area idata
 0065 436172645F4944203A20202000        .byte 'C,'a,'r,'d,95,'I,'D,32,58,32,32,32,0
                        .area data(ram, con, rel)
 0072                   .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\Card_Verify.C

⌨️ 快捷键说明

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