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

📄 pp.lis

📁 ICC刷卡C语言程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 04BC           L117:
 04BC                   .dbline 234
 04BC 4DE7              ldi R20,125
 04BE 50E0              ldi R21,0
 04C0 60E0              ldi R22,0
 04C2 70E0              ldi R23,0
 04C4 22B6              in R2,0x32
 04C6 3324              clr R3
 04C8 4424              clr R4
 04CA 5524              clr R5
 04CC 2416              cp R2,R20
 04CE 3506              cpc R3,R21
 04D0 4606              cpc R4,R22
 04D2 5706              cpc R5,R23
 04D4 9CF3              brlt L116
 04D6                   .dbline 235
 04D6 2224              clr R2
 04D8 22BE              out 0x32,R2
 04DA                   .dbline 236
 04DA 0150              subi R16,1
 04DC 1040              sbci R17,0
 04DE                   .dbline 237
 04DE           L114:
 04DE                   .dbline 232
 04DE 0030              cpi R16,0
 04E0 0107              cpc R16,R17
 04E2 61F7              brne L117
 04E4           X15:
 04E4                   .dbline -2
 04E4           L112:
 04E4 00D0              rcall pop_gset2
 04E6                   .dbline 0 ; func end
 04E6 0895              ret
 04E8                   .dbsym r time 16 i
 04E8                   .dbend
 04E8                   .dbfunc e init_atmega _init_atmega fV
                        .even
 04E8           _init_atmega::
 04E8                   .dbline -1
 04E8                   .dbline 241
 04E8           ;         while(TCNT0<(fosc/64/1000));
 04E8           ;         TCNT0=0;
 04E8           ;         time--;       
 04E8           ;         }     
 04E8           ;     }                                 
 04E8           ; //************************************************************ATMEGA8初始化38//
 04E8           ; void init_atmega(void)
 04E8           ;     {
 04E8                   .dbline 242
 04E8           ;       SFIOR&=(~(1<<PUD));//上拉SFIOR
 04E8 80B7              in R24,0x30
 04EA 8B7F              andi R24,251
 04EC 80BF              out 0x30,R24
 04EE                   .dbline 243
 04EE           ;       DDRB=0xFF;      
 04EE 8FEF              ldi R24,255
 04F0 87BB              out 0x17,R24
 04F2                   .dbline 244
 04F2           ;       DDRD=0xF8;//,PD7(E),PD6(RW),PD5(RS),PD4(SPS),PD2(ICC),PD1(TXD),PD0(RXD);
 04F2 88EF              ldi R24,248
 04F4 81BB              out 0x11,R24
 04F6                   .dbline 245
 04F6           ;       PORTD=0xFB;
 04F6 8BEF              ldi R24,251
 04F8 82BB              out 0x12,R24
 04FA                   .dbline 246
 04FA           ;       DDRC=0x0F;//PC4,PC3(REN),PC2(GREEN),PC0(BUZZER)
 04FA 8FE0              ldi R24,15
 04FC 84BB              out 0x14,R24
 04FE                   .dbline 247
 04FE           ;       PORTC=0x01;
 04FE 81E0              ldi R24,1
 0500 85BB              out 0x15,R24
 0502                   .dbline 248
 0502           ;       UCSRB=(1<<RXEN)|(1<<TXEN);
 0502 88E1              ldi R24,24
 0504 8AB9              out 0xa,R24
 0506                   .dbline 249
 0506           ;     UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
 0506 86E8              ldi R24,134
 0508 80BD              out 0x20,R24
 050A                   .dbline 250
 050A           ;       UBRRH=(fosc/16/(baud+1))/256;
 050A 2224              clr R2
 050C 20BC              out 0x20,R2
 050E                   .dbline 251
 050E           ;       UBRRL=(fosc/16/(baud+1))%256;
 050E 8AE1              ldi R24,26
 0510 89B9              out 0x9,R24
 0512                   .dbline 252
 0512           ;       TCCR2=0x0a;
 0512 8AE0              ldi R24,10
 0514 85BD              out 0x25,R24
 0516                   .dbline 253
 0516           ;       TCNT2=0x00;
 0516 24BC              out 0x24,R2
 0518                   .dbline 254
 0518           ;       OCR2=fosc/8/2000;//500us
 0518 84EF              ldi R24,500
 051A 91E0              ldi R25,1
 051C 83BD              out 0x23,R24
 051E                   .dbline 255
 051E           ;       TIMSK=1<<OCIE2;
 051E 80E8              ldi R24,128
 0520 89BF              out 0x39,R24
 0522                   .dbline 256
 0522           ;       TCCR0=(1<<CS01)|(1<<CS00);//64分频
 0522 83E0              ldi R24,3
 0524 83BF              out 0x33,R24
 0526                   .dbline 257
 0526           ;       TCNT0=0;
 0526 22BE              out 0x32,R2
 0528                   .dbline 258
 0528           ;       SEI();
 0528 7894              sei
 052A                   .dbline -2
 052A           L119:
 052A                   .dbline 0 ; func end
 052A 0895              ret
 052C                   .dbend
 052C                   .dbfunc e RxGsm _RxGsm fV
 052C           ;              i -> R20
                        .even
 052C           _RxGsm::
 052C 00D0              rcall push_gset1
 052E 2397              sbiw R28,3
 0530                   .dbline -1
 0530                   .dbline 262
 0530           ;       }
 0530           ; //*****************************************************************接收远程41//
 0530           ; void RxGsm(void)
 0530           ;     {
 0530                   .dbline 264
 0530           ;       unsigned char i;
 0530           ;       switch(RxGsmAddr)
 0530 40910200          lds R20,_RxGsmAddr
 0534 5527              clr R21
 0536 4030              cpi R20,0
 0538 4507              cpc R20,R21
 053A 71F0              breq L124
 053C           X16:
 053C 4130              cpi R20,1
 053E E0E0              ldi R30,0
 0540 5E07              cpc R21,R30
 0542 71F0              breq L125
 0544 4230              cpi R20,2
 0546 E0E0              ldi R30,0
 0548 5E07              cpc R21,R30
 054A F1F0              breq L128
 054C 4330              cpi R20,3
 054E E0E0              ldi R30,0
 0550 5E07              cpc R21,R30
 0552 09F4              brne X19
 0554 8DC0              rjmp L145
 0556           X19:
 0556 DEC0              rjmp L121
 0558           X17:
 0558                   .dbline 265
 0558           ;       {
 0558           L124:
 0558                   .dbline 267
 0558           ;       case(0)://接收停止
 0558           ;         {
 0558                   .dbline 268
 0558           ;         RxGsmAddr=0;return;
 0558 2224              clr R2
 055A 20920200          sts _RxGsmAddr,R2
 055E                   .dbline 268
 055E DAC0              rjmp L120
 0560           L125:
 0560                   .dbline 271
 0560           ;         }
 0560           ;       case(1)://接收初始
 0560           ;         {
 0560                   .dbline 272
 0560           ;         if(!(PIND&0x04)&&(RxCalAddr==1))
 0560 8299              sbic 0x10,2
 0562 D8C0              rjmp L120
 0564 80910100          lds R24,_RxCalAddr
 0568 8130              cpi R24,1
 056A 09F0              breq X20
 056C D3C0              rjmp L120
 056E           X20:
 056E                   .dbline 273
 056E           ;         {RxGsmAddr=2;RxUartWait=0;RxUartAddr=1;return;}
 056E                   .dbline 273
 056E 82E0              ldi R24,2
 0570 80930200          sts _RxGsmAddr,R24
 0574                   .dbline 273
 0574 2224              clr R2
 0576 3324              clr R3
 0578 30920E00          sts _RxUartWait+1,R3
 057C 20920D00          sts _RxUartWait,R2
 0580                   .dbline 273
 0580 81E0              ldi R24,1
 0582 80931200          sts _RxUartAddr,R24
 0586                   .dbline 273
 0586 C6C0              rjmp L120
 0588           X18:
 0588                   .dbline 274
 0588           ;         else return;
 0588           L128:
 0588                   .dbline 277
 0588           ;         }
 0588           ;       case(2)://接收是否完成
 0588           ;         {
 0588                   .dbline 278
 0588           ;         if(!(PIND&0x04)&&(RxCalAddr==1))
 0588 8299              sbic 0x10,2
 058A 6EC0              rjmp L129
 058C 80910100          lds R24,_RxCalAddr
 0590 8130              cpi R24,1
 0592 09F0              breq X21
 0594 69C0              rjmp L129
 0596           X21:
 0596                   .dbline 279
 0596           ;          {
 0596                   .dbline 280
 0596           ;          if(RxUartAddr) return;          
 0596 20901200          lds R2,_RxUartAddr
 059A 2220              tst R2
 059C 09F0              breq L131
 059E                   .dbline 280
 059E BAC0              rjmp L120
 05A0           L131:
 05A0                   .dbline 281
 05A0           ;          if(CmpsRom(RxUartDbuf,RxUartLeng,"DD",2)) {RxGsmAddr=1;OutToneCount=4;return;}//DD 
 05A0 82E0              ldi R24,2
 05A2 8A83              std y+2,R24
 05A4 80E0              ldi R24,<L135
 05A6 90E0              ldi R25,>L135
 05A8 9983              std y+1,R25
 05AA 8883              std y+0,R24
 05AC 20910F00          lds R18,_RxUartLeng
 05B0 00E0              ldi R16,<_RxUartDbuf
 05B2 10E0              ldi R17,>_RxUartDbuf
 05B4 4BDF              rcall _CmpsRom
 05B6 0023              tst R16
 05B8 39F0              breq L133
 05BA                   .dbline 281
 05BA                   .dbline 281
 05BA 81E0              ldi R24,1
 05BC 80930200          sts _RxGsmAddr,R24
 05C0                   .dbline 281
 05C0 84E0              ldi R24,4
 05C2 80930600          sts _OutToneCount,R24
 05C6                   .dbline 281
 05C6 A6C0              rjmp L120
 05C8           L133:
 05C8                   .dbline 282
 05C8           ;          OutToneCount=2;
 05C8 82E0              ldi R24,2
 05CA 80930600          sts _OutToneCount,R24
 05CE                   .dbline 283
 05CE           ;          CopyRam(RxUartDbuf+2,RxUartLeng,writecaltemp,16);//写信息到卡
 05CE 80E1              ldi R24,16
 05D0 8A83              std y+2,R24
 05D2 80E0              ldi R24,<_writecaltemp
 05D4 90E0              ldi R25,>_writecaltemp
 05D6 9983              std y+1,R25
 05D8 8883              std y+0,R24
 05DA 20910F00          lds R18,_RxUartLeng
 05DE 00E0              ldi R16,<_RxUartDbuf+2
 05E0 10E0              ldi R17,>_RxUartDbuf+2
 05E2 1CDF              rcall _CopyRam
 05E4                   .dbline 284
 05E4           ;          checktemp=0;
 05E4 2224              clr R2
 05E6 20921D01          sts _checktemp,R2
 05EA                   .dbline 285
 05EA 42E0              ldi R20,2
 05EC 0DC0              rjmp L140
 05EE           L137:
 05EE                   .dbline 285
 05EE                   .dbline 285
 05EE 80E0              ldi R24,<_writecal1
 05F0 90E0              ldi R25,>_writecal1
 05F2 E42F              mov R30,R20
 05F4 FF27              clr R31
 05F6 E80F              add R30,R24
 05F8 F91F              adc R31,R25
 05FA E491              lpm R30,Z
 05FC 20901D01          lds R2,_checktemp
 0600 2E26              eor R2,R30
 0602 20921D01          sts _checktemp,R2
 0606                   .dbline 285
 0606           L138:
 0606                   .dbline 285
 0606 4395              inc R20
 0608           L140:
 0608                   .dbline 285
 0608           ;          for(i=2;i<=11;i++){checktemp^=writecal1[i];}
 0608 8BE0              ldi R24,11
 060A 8417              cp R24,R20
 060C 80F7              brsh L137
 060E                   .dbline 286
 060E 4427              clr R20
 0610 0DC0              rjmp L144
 0612           L141:
 0612                   .dbline 286
 0612                   .dbline 286
 0612 80E0              ldi R24,<_writecaltemp
 0614 90E0              ldi R25,>_writecaltemp
 0616 E42F              mov R30,R20
 0618 FF27              clr R31
 061A E80F              add R30,R24
 061C F91F              adc R31,R25
 061E 2080              ldd R2,z+0
 0620 30901D01          lds R3,_checktemp
 0624 3224              eor R3,R2
 0626 30921D01          sts _checktemp,R3
 062A                   .dbline 286
 062A           L142:
 062A                   .dbline 286
 062A 4395              inc R20
 062C           L144:
 062C                   .dbline 286
 062C           ;        for(i=0;i<16;i++){checktemp^=writecaltemp[i];} 
 062C 4031              cpi R20,16
 062E 88F3              brlo L141
 0630                   .dbline 287
 0630           ;          RxGsmAddr=3;RxUartAddr=1;RxUartWait=20;
 0630 83E0              ldi R24,3
 0632 80930200          sts _RxGsmAddr,R24
 0636                   .dbline 287
 0636 81E0              ldi R24,1
 0638 80931200          sts _RxUartAddr,R24
 063C                   .dbline 287
 063C 84E1              ldi R24,20
 063E 90E0              ldi R25,0
 0640 90930E00          sts _RxUartWait+1,R25
 0644 80930D00          sts _RxUartWait,R24
 0648                   .dbline 288
 0648           ;          TxRomUart(writecal1,12);TxRamUart(writecaltemp,16);TxRamUart(&checktemp,1);
 0648 2CE

⌨️ 快捷键说明

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