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

📄 26l.lis

📁 接触式IC卡的读写函数
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0324 8F7F              andi R24,255
 0326 88BB              out 0x18,R24
 0328                   .dbline 180
 0328           ;   delayms(1);
 0328 01E0              ldi R16,1
 032A 10E0              ldi R17,0
 032C 71DE              rcall _delayms
 032E                   .dbline 181
 032E           ;   PORTB|=(0<<3);
 032E 28B2              in R2,0x18
 0330 28BA              out 0x18,R2
 0332                   .dbline 183
 0332           ;   //anjianweikai;
 0332           ;     DDRA=0X80;
 0332 80E8              ldi R24,128
 0334 8ABB              out 0x1a,R24
 0336                   .dbline 184
 0336           ;   PORTA=0x7f;
 0336 8FE7              ldi R24,127
 0338 8BBB              out 0x1b,R24
 033A                   .dbline 185
 033A           ;   ;
 033A                   .dbline -2
 033A           L63:
 033A                   .dbline 0 ; func end
 033A 0895              ret
 033C                   .dbend
 033C                   .dbfunc e anjian _anjian fV
                        .even
 033C           _anjian::
 033C                   .dbline -1
 033C                   .dbline 189
 033C           ; }
 033C           ;   
 033C           ;  void anjian(void)
 033C           ;  {
 033C                   .dbline 191
 033C           ;   
 033C           ;   DDRA=0X80;
 033C 80E8              ldi R24,128
 033E 8ABB              out 0x1a,R24
 0340                   .dbline 192
 0340           ;   PORTA=0x7f;
 0340 8FE7              ldi R24,127
 0342 8BBB              out 0x1b,R24
 0344                   .dbline 193
 0344           ; delayus(10);
 0344 0AE0              ldi R16,10
 0346 10E0              ldi R17,0
 0348 5BDE              rcall _delayus
 034A                   .dbline 194
 034A           ;  if((PINA&0X4B)!=0x4B)
 034A 89B3              in R24,0x19
 034C 8B74              andi R24,75
 034E 8B34              cpi R24,75
 0350 09F4              brne X5
 0352 64C0              rjmp L66
 0354           X5:
 0354                   .dbline 195
 0354           ;  {
 0354                   .dbline 197
 0354           ;   
 0354           ;     DDRA=0X80;
 0354 80E8              ldi R24,128
 0356 8ABB              out 0x1a,R24
 0358                   .dbline 198
 0358           ;   PORTA=0x7f;
 0358 8FE7              ldi R24,127
 035A 8BBB              out 0x1b,R24
 035C                   .dbline 199
 035C           ;   delayms(1);
 035C 01E0              ldi R16,1
 035E 10E0              ldi R17,0
 0360 57DE              rcall _delayms
 0362                   .dbline 200
 0362           ;   if((PINA&0X4b)!=0X4b)
 0362 89B3              in R24,0x19
 0364 8B74              andi R24,75
 0366 8B34              cpi R24,75
 0368 09F4              brne X6
 036A 58C0              rjmp L68
 036C           X6:
 036C                   .dbline 201
 036C           ;   {
 036C                   .dbline 202
 036C           ;    fengming(10);
 036C 0AE0              ldi R16,10
 036E 5EDE              rcall _fengming
 0370                   .dbline 203
 0370           ;      DDRA=0X80;
 0370 80E8              ldi R24,128
 0372 8ABB              out 0x1a,R24
 0374                   .dbline 204
 0374           ;   PORTA=0x7f;
 0374 8FE7              ldi R24,127
 0376 8BBB              out 0x1b,R24
 0378                   .dbline 205
 0378           ;    if((PINA&0X40)==0)            //+
 0378 CE99              sbic 0x19,6
 037A 1FC0              rjmp L70
 037C                   .dbline 206
 037C           ;    {
 037C                   .dbline 207
 037C           ;    kashu[1]++;
 037C 80911200          lds R24,_kashu+1
 0380 8F5F              subi R24,255    ; addi 1
 0382 80931200          sts _kashu+1,R24
 0386                   .dbline 208
 0386           ;    if(kashu[1]>9)
 0386 89E0              ldi R24,9
 0388 20901200          lds R2,_kashu+1
 038C 8215              cp R24,R2
 038E 9CF4              brge L81
 0390                   .dbline 209
 0390           ;    {
 0390                   .dbline 210
 0390           ;     kashu[1]=0;
 0390 2224              clr R2
 0392 20921200          sts _kashu+1,R2
 0396                   .dbline 211
 0396           ;       kashu[0]++;
 0396 80911100          lds R24,_kashu
 039A 8F5F              subi R24,255    ; addi 1
 039C 80931100          sts _kashu,R24
 03A0                   .dbline 212
 03A0           ;       if(kashu[0]>9)
 03A0 89E0              ldi R24,9
 03A2 20901100          lds R2,_kashu
 03A6 8215              cp R24,R2
 03A8 34F4              brge L81
 03AA                   .dbline 213
 03AA           ;       {
 03AA                   .dbline 214
 03AA           ;        kashu[0]=9;
 03AA 80931100          sts _kashu,R24
 03AE                   .dbline 215
 03AE           ;        kashu[1]=9;
 03AE 80931200          sts _kashu+1,R24
 03B2                   .dbline 216
 03B2           ;        }
 03B2                   .dbline 217
 03B2           ;     } 
 03B2 01C0              rjmp L81
 03B4           L80:
 03B4                   .dbline 219
 03B4                   .dbline 220
 03B4 92DF              rcall _xianshu
 03B6                   .dbline 221
 03B6           L81:
 03B6                   .dbline 218
 03B6           ;     while((PINA&0X40)==0)
 03B6 CE9B              sbis 0x19,6
 03B8 FDCF              rjmp L80
 03BA                   .dbline 222
 03BA           ;        {
 03BA           ;         xianshu();
 03BA           ;     } 
 03BA           ;    }
 03BA           L70:
 03BA                   .dbline 223
 03BA           ;       if((PINA&0X08)==0)  //-档
 03BA CB99              sbic 0x19,3
 03BC 1DC0              rjmp L83
 03BE                   .dbline 224
 03BE           ;       {
 03BE                   .dbline 225
 03BE           ;        kashu[1]--;
 03BE 80911200          lds R24,_kashu+1
 03C2 8150              subi R24,1
 03C4 80931200          sts _kashu+1,R24
 03C8                   .dbline 226
 03C8           ;        if(kashu[1]<0)
 03C8 80911200          lds R24,_kashu+1
 03CC 8030              cpi R24,0
 03CE 94F4              brge L94
 03D0                   .dbline 227
 03D0           ;        {
 03D0                   .dbline 228
 03D0           ;         kashu[1]=0;
 03D0 2224              clr R2
 03D2 20921200          sts _kashu+1,R2
 03D6                   .dbline 229
 03D6           ;         kashu[0]--;
 03D6 80911100          lds R24,_kashu
 03DA 8150              subi R24,1
 03DC 80931100          sts _kashu,R24
 03E0                   .dbline 230
 03E0           ;         if(kashu[0]<0)
 03E0 80911100          lds R24,_kashu
 03E4 8030              cpi R24,0
 03E6 34F4              brge L94
 03E8                   .dbline 231
 03E8           ;         {
 03E8                   .dbline 232
 03E8           ;          kashu[0]=0;
 03E8 20921100          sts _kashu,R2
 03EC                   .dbline 233
 03EC           ;          kashu[1]=0;
 03EC 20921200          sts _kashu+1,R2
 03F0                   .dbline 234
 03F0           ;         }
 03F0                   .dbline 235
 03F0           ;        }  
 03F0 01C0              rjmp L94
 03F2           L93:
 03F2                   .dbline 237
 03F2                   .dbline 238
 03F2 73DF              rcall _xianshu
 03F4                   .dbline 239
 03F4           L94:
 03F4                   .dbline 236
 03F4           ;        while((PINA&0X08)==0)
 03F4 CB9B              sbis 0x19,3
 03F6 FDCF              rjmp L93
 03F8                   .dbline 240
 03F8           ;        {
 03F8           ;         xianshu();
 03F8           ;        } 
 03F8           ;       }
 03F8           L83:
 03F8                   .dbline 241
 03F8           ;       if((PINA&0X02)==0)  //2档
 03F8 C999              sbic 0x19,1
 03FA 07C0              rjmp L96
 03FC                   .dbline 242
 03FC           ;       {
 03FC                   .dbline 243
 03FC           ;        jianshu=1;
 03FC 81E0              ldi R24,1
 03FE 80931400          sts _jianshu,R24
 0402 01C0              rjmp L99
 0404           L98:
 0404                   .dbline 245
 0404                   .dbline 246
 0404 6ADF              rcall _xianshu
 0406                   .dbline 247
 0406           L99:
 0406                   .dbline 244
 0406           ;        while((PINA&0X02)==0)
 0406 C99B              sbis 0x19,1
 0408 FDCF              rjmp L98
 040A                   .dbline 248
 040A           ;        {
 040A           ;         xianshu();
 040A           ;        }
 040A           ;       } 
 040A           L96:
 040A                   .dbline 249
 040A           ;       if((PINA&0X01)==0)
 040A C899              sbic 0x19,0
 040C 07C0              rjmp L101
 040E                   .dbline 250
 040E           ;       {
 040E                   .dbline 251
 040E           ;        jianshu=2;
 040E 82E0              ldi R24,2
 0410 80931400          sts _jianshu,R24
 0414 01C0              rjmp L104
 0416           L103:
 0416                   .dbline 253
 0416                   .dbline 254
 0416 61DF              rcall _xianshu
 0418                   .dbline 255
 0418           L104:
 0418                   .dbline 252
 0418           ;        while((PINA&0X01)==0)
 0418 C89B              sbis 0x19,0
 041A FDCF              rjmp L103
 041C                   .dbline 256
 041C           ;        {
 041C           ;         xianshu();
 041C           ;        }
 041C           ;       } 
 041C           L101:
 041C                   .dbline 257
 041C           ;    }  
 041C           L68:
 041C                   .dbline 258
 041C           L66:
 041C                   .dbline -2
 041C           L65:
 041C                   .dbline 0 ; func end
 041C 0895              ret
 041E                   .dbend
 041E                   .dbfunc e main _main fV
                        .even
 041E           _main::
 041E                   .dbline -1
 041E                   .dbline 264
 041E           ;   }   
 041E           ;   //anjianweiguan;
 041E           ; }
 041E           ; 
 041E           ; 
 041E           ;  void main(void)        //主程序
 041E           ; {
 041E                   .dbline 265
 041E           ;     MCUCR=0;
 041E 2224              clr R2
 0420 25BE              out 0x35,R2
 0422                   .dbline 266
 0422           ;     DDRA = 0XFF;      /*方向输出*/ 
 0422 8FEF              ldi R24,255
 0424 8ABB              out 0x1a,R24
 0426                   .dbline 267
 0426           ;     PORTA = 0X7F;      /*高电平*/ 
 0426 8FE7              ldi R24,127
 0428 8BBB              out 0x1b,R24
 042A                   .dbline 268
 042A           ;       DDRB = 0xCA;
 042A 8AEC              ldi R24,202
 042C 87BB              out 0x17,R24
 042E                   .dbline 269
 042E           ;       PORTB = 0x35;
 042E 85E3              ldi R24,53
 0430 88BB              out 0x18,R24
 0432                   .dbline 270
 0432           ;       kashu[0]=4;
 0432 84E0              ldi R24,4
 0434 80931100          sts _kashu,R24
 0438                   .dbline 271
 0438           ;       kashu[1]=5;
 0438 85E0              ldi R24,5
 043A 80931200          sts _kashu+1,R24
 043E 03C0              rjmp L109
 0440           L108:
 0440                   .dbline 278
 0440                   .dbline 279
 0440 C8DE              rcall _jiancheicka
 0442                   .dbline 280
 0442 7CDF              rcall _anjian
 0444                   .dbline 281
 0444 4ADF              rcall _xianshu
 0446                   .dbline 282
 0446           L109:
 0446                   .dbline 277
 0446 FCCF              rjmp L108
 0448           X7:
 0448                   .dbline -2
 0448           L106:
 0448                   .dbline 0 ; func end
 0448 0895              ret
 044A                   .dbend

⌨️ 快捷键说明

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