📄 rfidsys.lis
字号:
00F4 .dbline 161
00F4 84E8 ldi R24,132
00F6 86BF out 0x36,R24
00F8 .dbline 161
00F8 .dbline 161
00F8 .dbline 162
00F8 L19:
00F8 .dbline 162
00F8 L20:
00F8 .dbline 162
00F8 ; delay50ms(2);
00F8 26B6 in R2,0x36
00FA 27FE sbrs R2,7
00FC FDCF rjmp L19
00FE .dbline 162
00FE .dbline 162
00FE .dbline 163
00FE ; lcd_puts(2,1," 启动中 /");
00FE 81B1 in R24,0x1
0100 887F andi R24,248
0102 8831 cpi R24,24
0104 11F0 breq L22
0106 .dbline 164
0106 ; PORTB|=0x04;
0106 0027 clr R16
0108 01C0 xjmp L18
010A L22:
010A .dbline 165
010A ; delay50ms(2);
010A 01E0 ldi R16,1
010C .dbline -2
010C L18:
010C .dbline 0 ; func end
010C 0895 ret
010E .dbsym r wrDAdr 16 c
010E .dbend
010E .dbfunc e I2C_SendWrDAdr_ _I2C_SendWrDAdr_ fc
010E ; wrDAdr -> R20,R21
.even
010E _I2C_SendWrDAdr_::
010E 0E940000 xcall push_gset1
0112 A801 movw R20,R16
0114 .dbline -1
0114 .dbline 176
0114 ; lcd_puts(2,1," 启动中 -");
0114 ; delay50ms(2);
0114 ; lcd_puts(2,1," 启动中 \\");
0114 ; delay50ms(2);
0114 ; lcd_puts(2,1," 启动中 /");
0114 ; PORTB&=0xFB;
0114 ; delay50ms(2);
0114 ; lcd_puts(2,1," 启动中 -");
0114 ; delay50ms(2);
0114 ; lcd_puts(2,1," 启动中 \\");
0114 ; delay50ms(2);
0114 .dbline 177
0114 ; //lcd_puts(2,1," 启动中 /");
0114 40FF sbrs R20,0
0116 0BC0 rjmp L25
0118 .dbline 178
0118 ; lcd_clr();
0118 042F mov R16,R20
011A 1127 clr R17
011C 012F mov R16,R17
011E 1127 clr R17
0120 07FD sbrc R16,7
0122 1095 com R17
0124 E6DF xcall _I2C_SendWrDAdr
0126 0023 tst R16
0128 11F4 brne L27
012A .dbline 179
012A ;
012A 0027 clr R16
012C 07C0 xjmp L24
012E L27:
012E L25:
012E .dbline 180
012E ; // DDRB|=0x01;
012E 042F mov R16,R20
0130 E0DF xcall _I2C_SendWrDAdr
0132 0023 tst R16
0134 11F4 brne L29
0136 .dbline 181
0136 ; // PORTB&=0xFE;
0136 0027 clr R16
0138 01C0 xjmp L24
013A L29:
013A .dbline 182
013A ; delay50ms(6);
013A 01E0 ldi R16,1
013C .dbline -2
013C L24:
013C 0E940000 xcall pop_gset1
0140 .dbline 0 ; func end
0140 0895 ret
0142 .dbsym r wrDAdr 20 i
0142 .dbend
0142 .dbfunc e I2C_SendRdDAdr _I2C_SendRdDAdr fc
0142 ; rdDAdr -> R16
.even
0142 _I2C_SendRdDAdr::
0142 .dbline -1
0142 .dbline 193
0142 ; lcd_puts(1,1," BESTi-041229");
0142 ; lcd_puts(2,1," 毕业设计");
0142 ; lcd_puts(3,1,"手持式射频读写器");
0142 ; lcd_puts(4,1," LOADING");
0142 ; delay50ms(20);
0142 ; lcd_puts(4,1," LOADING·");
0142 ; delay50ms(20);
0142 ; lcd_puts(4,1," LOADING··");
0142 ; delay50ms(20);
0142 ; lcd_puts(4,1," LOADING···");
0142 ; delay50ms(20);
0142 .dbline 194
0142 ; lcd_puts(4,1," LOADING····");
0142 .dbline 194
0142 03B9 out 0x3,R16
0144 .dbline 194
0144 84E8 ldi R24,132
0146 86BF out 0x36,R24
0148 .dbline 194
0148 .dbline 194
0148 .dbline 195
0148 L32:
0148 .dbline 195
0148 L33:
0148 .dbline 195
0148 ; delay50ms(20);
0148 26B6 in R2,0x36
014A 27FE sbrs R2,7
014C FDCF rjmp L32
014E .dbline 195
014E .dbline 195
014E .dbline 196
014E ; lcd_clr();
014E 81B1 in R24,0x1
0150 887F andi R24,248
0152 8034 cpi R24,64
0154 11F0 breq L35
0156 .dbline 197
0156 ; delay50ms(10);
0156 0027 clr R16
0158 01C0 xjmp L31
015A L35:
015A .dbline 198
015A ; PORTB&=0xCF;
015A 01E0 ldi R16,1
015C .dbline -2
015C L31:
015C .dbline 0 ; func end
015C 0895 ret
015E .dbsym r rdDAdr 16 c
015E .dbend
015E .dbfunc e I2C_SendRdDAdr_ _I2C_SendRdDAdr_ fc
015E ; rdDAdr -> R20
.even
015E _I2C_SendRdDAdr_::
015E 0E940000 xcall push_gset1
0162 402F mov R20,R16
0164 .dbline -1
0164 .dbline 209
0164 ;
0164 ; while(1)
0164 ; {
0164 ; lcd_puts(1,1," 射频卡检测中");
0164 ; if(PINA&0X01==0X01){
0164 ; delay50ms(3);
0164 ; if(PINA&0X01==0X01){
0164 ; if(a==1)
0164 ; {
0164 ; DDRA|=0X02;
0164 ; PORTA&=0XFD;
0164 .dbline 210
0164 ; a=0;
0164 40FF sbrs R20,0
0166 0BC0 rjmp L38
0168 .dbline 211
0168 ; }
0168 042F mov R16,R20
016A 1127 clr R17
016C 012F mov R16,R17
016E 1127 clr R17
0170 07FD sbrc R16,7
0172 1095 com R17
0174 BEDF xcall _I2C_SendWrDAdr
0176 0023 tst R16
0178 11F4 brne L40
017A .dbline 212
017A ; else{
017A 0027 clr R16
017C 07C0 xjmp L37
017E L40:
017E L38:
017E .dbline 213
017E ; DDRA|=0X02;
017E 042F mov R16,R20
0180 B8DF xcall _I2C_SendWrDAdr
0182 0023 tst R16
0184 11F4 brne L42
0186 .dbline 214
0186 ; PORTA|=0X02;
0186 0027 clr R16
0188 01C0 xjmp L37
018A L42:
018A .dbline 215
018A ; a=1;
018A 01E0 ldi R16,1
018C .dbline -2
018C L37:
018C 0E940000 xcall pop_gset1
0190 .dbline 0 ; func end
0190 0895 ret
0192 .dbsym r rdDAdr 20 c
0192 .dbend
0192 .dbfunc e I2C_SendDat _I2C_SendDat fc
0192 ; configDat -> R16
.even
0192 _I2C_SendDat::
0192 .dbline -1
0192 .dbline 226
0192 ; }
0192 ; }
0192 ;
0192 ; }
0192 ;
0192 ; if(PINC&0x04==0x04)
0192 ; {
0192 ; DDRD|=0x01;
0192 ; PORTD&=0xFE;
0192 ; lcd_puts(3,1," 没有射频卡!");
0192 ; }
0192 .dbline 227
0192 ; else
0192 .dbline 227
0192 03B9 out 0x3,R16
0194 .dbline 227
0194 84E8 ldi R24,132
0196 86BF out 0x36,R24
0198 .dbline 227
0198 .dbline 227
0198 .dbline 228
0198 L45:
0198 .dbline 228
0198 L46:
0198 .dbline 228
0198 ; {
0198 26B6 in R2,0x36
019A 27FE sbrs R2,7
019C FDCF rjmp L45
019E .dbline 228
019E .dbline 228
019E .dbline 229
019E ; DDRD|=0x01;
019E 81B1 in R24,0x1
01A0 887F andi R24,248
01A2 8832 cpi R24,40
01A4 11F0 breq L48
01A6 .dbline 230
01A6 ; PORTD|=0x01;
01A6 0027 clr R16
01A8 01C0 xjmp L44
01AA L48:
01AA .dbline 231
01AA ; lcd_puts(3,1," 检测到射频卡");
01AA 01E0 ldi R16,1
01AC .dbline -2
01AC L44:
01AC .dbline 0 ; func end
01AC 0895 ret
01AE .dbsym r configDat 16 c
01AE .dbend
01AE .dbfunc e I2C_RcvNAckDat _I2C_RcvNAckDat fc
01AE ; pRdDat -> R16,R17
.even
01AE _I2C_RcvNAckDat::
01AE .dbline -1
01AE .dbline 242
01AE ; }
01AE ; //GetPCF8563();
01AE ; //lcd_putc(2,1,miao);
01AE ; //lcd_putc(3,1,fen);
01AE ; //lcd_putc(4,1,shi);
01AE ;
01AE ; if(PINB&0x01==0x01)
01AE ; { lcd_clr();
01AE ; PORTB|=0x04;
01AE ; lcd_puts(2,1," 关机中");
01AE ; delay50ms(14);
01AE .dbline 243
01AE ; PORTB&=0xFB;
01AE 84E8 ldi R24,132
01B0 86BF out 0x36,R24
01B2 .dbline 244
01B2 L51:
01B2 .dbline 244
01B2 L52:
01B2 .dbline 244
01B2 ; lcd_puts(2,1," 关机中·");
01B2 26B6 in R2,0x36
01B4 27FE sbrs R2,7
01B6 FDCF rjmp L51
01B8 .dbline 244
01B8 .dbline 244
01B8 .dbline 245
01B8 ; delay50ms(14);
01B8 81B1 in R24,0x1
01BA 887F andi R24,248
01BC 8835 cpi R24,88
01BE 11F0 breq L54
01C0 .dbline 246
01C0 ; lcd_puts(2,1," 关机中··");
01C0 0027 clr R16
01C2 04C0 xjmp L50
01C4 L54:
01C4 .dbline 247
01C4 ; delay50ms(14);
01C4 23B0 in R2,0x3
01C6 F801 movw R30,R16
01C8 2082 std z+0,R2
01CA .dbline 248
01CA ; lcd_puts(2,1," 关机中···");
01CA 01E0 ldi R16,1
01CC .dbline -2
01CC L50:
01CC .dbline 0 ; func end
01CC 0895 ret
01CE .dbsym r pRdDat 16 pc
01CE .dbend
01CE .dbfunc e I2C_RcvAckDat _I2C_RcvAckDat fc
01CE ; pRdDat -> R16,R17
.even
01CE _I2C_RcvAckDat::
01CE .dbline -1
01CE .dbline 259
01CE ; delay50ms(14);
01CE ; lcd_clr();
01CE ; delay50ms(14);
01CE ; DDRB|=0x02;
01CE ; PORTB&=0xFD;
01CE ; }
01CE ; };
01CE ; }
01CE ;
01CE ;
01CE ;
01CE .dbline 260
01CE ;
01CE 84EC ldi R24,196
01D0 86BF out 0x36,R24
01D2 .dbline 261
01D2 L57:
01D2 .dbline 261
01D2 L58:
01D2 .dbline 261
01D2 ;
01D2 26B6 in R2,0x36
01D4 27FE sbrs R2,7
01D6 FDCF rjmp L57
01D8 .dbline 261
01D8 .dbline 261
01D8 .dbline 262
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -