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

📄 time.lis

📁 双龙AVR-MEGA128开发板的配套源码
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 016C                   .dbline 78
 016C 6395              inc R22
 016E                 L29:
 016E                   .dbline 78
 016E 6230              cpi R22,2
 0170 38F3              brlo L26
 0172                   .dbline 83
                       ;        {
                       ;         time[7-i]=temp%10+0x30;
                       ;         temp=temp/10;
                       ;        }
                       ;     time[8]=0;
 0172 2224              clr R2
 0174 20920A00          sts _time+8,R2
 0178                   .dbline 84
                       ;     cls(0,3,1,8);
 0178 88E0              ldi R24,8
 017A 90E0              ldi R25,0
 017C 8A83              std y+2,R24
 017E 9B83              std y+3,R25
 0180 81E0              ldi R24,1
 0182 8883              std y+0,R24
 0184 9983              std y+1,R25
 0186 23E0              ldi R18,3
 0188 30E0              ldi R19,0
 018A 0027              clr R16
 018C 1127              clr R17
 018E 0E940000          xcall _cls
 0192                   .dbline 85
                       ;     asc_tran(4,52,time);
 0192 80E0              ldi R24,<_time
 0194 90E0              ldi R25,>_time
 0196 8883              std y+0,R24
 0198 9983              std y+1,R25
 019A 24E3              ldi R18,52
 019C 30E0              ldi R19,0
 019E 04E0              ldi R16,4
 01A0 10E0              ldi R17,0
 01A2 0E940000          xcall _asc_tran
 01A6                   .dbline -2
 01A6                   .dbline 86
                       ;    }
 01A6                 L15:
 01A6 2496              adiw R28,4
 01A8 0E940000          xcall pop_gset2
 01AC                   .dbline 0 ; func end
 01AC 0895              ret
 01AE                   .dbsym r temp 20 c
 01AE                   .dbsym r i 22 c
 01AE                   .dbfunc s timer2_init _timer2_init fI
                         .even
 01AE                 _timer2_init::
 01AE                   .dbline -1
 01AE                   .dbline 88
                       ; void timer2_init(void)
                       ; {
 01AE                   .dbline 89
                       ;  TCCR2 = 0x00; 
 01AE 2224              clr R2
 01B0 25BC              out 0x25,R2
 01B2                   .dbline 90
                       ;  TCNT2 = 0xe1; 
 01B2 81EE              ldi R24,225
 01B4 84BD              out 0x24,R24
 01B6                   .dbline 91
                       ;  TCCR2 = 0x03;
 01B6 83E0              ldi R24,3
 01B8 85BD              out 0x25,R24
 01BA                   .dbline -2
 01BA                   .dbline 92
                       ; }
 01BA                 L31:
 01BA                   .dbline 0 ; func end
 01BA 0895              ret
                         .area vector(rom, abs)
                         .org 40
 0028 0C94DE00          jmp _timer2_ovf_isr
                         .area text(rom, con, rel)
 01BC                   .dbfile D:\ICC-AVR\Pc_At\time.c
                         .area bss(ram, con, rel)
 0000                   .dbfile D:\ICC-AVR\Pc_At\time.c
 0000                 L33:
 0000                   .blkb 2
                         .area text(rom, con, rel)
 01BC                   .dbfile D:\ICC-AVR\Pc_At\time.c
 01BC                   .dbfunc s timer2_ovf_isr _timer2_ovf_isr fI
 01BC                   .dbsym s i L33 i
                         .even
 01BC                 _timer2_ovf_isr::
 01BC 2A92              st -y,R2
 01BE 3A92              st -y,R3
 01C0 8A93              st -y,R24
 01C2 9A93              st -y,R25
 01C4 EA93              st -y,R30
 01C6 2FB6              in R2,0x3f
 01C8 2A92              st -y,R2
 01CA                   .dbline -1
 01CA                   .dbline 95
                       ; #pragma interrupt_handler timer2_ovf_isr:11
                       ; void timer2_ovf_isr(void)
                       ; {
 01CA                   .dbline 97
                       ;   static unsigned int i;
                       ;   TCNT2 = 0xe1; //reload counter value
 01CA 81EE              ldi R24,225
 01CC 84BD              out 0x24,R24
 01CE                   .dbline 98
                       ;   i++;
 01CE 90910100          lds R25,L33+1
 01D2 80910000          lds R24,L33
 01D6 0196              adiw R24,1
 01D8 90930100          sts L33+1,R25
 01DC 80930000          sts L33,R24
 01E0                   .dbline 99
                       ;   if(i<800)
 01E0 8032              cpi R24,32
 01E2 E3E0              ldi R30,3
 01E4 9E07              cpc R25,R30
 01E6 20F4              brsh L34
 01E8                   .dbline 100
                       ;      {
 01E8                   .dbline 101
                       ;       PORTB^=0x80;
 01E8 80E8              ldi R24,128
 01EA 28B2              in R2,0x18
 01EC 2826              eor R2,R24
 01EE 28BA              out 0x18,R2
 01F0                   .dbline 102
                       ;      }
 01F0                 L34:
 01F0                   .dbline 103
 01F0 80E4              ldi R24,1600
 01F2 96E0              ldi R25,6
 01F4 30900100          lds R3,L33+1
 01F8 20900000          lds R2,L33
 01FC 8215              cp R24,R2
 01FE 9305              cpc R25,R3
 0200 30F4              brsh L36
 0202                   .dbline 104
 0202 2224              clr R2
 0204 3324              clr R3
 0206 30920100          sts L33+1,R3
 020A 20920000          sts L33,R2
 020E                 L36:
 020E                   .dbline -2
 020E                   .dbline 105
                       ;   if(i>1600)
                       ;       i=0;      
                       ; }   
 020E                 L32:
 020E 2990              ld R2,y+
 0210 2FBE              out 0x3f,R2
 0212 E991              ld R30,y+
 0214 9991              ld R25,y+
 0216 8991              ld R24,y+
 0218 3990              ld R3,y+
 021A 2990              ld R2,y+
 021C                   .dbline 0 ; func end
 021C 1895              reti
 021E                   .dbfunc s timecal _timecal fI
                         .area func_lit(rom, con, rel)
 0000                 L92:
 0000 9C01              .word `L63
 0002 AB01              .word `L66
 0004 C701              .word `L73
 0006 D601              .word `L77
 0008 E101              .word `L79
 000A F001              .word `L83
                         .area text(rom, con, rel)
 021E                   .dbfile D:\ICC-AVR\Pc_At\time.c
                       ;           step -> R10
                       ;           temp -> R20
                         .even
 021E                 _timecal::
 021E 0E940000          xcall push_gset5
 0222 2497              sbiw R28,4
 0224                   .dbline -1
 0224                   .dbline 107
                       ; void timecal(void)
                       ;    {
 0224                   .dbline 109
                       ;     unsigned char temp,step;
                       ;     ocmj_write(0xf4);
 0224 04EF              ldi R16,244
 0226 10E0              ldi R17,0
 0228 0E940000          xcall _ocmj_write
 022C                   .dbline 110
                       ;     hz_tran(2,1,"输入时间");
 022C 80E0              ldi R24,<L39
 022E 90E0              ldi R25,>L39
 0230 8883              std y+0,R24
 0232 9983              std y+1,R25
 0234 21E0              ldi R18,1
 0236 30E0              ldi R19,0
 0238 02E0              ldi R16,2
 023A 10E0              ldi R17,0
 023C 0E940000          xcall _hz_tran
 0240                   .dbline 111
                       ;     hz_tran(1,2,"按");
 0240 80E0              ldi R24,<L40
 0242 90E0              ldi R25,>L40
 0244 8883              std y+0,R24
 0246 9983              std y+1,R25
 0248 22E0              ldi R18,2
 024A 30E0              ldi R19,0
 024C 01E0              ldi R16,1
 024E 10E0              ldi R17,0
 0250 0E940000          xcall _hz_tran
 0254                   .dbline 112
                       ;     asc_tran(4,36,"SHIFT");
 0254 80E0              ldi R24,<L41
 0256 90E0              ldi R25,>L41
 0258 8883              std y+0,R24
 025A 9983              std y+1,R25
 025C 24E2              ldi R18,36
 025E 30E0              ldi R19,0
 0260 04E0              ldi R16,4
 0262 10E0              ldi R17,0
 0264 0E940000          xcall _asc_tran
 0268                   .dbline 113
                       ;     hz_tran(5,2,"确定");
 0268 80E0              ldi R24,<L42
 026A 90E0              ldi R25,>L42
 026C 8883              std y+0,R24
 026E 9983              std y+1,R25
 0270 22E0              ldi R18,2
 0272 30E0              ldi R19,0
 0274 05E0              ldi R16,5
 0276 10E0              ldi R17,0
 0278 0E940000          xcall _hz_tran
 027C                   .dbline 114
                       ;     asc_tran(4,52,"__:__:__");
 027C 80E0              ldi R24,<L43
 027E 90E0              ldi R25,>L43
 0280 8883              std y+0,R24
 0282 9983              std y+1,R25
 0284 24E3              ldi R18,52
 0286 30E0              ldi R19,0
 0288 04E0              ldi R16,4
 028A 10E0              ldi R17,0
 028C 0E940000          xcall _asc_tran
 0290                   .dbline 115
                       ;     for(temp=0;temp<9;temp++)
 0290 4427              clr R20
 0292 09C0              xjmp L47
 0294                 L44:
 0294                   .dbline 116
 0294                   .dbline 117
 0294 80E0              ldi R24,<_time
 0296 90E0              ldi R25,>_time
 0298 E42F              mov R30,R20
 029A FF27              clr R31
 029C E80F              add R30,R24
 029E F91F              adc R31,R25
 02A0 8FE5              ldi R24,95
 02A2 8083              std z+0,R24
 02A4                   .dbline 118
 02A4                 L45:
 02A4                   .dbline 115
 02A4 4395              inc R20
 02A6                 L47:
 02A6                   .dbline 115
 02A6 4930              cpi R20,9
 02A8 A8F3              brlo L44
 02AA                   .dbline 119
                       ;        {
                       ;         time[temp]='_';
                       ;        }
                       ;     time[2]=':';
 02AA 8AE3              ldi R24,58
 02AC 80930400          sts _time+2,R24
 02B0                   .dbline 120
                       ;     time[5]=':';
 02B0 80930700          sts _time+5,R24
 02B4                   .dbline 121
                       ;     time[8]=0;   
 02B4 2224              clr R2
 02B6 20920A00          sts _time+8,R2
 02BA                   .dbline 122
                       ;     step=0;
 02BA AA24              clr R10
 02BC                 L51:
 02BC                   .dbline 124
                       ;     do
                       ;       {
 02BC                   .dbline 125
                       ;        temp=keypad();
 02BC 0E940000          xcall _keypad
 02C0 202E              mov R2,R16
 02C2 312E              mov R3,R17
 02C4 422D              mov R20,R2
 02C6                   .dbline 126
                       ;        if(((temp&0x7f)!=0x7f)&((temp&0x7f)<0x0a))
 02C6 842F              mov R24,R20
 02C8 8F77              andi R24,127
 02CA 8F37              cpi R24,127
 02CC 29F0              breq L56
 02CE 81E0              ldi R24,1
 02D0 90E0              ldi R25,0
 02D2 E82E              mov R14,R24
 02D4 F92E              mov R15,R25
 02D6 02C0              xjmp L57
 02D8                 L56:
 02D8 EE24              clr R14
 02DA FF24              clr R15
 02DC                 L57:
 02DC 842F              mov R24,R20
 02DE 8F77              andi R24,127
 02E0 8A30              cpi R24,10
 02E2 28F4              brsh L58
 02E4 81E0              ldi R24,1
 02E6 90E0              ldi R25,0
 02E8 C82E              mov R12,R24
 02EA D92E              mov R13,R25
 02EC 02C0              xjmp L59
 02EE                 L58:
 02EE CC24              clr R12
 02F0 DD24              clr R13
 02F2                 L59:
 02F2 2E2C              mov R2,R14
 02F4 3F2C              mov R3,R15
 02F6 2C20              and R2,R12
 02F8 3D20              and R3,R13
 02FA 2220              tst R2
 02FC 19F4              brne X1
 02FE 3320              tst R3
 0300 09F4              brne X2
 0302 A7C0              xjmp L54
 0304                 X2:
 0304                 X1:
 0304                   .dbline 127
                       ;           {
 0304                   .dbline 128
                       ;            switch (step)
 0304 6A2D              mov R22,R10
 0306 7727              clr R23
 0308 6030              cpi R22,0
 030A E0E0              ldi R30,0
 030C 7E07              cpc R23,R30
 030E 0CF4              brge X3
 0310 72C0              xjmp L60
 0312                 X3:
 0312 85E0              ldi R24,5
 0314 90E0              ldi R25,0
 0316 8617              cp R24,R22
 0318 9707              cpc R25,R23
 031A 0CF4              brge X4
 031C 6CC0              xjmp L60
 031E                 X4:
 031E 80E0              ldi R24,<L92

⌨️ 快捷键说明

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