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

📄 pp.lis

📁 ICC刷卡C语言程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0262           ; void OutLed(void)
 0262           ;     {
 0262                   .dbline 118
 0262           ;       switch(OutLedAddr)
 0262 00910A00          lds R16,_OutLedAddr
 0266 1127              clr R17
 0268 0030              cpi R16,0
 026A 0107              cpc R16,R17
 026C 71F0              breq L48
 026E           X5:
 026E 0130              cpi R16,1
 0270 E0E0              ldi R30,0
 0272 1E07              cpc R17,R30
 0274 71F0              breq L49
 0276 0230              cpi R16,2
 0278 E0E0              ldi R30,0
 027A 1E07              cpc R17,R30
 027C 21F1              breq L52
 027E 0330              cpi R16,3
 0280 E0E0              ldi R30,0
 0282 1E07              cpc R17,R30
 0284 09F4              brne X7
 0286 3BC0              rjmp L55
 0288           X7:
 0288 43C0              rjmp L45
 028A           X6:
 028A                   .dbline 119
 028A           ;       {
 028A           L48:
 028A                   .dbline 121
 028A           ;       case(0)://停止闪烁
 028A           ;         {
 028A                   .dbline 122
 028A           ;         OutLedAddr=0;return;
 028A 2224              clr R2
 028C 20920A00          sts _OutLedAddr,R2
 0290                   .dbline 122
 0290 3FC0              rjmp L44
 0292           L49:
 0292                   .dbline 125
 0292           ;         }
 0292           ;       case(1)://绿灯闪
 0292           ;         {
 0292                   .dbline 126
 0292           ;         if(++OutLedDely<1000) return;
 0292 80910800          lds R24,_OutLedDely
 0296 90910900          lds R25,_OutLedDely+1
 029A 0196              adiw R24,1
 029C 90930900          sts _OutLedDely+1,R25
 02A0 80930800          sts _OutLedDely,R24
 02A4 883E              cpi R24,232
 02A6 E3E0              ldi R30,3
 02A8 9E07              cpc R25,R30
 02AA 08F4              brsh L50
 02AC                   .dbline 126
 02AC 31C0              rjmp L44
 02AE           L50:
 02AE                   .dbline 127
 02AE           ;         OutLedDely=0;PORTC|=0x08;PORTC^=0x06;return;
 02AE 2224              clr R2
 02B0 3324              clr R3
 02B2 30920900          sts _OutLedDely+1,R3
 02B6 20920800          sts _OutLedDely,R2
 02BA                   .dbline 127
 02BA AB9A              sbi 0x15,3
 02BC                   .dbline 127
 02BC 86E0              ldi R24,6
 02BE 25B2              in R2,0x15
 02C0 2826              eor R2,R24
 02C2 25BA              out 0x15,R2
 02C4                   .dbline 127
 02C4 25C0              rjmp L44
 02C6           L52:
 02C6                   .dbline 130
 02C6           ;         }
 02C6           ;     case(2)://红灯闪
 02C6           ;         {
 02C6                   .dbline 131
 02C6           ;         if(++OutLedDely<1000) return;
 02C6 80910800          lds R24,_OutLedDely
 02CA 90910900          lds R25,_OutLedDely+1
 02CE 0196              adiw R24,1
 02D0 90930900          sts _OutLedDely+1,R25
 02D4 80930800          sts _OutLedDely,R24
 02D8 883E              cpi R24,232
 02DA E3E0              ldi R30,3
 02DC 9E07              cpc R25,R30
 02DE 08F4              brsh L53
 02E0                   .dbline 131
 02E0 17C0              rjmp L44
 02E2           L53:
 02E2                   .dbline 132
 02E2           ;         OutLedDely=0;PORTC|=0x06;PORTC^=0x08;return;
 02E2 2224              clr R2
 02E4 3324              clr R3
 02E6 30920900          sts _OutLedDely+1,R3
 02EA 20920800          sts _OutLedDely,R2
 02EE                   .dbline 132
 02EE 85B3              in R24,0x15
 02F0 8660              ori R24,6
 02F2 85BB              out 0x15,R24
 02F4                   .dbline 132
 02F4 88E0              ldi R24,8
 02F6 25B2              in R2,0x15
 02F8 2826              eor R2,R24
 02FA 25BA              out 0x15,R2
 02FC                   .dbline 132
 02FC 09C0              rjmp L44
 02FE           L55:
 02FE                   .dbline 135
 02FE                   .dbline 135
 02FE 2224              clr R2
 0300 3324              clr R3
 0302 30920900          sts _OutLedDely+1,R3
 0306 20920800          sts _OutLedDely,R2
 030A                   .dbline 135
 030A 85B3              in R24,0x15
 030C 8C60              ori R24,12
 030E 85BB              out 0x15,R24
 0310                   .dbline 135
 0310           L45:
 0310                   .dbline -2
 0310           L44:
 0310                   .dbline 0 ; func end
 0310 0895              ret
 0312                   .dbend
 0312                   .dbfunc e OutTone _OutTone fV
                        .even
 0312           _OutTone::
 0312                   .dbline -1
 0312                   .dbline 140
 0312           ;         }
 0312           ;       case(3)://关灯
 0312           ;         {OutLedDely=0;PORTC|=0x0C;return;}
 0312           ;       }
 0312           ;       }  
 0312           ; //***************************************************************输出提示声23//
 0312           ; void OutTone(void)
 0312           ;     { 
 0312                   .dbline 141
 0312           ;       switch(OutToneAddr)
 0312 00910700          lds R16,_OutToneAddr
 0316 1127              clr R17
 0318 0030              cpi R16,0
 031A 0107              cpc R16,R17
 031C 49F0              breq L60
 031E           X8:
 031E 0130              cpi R16,1
 0320 E0E0              ldi R30,0
 0322 1E07              cpc R17,R30
 0324 49F0              breq L61
 0326 0230              cpi R16,2
 0328 E0E0              ldi R30,0
 032A 1E07              cpc R17,R30
 032C A1F0              breq L64
 032E 3BC0              rjmp L57
 0330           X9:
 0330                   .dbline 142
 0330           ;       {
 0330           L60:
 0330                   .dbline 144
 0330           ;       case(0)://关闭
 0330           ;         {
 0330                   .dbline 145
 0330           ;         OutToneAddr=0;return;
 0330 2224              clr R2
 0332 20920700          sts _OutToneAddr,R2
 0336                   .dbline 145
 0336 37C0              rjmp L56
 0338           L61:
 0338                   .dbline 148
 0338           ;         }
 0338           ;       case(1)://判断是否开提示声
 0338           ;         {
 0338                   .dbline 149
 0338           ;         if(!OutToneCount) return;
 0338 20900600          lds R2,_OutToneCount
 033C 2220              tst R2
 033E 09F4              brne L62
 0340                   .dbline 149
 0340 32C0              rjmp L56
 0342           L62:
 0342                   .dbline 150
 0342           ;         OutToneDely=0;OutToneAddr=2;return;
 0342 2224              clr R2
 0344 3324              clr R3
 0346 30920400          sts _OutToneDely+1,R3
 034A 20920300          sts _OutToneDely,R2
 034E                   .dbline 150
 034E 82E0              ldi R24,2
 0350 80930700          sts _OutToneAddr,R24
 0354                   .dbline 150
 0354 28C0              rjmp L56
 0356           L64:
 0356                   .dbline 153
 0356           ;         }
 0356           ;       case(2):
 0356           ;         {
 0356                   .dbline 154
 0356           ;         if(++OutToneDely<400) return;
 0356 80910300          lds R24,_OutToneDely
 035A 90910400          lds R25,_OutToneDely+1
 035E 0196              adiw R24,1
 0360 90930400          sts _OutToneDely+1,R25
 0364 80930300          sts _OutToneDely,R24
 0368 8039              cpi R24,144
 036A E1E0              ldi R30,1
 036C 9E07              cpc R25,R30
 036E 08F4              brsh L65
 0370                   .dbline 154
 0370 1AC0              rjmp L56
 0372           L65:
 0372                   .dbline 155
 0372           ;         if(!(--OutToneCount)) {PORTC|=0x01;OutToneCount=0;OutToneAddr=1;return;}
 0372 80910600          lds R24,_OutToneCount
 0376 8150              subi R24,1
 0378 282E              mov R2,R24
 037A 20920600          sts _OutToneCount,R2
 037E 8823              tst R24
 0380 41F4              brne L67
 0382                   .dbline 155
 0382                   .dbline 155
 0382 A89A              sbi 0x15,0
 0384                   .dbline 155
 0384 2224              clr R2
 0386 20920600          sts _OutToneCount,R2
 038A                   .dbline 155
 038A 81E0              ldi R24,1
 038C 80930700          sts _OutToneAddr,R24
 0390                   .dbline 155
 0390 0AC0              rjmp L56
 0392           L67:
 0392                   .dbline 156
 0392 2224              clr R2
 0394 3324              clr R3
 0396 30920400          sts _OutToneDely+1,R3
 039A 20920300          sts _OutToneDely,R2
 039E                   .dbline 156
 039E 81E0              ldi R24,1
 03A0 25B2              in R2,0x15
 03A2 2826              eor R2,R24
 03A4 25BA              out 0x15,R2
 03A6                   .dbline 156
 03A6           L57:
 03A6                   .dbline -2
 03A6           L56:
 03A6                   .dbline 0 ; func end
 03A6 0895              ret
 03A8                   .dbend
                        .area vector(rom, abs)
                        .org 6
 0006 D4C1              rjmp _Time2
                        .area text(rom, con, rel)
 03A8                   .dbfile I:\刷卡器\pp.c
 03A8                   .dbfunc e Time2 _Time2 fV
                        .even
 03A8           _Time2::
 03A8 00D0              rcall push_lset
 03AA                   .dbline -1
 03AA                   .dbline 163
 03AA           ;         OutToneDely=0;PORTC^=0x01;return;
 03AA           ;         }
 03AA           ;       }
 03AA           ;       }  
 03AA           ; #pragma interrupt_handler Time2:iv_TIMER2_COMP                        
 03AA           ; //****************************************************************调用中断任务//              
 03AA           ; void Time2(void)
 03AA           ;     {
 03AA                   .dbline 164
 03AA           ;       RxUart();
 03AA DCDE              rcall _RxUart
 03AC                   .dbline 165
 03AC           ;       OutLed();
 03AC 5ADF              rcall _OutLed
 03AE                   .dbline 166
 03AE           ;       OutTone();
 03AE B1DF              rcall _OutTone
 03B0                   .dbline -2
 03B0           L69:
 03B0 00D0              rcall pop_lset
 03B2                   .dbline 0 ; func end
 03B2 1895              reti
 03B4                   .dbend
 03B4                   .dbfunc e TxRomUart _TxRomUart fV
 03B4           ;           leng -> R18,R19
 03B4           ;           data -> R16,R17
                        .even
 03B4           _TxRomUart::
 03B4                   .dbline -1
 03B4                   .dbline 171
 03B4           ;       }                
 03B4           ; //****************************************************单时任务//      
 03B4           ; //********************************************************发送ROM数据到串口31//
 03B4           ; void TxRomUart(const unsigned char *data,unsigned int leng)
 03B4           ;     {
 03B4 09C0              rjmp L72
 03B6           X10:
 03B6                   .dbline 173
 03B6           ;       while(leng)
 03B6           ;         {
 03B6           L74:
 03B6                   .dbline 174
 03B6           L75:
 03B6                   .dbline 174
 03B6 5D9B              sbis 0xb,5
 03B8 FECF              rjmp L74
 03BA                   .dbline 175
 03BA F801              movw R30,R16
 03BC E491              lpm R30,Z
 03BE ECB9              out 0xc,R30
 03C0                   .dbline 175
 03C0 0F5F              subi R16,255  ; offset = 1
 03C2 1F4F              sbci R17,255
 03C4                   .dbline 175
 03C4 2150              subi R18,1
 03C6 3040              sbci R19,0
 03C8                   .dbline 176
 03C8           L72:
 03C8                   .dbline 172
 03C8 2030              cpi R18,0
 03CA 2307              cpc R18,R19
 03CC A1F7              brne L75
 03CE           X11:
 03CE                   .dbline -2
 03CE           L70:
 03CE                   .dbline 0 ; func end
 03CE 0895              ret
 03D0                   .dbsym r leng 18 i
 03D0                   .dbsym r data 16 pkc
 03D0                   .dbend
 03D0                   .dbfunc e TxRamUart _TxRamUart fV
 03D0           ;           leng -> R18,R19
 03D0           ;           data -> R16,R17
                        .even
 03D0           _TxRamUart::
 03D0                   .dbline -1

⌨️ 快捷键说明

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