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

📄 main.lis

📁 工控计数器ICCAVR的MAGE8程序LED数码显示+4键
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 01A2                   .dbline 48
 01A2                   .dbline 48
 01A2 0196              adiw R24,1
 01A4 90930100          sts _ticnt+1,R25
 01A8 80930000          sts _ticnt,R24
 01AC                   .dbline 48
 01AC 80910200          lds R24,_keytime
 01B0 90910300          lds R25,_keytime+1
 01B4 0196              adiw R24,1
 01B6 90930300          sts _keytime+1,R25
 01BA 80930200          sts _keytime,R24
 01BE                   .dbline 48
 01BE 06C0              rjmp L21
 01C0           L20:
 01C0                   .dbline 49
 01C0           ;  else                               ticnt=0; 
 01C0 2224              clr R2
 01C2 3324              clr R3
 01C4 30920100          sts _ticnt+1,R3
 01C8 20920000          sts _ticnt,R2
 01CC           L21:
 01CC                   .dbline 50
 01CC           ;  if(keytime>1000)              keybit=0xf7;
 01CC 88EE              ldi R24,1000
 01CE 93E0              ldi R25,3
 01D0 20900200          lds R2,_keytime
 01D4 30900300          lds R3,_keytime+1
 01D8 8215              cp R24,R2
 01DA 9305              cpc R25,R3
 01DC 18F4              brsh L22
 01DE                   .dbline 50
 01DE 87EF              ldi R24,247
 01E0 80930000          sts _keybit,R24
 01E4           L22:
 01E4                   .dbline 51
 01E4 83B1              in R24,0x3
 01E6 8F70              andi R24,15
 01E8 8F30              cpi R24,15
 01EA 31F0              breq L24
 01EC                   .dbline 51
 01EC 2224              clr R2
 01EE 3324              clr R3
 01F0 30920300          sts _keytime+1,R3
 01F4 20920200          sts _keytime,R2
 01F8           L24:
 01F8                   .dbline -2
 01F8           L19:
 01F8 2990              ld R2,y+
 01FA 2FBE              out 0x3f,R2
 01FC E991              ld R30,y+
 01FE 9991              ld R25,y+
 0200 8991              ld R24,y+
 0202 3990              ld R3,y+
 0204 2990              ld R2,y+
 0206                   .dbline 0 ; func end
 0206 1895              reti
 0208                   .dbend
                        .area vector(rom, abs)
                        .org 6
 0006 04C1              rjmp _int_clr
                        .area text(rom, con, rel)
 0208                   .dbfile E:\NumberDisplay\cfile\main.c
 0208                   .dbfunc e int_clr _int_clr fV
 0208           ;              m -> R10
                        .even
 0208           _int_clr::
 0208 0A92              st -y,R0
 020A 1A92              st -y,R1
 020C 2A92              st -y,R2
 020E 3A92              st -y,R3
 0210 0A93              st -y,R16
 0212 1A93              st -y,R17
 0214 2A93              st -y,R18
 0216 8A93              st -y,R24
 0218 9A93              st -y,R25
 021A EA93              st -y,R30
 021C FA93              st -y,R31
 021E 0FB6              in R0,0x3f
 0220 0A92              st -y,R0
 0222 00D0              rcall push_gset3
 0224                   .dbline -1
 0224                   .dbline 56
 0224           ;  if((PINB&0X0f)!=0x0f)       keytime=0;
 0224           ; }
 0224           ; //-----------------------------------------------------------------------
 0224           ; #pragma interrupt_handler int_clr:4
 0224           ; void int_clr(void)
 0224           ; {
 0224                   .dbline 58
 0224           ;  unsigned char m;
 0224           ;  CLI( );
 0224 F894              cli
 0226                   .dbline 59
 0226           ;  Contdata=0;
 0226 40E0              ldi R20,0
 0228 50E0              ldi R21,0
 022A 60E0              ldi R22,0
 022C 70E0              ldi R23,0
 022E 50931700          sts _Contdata+1,R21
 0232 40931600          sts _Contdata,R20
 0236 70931900          sts _Contdata+2+1,R23
 023A 60931800          sts _Contdata+2,R22
 023E                   .dbline 60
 023E           ;  tempcnt=0;
 023E 40E0              ldi R20,0
 0240 50E0              ldi R21,0
 0242 60E0              ldi R22,0
 0244 70E0              ldi R23,0
 0246 50930100          sts _tempcnt+1,R21
 024A 40930000          sts _tempcnt,R20
 024E 70930300          sts _tempcnt+2+1,R23
 0252 60930200          sts _tempcnt+2,R22
 0256                   .dbline 61
 0256           ;  for (m=0; m<3;m++)
 0256 AA24              clr R10
 0258 1CC0              rjmp L30
 025A           L27:
 025A                   .dbline 62
 025A                   .dbline 63
 025A 1A2D              mov R17,R10
 025C 1D5F              subi R17,253    ; addi 3
 025E 01E0              ldi R16,1
 0260 00D0              rcall lsl8
 0262 202E              mov R2,R16
 0264 2094              com R2
 0266 38B0              in R3,0x8
 0268 3220              and R3,R2
 026A 38B8              out 0x8,R3
 026C                   .dbline 64
 026C 82E0              ldi R24,2
 026E 8A9D              mul R24,R10
 0270 F001              movw R30,R0
 0272 80E0              ldi R24,<_ti
 0274 90E0              ldi R25,>_ti
 0276 E80F              add R30,R24
 0278 F91F              adc R31,R25
 027A 2224              clr R2
 027C 3324              clr R3
 027E 3182              std z+1,R3
 0280 2082              std z+0,R2
 0282                   .dbline 65
 0282 80E0              ldi R24,<_kt
 0284 90E0              ldi R25,>_kt
 0286 EA2D              mov R30,R10
 0288 FF27              clr R31
 028A E80F              add R30,R24
 028C F91F              adc R31,R25
 028E 2082              std z+0,R2
 0290                   .dbline 66
 0290           L28:
 0290                   .dbline 61
 0290 A394              inc R10
 0292           L30:
 0292                   .dbline 61
 0292 8A2D              mov R24,R10
 0294 8330              cpi R24,3
 0296 08F3              brlo L27
 0298                   .dbline 67
 0298           ;    {
 0298           ;     PORTC&=~BIT(m+3); 
 0298           ;       ti[m]=0;    
 0298           ;       kt[m]=0;
 0298           ;     }
 0298           ;  SEI( );
 0298 7894              sei
 029A                   .dbline -2
 029A           L26:
 029A 00D0              rcall pop_gset3
 029C 0990              ld R0,y+
 029E 0FBE              out 0x3f,R0
 02A0 F991              ld R31,y+
 02A2 E991              ld R30,y+
 02A4 9991              ld R25,y+
 02A6 8991              ld R24,y+
 02A8 2991              ld R18,y+
 02AA 1991              ld R17,y+
 02AC 0991              ld R16,y+
 02AE 3990              ld R3,y+
 02B0 2990              ld R2,y+
 02B2 1990              ld R1,y+
 02B4 0990              ld R0,y+
 02B6                   .dbline 0 ; func end
 02B6 1895              reti
 02B8                   .dbsym r m 10 c
 02B8                   .dbend
 02B8                   .dbfunc e powersave _powersave fV
 02B8           ;              m -> R20
                        .even
 02B8           _powersave::
 02B8 00D0              rcall push_gset1
 02BA 2297              sbiw R28,2
 02BC                   .dbline -1
 02BC                   .dbline 71
 02BC           ; }
 02BC           ; //------
 02BC           ; void   powersave(void)
 02BC           ; {
 02BC                   .dbline 72
 02BC           ;        unsigned char    m=0;
 02BC 4427              clr R20
 02BE                   .dbline 73
 02BE           ;        WDR();
 02BE A895              wdr
 02C0                   .dbline 74
 02C0           ;          PORTC&=~BIT(cp);
 02C0 4198              cbi 0x8,1
 02C2                   .dbline 75
 02C2           ;          for(m=0;m<24;m++)
 02C2 04C0              rjmp L35
 02C4           L32:
 02C4                   .dbline 76
 02C4                   .dbline 77
 02C4 4298              cbi 0x8,2
 02C6                   .dbline 78
 02C6 409A              sbi 0x8,0
 02C8                   .dbline 79
 02C8 429A              sbi 0x8,2
 02CA                   .dbline 80
 02CA           L33:
 02CA                   .dbline 75
 02CA 4395              inc R20
 02CC           L35:
 02CC                   .dbline 75
 02CC 4831              cpi R20,24
 02CE D0F3              brlo L32
 02D0                   .dbline 81
 02D0           ;          {
 02D0           ;          PORTC&=~BIT(sh_cp);
 02D0           ;        PORTC|=BIT(ds);
 02D0           ;          PORTC|= BIT(sh_cp);
 02D0           ;        }
 02D0           ;        PORTC|=BIT(cp);
 02D0 419A              sbi 0x8,1
 02D2                   .dbline 82
 02D2           ;          DDRC=0x00;
 02D2 2224              clr R2
 02D4 27B8              out 0x7,R2
 02D6                   .dbline 83
 02D6           ;          EEPROMwrite(0xb0,kt[0]);  
 02D6 20910100          lds R18,_kt
 02DA 00EB              ldi R16,176
 02DC 10E0              ldi R17,0
 02DE 00D0              rcall _EEPROMwrite_extIO
 02E0                   .dbline 84
 02E0           ;        EEPROM_WRITE(0x93, Contdata);
 02E0 84E0              ldi R24,4
 02E2 90E0              ldi R25,0
 02E4 9983              std y+1,R25
 02E6 8883              std y+0,R24
 02E8 20E0              ldi R18,<_Contdata
 02EA 30E0              ldi R19,>_Contdata
 02EC 03E9              ldi R16,147
 02EE 10E0              ldi R17,0
 02F0 00D0              rcall _EEPROMWriteBytes_extIO
 02F2           L36:
 02F2                   .dbline 85
 02F2           L37:
 02F2                   .dbline 85
 02F2 FFCF              rjmp L36
 02F4           X2:
 02F4                   .dbline -2
 02F4           L31:
 02F4 2296              adiw R28,2
 02F6 00D0              rcall pop_gset1
 02F8                   .dbline 0 ; func end
 02F8 0895              ret
 02FA                   .dbsym r m 20 c
 02FA                   .dbend
 02FA                   .dbfunc e main _main fV
                        .even
 02FA           _main::
 02FA                   .dbline -1
 02FA                   .dbline 89
 02FA           ;        while(1);
 02FA           ; }
 02FA           ; //------------------------------------------------------------------------
 02FA           ; void main(void)
 02FA           ; {   
 02FA                   .dbline 90
 02FA           ; InitIo();
 02FA 00D0              rcall _InitIo
 02FC 0CC0              rjmp L41
 02FE           L40:
 02FE                   .dbline 92
 02FE           ; while(1)
 02FE           ;    {
 02FE                   .dbline 93
 02FE           ;     menu();
 02FE 00D0              rcall _menu
 0300           L43:
 0300                   .dbline 95
 0300           ; loop:         
 0300           ;     if((PINB&0X0f)==0x07) goto   loop;
 0300 83B1              in R24,0x3
 0302 8F70              andi R24,15
 0304 8730              cpi R24,7
 0306 09F4              brne L44
 0308                   .dbline 95
 0308 FBCF              rjmp L43
 030A           L44:
 030A                   .dbline 96
 030A           ;     if((PINB&0X0f)==0x17) goto   loop;
 030A 83B1              in R24,0x3
 030C 8F70              andi R24,15
 030E 8731              cpi R24,23
 0310 09F4              brne L46
 0312                   .dbline 96
 0312 F6CF              rjmp L43
 0314           L46:
 0314                   .dbline 97
 0314 00D0              rcall _cntplay
 0316                   .dbline 98
 0316           L41:
 0316                   .dbline 91
 0316 F3CF              rjmp L40
 0318           X3:
 0318                   .dbline -2
 0318           L39:
 0318                   .dbline 0 ; func end
 0318 0895              ret
 031A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\NumberDisplay\cfile\main.c
 0000           _keybit::
 0000                   .blkb 1
 0001                   .dbsym e keybit _keybit c
 0001           _kt::
 0001                   .blkb 3
 0004                   .dbsym e kt _kt A[3:3]c
 0004           _ti::
 0004                   .blkb 6
 000A                   .dbsym e ti _ti A[6:3]i
 000A           _timeset::
 000A                   .blkb 12
 0016                   .dbsym e timeset _timeset A[12:3]L
 0016           _Contdata::
 0016                   .blkb 4
 001A                   .dbsym e Contdata _Contdata L

⌨️ 快捷键说明

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