📄 card_verify.lis
字号:
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 + -