📄 main.lis
字号:
0188 ; delay(50);
0188 02E3 ldi R16,50
018A F2DF rcall _delay
018C .dbline 160
018C ; }
018C L33:
018C .dbline 157
018C A394 inc R10
018E L35:
018E .dbline 157
018E AC14 cp R10,R12
0190 D8F3 brlo L32
0192 X10:
0192 .dbline -2
0192 L31:
0192 .dbline 0 ; func end
0192 C990 ld R12,y+
0194 A990 ld R10,y+
0196 0895 ret
0198 .dbsym r tim1 12 c
0198 .dbsym r i 10 c
0198 .dbsym r time 10 c
0198 .dbend
0198 .dbfunc e delays _delays fV
0198 ; tim2 -> R12
0198 ; j -> R10
0198 ; time1 -> R10
.even
0198 _delays::
0198 AA92 st -y,R10
019A CA92 st -y,R12
019C A02E mov R10,R16
019E .dbline -1
019E .dbline 163
019E ; }
019E ; void delays(u08 time1)
019E ; {
019E .dbline 165
019E ; u08 tim2,j;
019E ; tim2=time1;
019E CA2C mov R12,R10
01A0 .dbline 166
01A0 ; for(j=0;j<tim2;j++)
01A0 AA24 clr R10
01A2 03C0 rjmp L40
01A4 L37:
01A4 .dbline 167
01A4 ; {
01A4 .dbline 168
01A4 ; delayms(250);
01A4 0AEF ldi R16,250
01A6 EADF rcall _delayms
01A8 .dbline 169
01A8 ; }
01A8 L38:
01A8 .dbline 166
01A8 A394 inc R10
01AA L40:
01AA .dbline 166
01AA AC14 cp R10,R12
01AC D8F3 brlo L37
01AE X11:
01AE .dbline -2
01AE L36:
01AE .dbline 0 ; func end
01AE C990 ld R12,y+
01B0 A990 ld R10,y+
01B2 0895 ret
01B4 .dbsym r tim2 12 c
01B4 .dbsym r j 10 c
01B4 .dbsym r time1 10 c
01B4 .dbend
01B4 .dbfunc e Icp_time0 _Icp_time0 fV
.even
01B4 _Icp_time0::
01B4 2A92 st -y,R2
01B6 3A92 st -y,R3
01B8 8A93 st -y,R24
01BA 2FB6 in R2,0x3f
01BC 2A92 st -y,R2
01BE .dbline -1
01BE .dbline 172
01BE ; }
01BE ; void Icp_time0(void)
01BE ; {
01BE .dbline 173
01BE ; SREG=0x00;
01BE 2224 clr R2
01C0 2FBE out 0x3f,R2
01C2 .dbline 174
01C2 ; TIFR0=0x01;
01C2 81E0 ldi R24,1
01C4 85BB out 0x15,R24
01C6 .dbline 175
01C6 ; data_temp2=data_temp1;
01C6 20900200 lds R2,_data_temp1
01CA 30900300 lds R3,_data_temp1+1
01CE 30920100 sts _data_temp2+1,R3
01D2 20920000 sts _data_temp2,R2
01D6 .dbline 176
01D6 ; data_temp1=0x0000;
01D6 2224 clr R2
01D8 3324 clr R3
01DA 30920300 sts _data_temp1+1,R3
01DE 20920200 sts _data_temp1,R2
01E2 .dbline 177
01E2 ; TCNT0=0xc0;
01E2 80EC ldi R24,192
01E4 86BD out 0x26,R24
01E6 .dbline 178
01E6 ; SREG|=0x80;
01E6 7894 bset 7
01E8 .dbline -2
01E8 L41:
01E8 .dbline 0 ; func end
01E8 2990 ld R2,y+
01EA 2FBE out 0x3f,R2
01EC 8991 ld R24,y+
01EE 3990 ld R3,y+
01F0 2990 ld R2,y+
01F2 1895 reti
01F4 .dbend
01F4 .dbfunc e Int0 _Int0 fV
.even
01F4 _Int0::
01F4 8A93 st -y,R24
01F6 9A93 st -y,R25
01F8 8FB7 in R24,0x3f
01FA 8A93 st -y,R24
01FC .dbline -1
01FC .dbline 181
01FC ; }
01FC ; void Int0(void)
01FC ; {
01FC .dbline 183
01FC ; //SREG=0x00;
01FC ; data_temp1++;
01FC 80910200 lds R24,_data_temp1
0200 90910300 lds R25,_data_temp1+1
0204 0196 adiw R24,1
0206 90930300 sts _data_temp1+1,R25
020A 80930200 sts _data_temp1,R24
020E .dbline -2
020E L42:
020E .dbline 0 ; func end
020E 8991 ld R24,y+
0210 8FBF out 0x3f,R24
0212 9991 ld R25,y+
0214 8991 ld R24,y+
0216 1895 reti
0218 .dbend
0218 .dbfunc e sendData _sendData fV
0218 ; hbit -> R10
0218 ; k -> R20
0218 ; cbit -> R22
.even
0218 _sendData::
0218 00D0 rcall push_xgsetF00C
021A 602F mov R22,R16
021C .dbline -1
021C .dbline 187
021C ; //SREG|=0x80;
021C ; }
021C ; void sendData(u08 cbit)
021C ; {
021C .dbline 191
021C ; u08 k;
021C ; u08 hbit;
021C ; //hbit=0x01;
021C ; PORTC=0x02;
021C 82E0 ldi R24,2
021E 88B9 out 0x8,R24
0220 .dbline 192
0220 ; delay(180);
0220 04EB ldi R16,180
0222 A6DF rcall _delay
0224 .dbline 193
0224 ; PORTC=0x00;
0224 2224 clr R2
0226 28B8 out 0x8,R2
0228 .dbline 194
0228 ; delay(15);
0228 0FE0 ldi R16,15
022A A2DF rcall _delay
022C .dbline 198
022C ; //delay(26);
022C ; //PORTB=0x08;
022C ; //buz(cbit);
022C ; for(k=0;k<8;k++)
022C 4427 clr R20
022E 18C0 rjmp L47
0230 L44:
0230 .dbline 199
0230 ; {
0230 .dbline 200
0230 ; hbit=(cbit&0x80);
0230 862F mov R24,R22
0232 8078 andi R24,128
0234 A82E mov R10,R24
0236 .dbline 201
0236 ; if(hbit)
0236 8823 tst R24
0238 49F0 breq L48
023A X12:
023A .dbline 202
023A ; {
023A .dbline 203
023A ; PORTC=0x02;
023A 82E0 ldi R24,2
023C 88B9 out 0x8,R24
023E .dbline 204
023E ; delay(16);
023E 00E1 ldi R16,16
0240 97DF rcall _delay
0242 .dbline 205
0242 ; PORTC=0x00;
0242 2224 clr R2
0244 28B8 out 0x8,R2
0246 .dbline 206
0246 ; delay(50);
0246 02E3 ldi R16,50
0248 93DF rcall _delay
024A .dbline 208
024A ; //PORTB=0x00;
024A ; }
024A 08C0 rjmp L49
024C L48:
024C .dbline 210
024C ; else
024C ; {
024C .dbline 211
024C ; PORTC=0x02;
024C 82E0 ldi R24,2
024E 88B9 out 0x8,R24
0250 .dbline 212
0250 ; delay(50);
0250 02E3 ldi R16,50
0252 8EDF rcall _delay
0254 .dbline 213
0254 ; PORTC=0x00;
0254 2224 clr R2
0256 28B8 out 0x8,R2
0258 .dbline 214
0258 ; delay(16);
0258 00E1 ldi R16,16
025A 8ADF rcall _delay
025C .dbline 216
025C ; //PORTB=0x00;
025C ; }
025C L49:
025C .dbline 217
025C ; cbit<<=1;
025C 660F lsl R22
025E .dbline 218
025E ; }
025E L45:
025E .dbline 198
025E 4395 inc R20
0260 L47:
0260 .dbline 198
0260 4830 cpi R20,8
0262 30F3 brlo L44
0264 X13:
0264 .dbline -2
0264 L43:
0264 .dbline 0 ; func end
0264 00C0 rjmp pop_xgsetF00C
0266 .dbsym r hbit 10 c
0266 .dbsym r k 20 c
0266 .dbsym r cbit 22 c
0266 .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\AVRPRO~1\EEPROM\MAIN.C
0000 _data_temp2::
0000 .blkb 2
0002 .dbsym e data_temp2 _data_temp2 i
0002 _data_temp1::
0002 .blkb 2
0004 .dbsym e data_temp1 _data_temp1 i
0004 ; //buz(cbit);
0004 ; }
0004 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -