📄 main.lis
字号:
01DE 90E0 ldi R25,0
01E0 8C15 cp R24,R12
01E2 9D05 cpc R25,R13
01E4 E8F4 brsh L57
01E6 .dbline 244
01E6 ; {
01E6 .dbline 245
01E6 ; tmp=(r%1000)/100;
01E6 28EE ldi R18,1000
01E8 33E0 ldi R19,3
01EA 8601 movw R16,R12
01EC 0E940000 xcall mod16u
01F0 24E6 ldi R18,100
01F2 30E0 ldi R19,0
01F4 0E940000 xcall div16u
01F8 402F mov R20,R16
01FA .dbline 246
01FA ; for(i=0;i<5;i++)
01FA 6627 clr R22
01FC 0FC0 xjmp L62
01FE L59:
01FE .dbline 247
01FE 21E0 ldi R18,1
0200 85E0 ldi R24,5
0202 849F mul R24,R20
0204 1001 movw R2,R0
0206 80E0 ldi R24,<_FontLookup
0208 90E0 ldi R25,>_FontLookup
020A 280E add R2,R24
020C 391E adc R3,R25
020E E62F mov R30,R22
0210 FF27 clr R31
0212 E20D add R30,R2
0214 F31D adc R31,R3
0216 0491 lpm R16,Z
0218 AADF xcall _LcdSend
021A L60:
021A .dbline 246
021A 6395 inc R22
021C L62:
021C .dbline 246
021C 6530 cpi R22,5
021E 78F3 brlo L59
0220 .dbline 248
0220 ; LcdSend(FontLookup[tmp][i],1);
0220 ; }
0220 L57:
0220 .dbline 249
0220 ; if(r >10)
0220 8AE0 ldi R24,10
0222 90E0 ldi R25,0
0224 8C15 cp R24,R12
0226 9D05 cpc R25,R13
0228 E8F4 brsh L63
022A .dbline 250
022A ; {
022A .dbline 251
022A ; tmp=(r%100)/10;
022A 24E6 ldi R18,100
022C 30E0 ldi R19,0
022E 8601 movw R16,R12
0230 0E940000 xcall mod16u
0234 2AE0 ldi R18,10
0236 30E0 ldi R19,0
0238 0E940000 xcall div16u
023C 402F mov R20,R16
023E .dbline 252
023E ; for(i=0;i<5;i++)
023E 6627 clr R22
0240 0FC0 xjmp L68
0242 L65:
0242 .dbline 253
0242 21E0 ldi R18,1
0244 85E0 ldi R24,5
0246 849F mul R24,R20
0248 1001 movw R2,R0
024A 80E0 ldi R24,<_FontLookup
024C 90E0 ldi R25,>_FontLookup
024E 280E add R2,R24
0250 391E adc R3,R25
0252 E62F mov R30,R22
0254 FF27 clr R31
0256 E20D add R30,R2
0258 F31D adc R31,R3
025A 0491 lpm R16,Z
025C 88DF xcall _LcdSend
025E L66:
025E .dbline 252
025E 6395 inc R22
0260 L68:
0260 .dbline 252
0260 6530 cpi R22,5
0262 78F3 brlo L65
0264 .dbline 254
0264 ; LcdSend(FontLookup[tmp][i],1);
0264 ; }
0264 L63:
0264 .dbline 256
0264 ;
0264 ; tmp=r%10;
0264 2AE0 ldi R18,10
0266 30E0 ldi R19,0
0268 8601 movw R16,R12
026A 0E940000 xcall mod16u
026E 402F mov R20,R16
0270 .dbline 258
0270 ;
0270 ; for(i=0;i<5;i++)
0270 6627 clr R22
0272 0FC0 xjmp L72
0274 L69:
0274 .dbline 259
0274 21E0 ldi R18,1
0276 85E0 ldi R24,5
0278 849F mul R24,R20
027A 1001 movw R2,R0
027C 80E0 ldi R24,<_FontLookup
027E 90E0 ldi R25,>_FontLookup
0280 280E add R2,R24
0282 391E adc R3,R25
0284 E62F mov R30,R22
0286 FF27 clr R31
0288 E20D add R30,R2
028A F31D adc R31,R3
028C 0491 lpm R16,Z
028E 6FDF xcall _LcdSend
0290 L70:
0290 .dbline 258
0290 6395 inc R22
0292 L72:
0292 .dbline 258
0292 6530 cpi R22,5
0294 78F3 brlo L69
0296 .dbline 261
0296 ; LcdSend(FontLookup[tmp][i],1);
0296 ; // 小数点
0296 ; for(i=0;i<5;i++)
0296 6627 clr R22
0298 0AC0 xjmp L76
029A L73:
029A .dbline 262
029A 21E0 ldi R18,1
029C 80E0 ldi R24,<_FontLookup+50
029E 90E0 ldi R25,>_FontLookup+50
02A0 E62F mov R30,R22
02A2 FF27 clr R31
02A4 E80F add R30,R24
02A6 F91F adc R31,R25
02A8 0491 lpm R16,Z
02AA 61DF xcall _LcdSend
02AC L74:
02AC .dbline 261
02AC 6395 inc R22
02AE L76:
02AE .dbline 261
02AE 6530 cpi R22,5
02B0 A0F3 brlo L73
02B2 .dbline 264
02B2 ; LcdSend(FontLookup[10][i],1);
02B2 ; //
02B2 ; for(i=0;i<5;i++)
02B2 6627 clr R22
02B4 16C0 xjmp L81
02B6 L78:
02B6 .dbline 265
02B6 21E0 ldi R18,1
02B8 05E0 ldi R16,5
02BA 10E0 ldi R17,0
02BC 2F93 push R18
02BE 3F93 push R19
02C0 9501 movw R18,R10
02C2 0E940000 xcall empy16s
02C6 1801 movw R2,R16
02C8 3F91 pop R19
02CA 2F91 pop R18
02CC 80E0 ldi R24,<_FontLookup
02CE 90E0 ldi R25,>_FontLookup
02D0 280E add R2,R24
02D2 391E adc R3,R25
02D4 E62F mov R30,R22
02D6 FF27 clr R31
02D8 E20D add R30,R2
02DA F31D adc R31,R3
02DC 0491 lpm R16,Z
02DE 47DF xcall _LcdSend
02E0 L79:
02E0 .dbline 264
02E0 6395 inc R22
02E2 L81:
02E2 .dbline 264
02E2 6530 cpi R22,5
02E4 40F3 brlo L78
02E6 .dbline 267
02E6 ; LcdSend(FontLookup[DOT][i],1);
02E6 ; //K
02E6 ; for(i=0;i<5;i++)
02E6 6627 clr R22
02E8 0AC0 xjmp L85
02EA L82:
02EA .dbline 268
02EA 21E0 ldi R18,1
02EC 80E0 ldi R24,<_FontLookup+55
02EE 90E0 ldi R25,>_FontLookup+55
02F0 E62F mov R30,R22
02F2 FF27 clr R31
02F4 E80F add R30,R24
02F6 F91F adc R31,R25
02F8 0491 lpm R16,Z
02FA 39DF xcall _LcdSend
02FC L83:
02FC .dbline 267
02FC 6395 inc R22
02FE L85:
02FE .dbline 267
02FE 6530 cpi R22,5
0300 A0F3 brlo L82
0302 .dbline -2
0302 L50:
0302 0E940000 xcall pop_gset4
0306 .dbline 0 ; func end
0306 0895 ret
0308 .dbsym r tmp 20 c
0308 .dbsym r i 22 c
0308 .dbsym r DOT 10 i
0308 .dbsym r r 12 i
0308 .dbend
0308 .dbfunc e main _main fV
0308 ; RF -> y+4
0308 ; DOT -> R22,R23
0308 ; time2 -> R12,R13
0308 ; time1 -> R14,R15
0308 ; R_TMP -> R20,R21
0308 ; R -> y+0
.even
0308 _main::
0308 2C97 sbiw R28,12
030A .dbline -1
030A .dbline 292
030A ; LcdSend(FontLookup[11][i],1);
030A ; }
030A ;
030A ;
030A ; /*--------------------------------------------------------------------------------------------------
030A ; Name : main
030A ; Description :
030A ; Argument(s) :
030A ; Return value : None.
030A ; --------------------------------------------------------------------------------------------------*/
030A ; /*
030A ; void main(void)
030A ; { unsigned char X; //v=0,按行显示,x对应某个bank(0~83)
030A ; LcdInit();
030A ;
030A ; while(1)
030A ; {
030A ; LcdGotoXY(X_Init,Y_Init);
030A ; for(X=0;X<X_Length;X++)LcdSend(X_TAB[X],1);
030A ; }
030A ; }
030A ; */
030A ;
030A ; void main(void)
030A ; {
030A .dbline 293
030A ; unsigned int time1=0,time2=0;
030A EE24 clr R14
030C FF24 clr R15
030E .dbline 293
030E CC24 clr R12
0310 DD24 clr R13
0312 .dbline 294
0312 ; float RF=46.0,R=0.0;
0312 00E0 ldi R16,<L88
0314 10E0 ldi R17,>L88
0316 0E940000 xcall lpm32
031A FE01 movw R30,R28
031C 0483 std z+4,R16
031E 1583 std z+5,R17
0320 2683 std z+6,R18
0322 3783 std z+7,R19
0324 .dbline 294
0324 00E0 ldi R16,<L89
0326 10E0 ldi R17,>L89
0328 0E940000 xcall lpm32
032C FE01 movw R30,R28
032E 0083 std z+0,R16
0330 1183 std z+1,R17
0332 2283 std z+2,R18
0334 3383 std z+3,R19
0336 .dbline 295
0336 ; unsigned int R_TMP=0,DOT=0;
0336 4427 clr R20
0338 5527 clr R21
033A .dbline 295
033A 6627 clr R22
033C 7727 clr R23
033E .dbline 296
033E ; timer_count=0;
033E 2224 clr R2
0340 3324 clr R3
0342 30920100 sts _timer_count+1,R3
0346 20920000 sts _timer_count,R2
034A .dbline 298
034A ;
034A ; init_devices(); //全部输入,内部上拉
034A 82DE xcall _init_devices
034C .dbline 300
034C ;
034C ; DDRA |=(1<<2);
034C D29A sbi 0x1a,2
034E .dbline 301
034E ; PORTA |=(1<<2); //PA2 输出,完成充电
034E DA9A sbi 0x1b,2
0350 .dbline 302
0350 ; Delay1s(1); //延时等待充满
0350 01E0 ldi R16,1
0352 10E0 ldi R17,0
0354 B3DE xcall _Delay1s
0356 .dbline 303
0356 ; _NOP();
0356 0000 nop
0358 .dbline 304
0358 ; DDRA &=~(1<<2); //输入,
0358 D298 cbi 0x1a,2
035A .dbline 305
035A ; PORTA &=~(1<<2);
035A DA98 cbi 0x1b,2
035C .dbline 307
035C ;
035C ; timer0_init();
035C 5BDE xcall _timer0_init
035E .dbline 308
035E ; DDRA |=(1<<1); //
035E D19A sbi 0x1a,1
0360 .dbline 309
0360 ; PORTA &=~(1<<1); //PA1 输出低,完成放电
0360 D998 cbi 0x1b,1
0362 L90:
0362 .dbline 310
0362 L91:
0362 .dbline 310
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -