lc.lis

来自「ICC-AVR环境,用ATmage16做的LC表」· LIS 代码 · 共 1,458 行 · 第 1/4 页

LIS
1,458
字号
 05E6 1127              clr R17
 05E8 10DD              xcall _LCD_write_char
 05EA                   .dbline -2
 05EA           L34:
 05EA 2A96              adiw R28,10
 05EC 0E940000          xcall pop_gset3
 05F0                   .dbline 0 ; func end
 05F0 0895              ret
 05F2                   .dbsym l f 2 D
 05F2                   .dbend
 05F2                   .dbfunc e calc_Lx _calc_Lx fV
 05F2           ;              f -> y+2
                        .even
 05F2           _calc_Lx::
 05F2 0E940000          xcall push_gset3
 05F6 2A97              sbiw R28,10
 05F8                   .dbline -1
 05F8                   .dbline 147
 05F8           ; }
 05F8           ; 
 05F8           ; 
 05F8           ; void calc_Lx(void)
 05F8           ; {
 05F8                   .dbline 148
 05F8           ;       float f=1/(last_TCNT1*4)*1000000;
 05F8 20910600          lds R18,_last_TCNT1
 05FC 30910700          lds R19,_last_TCNT1+1
 0600 04E0              ldi R16,4
 0602 10E0              ldi R17,0
 0604 0E940000          xcall empy16s
 0608 9801              movw R18,R16
 060A 01E0              ldi R16,1
 060C 10E0              ldi R17,0
 060E 0E940000          xcall div16u
 0612 1801              movw R2,R16
 0614 4424              clr R4
 0616 5524              clr R5
 0618 40E4              ldi R20,64
 061A 52E4              ldi R21,66
 061C 6FE0              ldi R22,15
 061E 70E0              ldi R23,0
 0620 5A92              st -y,R5
 0622 4A92              st -y,R4
 0624 3A92              st -y,R3
 0626 2A92              st -y,R2
 0628 8A01              movw R16,R20
 062A 9B01              movw R18,R22
 062C 0E940000          xcall empy32s
 0630 0E940000          xcall long2fp
 0634 FE01              movw R30,R28
 0636 0283              std z+2,R16
 0638 1383              std z+3,R17
 063A 2483              std z+4,R18
 063C 3583              std z+5,R19
 063E                   .dbline 149
 063E           ;       Lx=1/(39.4384*f*f*(C1+Cn*1000000));
 063E 00E0              ldi R16,<L29
 0640 10E0              ldi R17,>L29
 0642 0E940000          xcall lpm32
 0646 3A93              st -y,R19
 0648 2A93              st -y,R18
 064A 1A93              st -y,R17
 064C 0A93              st -y,R16
 064E 00E0              ldi R16,<L31
 0650 10E0              ldi R17,>L31
 0652 0E940000          xcall lpm32
 0656 3A93              st -y,R19
 0658 2A93              st -y,R18
 065A 1A93              st -y,R17
 065C 0A93              st -y,R16
 065E FE01              movw R30,R28
 0660            ; stack offset 8
 0660 2284              ldd R2,z+10
 0662 3384              ldd R3,z+11
 0664 4484              ldd R4,z+12
 0666 5584              ldd R5,z+13
 0668 5A92              st -y,R5
 066A 4A92              st -y,R4
 066C 3A92              st -y,R3
 066E 2A92              st -y,R2
 0670 0E940000          xcall empy32fs
 0674 FE01              movw R30,R28
 0676            ; stack offset 8
 0676 2284              ldd R2,z+10
 0678 3384              ldd R3,z+11
 067A 4484              ldd R4,z+12
 067C 5584              ldd R5,z+13
 067E 5A92              st -y,R5
 0680 4A92              st -y,R4
 0682 3A92              st -y,R3
 0684 2A92              st -y,R2
 0686 0E940000          xcall empy32fs
 068A 20900000          lds R2,_Cn
 068E 30900100          lds R3,_Cn+1
 0692 4424              clr R4
 0694 5524              clr R5
 0696 40E4              ldi R20,64
 0698 52E4              ldi R21,66
 069A 6FE0              ldi R22,15
 069C 70E0              ldi R23,0
 069E 5A92              st -y,R5
 06A0 4A92              st -y,R4
 06A2 3A92              st -y,R3
 06A4 2A92              st -y,R2
 06A6 8A01              movw R16,R20
 06A8 9B01              movw R18,R22
 06AA 0E940000          xcall empy32s
 06AE 41E0              ldi R20,1
 06B0 50E0              ldi R21,0
 06B2 60E0              ldi R22,0
 06B4 70E0              ldi R23,0
 06B6 040F              add R16,R20
 06B8 151F              adc R17,R21
 06BA 261F              adc R18,R22
 06BC 371F              adc R19,R23
 06BE 0E940000          xcall long2fp
 06C2 3A93              st -y,R19
 06C4 2A93              st -y,R18
 06C6 1A93              st -y,R17
 06C8 0A93              st -y,R16
 06CA 0E940000          xcall empy32fs
 06CE 0E940000          xcall div32f
 06D2 FE01              movw R30,R28
 06D4 0683              std z+6,R16
 06D6 1783              std z+7,R17
 06D8 2087              std z+8,R18
 06DA 3187              std z+9,R19
 06DC FE01              movw R30,R28
 06DE 2680              ldd R2,z+6
 06E0 3780              ldd R3,z+7
 06E2 4084              ldd R4,z+8
 06E4 5184              ldd R5,z+9
 06E6 5A92              st -y,R5
 06E8 4A92              st -y,R4
 06EA 3A92              st -y,R3
 06EC 2A92              st -y,R2
 06EE 00E0              ldi R16,<L33
 06F0 10E0              ldi R17,>L33
 06F2 0E940000          xcall lpm32
 06F6 3A93              st -y,R19
 06F8 2A93              st -y,R18
 06FA 1A93              st -y,R17
 06FC 0A93              st -y,R16
 06FE 0E940000          xcall cmp32f
 0702 D4F0              brlt L39
 0704 FE01              movw R30,R28
 0706 2680              ldd R2,z+6
 0708 3780              ldd R3,z+7
 070A 4084              ldd R4,z+8
 070C 5184              ldd R5,z+9
 070E 5A92              st -y,R5
 0710 4A92              st -y,R4
 0712 3A92              st -y,R3
 0714 2A92              st -y,R2
 0716 00E0              ldi R16,<L33
 0718 10E0              ldi R17,>L33
 071A 0E940000          xcall lpm32
 071E 3A93              st -y,R19
 0720 2A93              st -y,R18
 0722 1A93              st -y,R17
 0724 0A93              st -y,R16
 0726 0E940000          xcall sub32f
 072A 0E940000          xcall fp2int
 072E C801              movw R24,R16
 0730 8050              subi R24,0  ; offset = 32768
 0732 9048              sbci R25,128
 0734 5C01              movw R10,R24
 0736 08C0              xjmp L40
 0738           L39:
 0738 FE01              movw R30,R28
 073A 0681              ldd R16,z+6
 073C 1781              ldd R17,z+7
 073E 2085              ldd R18,z+8
 0740 3185              ldd R19,z+9
 0742 0E940000          xcall fp2int
 0746 5801              movw R10,R16
 0748           L40:
 0748 B0920300          sts _Lx+1,R11
 074C A0920200          sts _Lx,R10
 0750                   .dbline 151
 0750           ;       
 0750           ;       LCD_write_string(3,1,itoa(buf,Cn,10));
 0750 8AE0              ldi R24,10
 0752 90E0              ldi R25,0
 0754 9983              std y+1,R25
 0756 8883              std y+0,R24
 0758 20910000          lds R18,_Cn
 075C 30910100          lds R19,_Cn+1
 0760 00E0              ldi R16,<_buf
 0762 10E0              ldi R17,>_buf
 0764 0E940000          xcall _itoa
 0768 1983              std y+1,R17
 076A 0883              std y+0,R16
 076C 21E0              ldi R18,1
 076E 03E0              ldi R16,3
 0770 C4DC              xcall _LCD_write_string
 0772                   .dbline 152
 0772           ;       LCD_write_char(0,'u');
 0772 25E7              ldi R18,117
 0774 30E0              ldi R19,0
 0776 0027              clr R16
 0778 1127              clr R17
 077A 47DC              xcall _LCD_write_char
 077C                   .dbline 153
 077C           ;       LCD_write_char(0,'H');
 077C 28E4              ldi R18,72
 077E 30E0              ldi R19,0
 0780 0027              clr R16
 0782 1127              clr R17
 0784 42DC              xcall _LCD_write_char
 0786                   .dbline -2
 0786           L38:
 0786 2A96              adiw R28,10
 0788 0E940000          xcall pop_gset3
 078C                   .dbline 0 ; func end
 078C 0895              ret
 078E                   .dbsym l f 2 D
 078E                   .dbend
 078E                   .dbfunc e delay_nus _delay_nus fV
 078E           ;              n -> R16
                        .even
 078E           _delay_nus::
 078E                   .dbline -1
 078E                   .dbline 158
 078E           ; }
 078E           ; 
 078E           ; /*--------------------------------延时函数--------------------------------*/
 078E           ; void delay_nus(unsigned char n)       //N us延时函数
 078E           ; {
 078E 01C0              xjmp L43
 0790           L42:
 0790                   .dbline 160
 0790                   .dbline 161
 0790 0000              nop
 0792                   .dbline 162
 0792           L43:
 0792                   .dbline 159
 0792           ;       while (--n)
 0792 802F              mov R24,R16
 0794 8150              subi R24,1
 0796 082F              mov R16,R24
 0798 8823              tst R24
 079A D1F7              brne L42
 079C                   .dbline -2
 079C           L41:
 079C                   .dbline 0 ; func end
 079C 0895              ret
 079E                   .dbsym r n 16 c
 079E                   .dbend
 079E                   .dbfunc e delay_1ms _delay_1ms fV
 079E           ;              i -> R16
 079E           ;              j -> R18
                        .even
 079E           _delay_1ms::
 079E                   .dbline -1
 079E                   .dbline 166
 079E           ;       {
 079E           ;               asm("nop");
 079E           ;       }
 079E           ; }
 079E           ; 
 079E           ; void delay_1ms(void)                 //1ms延时函数
 079E           ; {
 079E                   .dbline 167
 079E           ;       unsigned char i=10,j=100;
 079E 0AE0              ldi R16,10
 07A0                   .dbline 167
 07A0 24E6              ldi R18,100
 07A2 06C0              xjmp L47
 07A4           L49:
 07A4                   .dbline 170
 07A4 0000              nop
 07A6           L50:
 07A6                   .dbline 169
 07A6 822F              mov R24,R18
 07A8 8150              subi R24,1
 07AA 282F              mov R18,R24
 07AC 8823              tst R24
 07AE D1F7              brne L49
 07B0           L47:
 07B0                   .dbline 168
 07B0           ;       while (--i)
 07B0 802F              mov R24,R16
 07B2 8150              subi R24,1
 07B4 082F              mov R16,R24
 07B6 8823              tst R24
 07B8 B1F7              brne L50
 07BA                   .dbline -2
 07BA           L45:
 07BA                   .dbline 0 ; func end
 07BA 0895              ret
 07BC                   .dbsym r i 16 c
 07BC                   .dbsym r j 18 c
 07BC                   .dbend
 07BC                   .dbfunc e delay_nms _delay_nms fV
 07BC           ;              n -> R20
                        .even
 07BC           _delay_nms::
 07BC 0E940000          xcall push_gset1
 07C0 402F              mov R20,R16
 07C2                   .dbline -1
 07C2                   .dbline 174
 07C2           ;               while (--j)
 07C2           ;                       asm("nop");
 07C2           ; }
 07C2           ; 
 07C2           ; void delay_nms(unsigned char n)       //N ms延时函数
 07C2           ; {
 07C2 01C0              xjmp L54
 07C4           L53:
 07C4                   .dbline 176
 07C4 ECDF              xcall _delay_1ms
 07C6           L54:
 07C6                   .dbline 175
 07C6           ;       while (--n)
 07C6 842F              mov R24,R20
 07C8 8150              subi R24,1
 07CA 482F              mov R20,R24
 07CC 8823              tst R24
 07CE D1F7              brne L53
 07D0                   .dbline -2
 07D0           L52:
 07D0 0E940000          xcall pop_gset1
 07D4                   .dbline 0 ; func end
 07D4 0895              ret
 07D6                   .dbsym r n 20 c
 07D6                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\资料文件\MCU\myLC\LC.c
 0000           _Cn::
 0000                   .blkb 2
 0002                   .dbsym e Cn _Cn i
 0002           _Lx::
 0002                   .blkb 2
 0004                   .dbsym e Lx _Lx i
 0004           _Cx::
 0004                   .blkb 2
 0006                   .dbsym e Cx _Cx i
 0006           _last_TCNT1::
 0006                   .blkb 2
 0008                   .dbsym e last_TCNT1 _last_TCNT1 i
                        .area lit(rom, con, rel)
 0000           L37:
 0000 00000040          .word 0x0,0x4000
 0004           L33:
 0004 00000047          .word 0x0,0x4700
 0008           L32:
 0008 00247449          .word 0x2400,0x4974
 000C           L31:
 000C ECC01D42          .word 0xc0ec,0x421d
 0010           L30:
 0010 0000C842          .word 0x0,0x42c8
 0014           L29:
 0014 0000803F          .word 0x0,0x3f80
                        .area data(ram, con, rel)
 0008                   .dbfile E:\资料文件\MCU\myLC\LC.c
 0008           L23:
 0008                   .blkb 7
                        .area idata
 0008 54434E54313D00    .byte 'T,'C,'N,'T,49,61,0
                        .area data(ram, con, rel)
 000F                   .dbfile E:\资料文件\MCU\myLC\LC.c

⌨️ 快捷键说明

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