📄 ds18b20.lis
字号:
00F8 DC98 cbi 0x1b,4
00FA .dbline -2
00FA .dbline 43
00FA L16:
00FA 0E940000 xcall pop_gset2
00FE .dbline 0 ; func end
00FE 0895 ret
0100 .dbsym r number 20 c
0100 .dbsym r data 22 c
0100 .dbend
0100 .dbfunc e All_smg_display _All_smg_display fV
0100 ; i -> R20
0100 ; pdata -> R22,R23
.even
0100 _All_smg_display::
0100 0E940000 xcall push_gset2
0104 B801 movw R22,R16
0106 .dbline -1
0106 .dbline 51
0106 .dbline 53
0106 4427 clr R20
0108 0CC0 xjmp L21
010A L18:
010A .dbline 54
010A .dbline 55
010A 242F mov R18,R20
010C 2F5F subi R18,255 ; addi 1
010E E42F mov R30,R20
0110 FF27 clr R31
0112 E60F add R30,R22
0114 F71F adc R31,R23
0116 0081 ldd R16,z+0
0118 C7DF xcall _One_smg_display
011A .dbline 56
011A 01E0 ldi R16,1
011C 10E0 ldi R17,0
011E 88DF xcall _Delayms
0120 .dbline 57
0120 L19:
0120 .dbline 53
0120 4395 inc R20
0122 L21:
0122 .dbline 53
0122 4630 cpi R20,6
0124 90F3 brlo L18
0126 .dbline -2
0126 .dbline 58
0126 L17:
0126 0E940000 xcall pop_gset2
012A .dbline 0 ; func end
012A 0895 ret
012C .dbsym r i 20 c
012C .dbsym r pdata 22 pc
012C .dbend
012C .dbfunc e Cycle_smg_display _Cycle_smg_display fV
012C ; i -> R20
012C ; j -> R10
012C ; pdata -> R22,R23
.even
012C _Cycle_smg_display::
012C 0E940000 xcall push_gset3
0130 B801 movw R22,R16
0132 .dbline -1
0132 .dbline 66
0132 .dbline 68
0132 4427 clr R20
0134 2BC0 xjmp L26
0136 L23:
0136 .dbline 69
0136 .dbline 70
0136 AA24 clr R10
0138 25C0 xjmp L30
013A L27:
013A .dbline 71
013A .dbline 72
013A 2A2D mov R18,R10
013C 2F5F subi R18,255 ; addi 1
013E 88E2 ldi R24,40
0140 90E0 ldi R25,0
0142 042F mov R16,R20
0144 1127 clr R17
0146 2F93 push R18
0148 3F93 push R19
014A 9C01 movw R18,R24
014C 0E940000 xcall div16s
0150 1801 movw R2,R16
0152 3F91 pop R19
0154 2F91 pop R18
0156 4A2C mov R4,R10
0158 5524 clr R5
015A 240C add R2,R4
015C 351C adc R3,R5
015E 86E0 ldi R24,6
0160 90E0 ldi R25,0
0162 2F93 push R18
0164 3F93 push R19
0166 9C01 movw R18,R24
0168 8101 movw R16,R2
016A 0E940000 xcall mod16s
016E F801 movw R30,R16
0170 3F91 pop R19
0172 2F91 pop R18
0174 E60F add R30,R22
0176 F71F adc R31,R23
0178 0081 ldd R16,z+0
017A 96DF xcall _One_smg_display
017C .dbline 73
017C 00ED ldi R16,2000
017E 17E0 ldi R17,7
0180 3FDF xcall _Delayus
0182 .dbline 74
0182 L28:
0182 .dbline 70
0182 A394 inc R10
0184 L30:
0184 .dbline 70
0184 8A2D mov R24,R10
0186 8630 cpi R24,6
0188 C0F2 brlo L27
018A .dbline 75
018A L24:
018A .dbline 68
018A 4395 inc R20
018C L26:
018C .dbline 68
018C 403F cpi R20,240
018E 98F2 brlo L23
0190 .dbline -2
0190 .dbline 76
0190 L22:
0190 0E940000 xcall pop_gset3
0194 .dbline 0 ; func end
0194 0895 ret
0196 .dbsym r i 20 c
0196 .dbsym r j 10 c
0196 .dbsym r pdata 22 pc
0196 .dbend
0196 .dbfile C:\icc\examples.avr\AVR_PQ1A_DEMO\11_DS18B20\DS18B20.C
0196 .dbfunc e B20_init _B20_init fV
.even
0196 _B20_init::
0196 .dbline -1
0196 .dbline 22
0196 .dbline 23
0196 D59A sbi 0x1a,5
0198 .dbline 24
0198 DD98 cbi 0x1b,5
019A .dbline 25
019A 08E5 ldi R16,600
019C 12E0 ldi R17,2
019E 30DF xcall _Delayus
01A0 .dbline 26
01A0 DD9A sbi 0x1b,5
01A2 .dbline 27
01A2 0CE3 ldi R16,60
01A4 10E0 ldi R17,0
01A6 2CDF xcall _Delayus
01A8 .dbline 28
01A8 D598 cbi 0x1a,5
01AA L32:
01AA .dbline 29
01AA L33:
01AA .dbline 29
01AA CD99 sbic 0x19,5
01AC FECF rjmp L32
01AE L35:
01AE .dbline 30
01AE L36:
01AE .dbline 30
01AE CD9B sbis 0x19,5
01B0 FECF rjmp L35
01B2 .dbline -2
01B2 .dbline 31
01B2 L31:
01B2 .dbline 0 ; func end
01B2 0895 ret
01B4 .dbend
01B4 .dbfunc e B20_readB _B20_readB fc
01B4 ; retd -> R20
01B4 ; i -> R22
.even
01B4 _B20_readB::
01B4 0E940000 xcall push_gset2
01B8 .dbline -1
01B8 .dbline 39
01B8 .dbline 40
01B8 4427 clr R20
01BA .dbline 41
01BA 6627 clr R22
01BC 0FC0 xjmp L42
01BE L39:
01BE .dbline 42
01BE .dbline 43
01BE 4695 lsr R20
01C0 .dbline 44
01C0 D59A sbi 0x1a,5
01C2 .dbline 45
01C2 DD98 cbi 0x1b,5
01C4 .dbline 46
01C4 DD9A sbi 0x1b,5
01C6 .dbline 47
01C6 05E0 ldi R16,5
01C8 10E0 ldi R17,0
01CA 1ADF xcall _Delayus
01CC .dbline 48
01CC D598 cbi 0x1a,5
01CE .dbline 49
01CE CD9B sbis 0x19,5
01D0 01C0 rjmp L43
01D2 .dbline 50
01D2 .dbline 51
01D2 4068 ori R20,128
01D4 .dbline 52
01D4 L43:
01D4 .dbline 53
01D4 02E3 ldi R16,50
01D6 10E0 ldi R17,0
01D8 13DF xcall _Delayus
01DA .dbline 54
01DA L40:
01DA .dbline 41
01DA 6395 inc R22
01DC L42:
01DC .dbline 41
01DC 6830 cpi R22,8
01DE 78F3 brlo L39
01E0 .dbline 55
01E0 042F mov R16,R20
01E2 .dbline -2
01E2 L38:
01E2 0E940000 xcall pop_gset2
01E6 .dbline 0 ; func end
01E6 0895 ret
01E8 .dbsym r retd 20 c
01E8 .dbsym r i 22 c
01E8 .dbend
01E8 .dbfunc e B20_writeB _B20_writeB fV
01E8 ; i -> R20
01E8 ; wrd -> R22
.even
01E8 _B20_writeB::
01E8 0E940000 xcall push_gset2
01EC 602F mov R22,R16
01EE .dbline -1
01EE .dbline 64
01EE .dbline 66
01EE 4427 clr R20
01F0 10C0 xjmp L49
01F2 L46:
01F2 .dbline 67
01F2 .dbline 68
01F2 D59A sbi 0x1a,5
01F4 .dbline 69
01F4 DD98 cbi 0x1b,5
01F6 .dbline 70
01F6 01E0 ldi R16,1
01F8 10E0 ldi R17,0
01FA 02DF xcall _Delayus
01FC .dbline 71
01FC 60FF sbrs R22,0
01FE 02C0 rjmp L50
0200 .dbline 72
0200 .dbline 73
0200 DD9A sbi 0x1b,5
0202 .dbline 74
0202 01C0 xjmp L51
0204 L50:
0204 .dbline 76
0204 .dbline 77
0204 DD98 cbi 0x1b,5
0206 .dbline 78
0206 L51:
0206 .dbline 79
0206 02E3 ldi R16,50
0208 10E0 ldi R17,0
020A FADE xcall _Delayus
020C .dbline 80
020C DD9A sbi 0x1b,5
020E .dbline 81
020E 6695 lsr R22
0210 .dbline 82
0210 L47:
0210 .dbline 66
0210 4395 inc R20
0212 L49:
0212 .dbline 66
0212 4830 cpi R20,8
0214 70F3 brlo L46
0216 .dbline 83
0216 02E3 ldi R16,50
0218 10E0 ldi R17,0
021A F2DE xcall _Delayus
021C .dbline -2
021C .dbline 84
021C L45:
021C 0E940000 xcall pop_gset2
0220 .dbline 0 ; func end
0220 0895 ret
0222 .dbsym r i 20 c
0222 .dbsym r wrd 22 c
0222 .dbend
0222 .dbfunc e Read_temp _Read_temp fi
0222 ; temp -> R20,R21
0222 ; temph -> R22
0222 ; templ -> R20
.even
0222 _Read_temp::
0222 0E940000 xcall push_gset2
0226 .dbline -1
0226 .dbline 92
0226 ; /*******************************************
0226 ; 函数名称: Read_temp
0226 ; 功 能: 读取温度值
0226 ; 参 数: 无
0226 ; 返回值 : rettemp--返回的温度值
0226 ; /********************************************/
0226 ; uint Read_temp(void)
0226 ; {
0226 .dbline 95
0226 ; uchar templ,temph;
0226 ; uint temp;
0226 ; B20_init(); //初始化,每次写命令都从初始化开始
0226 B7DF xcall _B20_init
0228 .dbline 96
0228 ; B20_writeB(0xcc); //跳过ROM
0228 0CEC ldi R16,204
022A DEDF xcall _B20_writeB
022C .dbline 97
022C ; B20_writeB(0x44); //启动温度转换
022C 04E4 ldi R16,68
022E DCDF xcall _B20_writeB
0230 .dbline 98
0230 ; B20_init(); //初始化,每次写命令都从初始化开始
0230 B2DF xcall _B20_init
0232 .dbline 99
0232 ; B20_writeB(0xcc); //跳过ROM
0232 0CEC ldi R16,204
0234 D9DF xcall _B20_writeB
0236 .dbline 100
0236 ; B20_writeB(0xbe); //读寄存器
0236 0EEB ldi R16,190
0238 D7DF xcall _B20_writeB
023A .dbline 101
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -