📄 main.lis
字号:
0306 60E0 ldi R22,0
0308 70E0 ldi R23,0
030A 7A93 st -y,R23
030C 6A93 st -y,R22
030E 5A93 st -y,R21
0310 4A93 st -y,R20
0312 0E940000 xcall mod32s
0316 00930500 sts _led_buf,R16
031A .dbline 59
031A ; led_buf[1] = (int)temperture/1000000%10;
031A 40E4 ldi R20,64
031C 52E4 ldi R21,66
031E 6FE0 ldi R22,15
0320 70E0 ldi R23,0
0322 20910200 lds R18,_temperture+2
0326 30910300 lds R19,_temperture+2+1
032A 00910000 lds R16,_temperture
032E 10910100 lds R17,_temperture+1
0332 0E940000 xcall fpint
0336 2227 clr R18
0338 17FD sbrc R17,7
033A 2095 com R18
033C 3327 clr R19
033E 27FD sbrc R18,7
0340 3095 com R19
0342 7A93 st -y,R23
0344 6A93 st -y,R22
0346 5A93 st -y,R21
0348 4A93 st -y,R20
034A 0E940000 xcall div32s
034E 4AE0 ldi R20,10
0350 50E0 ldi R21,0
0352 60E0 ldi R22,0
0354 70E0 ldi R23,0
0356 7A93 st -y,R23
0358 6A93 st -y,R22
035A 5A93 st -y,R21
035C 4A93 st -y,R20
035E 0E940000 xcall mod32s
0362 00930600 sts _led_buf+1,R16
0366 .dbline 60
0366 ; led_buf[2] = (int)temperture/100000%10;
0366 40EA ldi R20,160
0368 56E8 ldi R21,134
036A 61E0 ldi R22,1
036C 70E0 ldi R23,0
036E 20910200 lds R18,_temperture+2
0372 30910300 lds R19,_temperture+2+1
0376 00910000 lds R16,_temperture
037A 10910100 lds R17,_temperture+1
037E 0E940000 xcall fpint
0382 2227 clr R18
0384 17FD sbrc R17,7
0386 2095 com R18
0388 3327 clr R19
038A 27FD sbrc R18,7
038C 3095 com R19
038E 7A93 st -y,R23
0390 6A93 st -y,R22
0392 5A93 st -y,R21
0394 4A93 st -y,R20
0396 0E940000 xcall div32s
039A 4AE0 ldi R20,10
039C 50E0 ldi R21,0
039E 60E0 ldi R22,0
03A0 70E0 ldi R23,0
03A2 7A93 st -y,R23
03A4 6A93 st -y,R22
03A6 5A93 st -y,R21
03A8 4A93 st -y,R20
03AA 0E940000 xcall mod32s
03AE 00930700 sts _led_buf+2,R16
03B2 .dbline 61
03B2 ; led_buf[3] = (int)temperture/10000%10;
03B2 80E1 ldi R24,10000
03B4 97E2 ldi R25,39
03B6 20910200 lds R18,_temperture+2
03BA 30910300 lds R19,_temperture+2+1
03BE 00910000 lds R16,_temperture
03C2 10910100 lds R17,_temperture+1
03C6 0E940000 xcall fpint
03CA 9C01 movw R18,R24
03CC 0E940000 xcall div16s
03D0 2AE0 ldi R18,10
03D2 30E0 ldi R19,0
03D4 0E940000 xcall mod16s
03D8 00930800 sts _led_buf+3,R16
03DC .dbline 62
03DC ; led_buf[4] = (int)temperture/1000%10;
03DC 88EE ldi R24,1000
03DE 93E0 ldi R25,3
03E0 20910200 lds R18,_temperture+2
03E4 30910300 lds R19,_temperture+2+1
03E8 00910000 lds R16,_temperture
03EC 10910100 lds R17,_temperture+1
03F0 0E940000 xcall fpint
03F4 9C01 movw R18,R24
03F6 0E940000 xcall div16s
03FA 2AE0 ldi R18,10
03FC 30E0 ldi R19,0
03FE 0E940000 xcall mod16s
0402 00930900 sts _led_buf+4,R16
0406 .dbline 63
0406 ; led_buf[5] = (int)temperture/100%10;
0406 84E6 ldi R24,100
0408 90E0 ldi R25,0
040A 20910200 lds R18,_temperture+2
040E 30910300 lds R19,_temperture+2+1
0412 00910000 lds R16,_temperture
0416 10910100 lds R17,_temperture+1
041A 0E940000 xcall fpint
041E 9C01 movw R18,R24
0420 0E940000 xcall div16s
0424 2AE0 ldi R18,10
0426 30E0 ldi R19,0
0428 0E940000 xcall mod16s
042C 00930A00 sts _led_buf+5,R16
0430 .dbline 64
0430 ; led_buf[6] = (int)temperture/10%10;
0430 8AE0 ldi R24,10
0432 90E0 ldi R25,0
0434 20910200 lds R18,_temperture+2
0438 30910300 lds R19,_temperture+2+1
043C 00910000 lds R16,_temperture
0440 10910100 lds R17,_temperture+1
0444 0E940000 xcall fpint
0448 9C01 movw R18,R24
044A 0E940000 xcall div16s
044E 2AE0 ldi R18,10
0450 30E0 ldi R19,0
0452 0E940000 xcall mod16s
0456 00930B00 sts _led_buf+6,R16
045A .dbline 65
045A ; led_buf[7] = (int)temperture%10;
045A 8AE0 ldi R24,10
045C 90E0 ldi R25,0
045E 20910200 lds R18,_temperture+2
0462 30910300 lds R19,_temperture+2+1
0466 00910000 lds R16,_temperture
046A 10910100 lds R17,_temperture+1
046E 0E940000 xcall fpint
0472 9C01 movw R18,R24
0474 0E940000 xcall mod16s
0478 00930C00 sts _led_buf+7,R16
047C .dbline 66
047C ; }
047C L67:
047C .dbline 68
047C ;
047C ; if(led_buf[0] == 0)
047C 20900500 lds R2,_led_buf
0480 2220 tst R2
0482 39F5 brne L77
0484 X16:
0484 .dbline 69
0484 ; {
0484 .dbline 70
0484 ; led_buf[0] = 25;
0484 89E1 ldi R24,25
0486 80930500 sts _led_buf,R24
048A .dbline 71
048A ; if(led_buf[1] == 0)
048A 20900600 lds R2,_led_buf+1
048E 2220 tst R2
0490 01F5 brne L79
0492 X17:
0492 .dbline 72
0492 ; {
0492 .dbline 73
0492 ; led_buf[1] = 25;
0492 80930600 sts _led_buf+1,R24
0496 .dbline 74
0496 ; if(led_buf[2] == 0)
0496 20900700 lds R2,_led_buf+2
049A 2220 tst R2
049C D1F4 brne L83
049E X18:
049E .dbline 75
049E ; {
049E .dbline 76
049E ; led_buf[2] = 25;
049E 80930700 sts _led_buf+2,R24
04A2 .dbline 77
04A2 ; if(led_buf[3] == 0)
04A2 20900800 lds R2,_led_buf+3
04A6 2220 tst R2
04A8 A1F4 brne L87
04AA X19:
04AA .dbline 78
04AA ; {
04AA .dbline 79
04AA ; led_buf[3] = 25;
04AA 80930800 sts _led_buf+3,R24
04AE .dbline 80
04AE ; if(led_buf[4] == 0)
04AE 20900900 lds R2,_led_buf+4
04B2 2220 tst R2
04B4 71F4 brne L91
04B6 X20:
04B6 .dbline 81
04B6 ; {
04B6 .dbline 82
04B6 ; led_buf[4] = 25;
04B6 80930900 sts _led_buf+4,R24
04BA .dbline 83
04BA ; if(led_buf[5] == 0)
04BA 20900A00 lds R2,_led_buf+5
04BE 2220 tst R2
04C0 41F4 brne L95
04C2 X21:
04C2 .dbline 84
04C2 ; {
04C2 .dbline 85
04C2 ; led_buf[5] = 25;
04C2 80930A00 sts _led_buf+5,R24
04C6 .dbline 86
04C6 ; if(led_buf[6] == 0)
04C6 20900B00 lds R2,_led_buf+6
04CA 2220 tst R2
04CC 11F4 brne L99
04CE X22:
04CE .dbline 87
04CE ; {
04CE .dbline 88
04CE ; led_buf[6] = 25;
04CE 80930B00 sts _led_buf+6,R24
04D2 .dbline 89
04D2 ; }
04D2 L99:
04D2 .dbline 90
04D2 ; }
04D2 L95:
04D2 .dbline 91
04D2 ; }
04D2 L91:
04D2 .dbline 92
04D2 ; }
04D2 L87:
04D2 .dbline 93
04D2 ; }
04D2 L83:
04D2 .dbline 94
04D2 ; }
04D2 L79:
04D2 .dbline 95
04D2 ; }
04D2 L77:
04D2 .dbline 96
04D2 ; Coding_led();
04D2 07D0 xcall _Coding_led
04D4 .dbline 97
04D4 ; led_disbuf[6] &=~ BIT(7);
04D4 80911300 lds R24,_led_disbuf+6
04D8 8F77 andi R24,127
04DA 80931300 sts _led_disbuf+6,R24
04DE .dbline 98
04DE ; }
04DE L63:
04DE .dbline 52
04DE C0CE xjmp L62
04E0 X23:
04E0 .dbline -2
04E0 L61:
04E0 .dbline 0 ; func end
04E0 0895 ret
04E2 .dbsym l n 1 c
04E2 .dbend
04E2 .dbfunc e Coding_led _Coding_led fV
04E2 ; i -> R16
.even
04E2 _Coding_led::
04E2 .dbline -1
04E2 .dbline 104
04E2 ;
04E2 ; }
04E2 ;
04E2 ;
04E2 ; void Coding_led(void)//8位数码管译码程序
04E2 ; {
04E2 .dbline 106
04E2 ; unsigned char i;
04E2 ; for(i=0;i<8;i++)
04E2 0027 clr R16
04E4 15C0 xjmp L108
04E6 L105:
04E6 .dbline 107
04E6 ; {
04E6 .dbline 108
04E6 ; led_disbuf[i] = led_table[led_buf[i]];
04E6 80E0 ldi R24,<_led_buf
04E8 90E0 ldi R25,>_led_buf
04EA E02F mov R30,R16
04EC FF27 clr R31
04EE E80F add R30,R24
04F0 F91F adc R31,R25
04F2 E081 ldd R30,z+0
04F4 FF27 clr R31
04F6 80E0 ldi R24,<_led_table
04F8 90E0 ldi R25,>_led_table
04FA E80F add R30,R24
04FC F91F adc R31,R25
04FE 2080 ldd R2,z+0
0500 80E0 ldi R24,<_led_disbuf
0502 90E0 ldi R25,>_led_disbuf
0504 E02F mov R30,R16
0506 FF27 clr R31
0508 E80F add R30,R24
050A F91F adc R31,R25
050C 2082 std z+0,R2
050E .dbline 109
050E ; }
050E L106:
050E .dbline 106
050E 0395 inc R16
0510 L108:
0510 .dbline 106
0510 0830 cpi R16,8
0512 48F3 brlo L105
0514 X25:
0514 .dbline -2
0514 L104:
0514 .dbline 0 ; func end
0514 0895 ret
0516 .dbsym r i 16 c
0516 .dbend
.area bss(ram, con, rel)
0000 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\MAIN.C
0000 _temperture::
0000 .blkb 4
0004 .dbfile H:\mega128开发板rev1.1\开发板程序\ds18b20温度+数码管显示程序\define.h
0004 .dbsym e temperture _temperture D
0004 _t0_ovfnum::
0004 .blkb 1
0005 .dbsym e t0_ovfnum _t0_ovfnum c
0005 _led_buf::
0005 .blkb 8
000D .dbsym e led_buf _led_buf A[8:8]c
000D _led_disbuf::
000D .blkb 8
0015 .dbsym e led_disbuf _led_disbuf A[8:8]c
0015 _sbit_led::
0015 .blkb 1
0016 .dbsym e sbit_led _sbit_led c
0016 _s_wtemp::
0016 .blkb 2
0018 .dbsym e s_wtemp _s_wtemp I
0018 _u_btemp::
0018 .blkb 1
0019 .dbsym e u_btemp _u_btemp c
0019 _u_wtemp::
0019 .blkb 2
001B .dbsym e u_wtemp _u_wtemp i
001B _u_ltemp::
001B .blkb 4
001F .dbsym e u_ltemp _u_ltemp l
.area lit(rom, con, rel)
0000 L69:
0000 00007A44 .word 0x0,0x447a
0004 L66:
0004 0000803D .word 0x0,0x3d80
0008 L65:
0008 00002041 .word 0x0,0x4120
000C ; }
000C ;
000C ;
000C ;
000C ;
000C ;
000C ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -