📄 temperature.lis
字号:
00C8 .dbline -2
00C8 L13:
00C8 2396 adiw R28,3
00CA 00D0 rcall pop_gset1
00CC .dbline 0 ; func end
00CC 0895 ret
00CE .dbsym l disdata 0 A[3:3]c
00CE .dbsym r temp 20 I
00CE .dbend
00CE .dbfunc e ad_handler _ad_handler fV
00CE ; Vin -> R20,R21
.even
00CE _ad_handler::
00CE 00D0 rcall push_lset
00D0 00D0 rcall push_gset2
00D2 2497 sbiw R28,4
00D4 .dbline -1
00D4 .dbline 48
00D4 ; }
00D4 ;
00D4 ; void ad_handler(void)//中断进入
00D4 ; {
00D4 .dbline 51
00D4 ; uint Vin;
00D4 ; // uint Vref;
00D4 ; addata=ADC;
00D4 24B0 in R2,0x4
00D6 35B0 in R3,0x5
00D8 20920000 sts _addata,R2
00DC .dbline 52
00DC ; Vin=((float)ADC*Vref/1024)*1000;
00DC 24B0 in R2,0x4
00DE 35B0 in R3,0x5
00E0 00E0 ldi R16,<L22
00E2 10E0 ldi R17,>L22
00E4 00D0 rcall lpm32
00E6 3A93 st -y,R19
00E8 2A93 st -y,R18
00EA 1A93 st -y,R17
00EC 0A93 st -y,R16
00EE 00E0 ldi R16,<L23
00F0 10E0 ldi R17,>L23
00F2 00D0 rcall lpm32
00F4 3A93 st -y,R19
00F6 2A93 st -y,R18
00F8 1A93 st -y,R17
00FA 0A93 st -y,R16
00FC 00E0 ldi R16,<L24
00FE 10E0 ldi R17,>L24
0100 00D0 rcall lpm32
0102 3A93 st -y,R19
0104 2A93 st -y,R18
0106 1A93 st -y,R17
0108 0A93 st -y,R16
010A 8101 movw R16,R2
010C 1695 lsr R17
010E 0795 ror R16
0110 00D0 rcall int2fp
0112 3A93 st -y,R19
0114 2A93 st -y,R18
0116 1A93 st -y,R17
0118 0A93 st -y,R16
011A 00D0 rcall empy32fs
011C 8101 movw R16,R2
011E 0170 andi R16,1
0120 1070 andi R17,0
0122 00D0 rcall int2fp
0124 3A93 st -y,R19
0126 2A93 st -y,R18
0128 1A93 st -y,R17
012A 0A93 st -y,R16
012C 00D0 rcall add32fs
012E 00D0 rcall empy32fs
0130 00E0 ldi R16,<L25
0132 10E0 ldi R17,>L25
0134 00D0 rcall lpm32
0136 3A93 st -y,R19
0138 2A93 st -y,R18
013A 1A93 st -y,R17
013C 0A93 st -y,R16
013E 00D0 rcall div32fs
0140 00D0 rcall empy32f
0142 FE01 movw R30,R28
0144 0083 std z+0,R16
0146 1183 std z+1,R17
0148 2283 std z+2,R18
014A 3383 std z+3,R19
014C FE01 movw R30,R28
014E 2080 ldd R2,z+0
0150 3180 ldd R3,z+1
0152 4280 ldd R4,z+2
0154 5380 ldd R5,z+3
0156 5A92 st -y,R5
0158 4A92 st -y,R4
015A 3A92 st -y,R3
015C 2A92 st -y,R2
015E 00E0 ldi R16,<L26
0160 10E0 ldi R17,>L26
0162 00D0 rcall lpm32
0164 3A93 st -y,R19
0166 2A93 st -y,R18
0168 1A93 st -y,R17
016A 0A93 st -y,R16
016C 00D0 rcall cmp32f
016E B4F0 brlt L20
0170 FE01 movw R30,R28
0172 2080 ldd R2,z+0
0174 3180 ldd R3,z+1
0176 4280 ldd R4,z+2
0178 5380 ldd R5,z+3
017A 5A92 st -y,R5
017C 4A92 st -y,R4
017E 3A92 st -y,R3
0180 2A92 st -y,R2
0182 00E0 ldi R16,<L26
0184 10E0 ldi R17,>L26
0186 00D0 rcall lpm32
0188 3A93 st -y,R19
018A 2A93 st -y,R18
018C 1A93 st -y,R17
018E 0A93 st -y,R16
0190 00D0 rcall sub32f
0192 00D0 rcall fp2int
0194 B801 movw R22,R16
0196 6050 subi R22,0 ; offset = 32768
0198 7048 sbci R23,128
019A 07C0 rjmp L21
019C L20:
019C FE01 movw R30,R28
019E 0081 ldd R16,z+0
01A0 1181 ldd R17,z+1
01A2 2281 ldd R18,z+2
01A4 3381 ldd R19,z+3
01A6 00D0 rcall fp2int
01A8 B801 movw R22,R16
01AA L21:
01AA AB01 movw R20,R22
01AC .dbline 53
01AC ; LEDSCAN(Vin);
01AC 8A01 movw R16,R20
01AE 3FDF rcall _LEDSCAN
01B0 .dbline 54
01B0 ; ADCSR|=BIT(ADSC);
01B0 369A sbi 0x6,6
01B2 .dbline -2
01B2 L19:
01B2 2496 adiw R28,4
01B4 00D0 rcall pop_gset2
01B6 00D0 rcall pop_lset
01B8 .dbline 0 ; func end
01B8 1895 reti
01BA .dbsym r Vin 20 i
01BA .dbend
01BA .dbfunc e main _main fV
.even
01BA _main::
01BA .dbline -1
01BA .dbline 57
01BA ; }
01BA ; void main()//主程序
01BA ; {
01BA .dbline 58
01BA ; PORTA=0;
01BA 2224 clr R2
01BC 2BBA out 0x1b,R2
01BE .dbline 59
01BE ; DDRA=0;
01BE 2ABA out 0x1a,R2
01C0 .dbline 60
01C0 ; PORTC=0x00;
01C0 25BA out 0x15,R2
01C2 .dbline 61
01C2 ; DDRC=0xFF;
01C2 8FEF ldi R24,255
01C4 84BB out 0x14,R24
01C6 .dbline 62
01C6 ; DDRB=0xFF;
01C6 87BB out 0x17,R24
01C8 .dbline 63
01C8 ; PORTB=0xFF;
01C8 88BB out 0x18,R24
01CA .dbline 64
01CA ; ADMUX=0x00;
01CA 27B8 out 0x7,R2
01CC .dbline 65
01CC ; ADCSR=0x80;
01CC 80E8 ldi R24,128
01CE 86B9 out 0x6,R24
01D0 .dbline 66
01D0 ; ADCSR|=BIT(ADIE);
01D0 339A sbi 0x6,3
01D2 .dbline 68
01D2 ; //SREG=0x80;
01D2 ; SEI();
01D2 7894 sei
01D4 .dbline 69
01D4 ; ADCSR|=BIT(ADSC);
01D4 369A sbi 0x6,6
01D6 L28:
01D6 .dbline 70
01D6 L29:
01D6 .dbline 70
01D6 FFCF rjmp L28
01D8 X1:
01D8 .dbline -2
01D8 L27:
01D8 .dbline 0 ; func end
01D8 0895 ret
01DA .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\AVR调试\temperature\temperature.c
0000 _addata::
0000 .blkb 1
0001 .dbsym e addata _addata c
.area lit(rom, con, rel)
0017 L26:
0017 00000047 .word 0x0,0x4700
001B L25:
001B 00008044 .word 0x0,0x4480
001F L24:
001F 00000040 .word 0x0,0x4000
0023 L23:
0023 0000A040 .word 0x0,0x40a0
0027 L22:
0027 00007A44 .word 0x0,0x447a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -