📄 init.lis
字号:
.module init.c
.area data(ram, con, rel)
0000 _test::
0000 .blkw 1
.area idata
0000 0C00 .word L1
.area data(ram, con, rel)
0002 .dbfile D:\仿真\增量式模糊控制\init.c
0002 .dbsym e test _test pc
0002 _value::
0002 .blkw 1
.area idata
0002 0400 .word L2
.area data(ram, con, rel)
0004 .dbfile D:\仿真\增量式模糊控制\init.c
0004 .dbsym e value _value pc
.area text(rom, con, rel)
0000 .dbfile D:\仿真\增量式模糊控制\init.c
0000 .dbfunc e WDR _WDR fV
.even
0000 _WDR::
0000 .dbline -1
0000 .dbline 13
0000 ; #define INIT_C
0000 ; #include "includes.h"
0000 ; //#define Vref 25600
0000 ;
0000 ;
0000 ; int count;
0000 ; float j;
0000 ;
0000 ; unsigned char *test = "The Voltage is: ";
0000 ; unsigned char *value = "0.000 V";
0000 ;
0000 ; void WDR(void)
0000 ; {
0000 .dbline 14
0000 ; asm("wdr");
0000 A895 wdr
0002 .dbline -2
0002 L3:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e WDT_init _WDT_init fV
.even
0004 _WDT_init::
0004 .dbline -1
0004 .dbline 18
0004 ; }
0004 ;
0004 ; void WDT_init(void)
0004 ; {
0004 .dbline 19
0004 ; WDR();
0004 FDDF xcall _WDR
0006 .dbline 20
0006 ; WDTCR = 0x0f;
0006 8FE0 ldi R24,15
0008 81BD out 0x21,R24
000A .dbline -2
000A L4:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc e init_time1 _init_time1 fV
.even
000C _init_time1::
000C .dbline -1
000C .dbline 23
000C ; }
000C ; void init_time1(void)
000C ; {
000C .dbline 24
000C ; TIMSK = 0X02; //T1溢出中断
000C 82E0 ldi R24,2
000E 89BF out 0x39,R24
0010 .dbline 25
0010 ; TCCR1B = 0X00; //停止T1
0010 2224 clr R2
0012 2EBC out 0x2e,R2
0014 .dbline 26
0014 ; TCNT1H = 0XF9; //
0014 89EF ldi R24,249
0016 8DBD out 0x2d,R24
0018 .dbline 27
0018 ; TCNT1L = 0XE6;
0018 86EE ldi R24,230
001A 8CBD out 0x2c,R24
001C .dbline 28
001C ; TCCR1A = 0X00;
001C 2FBC out 0x2f,R2
001E .dbline 29
001E ; TCCR1B = 0X01;
001E 81E0 ldi R24,1
0020 8EBD out 0x2e,R24
0022 .dbline 30
0022 ; asm("sei");
0022 7894 sei
0024 .dbline -2
0024 L5:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbend
.area vector(rom, abs)
.org 32
0020 0C941300 jmp _timer1_ovf_isr
.area text(rom, con, rel)
0026 .dbfile D:\仿真\增量式模糊控制\init.c
0026 .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
.even
0026 _timer1_ovf_isr::
0026 0E940000 xcall push_lset
002A 2297 sbiw R28,2
002C .dbline -1
002C .dbline 37
002C ; }
002C ;
002C ;
002C ;
002C ; #pragma interrupt_handler timer1_ovf_isr:9
002C ; void timer1_ovf_isr(void)
002C ; {
002C .dbline 38
002C ; TCNT1H = 0XF9; //
002C 89EF ldi R24,249
002E 8DBD out 0x2d,R24
0030 .dbline 39
0030 ; TCNT1L = 0XE6;
0030 86EE ldi R24,230
0032 8CBD out 0x2c,R24
0034 .dbline 40
0034 ; j = (float)(((float)((Vref /1023)))*( ADC&0X3FF))/1000.00;
0034 84B1 in R24,0x4
0036 95B1 in R25,0x5
0038 8170 andi R24,1
003A 9070 andi R25,0
003C 1C01 movw R2,R24
003E 00E0 ldi R16,<L7
0040 10E0 ldi R17,>L7
0042 0E940000 xcall lpm32
0046 3A93 st -y,R19
0048 2A93 st -y,R18
004A 1A93 st -y,R17
004C 0A93 st -y,R16
004E 00E0 ldi R16,<L8
0050 10E0 ldi R17,>L8
0052 0E940000 xcall lpm32
0056 3A93 st -y,R19
0058 2A93 st -y,R18
005A 1A93 st -y,R17
005C 0A93 st -y,R16
005E 8101 movw R16,R2
0060 1695 lsr R17
0062 0795 ror R16
0064 0E940000 xcall int2fp
0068 3A93 st -y,R19
006A 2A93 st -y,R18
006C 1A93 st -y,R17
006E 0A93 st -y,R16
0070 0E940000 xcall empy32fs
0074 8101 movw R16,R2
0076 0E940000 xcall int2fp
007A 3A93 st -y,R19
007C 2A93 st -y,R18
007E 1A93 st -y,R17
0080 0A93 st -y,R16
0082 0E940000 xcall add32fs
0086 0E940000 xcall empy32fs
008A 00E0 ldi R16,<L9
008C 10E0 ldi R17,>L9
008E 0E940000 xcall lpm32
0092 3A93 st -y,R19
0094 2A93 st -y,R18
0096 1A93 st -y,R17
0098 0A93 st -y,R16
009A 0E940000 xcall div32f
009E 10930100 sts _j+1,R17
00A2 00930000 sts _j,R16
00A6 30930300 sts _j+2+1,R19
00AA 20930200 sts _j+2,R18
00AE .dbline 41
00AE ; count = j*100;
00AE 00E0 ldi R16,<L10
00B0 10E0 ldi R17,>L10
00B2 0E940000 xcall lpm32
00B6 3A93 st -y,R19
00B8 2A93 st -y,R18
00BA 1A93 st -y,R17
00BC 0A93 st -y,R16
00BE 40900200 lds R4,_j+2
00C2 50900300 lds R5,_j+2+1
00C6 20900000 lds R2,_j
00CA 30900100 lds R3,_j+1
00CE 5A92 st -y,R5
00D0 4A92 st -y,R4
00D2 3A92 st -y,R3
00D4 2A92 st -y,R2
00D6 0E940000 xcall empy32f
00DA 0E940000 xcall fp2int
00DE 10930500 sts _count+1,R17
00E2 00930400 sts _count,R16
00E6 .dbline 42
00E6 ; value[0] = count /1000+0x30;
00E6 28EE ldi R18,1000
00E8 33E0 ldi R19,3
00EA 0E940000 xcall div16s
00EE C801 movw R24,R16
00F0 C096 adiw R24,48
00F2 E0910200 lds R30,_value
00F6 F0910300 lds R31,_value+1
00FA 8083 std z+0,R24
00FC .dbline 43
00FC ; count = count %1000;
00FC 28EE ldi R18,1000
00FE 33E0 ldi R19,3
0100 00910400 lds R16,_count
0104 10910500 lds R17,_count+1
0108 0E940000 xcall mod16s
010C 10930500 sts _count+1,R17
0110 00930400 sts _count,R16
0114 .dbline 44
0114 ; value[2] = count /100+0x30;
0114 24E6 ldi R18,100
0116 30E0 ldi R19,0
0118 0E940000 xcall div16s
011C C801 movw R24,R16
011E C096 adiw R24,48
0120 E0910200 lds R30,_value
0124 F0910300 lds R31,_value+1
0128 8283 std z+2,R24
012A .dbline 45
012A ; count = count %100;
012A 24E6 ldi R18,100
012C 30E0 ldi R19,0
012E 00910400 lds R16,_count
0132 10910500 lds R17,_count+1
0136 0E940000 xcall mod16s
013A 10930500 sts _count+1,R17
013E 00930400 sts _count,R16
0142 .dbline 46
0142 ; value[3] = count /10 + 0x30;
0142 2AE0 ldi R18,10
0144 30E0 ldi R19,0
0146 0E940000 xcall div16s
014A C801 movw R24,R16
014C C096 adiw R24,48
014E E0910200 lds R30,_value
0152 F0910300 lds R31,_value+1
0156 8383 std z+3,R24
0158 .dbline 47
0158 ; value[4] = count %10 + 0x30;
0158 2AE0 ldi R18,10
015A 30E0 ldi R19,0
015C 00910400 lds R16,_count
0160 10910500 lds R17,_count+1
0164 0E940000 xcall mod16s
0168 C801 movw R24,R16
016A C096 adiw R24,48
016C E0910200 lds R30,_value
0170 F0910300 lds R31,_value+1
0174 8483 std z+4,R24
0176 .dbline 49
0176 ;
0176 ; LCD_Cursor(0,1);
0176 21E0 ldi R18,1
0178 0027 clr R16
017A 0E940000 xcall _LCD_Cursor
017E .dbline 50
017E ; LCD_DisplayString(2,2,value);
017E 20900200 lds R2,_value
0182 30900300 lds R3,_value+1
0186 3982 std y+1,R3
0188 2882 std y+0,R2
018A 22E0 ldi R18,2
018C 02E0 ldi R16,2
018E 0E940000 xcall _LCD_DisplayString
0192 .dbline -2
0192 L6:
0192 2296 adiw R28,2
0194 0E940000 xcall pop_lset
0198 .dbline 0 ; func end
0198 1895 reti
019A .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\仿真\增量式模糊控制\init.c
0000 _j::
0000 .blkb 4
0004 .dbsym e j _j D
0004 _count::
0004 .blkb 2
0006 .dbsym e count _count I
.area lit(rom, con, rel)
0000 L10:
0000 0000C842 .word 0x0,0x42c8
0004 L9:
0004 00007A44 .word 0x0,0x447a
0008 L8:
0008 00000040 .word 0x0,0x4000
000C L7:
000C 0000C841 .word 0x0,0x41c8
.area data(ram, con, rel)
0004 .dbfile D:\仿真\增量式模糊控制\init.c
0004 L2:
0004 .blkb 8
.area idata
0004 302E303030205600 .byte 48,46,48,48,48,32,'V,0
.area data(ram, con, rel)
000C .dbfile D:\仿真\增量式模糊控制\init.c
000C L1:
000C .blkb 17
.area idata
000C 54686520566F6C746167652069733A20 .byte 'T,'h,'e,32,'V,'o,'l,'t,'a,'g,'e,32,'i,'s,58,32
001C 00 .byte 0
.area data(ram, con, rel)
001D .dbfile D:\仿真\增量式模糊控制\init.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -