⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6675.lis

📁 基于AVR单片机的热电偶测量系统源码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0052 3324              clr R3
 0054 2FE0              ldi R18,15
 0056 30E0              ldi R19,0
 0058 2219              sub R18,R2
 005A 3309              sbc R19,R3
 005C 01E0              ldi R16,1
 005E 10E0              ldi R17,0
 0060 0E940000          xcall lsl16
 0064 402B              or R20,R16
 0066 512B              or R21,R17
 0068           L14:
 0068                   .dbline 45
 0068 0000              nop
 006A 0000               nop
 006C                   .dbline 46
 006C C19A              sbi 0x18,1
 006E                   .dbline 47
 006E           L11:
 006E                   .dbline 39
 006E 6395              inc R22
 0070           L13:
 0070                   .dbline 39
 0070 6031              cpi R22,16
 0072 48F3              brlo L10
 0074                   .dbline 49
 0074           ;         wait;
 0074           ;           set_sck;
 0074           ;      }
 0074           ;       
 0074           ;        x=(x&0x7fff)>>3; 
 0074 5F77              andi R21,127
 0076 5695              lsr R21
 0078 4795              ror R20
 007A 5695              lsr R21
 007C 4795              ror R20
 007E 5695              lsr R21
 0080 4795              ror R20
 0082                   .dbline 50
 0082           ;        set_cs6675;  
 0082 C09A              sbi 0x18,0
 0084                   .dbline 51
 0084           ;      return x; 
 0084 8A01              movw R16,R20
 0086                   .dbline -2
 0086           L9:
 0086 0E940000          xcall pop_gset2
 008A                   .dbline 0 ; func end
 008A 0895              ret
 008C                   .dbsym r x 20 i
 008C                   .dbsym r i 22 c
 008C                   .dbend
                        .area lit(rom, con, rel)
 0158           L17:
 0158 0000              .word 0
 015A 0000              .word 0
 015C 0000              .word 0
 015E 0000              .word 0
 0160 0000              .word 0
                        .area text(rom, con, rel)
 008C                   .dbfile D:\zhangyu\H2test\program\6675.c
 008C                   .dbfunc e max6675_display _max6675_display fV
 008C           ;              m -> R22,R23
 008C           ;              n -> R20,R21
 008C           ;           temp -> y+1
 008C           ;              x -> R10,R11
                        .even
 008C           _max6675_display::
 008C 0E940000          xcall push_gset3
 0090 5801              movw R10,R16
 0092 2F97              sbiw R28,15
 0094                   .dbline -1
 0094                   .dbline 55
 0094           ; }
 0094           ; 
 0094           ; void max6675_display(unsigned int x)
 0094           ; {      
 0094                   .dbline 56
 0094           ;        unsigned int temp[5]={0,0,0,0,0};
 0094 80E0              ldi R24,<L17
 0096 90E0              ldi R25,>L17
 0098 FE01              movw R30,R28
 009A 3196              adiw R30,1
 009C 0AE0              ldi R16,10
 009E 10E0              ldi R17,0
 00A0 FA93              st -y,R31
 00A2 EA93              st -y,R30
 00A4 9A93              st -y,R25
 00A6 8A93              st -y,R24
 00A8 0E940000          xcall asgncblk
 00AC                   .dbline 57
 00AC           ;        unsigned int n=0,m=0;
 00AC 4427              clr R20
 00AE 5527              clr R21
 00B0                   .dbline 57
 00B0 6627              clr R22
 00B2 7727              clr R23
 00B4                   .dbline 58
 00B4           ;        m=10237.5*x/4095;
 00B4 00E0              ldi R16,<L20
 00B6 10E0              ldi R17,>L20
 00B8 0E940000          xcall lpm32
 00BC 3A93              st -y,R19
 00BE 2A93              st -y,R18
 00C0 1A93              st -y,R17
 00C2 0A93              st -y,R16
 00C4 00E0              ldi R16,<L21
 00C6 10E0              ldi R17,>L21
 00C8 0E940000          xcall lpm32
 00CC 3A93              st -y,R19
 00CE 2A93              st -y,R18
 00D0 1A93              st -y,R17
 00D2 0A93              st -y,R16
 00D4 8501              movw R16,R10
 00D6 1695              lsr R17
 00D8 0795              ror R16
 00DA 0E940000          xcall int2fp
 00DE 3A93              st -y,R19
 00E0 2A93              st -y,R18
 00E2 1A93              st -y,R17
 00E4 0A93              st -y,R16
 00E6 0E940000          xcall empy32fs
 00EA 8501              movw R16,R10
 00EC 0170              andi R16,1
 00EE 1070              andi R17,0
 00F0 0E940000          xcall int2fp
 00F4 3A93              st -y,R19
 00F6 2A93              st -y,R18
 00F8 1A93              st -y,R17
 00FA 0A93              st -y,R16
 00FC 0E940000          xcall add32fs
 0100 0E940000          xcall empy32fs
 0104 00E0              ldi R16,<L22
 0106 10E0              ldi R17,>L22
 0108 0E940000          xcall lpm32
 010C 3A93              st -y,R19
 010E 2A93              st -y,R18
 0110 1A93              st -y,R17
 0112 0A93              st -y,R16
 0114 0E940000          xcall div32f
 0118 FE01              movw R30,R28
 011A 0387              std z+11,R16
 011C 1487              std z+12,R17
 011E 2587              std z+13,R18
 0120 3687              std z+14,R19
 0122 FE01              movw R30,R28
 0124 2384              ldd R2,z+11
 0126 3484              ldd R3,z+12
 0128 4584              ldd R4,z+13
 012A 5684              ldd R5,z+14
 012C 5A92              st -y,R5
 012E 4A92              st -y,R4
 0130 3A92              st -y,R3
 0132 2A92              st -y,R2
 0134 00E0              ldi R16,<L23
 0136 10E0              ldi R17,>L23
 0138 0E940000          xcall lpm32
 013C 3A93              st -y,R19
 013E 2A93              st -y,R18
 0140 1A93              st -y,R17
 0142 0A93              st -y,R16
 0144 0E940000          xcall cmp32f
 0148 D4F0              brlt L18
 014A FE01              movw R30,R28
 014C 2384              ldd R2,z+11
 014E 3484              ldd R3,z+12
 0150 4584              ldd R4,z+13
 0152 5684              ldd R5,z+14
 0154 5A92              st -y,R5
 0156 4A92              st -y,R4
 0158 3A92              st -y,R3
 015A 2A92              st -y,R2
 015C 00E0              ldi R16,<L23
 015E 10E0              ldi R17,>L23
 0160 0E940000          xcall lpm32
 0164 3A93              st -y,R19
 0166 2A93              st -y,R18
 0168 1A93              st -y,R17
 016A 0A93              st -y,R16
 016C 0E940000          xcall sub32f
 0170 0E940000          xcall fp2int
 0174 C801              movw R24,R16
 0176 8050              subi R24,0  ; offset = 32768
 0178 9048              sbci R25,128
 017A 5C01              movw R10,R24
 017C 08C0              xjmp L19
 017E           L18:
 017E FE01              movw R30,R28
 0180 0385              ldd R16,z+11
 0182 1485              ldd R17,z+12
 0184 2585              ldd R18,z+13
 0186 3685              ldd R19,z+14
 0188 0E940000          xcall fp2int
 018C 5801              movw R10,R16
 018E           L19:
 018E B501              movw R22,R10
 0190                   .dbline 59
 0190           ;        temp[0]=m/10000;
 0190 20E1              ldi R18,10000
 0192 37E2              ldi R19,39
 0194 8B01              movw R16,R22
 0196 0E940000          xcall div16u
 019A 1A83              std y+2,R17
 019C 0983              std y+1,R16
 019E                   .dbline 60
 019E           ;        n=m-temp[0]*10000;
 019E 9801              movw R18,R16
 01A0 00E1              ldi R16,10000
 01A2 17E2              ldi R17,39
 01A4 0E940000          xcall empy16s
 01A8 AB01              movw R20,R22
 01AA 401B              sub R20,R16
 01AC 510B              sbc R21,R17
 01AE                   .dbline 61
 01AE           ;        temp[1]=n/1000;
 01AE 28EE              ldi R18,1000
 01B0 33E0              ldi R19,3
 01B2 8A01              movw R16,R20
 01B4 0E940000          xcall div16u
 01B8 1C83              std y+4,R17
 01BA 0B83              std y+3,R16
 01BC                   .dbline 62
 01BC           ;        n=n-temp[1]*1000;
 01BC 9801              movw R18,R16
 01BE 08EE              ldi R16,1000
 01C0 13E0              ldi R17,3
 01C2 0E940000          xcall empy16s
 01C6 401B              sub R20,R16
 01C8 510B              sbc R21,R17
 01CA                   .dbline 63
 01CA           ;        temp[2]=n/100;
 01CA 24E6              ldi R18,100
 01CC 30E0              ldi R19,0
 01CE 8A01              movw R16,R20
 01D0 0E940000          xcall div16u
 01D4 1E83              std y+6,R17
 01D6 0D83              std y+5,R16
 01D8                   .dbline 64
 01D8           ;        n=n-temp[2]*100;
 01D8 9801              movw R18,R16
 01DA 04E6              ldi R16,100
 01DC 10E0              ldi R17,0
 01DE 0E940000          xcall empy16s
 01E2 401B              sub R20,R16
 01E4 510B              sbc R21,R17
 01E6                   .dbline 65
 01E6           ;        temp[3]=n/10;
 01E6 2AE0              ldi R18,10
 01E8 30E0              ldi R19,0
 01EA 8A01              movw R16,R20
 01EC 0E940000          xcall div16u
 01F0 1887              std y+8,R17
 01F2 0F83              std y+7,R16
 01F4                   .dbline 66
 01F4           ;        n=n-temp[3]*10;
 01F4 9801              movw R18,R16
 01F6 0AE0              ldi R16,10
 01F8 10E0              ldi R17,0
 01FA 0E940000          xcall empy16s
 01FE 401B              sub R20,R16
 0200 510B              sbc R21,R17
 0202                   .dbline 67
 0202           ;        temp[4]=n/1;
 0202 5A87              std y+10,R21
 0204 4987              std y+9,R20
 0206                   .dbline 68
 0206           ;        Draw_NtoArab(0x02,0x10,temp[0]);
 0206 2980              ldd R2,y+1
 0208 3A80              ldd R3,y+2
 020A 2882              std y+0,R2
 020C 20E1              ldi R18,16
 020E 02E0              ldi R16,2
 0210 0E940000          xcall _Draw_NtoArab
 0214                   .dbline 69
 0214           ;        Draw_NtoArab(0x02,0x18,temp[1]);
 0214 2B80              ldd R2,y+3
 0216 3C80              ldd R3,y+4
 0218 2882              std y+0,R2
 021A 28E1              ldi R18,24
 021C 02E0              ldi R16,2
 021E 0E940000          xcall _Draw_NtoArab
 0222                   .dbline 70
 0222           ;        Draw_NtoArab(0x02,0x20,temp[2]);
 0222 2D80              ldd R2,y+5
 0224 3E80              ldd R3,y+6
 0226 2882              std y+0,R2
 0228 20E2              ldi R18,32
 022A 02E0              ldi R16,2
 022C 0E940000          xcall _Draw_NtoArab
 0230                   .dbline 71
 0230           ;        Draw_NtoArab(0x02,0x28,temp[3]);
 0230 2F80              ldd R2,y+7
 0232 3884              ldd R3,y+8
 0234 2882              std y+0,R2
 0236 28E2              ldi R18,40
 0238 02E0              ldi R16,2
 023A 0E940000          xcall _Draw_NtoArab
 023E                   .dbline 72
 023E           ;        Draw_NtoArab(0x02,0x38,temp[4]);
 023E 2984              ldd R2,y+9
 0240 3A84              ldd R3,y+10
 0242 2882              std y+0,R2
 0244 28E3              ldi R18,56
 0246 02E0              ldi R16,2
 0248 0E940000          xcall _Draw_NtoArab
 024C                   .dbline -2
 024C           L16:
 024C 2F96              adiw R28,15
 024E 0E940000          xcall pop_gset3
 0252                   .dbline 0 ; func end
 0252 0895              ret
 0254                   .dbsym r m 22 i
 0254                   .dbsym r n 20 i
 0254                   .dbsym l temp 1 A[10:5]i
 0254                   .dbsym r x 10 i
 0254                   .dbend
 0254                   .dbfunc e show_temperature _show_temperature fV
 0254           ;              t -> R20,R21
                        .even
 0254           _show_temperature::
 0254 0E940000          xcall push_gset1
 0258                   .dbline -1
 0258                   .dbline 76
 0258           ; }
 0258           ; 
 0258           ; void show_temperature(void)
 0258           ; {     unsigned int t;
 0258                   .dbline 77
 0258           ;       Delay10ms(100);
 0258 04E6              ldi R16,100
 025A D2DE              xcall _Delay10ms
 025C                   .dbline 78
 025C           ;         t=read_max6675();
 025C E5DE              xcall _read_max6675
 025E A801              movw R20,R16
 0260                   .dbline 79
 0260           ;       max6675_display(t);
 0260 15DF              xcall _max6675_display
 0262                   .dbline 80
 0262           ;         Delay10ms(100);
 0262 04E6              ldi R16,100
 0264 CDDE              xcall _Delay10ms
 0266                   .dbline -2
 0266           L35:
 0266 0E940000          xcall pop_gset1
 026A                   .dbline 0 ; func end
 026A 0895              ret
 026C                   .dbsym r t 20 i
 026C                   .dbend
                        .area lit(rom, con, rel)
 0162           L23:
 0162 00000047          .word 0x0,0x4700
 0166           L22:
 0166 00F07F45          .word 0xf000,0x457f
 016A           L21:
 016A 00000040          .word 0x0,0x4000
 016E           L20:
 016E 00F61F46          .word 0xf600,0x461f

⌨️ 快捷键说明

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