📄 time.lis
字号:
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 + -