📄 init.lis
字号:
.module init.c
.area text(rom, con, rel)
0000 .dbfile E:\新建文件夹\ADDA_ICC\cfile\init.c
.area data(ram, con, rel)
0000 .dbfile E:\新建文件夹\ADDA_ICC\cfile\init.c
0000 _test::
0000 .blkw 1
.area idata
0000 0C00 .word L1
.area data(ram, con, rel)
0002 .dbfile E:\新建文件夹\ADDA_ICC\cfile\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 E:\新建文件夹\ADDA_ICC\cfile\init.c
0004 .dbsym e value _value pc
.area text(rom, con, rel)
0000 .dbfile E:\新建文件夹\ADDA_ICC\cfile\init.c
0000 .dbfunc e WDR _WDR fV
.even
0000 _WDR::
0000 .dbline -1
0000 .dbline 10
0000 ; #define INIT_C
0000 ; #include "includes.h"
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 11
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 15
0004 ; }
0004 ;
0004 ; void WDT_init(void)
0004 ; {
0004 .dbline 16
0004 ; WDR();
0004 FDDF xcall _WDR
0006 .dbline 17
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 20
000C ; }
000C ; void init_time1(void)
000C ; {
000C .dbline 21
000C ; TIMSK = 0X02; //T1溢出中断
000C 82E0 ldi R24,2
000E 89BF out 0x39,R24
0010 .dbline 22
0010 ; TCCR1B = 0X00; //停止T1
0010 2224 clr R2
0012 2EBC out 0x2e,R2
0014 .dbline 23
0014 ; TCNT1H = 0XF9; //
0014 89EF ldi R24,249
0016 8DBD out 0x2d,R24
0018 .dbline 24
0018 ; TCNT1L = 0XE6;
0018 86EE ldi R24,230
001A 8CBD out 0x2c,R24
001C .dbline 25
001C ; TCCR1A = 0X00;
001C 2FBC out 0x2f,R2
001E .dbline 26
001E ; TCCR1B = 0X01;
001E 81E0 ldi R24,1
0020 8EBD out 0x2e,R24
0022 .dbline 27
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 20
0014 0C941300 jmp _timer1_capt_isr
.area text(rom, con, rel)
0026 .dbfile E:\新建文件夹\ADDA_ICC\cfile\init.c
0026 .dbfunc e timer1_capt_isr _timer1_capt_isr fV
.even
0026 _timer1_capt_isr::
0026 0A92 st -y,R0
0028 1A92 st -y,R1
002A 2A92 st -y,R2
002C 3A92 st -y,R3
002E 4A92 st -y,R4
0030 5A92 st -y,R5
0032 6A92 st -y,R6
0034 7A92 st -y,R7
0036 8A92 st -y,R8
0038 9A92 st -y,R9
003A 0A93 st -y,R16
003C 1A93 st -y,R17
003E 2A93 st -y,R18
0040 3A93 st -y,R19
0042 8A93 st -y,R24
0044 9A93 st -y,R25
0046 AA93 st -y,R26
0048 BA93 st -y,R27
004A EA93 st -y,R30
004C FA93 st -y,R31
004E 0FB6 in R0,0x3f
0050 0A92 st -y,R0
0052 2297 sbiw R28,2
0054 .dbline -1
0054 .dbline 34
0054 ; }
0054 ;
0054 ;
0054 ;
0054 ; #pragma interrupt_handler timer1_capt_isr:iv_TIM1_CAPT
0054 ; void timer1_capt_isr(void)
0054 ; {
0054 .dbline 35
0054 ; TCNT1H = 0XF9; //
0054 89EF ldi R24,249
0056 8DBD out 0x2d,R24
0058 .dbline 36
0058 ; TCNT1L = 0XE6;
0058 86EE ldi R24,230
005A 8CBD out 0x2c,R24
005C .dbline 37
005C ; j = (float)(((float)((Vref/1023)))*( ADC&0X3FF))/1000.00;
005C 00E0 ldi R16,<L7
005E 10E0 ldi R17,>L7
0060 0E940000 xcall lpm32
0064 1801 movw R2,R16
0066 2901 movw R4,R18
0068 04B1 in R16,0x4
006A 15B1 in R17,0x5
006C 1370 andi R17,3
006E 0E940000 xcall uint2fp
0072 3A93 st -y,R19
0074 2A93 st -y,R18
0076 1A93 st -y,R17
0078 0A93 st -y,R16
007A 8101 movw R16,R2
007C 9201 movw R18,R4
007E 0E940000 xcall fpmule2
0082 1801 movw R2,R16
0084 2901 movw R4,R18
0086 00E0 ldi R16,<L8
0088 10E0 ldi R17,>L8
008A 0E940000 xcall lpm32
008E 3A93 st -y,R19
0090 2A93 st -y,R18
0092 1A93 st -y,R17
0094 0A93 st -y,R16
0096 8101 movw R16,R2
0098 9201 movw R18,R4
009A 0E940000 xcall fpdiv2
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 38
00AE ; count = j*100;
00AE 00E0 ldi R16,<L9
00B0 10E0 ldi R17,>L9
00B2 0E940000 xcall lpm32
00B6 80E0 ldi R24,<_j
00B8 90E0 ldi R25,>_j
00BA 9A93 st -y,R25
00BC 8A93 st -y,R24
00BE 0E940000 xcall fpmule1
00C2 0E940000 xcall fpint
00C6 10930500 sts _count+1,R17
00CA 00930400 sts _count,R16
00CE .dbline 39
00CE ; value[0] = count /1000+0x30;
00CE 28EE ldi R18,1000
00D0 33E0 ldi R19,3
00D2 0E940000 xcall div16s
00D6 C801 movw R24,R16
00D8 C096 adiw R24,48
00DA E0910200 lds R30,_value
00DE F0910300 lds R31,_value+1
00E2 8083 std z+0,R24
00E4 .dbline 40
00E4 ; count = count %1000;
00E4 28EE ldi R18,1000
00E6 33E0 ldi R19,3
00E8 00910400 lds R16,_count
00EC 10910500 lds R17,_count+1
00F0 0E940000 xcall mod16s
00F4 10930500 sts _count+1,R17
00F8 00930400 sts _count,R16
00FC .dbline 41
00FC ; value[2] = count /100+0x30;
00FC 24E6 ldi R18,100
00FE 30E0 ldi R19,0
0100 0E940000 xcall div16s
0104 C801 movw R24,R16
0106 C096 adiw R24,48
0108 E0910200 lds R30,_value
010C F0910300 lds R31,_value+1
0110 8283 std z+2,R24
0112 .dbline 42
0112 ; count = count %100;
0112 24E6 ldi R18,100
0114 30E0 ldi R19,0
0116 00910400 lds R16,_count
011A 10910500 lds R17,_count+1
011E 0E940000 xcall mod16s
0122 10930500 sts _count+1,R17
0126 00930400 sts _count,R16
012A .dbline 43
012A ; value[3] = count /10 + 0x30;
012A 2AE0 ldi R18,10
012C 30E0 ldi R19,0
012E 0E940000 xcall div16s
0132 C801 movw R24,R16
0134 C096 adiw R24,48
0136 E0910200 lds R30,_value
013A F0910300 lds R31,_value+1
013E 8383 std z+3,R24
0140 .dbline 44
0140 ; value[4] = count %10 + 0x30;
0140 2AE0 ldi R18,10
0142 30E0 ldi R19,0
0144 00910400 lds R16,_count
0148 10910500 lds R17,_count+1
014C 0E940000 xcall mod16s
0150 C801 movw R24,R16
0152 C096 adiw R24,48
0154 E0910200 lds R30,_value
0158 F0910300 lds R31,_value+1
015C 8483 std z+4,R24
015E .dbline 46
015E ;
015E ; LCD_Cursor(0,1);
015E 21E0 ldi R18,1
0160 0027 clr R16
0162 0E940000 xcall _LCD_Cursor
0166 .dbline 47
0166 ; LCD_DisplayString(2,2,value);
0166 20900200 lds R2,_value
016A 30900300 lds R3,_value+1
016E 3982 std y+1,R3
0170 2882 std y+0,R2
0172 22E0 ldi R18,2
0174 02E0 ldi R16,2
0176 0E940000 xcall _LCD_DisplayString
017A .dbline -2
017A L6:
017A .dbline 0 ; func end
017A 2296 adiw R28,2
017C 0990 ld R0,y+
017E 0FBE out 0x3f,R0
0180 F991 ld R31,y+
0182 E991 ld R30,y+
0184 B991 ld R27,y+
0186 A991 ld R26,y+
0188 9991 ld R25,y+
018A 8991 ld R24,y+
018C 3991 ld R19,y+
018E 2991 ld R18,y+
0190 1991 ld R17,y+
0192 0991 ld R16,y+
0194 9990 ld R9,y+
0196 8990 ld R8,y+
0198 7990 ld R7,y+
019A 6990 ld R6,y+
019C 5990 ld R5,y+
019E 4990 ld R4,y+
01A0 3990 ld R3,y+
01A2 2990 ld R2,y+
01A4 1990 ld R1,y+
01A6 0990 ld R0,y+
01A8 1895 reti
01AA .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\新建文件夹\ADDA_ICC\cfile\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 L9:
0000 0000C842 .word 0x0,0x42c8
0004 L8:
0004 00007A44 .word 0x0,0x447a
0008 L7:
0008 0000C841 .word 0x0,0x41c8
.area data(ram, con, rel)
0004 .dbfile E:\新建文件夹\ADDA_ICC\cfile\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 E:\新建文件夹\ADDA_ICC\cfile\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 E:\新建文件夹\ADDA_ICC\cfile\init.c
001D ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -