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

📄 18b20.lis

📁 AVR mega16系列单片机开发程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00AE           ; 
 00AE           ; if((temh&0xF8) == 0xF8)  
 00AE 8E2D              mov R24,R14
 00B0 887F              andi R24,248
 00B2 883F              cpi R24,248
 00B4 09F0              breq X0
 00B6 63C0              xjmp L20
 00B8           X0:
 00B8                   .dbline 75
 00B8           ; { 
 00B8                   .dbline 76
 00B8           ;    flag=1; 
 00B8 81E0              ldi R24,1
 00BA 80930000          sts _flag,R24
 00BE                   .dbline 77
 00BE           ;    count=((0xFF-temh)*256+(0xFF-teml))*6.25; 
 00BE 00E0              ldi R16,<L24
 00C0 10E0              ldi R17,>L24
 00C2 0E940000          xcall lpm32
 00C6 3A93              st -y,R19
 00C8 2A93              st -y,R18
 00CA 1A93              st -y,R17
 00CC 0A93              st -y,R16
 00CE 2E2C              mov R2,R14
 00D0 3324              clr R3
 00D2 2FEF              ldi R18,255
 00D4 30E0              ldi R19,0
 00D6 2219              sub R18,R2
 00D8 3309              sbc R19,R3
 00DA 00E0              ldi R16,256
 00DC 11E0              ldi R17,1
 00DE 0E940000          xcall empy16s
 00E2 1801              movw R2,R16
 00E4 4C2C              mov R4,R12
 00E6 5524              clr R5
 00E8 8FEF              ldi R24,255
 00EA 90E0              ldi R25,0
 00EC 8419              sub R24,R4
 00EE 9509              sbc R25,R5
 00F0 280E              add R2,R24
 00F2 391E              adc R3,R25
 00F4 8101              movw R16,R2
 00F6 0E940000          xcall int2fp
 00FA 3A93              st -y,R19
 00FC 2A93              st -y,R18
 00FE 1A93              st -y,R17
 0100 0A93              st -y,R16
 0102 0E940000          xcall empy32f
 0106 FE01              movw R30,R28
 0108 0083              std z+0,R16
 010A 1183              std z+1,R17
 010C 2283              std z+2,R18
 010E 3383              std z+3,R19
 0110 FE01              movw R30,R28
 0112 2080              ldd R2,z+0
 0114 3180              ldd R3,z+1
 0116 4280              ldd R4,z+2
 0118 5380              ldd R5,z+3
 011A 5A92              st -y,R5
 011C 4A92              st -y,R4
 011E 3A92              st -y,R3
 0120 2A92              st -y,R2
 0122 00E0              ldi R16,<L25
 0124 10E0              ldi R17,>L25
 0126 0E940000          xcall lpm32
 012A 3A93              st -y,R19
 012C 2A93              st -y,R18
 012E 1A93              st -y,R17
 0130 0A93              st -y,R16
 0132 0E940000          xcall cmp32f
 0136 D4F0              brlt L22
 0138 FE01              movw R30,R28
 013A 2080              ldd R2,z+0
 013C 3180              ldd R3,z+1
 013E 4280              ldd R4,z+2
 0140 5380              ldd R5,z+3
 0142 5A92              st -y,R5
 0144 4A92              st -y,R4
 0146 3A92              st -y,R3
 0148 2A92              st -y,R2
 014A 00E0              ldi R16,<L25
 014C 10E0              ldi R17,>L25
 014E 0E940000          xcall lpm32
 0152 3A93              st -y,R19
 0154 2A93              st -y,R18
 0156 1A93              st -y,R17
 0158 0A93              st -y,R16
 015A 0E940000          xcall sub32f
 015E 0E940000          xcall fp2int
 0162 C801              movw R24,R16
 0164 8050              subi R24,0  ; offset = 32768
 0166 9048              sbci R25,128
 0168 5C01              movw R10,R24
 016A 08C0              xjmp L23
 016C           L22:
 016C FE01              movw R30,R28
 016E 0081              ldd R16,z+0
 0170 1181              ldd R17,z+1
 0172 2281              ldd R18,z+2
 0174 3381              ldd R19,z+3
 0176 0E940000          xcall fp2int
 017A 5801              movw R10,R16
 017C           L23:
 017C                   .dbline 79
 017C           ; 
 017C           ; } 
 017C 5BC0              xjmp L21
 017E           L20:
 017E                   .dbline 81
 017E           ; else 
 017E           ; {    
 017E                   .dbline 82
 017E           ;    flag=0; 
 017E 2224              clr R2
 0180 20920000          sts _flag,R2
 0184                   .dbline 83
 0184           ;    count=(temh*256+teml)*6.25;             //计算具体温度  
 0184 00E0              ldi R16,<L24
 0186 10E0              ldi R17,>L24
 0188 0E940000          xcall lpm32
 018C 3A93              st -y,R19
 018E 2A93              st -y,R18
 0190 1A93              st -y,R17
 0192 0A93              st -y,R16
 0194 2E2D              mov R18,R14
 0196 3327              clr R19
 0198 00E0              ldi R16,256
 019A 11E0              ldi R17,1
 019C 0E940000          xcall empy16s
 01A0 1801              movw R2,R16
 01A2 4C2C              mov R4,R12
 01A4 5524              clr R5
 01A6 240C              add R2,R4
 01A8 351C              adc R3,R5
 01AA 8101              movw R16,R2
 01AC 0E940000          xcall int2fp
 01B0 3A93              st -y,R19
 01B2 2A93              st -y,R18
 01B4 1A93              st -y,R17
 01B6 0A93              st -y,R16
 01B8 0E940000          xcall empy32f
 01BC FE01              movw R30,R28
 01BE 0083              std z+0,R16
 01C0 1183              std z+1,R17
 01C2 2283              std z+2,R18
 01C4 3383              std z+3,R19
 01C6 FE01              movw R30,R28
 01C8 2080              ldd R2,z+0
 01CA 3180              ldd R3,z+1
 01CC 4280              ldd R4,z+2
 01CE 5380              ldd R5,z+3
 01D0 5A92              st -y,R5
 01D2 4A92              st -y,R4
 01D4 3A92              st -y,R3
 01D6 2A92              st -y,R2
 01D8 00E0              ldi R16,<L25
 01DA 10E0              ldi R17,>L25
 01DC 0E940000          xcall lpm32
 01E0 3A93              st -y,R19
 01E2 2A93              st -y,R18
 01E4 1A93              st -y,R17
 01E6 0A93              st -y,R16
 01E8 0E940000          xcall cmp32f
 01EC D4F0              brlt L26
 01EE FE01              movw R30,R28
 01F0 2080              ldd R2,z+0
 01F2 3180              ldd R3,z+1
 01F4 4280              ldd R4,z+2
 01F6 5380              ldd R5,z+3
 01F8 5A92              st -y,R5
 01FA 4A92              st -y,R4
 01FC 3A92              st -y,R3
 01FE 2A92              st -y,R2
 0200 00E0              ldi R16,<L25
 0202 10E0              ldi R17,>L25
 0204 0E940000          xcall lpm32
 0208 3A93              st -y,R19
 020A 2A93              st -y,R18
 020C 1A93              st -y,R17
 020E 0A93              st -y,R16
 0210 0E940000          xcall sub32f
 0214 0E940000          xcall fp2int
 0218 C801              movw R24,R16
 021A 8050              subi R24,0  ; offset = 32768
 021C 9048              sbci R25,128
 021E 6C01              movw R12,R24
 0220 08C0              xjmp L27
 0222           L26:
 0222 FE01              movw R30,R28
 0224 0081              ldd R16,z+0
 0226 1181              ldd R17,z+1
 0228 2281              ldd R18,z+2
 022A 3381              ldd R19,z+3
 022C 0E940000          xcall fp2int
 0230 6801              movw R12,R16
 0232           L27:
 0232 AC2C              mov R10,R12
 0234                   .dbline 84
 0234           ; }
 0234           L21:
 0234                   .dbline 85
 0234           ;      wm2=wm1+wm0;                          //16进制转10进制 
 0234 C42E              mov R12,R20
 0236 C60E              add R12,R22
 0238                   .dbline 86
 0238           ;      wm3=wm2/100; 
 0238 14E6              ldi R17,100
 023A 0C2D              mov R16,R12
 023C 0E940000          xcall div8u
 0240 E02E              mov R14,R16
 0242                   .dbline 87
 0242           ;      wmh=(wm2%100)/10;                     //出口参数了!wmh是显示的高位,wml是显示的低位 
 0242 14E6              ldi R17,100
 0244 0C2D              mov R16,R12
 0246 0E940000          xcall mod8u
 024A 1AE0              ldi R17,10
 024C 0E940000          xcall div8u
 0250 00930200          sts _wmh,R16
 0254                   .dbline 88
 0254           ;      wml=(wm2%100)%10;
 0254 14E6              ldi R17,100
 0256 0C2D              mov R16,R12
 0258 0E940000          xcall mod8u
 025C 1AE0              ldi R17,10
 025E 0E940000          xcall mod8u
 0262 00930100          sts _wml,R16
 0266                   .dbline 89
 0266           ;        return(count); 
 0266 0A2D              mov R16,R10
 0268                   .dbline -2
 0268           L19:
 0268 2496              adiw R28,4
 026A 0E940000          xcall pop_gset5
 026E                   .dbline 0 ; func end
 026E 0895              ret
 0270                   .dbsym r wm3 14 c
 0270                   .dbsym r wm1 20 c
 0270                   .dbsym r wm0 22 c
 0270                   .dbsym r teml 12 c
 0270                   .dbsym r count 10 c
 0270                   .dbsym r temh 14 c
 0270                   .dbsym r wm2 12 c
 0270                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\Administrator\桌面\USING07-07\18B20未完成\18B20\18b20.c
 0000           _flag::
 0000                   .blkb 1
 0001                   .dbsym e flag _flag c
 0001           _wml::
 0001                   .blkb 1
 0002                   .dbsym e wml _wml c
 0002           _wmh::
 0002                   .blkb 1
 0003                   .dbsym e wmh _wmh c
                        .area lit(rom, con, rel)
 0000           L25:
 0000 00000047          .word 0x0,0x4700
 0004           L24:
 0004 0000C840          .word 0x0,0x40c8

⌨️ 快捷键说明

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