Rev 2911 Rev 2912
Line 1... Line 1...
1 CCS PCM C Compiler, Version 4.106, 47914 14-IV-13 13:34 1 CCS PCM C Compiler, Version 4.106, 47914 14-IV-13 13:00
2   2  
3 Filename: Z:\home\kaklik\MLAB\Modules\Sensors\SHT25V01A\SW\PIC16F887\main.lst 3 Filename: D:\MLAB\Modules\Sensors\SHT25V01A\SW\PIC16F887\main.lst
4   4  
5 ROM used: 2319 words (28%) 5 ROM used: 2363 words (29%)
6 Largest free fragment is 2048 6 Largest free fragment is 2048
7 RAM used: 11 (3%) at main() level 7 RAM used: 12 (3%) at main() level
8 37 (10%) worst case 8 38 (10%) worst case
9 Stack: 2 locations 9 Stack: 2 locations
10   10  
11 * 11 *
12 0000: MOVLW 08 12 0000: MOVLW 08
13 0001: MOVWF 0A 13 0001: MOVWF 0A
14 0002: GOTO 000 14 0002: GOTO 000
15 0003: NOP 15 0003: NOP
-   16 .................... /*
-   17 .................... SHT25 sensor demo firmware
-   18 .................... */
-   19 ....................
16 .................... #include "main.h" 20 .................... #include "main.h"
17 .................... #include <16F887.h> 21 .................... #include <16F887.h>
18 .................... //////// Standard Header file for the PIC16F887 device //////////////// 22 .................... //////// Standard Header file for the PIC16F887 device ////////////////
19 .................... #device PIC16F887 23 .................... #device PIC16F887
20 .................... #list 24 .................... #list
Line 35... Line 39...
35 .................... #FUSES NOWRT //Program memory not write protected 39 .................... #FUSES NOWRT //Program memory not write protected
36 .................... #FUSES BORV40 //Brownout reset at 4.0V 40 .................... #FUSES BORV40 //Brownout reset at 4.0V
37 .................... 41 ....................
38 .................... #use delay(clock=8000000) 42 .................... #use delay(clock=8000000)
39 * 43 *
40 0123: MOVLW 27 44 011D: MOVLW 28
41 0124: MOVWF 04 45 011E: MOVWF 04
42 0125: BCF 03.7 46 011F: BCF 03.7
43 0126: MOVF 00,W 47 0120: MOVF 00,W
44 0127: BTFSC 03.2 48 0121: BTFSC 03.2
45 0128: GOTO 136 49 0122: GOTO 130
46 0129: MOVLW 02 50 0123: MOVLW 02
47 012A: MOVWF 78 51 0124: MOVWF 78
48 012B: CLRF 77 52 0125: CLRF 77
-   53 0126: DECFSZ 77,F
-   54 0127: GOTO 126
-   55 0128: DECFSZ 78,F
-   56 0129: GOTO 125
-   57 012A: MOVLW 97
-   58 012B: MOVWF 77
49 012C: DECFSZ 77,F 59 012C: DECFSZ 77,F
50 012D: GOTO 12C 60 012D: GOTO 12C
51 012E: DECFSZ 78,F 61 012E: DECFSZ 00,F
52 012F: GOTO 12B 62 012F: GOTO 123
53 0130: MOVLW 97 -  
54 0131: MOVWF 77 -  
55 0132: DECFSZ 77,F -  
56 0133: GOTO 132 -  
57 0134: DECFSZ 00,F -  
58 0135: GOTO 129 -  
59 0136: RETURN 63 0130: RETURN
60 .................... 64 ....................
61 .................... #use i2c(master, sda=PIN_C4, scl=PIN_C3) 65 .................... #use i2c(master, sda=PIN_C4, scl=PIN_C3)
62 * 66 *
63 0037: MOVLW 08 67 0031: MOVLW 08
64 0038: MOVWF 78 68 0032: MOVWF 78
-   69 0033: NOP
-   70 0034: BCF 07.3
-   71 0035: BCF 20.3
-   72 0036: MOVF 20,W
-   73 0037: BSF 03.5
-   74 0038: MOVWF 07
65 0039: NOP 75 0039: NOP
66 003A: BCF 07.3 76 003A: BCF 03.5
67 003B: BCF 20.3 77 003B: RLF 28,F
68 003C: MOVF 20,W 78 003C: BCF 07.4
69 003D: BSF 03.5 79 003D: BTFSS 03.0
70 003E: MOVWF 07 80 003E: GOTO 045
71 003F: NOP 81 003F: BSF 20.4
72 0040: BCF 03.5 82 0040: MOVF 20,W
73 0041: RLF 27,F 83 0041: BSF 03.5
74 0042: BCF 07.4 84 0042: MOVWF 07
75 0043: BTFSS 03.0 85 0043: GOTO 049
76 0044: GOTO 04B 86 0044: BCF 03.5
77 0045: BSF 20.4 87 0045: BCF 20.4
78 0046: MOVF 20,W 88 0046: MOVF 20,W
79 0047: BSF 03.5 89 0047: BSF 03.5
80 0048: MOVWF 07 90 0048: MOVWF 07
81 0049: GOTO 04F 91 0049: NOP
82 004A: BCF 03.5 92 004A: BCF 03.5
83 004B: BCF 20.4 93 004B: BSF 20.3
84 004C: MOVF 20,W 94 004C: MOVF 20,W
85 004D: BSF 03.5 95 004D: BSF 03.5
86 004E: MOVWF 07 96 004E: MOVWF 07
87 004F: NOP 97 004F: BCF 03.5
88 0050: BCF 03.5 98 0050: BTFSS 07.3
89 0051: BSF 20.3 99 0051: GOTO 050
90 0052: MOVF 20,W 100 0052: DECFSZ 78,F
91 0053: BSF 03.5 101 0053: GOTO 033
92 0054: MOVWF 07 102 0054: NOP
93 0055: BCF 03.5 103 0055: BCF 07.3
94 0056: BTFSS 07.3 104 0056: BCF 20.3
95 0057: GOTO 056 105 0057: MOVF 20,W
96 0058: DECFSZ 78,F 106 0058: BSF 03.5
97 0059: GOTO 039 107 0059: MOVWF 07
98 005A: NOP 108 005A: NOP
99 005B: BCF 07.3 109 005B: BCF 03.5
100 005C: BCF 20.3 110 005C: BSF 20.4
101 005D: MOVF 20,W 111 005D: MOVF 20,W
102 005E: BSF 03.5 112 005E: BSF 03.5
103 005F: MOVWF 07 113 005F: MOVWF 07
104 0060: NOP 114 0060: NOP
-   115 0061: NOP
105 0061: BCF 03.5 116 0062: BCF 03.5
106 0062: BSF 20.4 117 0063: BSF 20.3
107 0063: MOVF 20,W 118 0064: MOVF 20,W
108 0064: BSF 03.5 119 0065: BSF 03.5
109 0065: MOVWF 07 120 0066: MOVWF 07
110 0066: NOP -  
111 0067: NOP 121 0067: BCF 03.5
112 0068: BCF 03.5 122 0068: BTFSS 07.3
113 0069: BSF 20.3 123 0069: GOTO 068
114 006A: MOVF 20,W 124 006A: CLRF 78
115 006B: BSF 03.5 125 006B: NOP
116 006C: MOVWF 07 126 006C: BTFSC 07.4
117 006D: BCF 03.5 127 006D: BSF 78.0
118 006E: BTFSS 07.3 128 006E: BCF 07.3
119 006F: GOTO 06E 129 006F: BCF 20.3
120 0070: CLRF 78 130 0070: MOVF 20,W
121 0071: NOP 131 0071: BSF 03.5
122 0072: BTFSC 07.4 132 0072: MOVWF 07
123 0073: BSF 78.0 133 0073: BCF 03.5
124 0074: BCF 07.3 134 0074: BCF 07.4
125 0075: BCF 20.3 135 0075: BCF 20.4
126 0076: MOVF 20,W 136 0076: MOVF 20,W
127 0077: BSF 03.5 137 0077: BSF 03.5
128 0078: MOVWF 07 138 0078: MOVWF 07
129 0079: BCF 03.5 139 0079: BCF 03.5
130 007A: BCF 07.4 -  
131 007B: BCF 20.4 -  
132 007C: MOVF 20,W -  
133 007D: BSF 03.5 -  
134 007E: MOVWF 07 -  
135 007F: BCF 03.5 -  
136 0080: RETURN 140 007A: RETURN
137 * 141 *
138 0137: MOVLW 08 142 0131: MOVLW 08
139 0138: MOVWF 28 143 0132: MOVWF 29
140 0139: MOVF 77,W 144 0133: MOVF 77,W
141 013A: MOVWF 29 145 0134: MOVWF 2A
-   146 0135: BSF 20.4
-   147 0136: MOVF 20,W
-   148 0137: BSF 03.5
-   149 0138: MOVWF 07
-   150 0139: NOP
-   151 013A: BCF 03.5
142 013B: BSF 20.4 152 013B: BSF 20.3
143 013C: MOVF 20,W 153 013C: MOVF 20,W
144 013D: BSF 03.5 154 013D: BSF 03.5
145 013E: MOVWF 07 155 013E: MOVWF 07
146 013F: NOP 156 013F: BCF 03.5
147 0140: BCF 03.5 157 0140: BTFSS 07.3
148 0141: BSF 20.3 158 0141: GOTO 140
149 0142: MOVF 20,W 159 0142: BTFSC 07.4
150 0143: BSF 03.5 160 0143: BSF 03.0
151 0144: MOVWF 07 161 0144: BTFSS 07.4
152 0145: BCF 03.5 162 0145: BCF 03.0
153 0146: BTFSS 07.3 163 0146: RLF 78,F
154 0147: GOTO 146 164 0147: NOP
155 0148: BTFSC 07.4 165 0148: BCF 20.3
156 0149: BSF 03.0 166 0149: MOVF 20,W
157 014A: BTFSS 07.4 167 014A: BSF 03.5
158 014B: BCF 03.0 168 014B: MOVWF 07
159 014C: RLF 78,F 169 014C: BCF 03.5
160 014D: NOP 170 014D: BCF 07.3
161 014E: BCF 20.3 171 014E: DECFSZ 29,F
162 014F: MOVF 20,W 172 014F: GOTO 135
163 0150: BSF 03.5 173 0150: BSF 20.4
164 0151: MOVWF 07 174 0151: MOVF 20,W
165 0152: BCF 03.5 175 0152: BSF 03.5
166 0153: BCF 07.3 176 0153: MOVWF 07
167 0154: DECFSZ 28,F 177 0154: NOP
168 0155: GOTO 13B 178 0155: BCF 03.5
169 0156: BSF 20.4 179 0156: BCF 07.4
170 0157: MOVF 20,W 180 0157: MOVF 2A,W
171 0158: BSF 03.5 181 0158: BTFSC 03.2
172 0159: MOVWF 07 182 0159: GOTO 15F
173 015A: NOP 183 015A: BCF 20.4
174 015B: BCF 03.5 184 015B: MOVF 20,W
175 015C: BCF 07.4 185 015C: BSF 03.5
176 015D: MOVF 29,W 186 015D: MOVWF 07
177 015E: BTFSC 03.2 187 015E: BCF 03.5
178 015F: GOTO 165 188 015F: NOP
179 0160: BCF 20.4 189 0160: BSF 20.3
180 0161: MOVF 20,W 190 0161: MOVF 20,W
181 0162: BSF 03.5 191 0162: BSF 03.5
182 0163: MOVWF 07 192 0163: MOVWF 07
183 0164: BCF 03.5 193 0164: BCF 03.5
184 0165: NOP 194 0165: BTFSS 07.3
185 0166: BSF 20.3 195 0166: GOTO 165
186 0167: MOVF 20,W 196 0167: NOP
187 0168: BSF 03.5 197 0168: BCF 07.3
188 0169: MOVWF 07 198 0169: BCF 20.3
189 016A: BCF 03.5 199 016A: MOVF 20,W
190 016B: BTFSS 07.3 200 016B: BSF 03.5
191 016C: GOTO 16B 201 016C: MOVWF 07
192 016D: NOP 202 016D: NOP
193 016E: BCF 07.3 203 016E: BCF 03.5
194 016F: BCF 20.3 204 016F: BCF 07.4
195 0170: MOVF 20,W 205 0170: BCF 20.4
196 0171: BSF 03.5 206 0171: MOVF 20,W
197 0172: MOVWF 07 207 0172: BSF 03.5
198 0173: NOP 208 0173: MOVWF 07
199 0174: BCF 03.5 209 0174: BCF 03.5
200 0175: BCF 07.4 -  
201 0176: BCF 20.4 -  
202 0177: MOVF 20,W -  
203 0178: BSF 03.5 -  
204 0179: MOVWF 07 -  
205 017A: BCF 03.5 -  
206 017B: RETURN 210 0175: RETURN
207 .................... #use rs232(baud=9600,parity=N,xmit=PIN_B7,rcv=PIN_B6,bits=8) //rcv TXD xmit RXD 211 .................... #use rs232(baud=9600,parity=N,xmit=PIN_B7,rcv=PIN_B6,bits=8) //rcv TXD xmit RXD
208 * 212 *
209 00B9: BSF 03.5 213 00B3: BSF 03.5
210 00BA: BCF 06.7 214 00B4: BCF 06.7
211 00BB: BCF 03.5 215 00B5: BCF 03.5
212 00BC: BCF 06.7 216 00B6: BCF 06.7
213 00BD: MOVLW 08 217 00B7: MOVLW 08
214 00BE: MOVWF 78 218 00B8: MOVWF 78
215 00BF: GOTO 0C0 219 00B9: GOTO 0BA
216 00C0: NOP 220 00BA: NOP
217 00C1: BSF 78.7 221 00BB: BSF 78.7
218 00C2: GOTO 0D1 222 00BC: GOTO 0CB
219 00C3: BCF 78.7 223 00BD: BCF 78.7
220 00C4: RRF 33,F 224 00BE: RRF 34,F
221 00C5: BTFSC 03.0 225 00BF: BTFSC 03.0
222 00C6: BSF 06.7 226 00C0: BSF 06.7
223 00C7: BTFSS 03.0 227 00C1: BTFSS 03.0
224 00C8: BCF 06.7 228 00C2: BCF 06.7
225 00C9: BSF 78.6 229 00C3: BSF 78.6
226 00CA: GOTO 0D1 230 00C4: GOTO 0CB
227 00CB: BCF 78.6 231 00C5: BCF 78.6
228 00CC: DECFSZ 78,F 232 00C6: DECFSZ 78,F
-   233 00C7: GOTO 0BE
229 00CD: GOTO 0C4 234 00C8: GOTO 0C9
-   235 00C9: NOP
-   236 00CA: BSF 06.7
-   237 00CB: MOVLW 3F
-   238 00CC: MOVWF 04
-   239 00CD: DECFSZ 04,F
230 00CE: GOTO 0CF 240 00CE: GOTO 0CD
231 00CF: NOP 241 00CF: NOP
232 00D0: BSF 06.7 -  
233 00D1: MOVLW 3F -  
234 00D2: MOVWF 04 -  
235 00D3: DECFSZ 04,F -  
236 00D4: GOTO 0D3 -  
237 00D5: NOP -  
238 00D6: BTFSC 78.7 242 00D0: BTFSC 78.7
239 00D7: GOTO 0C3 243 00D1: GOTO 0BD
240 00D8: BTFSC 78.6 244 00D2: BTFSC 78.6
241 00D9: GOTO 0CB 245 00D3: GOTO 0C5
242 00DA: RETURN 246 00D4: RETURN
243 .................... 247 ....................
244 .................... 248 ....................
-   249 .................... #include "SHT25.h"
245 .................... 250 ....................
-   251 .................... #define SHT25_HEATER_ON 0x04
-   252 .................... #define SHT25_HEATER_OFF 0x00
-   253 .................... #define SHT25_OTP_reload_off 0x02
-   254 .................... #define SHT25_RH12_T14 0x00
-   255 .................... #define SHT25_RH8_T12 0x01
-   256 .................... #define SHT25_RH10_T13 0x80
-   257 .................... #define SHT25_RH11_T11 0x81
-   258 ....................
-   259 .................... #define SHT25_ADDR 0x80
-   260 ....................
-   261 .................... #include "SHT25.c"
246 .................... void SHT25_soft_reset() 262 .................... void SHT25_soft_reset()
247 .................... { 263 .................... {
248 .................... i2c_start(); // Start condition 264 .................... i2c_start(); // Start condition
249 * 265 *
-   266 007B: BSF 20.4
-   267 007C: MOVF 20,W
-   268 007D: BSF 03.5
-   269 007E: MOVWF 07
-   270 007F: NOP
-   271 0080: BCF 03.5
250 0081: BSF 20.4 272 0081: BSF 20.3
251 0082: MOVF 20,W 273 0082: MOVF 20,W
252 0083: BSF 03.5 274 0083: BSF 03.5
253 0084: MOVWF 07 275 0084: MOVWF 07
254 0085: NOP 276 0085: NOP
255 0086: BCF 03.5 277 0086: BCF 03.5
256 0087: BSF 20.3 -  
257 0088: MOVF 20,W -  
258 0089: BSF 03.5 -  
259 008A: MOVWF 07 -  
260 008B: NOP -  
261 008C: BCF 03.5 -  
262 008D: BCF 07.4 278 0087: BCF 07.4
263 008E: BCF 20.4 279 0088: BCF 20.4
264 008F: MOVF 20,W 280 0089: MOVF 20,W
265 0090: BSF 03.5 281 008A: BSF 03.5
266 0091: MOVWF 07 282 008B: MOVWF 07
267 0092: NOP 283 008C: NOP
268 0093: BCF 03.5 284 008D: BCF 03.5
269 0094: BCF 07.3 285 008E: BCF 07.3
270 0095: BCF 20.3 286 008F: BCF 20.3
271 0096: MOVF 20,W 287 0090: MOVF 20,W
272 0097: BSF 03.5 288 0091: BSF 03.5
273 0098: MOVWF 07 289 0092: MOVWF 07
274 .................... i2c_write(0x80); // Device address 290 .................... i2c_write(0x80); // Device address
275 0099: MOVLW 80 291 0093: MOVLW 80
276 009A: BCF 03.5 292 0094: BCF 03.5
277 009B: MOVWF 27 293 0095: MOVWF 28
278 009C: CALL 037 294 0096: CALL 031
279 .................... i2c_write(0xFE); // Device command 295 .................... i2c_write(0xFE); // Device command
280 009D: MOVLW FE 296 0097: MOVLW FE
281 009E: MOVWF 27 297 0098: MOVWF 28
282 009F: CALL 037 298 0099: CALL 031
283 .................... i2c_stop(); // Stop condition 299 .................... i2c_stop(); // Stop condition
284 00A0: BCF 20.4 300 009A: BCF 20.4
-   301 009B: MOVF 20,W
-   302 009C: BSF 03.5
-   303 009D: MOVWF 07
-   304 009E: NOP
-   305 009F: BCF 03.5
-   306 00A0: BSF 20.3
285 00A1: MOVF 20,W 307 00A1: MOVF 20,W
286 00A2: BSF 03.5 308 00A2: BSF 03.5
287 00A3: MOVWF 07 309 00A3: MOVWF 07
288 00A4: NOP -  
289 00A5: BCF 03.5 310 00A4: BCF 03.5
290 00A6: BSF 20.3 -  
291 00A7: MOVF 20,W -  
292 00A8: BSF 03.5 -  
293 00A9: MOVWF 07 -  
294 00AA: BCF 03.5 -  
295 00AB: BTFSS 07.3 311 00A5: BTFSS 07.3
296 00AC: GOTO 0AB 312 00A6: GOTO 0A5
297 00AD: NOP 313 00A7: NOP
298 00AE: GOTO 0AF 314 00A8: GOTO 0A9
299 00AF: NOP 315 00A9: NOP
300 00B0: BSF 20.4 316 00AA: BSF 20.4
301 00B1: MOVF 20,W 317 00AB: MOVF 20,W
302 00B2: BSF 03.5 318 00AC: BSF 03.5
303 00B3: MOVWF 07 319 00AD: MOVWF 07
304 00B4: NOP 320 00AE: NOP
305 .................... } 321 .................... }
306 00B5: BCF 03.5 322 00AF: BCF 03.5
307 00B6: BSF 0A.3 323 00B0: BSF 0A.3
308 00B7: BCF 0A.4 324 00B1: BCF 0A.4
309 00B8: GOTO 066 (RETURN) 325 00B2: GOTO 066 (RETURN)
310 .................... -  
311 .................... #define SHT25_HEATER_ON 0x04 -  
312 .................... #define SHT25_HEATER_OFF 0x00 -  
313 .................... #define SHT25_OTP_reload_off 0x02 -  
314 .................... #define SHT25_RH12_T14 0x00 -  
315 .................... #define SHT25_RH8_T12 0x01 -  
316 .................... #define SHT25_RH10_T13 0x80 -  
317 .................... #define SHT25_RH11_T11 0x81 -  
318 .................... -  
319 .................... #define SHT25_ADDR 0x80 -  
320 .................... 326 ....................
321 .................... unsigned int8 SHT25_setup(unsigned int8 setup_reg ) // writes to status register and returns its value 327 .................... unsigned int8 SHT25_setup(unsigned int8 setup_reg ) // writes to status register and returns its value
322 .................... { 328 .................... {
323 .................... unsigned int8 reg; 329 .................... unsigned int8 reg;
324 .................... 330 ....................
325 .................... i2c_start(); // Start condition 331 .................... i2c_start(); // Start condition
326 * 332 *
327 017C: BSF 20.4 333 0176: BSF 20.4
-   334 0177: MOVF 20,W
-   335 0178: BSF 03.5
-   336 0179: MOVWF 07
-   337 017A: NOP
-   338 017B: BCF 03.5
-   339 017C: BSF 20.3
328 017D: MOVF 20,W 340 017D: MOVF 20,W
329 017E: BSF 03.5 341 017E: BSF 03.5
330 017F: MOVWF 07 342 017F: MOVWF 07
331 0180: NOP 343 0180: NOP
332 0181: BCF 03.5 344 0181: BCF 03.5
333 0182: BSF 20.3 -  
334 0183: MOVF 20,W -  
335 0184: BSF 03.5 -  
336 0185: MOVWF 07 -  
337 0186: NOP -  
338 0187: BCF 03.5 -  
339 0188: BCF 07.4 345 0182: BCF 07.4
340 0189: BCF 20.4 346 0183: BCF 20.4
341 018A: MOVF 20,W 347 0184: MOVF 20,W
342 018B: BSF 03.5 348 0185: BSF 03.5
343 018C: MOVWF 07 349 0186: MOVWF 07
344 018D: NOP 350 0187: NOP
345 018E: BCF 03.5 351 0188: BCF 03.5
346 018F: BCF 07.3 352 0189: BCF 07.3
347 0190: BCF 20.3 353 018A: BCF 20.3
348 0191: MOVF 20,W 354 018B: MOVF 20,W
349 0192: BSF 03.5 355 018C: BSF 03.5
350 0193: MOVWF 07 356 018D: MOVWF 07
351 .................... i2c_write(SHT25_ADDR); // Device address 357 .................... i2c_write(SHT25_ADDR); // Device address
352 0194: MOVLW 80 358 018E: MOVLW 80
353 0195: BCF 03.5 359 018F: BCF 03.5
354 0196: MOVWF 27 360 0190: MOVWF 28
355 0197: CALL 037 361 0191: CALL 031
356 .................... i2c_write(0xE7); // Device command 362 .................... i2c_write(0xE7); // Device command
357 0198: MOVLW E7 363 0192: MOVLW E7
358 0199: MOVWF 27 364 0193: MOVWF 28
359 019A: CALL 037 365 0194: CALL 031
360 .................... 366 ....................
361 .................... i2c_start(); // Start condition 367 .................... i2c_start(); // Start condition
362 019B: BSF 20.4 368 0195: BSF 20.4
-   369 0196: MOVF 20,W
-   370 0197: BSF 03.5
-   371 0198: MOVWF 07
-   372 0199: NOP
-   373 019A: BCF 03.5
-   374 019B: BSF 20.3
363 019C: MOVF 20,W 375 019C: MOVF 20,W
364 019D: BSF 03.5 376 019D: BSF 03.5
365 019E: MOVWF 07 377 019E: MOVWF 07
366 019F: NOP 378 019F: NOP
367 01A0: BCF 03.5 379 01A0: BCF 03.5
368 01A1: BSF 20.3 -  
369 01A2: MOVF 20,W -  
370 01A3: BSF 03.5 -  
371 01A4: MOVWF 07 -  
372 01A5: NOP -  
373 01A6: BCF 03.5 -  
374 01A7: BTFSS 07.3 380 01A1: BTFSS 07.3
375 01A8: GOTO 1A7 381 01A2: GOTO 1A1
376 01A9: BCF 07.4 382 01A3: BCF 07.4
377 01AA: BCF 20.4 383 01A4: BCF 20.4
378 01AB: MOVF 20,W 384 01A5: MOVF 20,W
379 01AC: BSF 03.5 385 01A6: BSF 03.5
380 01AD: MOVWF 07 386 01A7: MOVWF 07
381 01AE: NOP 387 01A8: NOP
382 01AF: BCF 03.5 388 01A9: BCF 03.5
383 01B0: BCF 07.3 389 01AA: BCF 07.3
384 01B1: BCF 20.3 390 01AB: BCF 20.3
385 01B2: MOVF 20,W 391 01AC: MOVF 20,W
386 01B3: BSF 03.5 392 01AD: BSF 03.5
387 01B4: MOVWF 07 393 01AE: MOVWF 07
388 .................... i2c_write(SHT25_ADDR+1); // Device address 394 .................... i2c_write(SHT25_ADDR+1); // Device address
389 01B5: MOVLW 81 395 01AF: MOVLW 81
390 01B6: BCF 03.5 396 01B0: BCF 03.5
391 01B7: MOVWF 27 397 01B1: MOVWF 28
392 01B8: CALL 037 398 01B2: CALL 031
393 .................... reg=i2c_read(0); // Read status actual status register 399 .................... reg=i2c_read(0); // Read status actual status register
394 01B9: CLRF 77 400 01B3: CLRF 77
395 01BA: CALL 137 401 01B4: CALL 131
396 01BB: MOVF 78,W 402 01B5: MOVF 78,W
397 01BC: MOVWF 23 403 01B6: MOVWF 24
398 .................... 404 ....................
399 .................... reg = (reg & 0x3A) | setup_reg; 405 .................... reg = (reg & 0x3A) | setup_reg;
400 01BD: MOVF 23,W 406 01B7: MOVF 24,W
401 01BE: ANDLW 3A 407 01B8: ANDLW 3A
402 01BF: IORWF 22,W 408 01B9: IORWF 23,W
403 01C0: MOVWF 23 409 01BA: MOVWF 24
404 .................... 410 ....................
405 .................... i2c_start(); // Start condition 411 .................... i2c_start(); // Start condition
-   412 01BB: BSF 20.4
-   413 01BC: MOVF 20,W
-   414 01BD: BSF 03.5
-   415 01BE: MOVWF 07
-   416 01BF: NOP
-   417 01C0: BCF 03.5
406 01C1: BSF 20.4 418 01C1: BSF 20.3
407 01C2: MOVF 20,W 419 01C2: MOVF 20,W
408 01C3: BSF 03.5 420 01C3: BSF 03.5
409 01C4: MOVWF 07 421 01C4: MOVWF 07
410 01C5: NOP 422 01C5: NOP
411 01C6: BCF 03.5 423 01C6: BCF 03.5
412 01C7: BSF 20.3 -  
413 01C8: MOVF 20,W -  
414 01C9: BSF 03.5 -  
415 01CA: MOVWF 07 -  
416 01CB: NOP -  
417 01CC: BCF 03.5 -  
418 01CD: BTFSS 07.3 424 01C7: BTFSS 07.3
419 01CE: GOTO 1CD 425 01C8: GOTO 1C7
420 01CF: BCF 07.4 426 01C9: BCF 07.4
421 01D0: BCF 20.4 427 01CA: BCF 20.4
422 01D1: MOVF 20,W 428 01CB: MOVF 20,W
423 01D2: BSF 03.5 429 01CC: BSF 03.5
424 01D3: MOVWF 07 430 01CD: MOVWF 07
425 01D4: NOP 431 01CE: NOP
426 01D5: BCF 03.5 432 01CF: BCF 03.5
427 01D6: BCF 07.3 433 01D0: BCF 07.3
428 01D7: BCF 20.3 434 01D1: BCF 20.3
429 01D8: MOVF 20,W 435 01D2: MOVF 20,W
430 01D9: BSF 03.5 436 01D3: BSF 03.5
431 01DA: MOVWF 07 437 01D4: MOVWF 07
432 .................... i2c_write(SHT25_ADDR); // Device address 438 .................... i2c_write(SHT25_ADDR); // Device address
433 01DB: MOVLW 80 439 01D5: MOVLW 80
434 01DC: BCF 03.5 440 01D6: BCF 03.5
435 01DD: MOVWF 27 441 01D7: MOVWF 28
436 01DE: CALL 037 442 01D8: CALL 031
437 .................... i2c_write(0xE7); // Write to status register 443 .................... i2c_write(0xE6); // Write to status register
438 01DF: MOVLW E7 444 01D9: MOVLW E6
439 01E0: MOVWF 27 445 01DA: MOVWF 28
440 01E1: CALL 037 446 01DB: CALL 031
441 .................... i2c_write(reg); // Device command 447 .................... i2c_write(reg); // Device command
442 01E2: MOVF 23,W 448 01DC: MOVF 24,W
443 01E3: MOVWF 27 449 01DD: MOVWF 28
444 01E4: CALL 037 450 01DE: CALL 031
445 .................... i2c_stop(); // Stop condition 451 .................... i2c_stop(); // Stop condition
446 01E5: BCF 20.4 452 01DF: BCF 20.4
-   453 01E0: MOVF 20,W
-   454 01E1: BSF 03.5
-   455 01E2: MOVWF 07
-   456 01E3: NOP
-   457 01E4: BCF 03.5
-   458 01E5: BSF 20.3
447 01E6: MOVF 20,W 459 01E6: MOVF 20,W
448 01E7: BSF 03.5 460 01E7: BSF 03.5
449 01E8: MOVWF 07 461 01E8: MOVWF 07
-   462 01E9: BCF 03.5
-   463 01EA: BTFSS 07.3
-   464 01EB: GOTO 1EA
450 01E9: NOP 465 01EC: NOP
451 01EA: BCF 03.5 466 01ED: GOTO 1EE
-   467 01EE: NOP
452 01EB: BSF 20.3 468 01EF: BSF 20.4
453 01EC: MOVF 20,W 469 01F0: MOVF 20,W
454 01ED: BSF 03.5 470 01F1: BSF 03.5
455 01EE: MOVWF 07 471 01F2: MOVWF 07
-   472 01F3: NOP
-   473 ....................
-   474 .................... delay_ms(10);
-   475 01F4: MOVLW 0A
456 01EF: BCF 03.5 476 01F5: BCF 03.5
-   477 01F6: MOVWF 28
-   478 01F7: CALL 11D
-   479 ....................
-   480 .................... i2c_start(); // Start condition
-   481 01F8: BSF 20.4
-   482 01F9: MOVF 20,W
457 01F0: BTFSS 07.3 483 01FA: BSF 03.5
458 01F1: GOTO 1F0 484 01FB: MOVWF 07
459 01F2: NOP 485 01FC: NOP
-   486 01FD: BCF 03.5
-   487 01FE: BSF 20.3
460 01F3: GOTO 1F4 488 01FF: MOVF 20,W
-   489 0200: BSF 03.5
-   490 0201: MOVWF 07
461 01F4: NOP 491 0202: NOP
-   492 0203: BCF 03.5
-   493 0204: BCF 07.4
462 01F5: BSF 20.4 494 0205: BCF 20.4
463 01F6: MOVF 20,W 495 0206: MOVF 20,W
464 01F7: BSF 03.5 496 0207: BSF 03.5
465 01F8: MOVWF 07 497 0208: MOVWF 07
466 01F9: NOP 498 0209: NOP
-   499 020A: BCF 03.5
-   500 020B: BCF 07.3
-   501 020C: BCF 20.3
-   502 020D: MOVF 20,W
-   503 020E: BSF 03.5
-   504 020F: MOVWF 07
-   505 .................... i2c_write(SHT25_ADDR); // Device address
-   506 0210: MOVLW 80
-   507 0211: BCF 03.5
-   508 0212: MOVWF 28
-   509 0213: CALL 031
-   510 .................... i2c_write(0xE7); // Device command
-   511 0214: MOVLW E7
-   512 0215: MOVWF 28
-   513 0216: CALL 031
-   514 ....................
-   515 .................... i2c_start(); // Start condition
-   516 0217: BSF 20.4
-   517 0218: MOVF 20,W
-   518 0219: BSF 03.5
-   519 021A: MOVWF 07
-   520 021B: NOP
-   521 021C: BCF 03.5
-   522 021D: BSF 20.3
-   523 021E: MOVF 20,W
-   524 021F: BSF 03.5
-   525 0220: MOVWF 07
-   526 0221: NOP
-   527 0222: BCF 03.5
-   528 0223: BTFSS 07.3
-   529 0224: GOTO 223
-   530 0225: BCF 07.4
-   531 0226: BCF 20.4
-   532 0227: MOVF 20,W
-   533 0228: BSF 03.5
-   534 0229: MOVWF 07
-   535 022A: NOP
-   536 022B: BCF 03.5
-   537 022C: BCF 07.3
-   538 022D: BCF 20.3
-   539 022E: MOVF 20,W
-   540 022F: BSF 03.5
-   541 0230: MOVWF 07
-   542 .................... i2c_write(SHT25_ADDR+1); // Device address
-   543 0231: MOVLW 81
-   544 0232: BCF 03.5
-   545 0233: MOVWF 28
-   546 0234: CALL 031
-   547 .................... reg=i2c_read(0); // Read status actual status register
-   548 0235: CLRF 77
-   549 0236: CALL 131
-   550 0237: MOVF 78,W
-   551 0238: MOVWF 24
467 .................... 552 ....................
468 .................... return (reg); 553 .................... return (reg);
469 01FA: BCF 03.5 -  
470 01FB: MOVF 23,W 554 0239: MOVF 24,W
471 01FC: MOVWF 78 555 023A: MOVWF 78
472 .................... } 556 .................... }
-   557 023B: BSF 0A.3
-   558 023C: BCF 0A.4
473 01FD: RETURN 559 023D: GOTO 089 (RETURN)
474 .................... 560 ....................
475 .................... 561 ....................
476 .................... float SHT25_get_temp() 562 .................... float SHT25_get_temp()
477 .................... { 563 .................... {
478 .................... unsigned int8 MSB, LSB, Check; 564 .................... unsigned int8 MSB, LSB, Check;
479 .................... unsigned int16 data; 565 .................... unsigned int16 data;
480 .................... 566 ....................
481 .................... i2c_start(); 567 .................... i2c_start();
482 * 568 *
483 050B: BSF 20.4 569 054B: BSF 20.4
484 050C: MOVF 20,W 570 054C: MOVF 20,W
485 050D: BSF 03.5 571 054D: BSF 03.5
486 050E: MOVWF 07 572 054E: MOVWF 07
487 050F: NOP 573 054F: NOP
488 0510: BCF 03.5 574 0550: BCF 03.5
489 0511: BSF 20.3 575 0551: BSF 20.3
490 0512: MOVF 20,W 576 0552: MOVF 20,W
491 0513: BSF 03.5 577 0553: BSF 03.5
492 0514: MOVWF 07 578 0554: MOVWF 07
493 0515: NOP 579 0555: NOP
494 0516: BCF 03.5 580 0556: BCF 03.5
-   581 0557: BTFSS 07.3
-   582 0558: GOTO 557
495 0517: BCF 07.4 583 0559: BCF 07.4
496 0518: BCF 20.4 584 055A: BCF 20.4
497 0519: MOVF 20,W 585 055B: MOVF 20,W
498 051A: BSF 03.5 586 055C: BSF 03.5
499 051B: MOVWF 07 587 055D: MOVWF 07
500 051C: NOP 588 055E: NOP
501 051D: BCF 03.5 589 055F: BCF 03.5
502 051E: BCF 07.3 590 0560: BCF 07.3
503 051F: BCF 20.3 591 0561: BCF 20.3
504 0520: MOVF 20,W 592 0562: MOVF 20,W
505 0521: BSF 03.5 593 0563: BSF 03.5
506 0522: MOVWF 07 594 0564: MOVWF 07
507 .................... I2C_Write(SHT25_ADDR); 595 .................... I2C_Write(SHT25_ADDR);
508 0523: MOVLW 80 596 0565: MOVLW 80
509 0524: BCF 03.5 597 0566: BCF 03.5
510 0525: MOVWF 27 598 0567: MOVWF 28
511 0526: CALL 037 599 0568: CALL 031
512 .................... I2C_write(0xE3); 600 .................... I2C_write(0xE3);
513 0527: MOVLW E3 601 0569: MOVLW E3
514 0528: MOVWF 27 602 056A: MOVWF 28
515 0529: CALL 037 603 056B: CALL 031
516 .................... i2c_stop(); 604 .................... i2c_stop();
517 052A: BCF 20.4 605 056C: BCF 20.4
518 052B: MOVF 20,W 606 056D: MOVF 20,W
519 052C: BSF 03.5 607 056E: BSF 03.5
520 052D: MOVWF 07 608 056F: MOVWF 07
521 052E: NOP 609 0570: NOP
522 052F: BCF 03.5 610 0571: BCF 03.5
523 0530: BSF 20.3 611 0572: BSF 20.3
524 0531: MOVF 20,W 612 0573: MOVF 20,W
525 0532: BSF 03.5 613 0574: BSF 03.5
526 0533: MOVWF 07 614 0575: MOVWF 07
527 0534: BCF 03.5 615 0576: BCF 03.5
528 0535: BTFSS 07.3 616 0577: BTFSS 07.3
529 0536: GOTO 535 617 0578: GOTO 577
530 0537: NOP 618 0579: NOP
531 0538: GOTO 539 619 057A: GOTO 57B
532 0539: NOP 620 057B: NOP
533 053A: BSF 20.4 621 057C: BSF 20.4
534 053B: MOVF 20,W 622 057D: MOVF 20,W
535 053C: BSF 03.5 623 057E: BSF 03.5
536 053D: MOVWF 07 624 057F: MOVWF 07
537 053E: NOP 625 0580: NOP
538 .................... 626 ....................
539 .................... delay_ms(100); 627 .................... delay_ms(100);
540 053F: MOVLW 64 628 0581: MOVLW 64
541 0540: BCF 03.5 629 0582: BCF 03.5
542 0541: MOVWF 27 630 0583: MOVWF 28
543 0542: CALL 123 631 0584: CALL 11D
544 .................... 632 ....................
545 .................... i2c_start(); 633 .................... i2c_start();
546 0543: BSF 20.4 634 0585: BSF 20.4
547 0544: MOVF 20,W 635 0586: MOVF 20,W
548 0545: BSF 03.5 636 0587: BSF 03.5
549 0546: MOVWF 07 637 0588: MOVWF 07
550 0547: NOP 638 0589: NOP
551 0548: BCF 03.5 639 058A: BCF 03.5
552 0549: BSF 20.3 640 058B: BSF 20.3
553 054A: MOVF 20,W 641 058C: MOVF 20,W
554 054B: BSF 03.5 642 058D: BSF 03.5
555 054C: MOVWF 07 643 058E: MOVWF 07
556 054D: NOP 644 058F: NOP
557 054E: BCF 03.5 645 0590: BCF 03.5
558 054F: BCF 07.4 646 0591: BCF 07.4
559 0550: BCF 20.4 647 0592: BCF 20.4
560 0551: MOVF 20,W 648 0593: MOVF 20,W
561 0552: BSF 03.5 649 0594: BSF 03.5
562 0553: MOVWF 07 650 0595: MOVWF 07
563 0554: NOP 651 0596: NOP
564 0555: BCF 03.5 652 0597: BCF 03.5
565 0556: BCF 07.3 653 0598: BCF 07.3
566 0557: BCF 20.3 654 0599: BCF 20.3
567 0558: MOVF 20,W 655 059A: MOVF 20,W
568 0559: BSF 03.5 656 059B: BSF 03.5
569 055A: MOVWF 07 657 059C: MOVWF 07
570 .................... I2C_Write(SHT25_ADDR+1); 658 .................... I2C_Write(SHT25_ADDR+1);
571 055B: MOVLW 81 659 059D: MOVLW 81
572 055C: BCF 03.5 660 059E: BCF 03.5
573 055D: MOVWF 27 661 059F: MOVWF 28
574 055E: CALL 037 662 05A0: CALL 031
575 .................... MSB=i2c_read(1); 663 .................... MSB=i2c_read(1);
576 055F: MOVLW 01 664 05A1: MOVLW 01
577 0560: MOVWF 77 665 05A2: MOVWF 77
578 0561: CALL 137 666 05A3: CALL 131
579 0562: MOVF 78,W 667 05A4: MOVF 78,W
580 0563: MOVWF 22 668 05A5: MOVWF 23
581 .................... LSB=i2c_read(1); 669 .................... LSB=i2c_read(1);
582 0564: MOVLW 01 670 05A6: MOVLW 01
583 0565: MOVWF 77 671 05A7: MOVWF 77
584 0566: CALL 137 672 05A8: CALL 131
585 0567: MOVF 78,W 673 05A9: MOVF 78,W
586 0568: MOVWF 23 674 05AA: MOVWF 24
587 .................... Check=i2c_read(0); 675 .................... Check=i2c_read(0);
588 0569: CLRF 77 676 05AB: CLRF 77
589 056A: CALL 137 677 05AC: CALL 131
590 056B: MOVF 78,W 678 05AD: MOVF 78,W
591 056C: MOVWF 24 679 05AE: MOVWF 25
592 .................... i2c_stop(); 680 .................... i2c_stop();
593 056D: BCF 20.4 681 05AF: BCF 20.4
594 056E: MOVF 20,W 682 05B0: MOVF 20,W
595 056F: BSF 03.5 683 05B1: BSF 03.5
596 0570: MOVWF 07 684 05B2: MOVWF 07
597 0571: NOP 685 05B3: NOP
598 0572: BCF 03.5 686 05B4: BCF 03.5
599 0573: BSF 20.3 687 05B5: BSF 20.3
600 0574: MOVF 20,W 688 05B6: MOVF 20,W
601 0575: BSF 03.5 689 05B7: BSF 03.5
602 0576: MOVWF 07 690 05B8: MOVWF 07
603 0577: BCF 03.5 691 05B9: BCF 03.5
604 0578: BTFSS 07.3 692 05BA: BTFSS 07.3
605 0579: GOTO 578 693 05BB: GOTO 5BA
606 057A: NOP 694 05BC: NOP
607 057B: GOTO 57C 695 05BD: GOTO 5BE
608 057C: NOP 696 05BE: NOP
609 057D: BSF 20.4 697 05BF: BSF 20.4
610 057E: MOVF 20,W 698 05C0: MOVF 20,W
611 057F: BSF 03.5 699 05C1: BSF 03.5
612 0580: MOVWF 07 700 05C2: MOVWF 07
613 0581: NOP 701 05C3: NOP
614 .................... 702 ....................
615 .................... LSB = LSB >> 2; // trow out status bits 703 .................... LSB = LSB >> 2; // trow out status bits
616 0582: BCF 03.5 704 05C4: BCF 03.5
617 0583: RRF 23,F 705 05C5: RRF 24,F
618 0584: RRF 23,F 706 05C6: RRF 24,F
619 0585: MOVLW 3F 707 05C7: MOVLW 3F
620 0586: ANDWF 23,F 708 05C8: ANDWF 24,F
621 .................... 709 ....................
622 .................... data = (((unsigned int16) MSB << 8) + (LSB << 4)); 710 .................... data = (((unsigned int16) MSB << 8) + (LSB << 4));
623 0587: CLRF 28 711 05C9: CLRF 29
624 0588: MOVF 22,W 712 05CA: MOVF 23,W
625 0589: MOVWF 27 713 05CB: MOVWF 28
626 058A: MOVWF 28 714 05CC: MOVWF 29
627 058B: CLRF 27 715 05CD: CLRF 28
628 058C: SWAPF 23,W 716 05CE: SWAPF 24,W
629 058D: MOVWF 77 717 05CF: MOVWF 77
630 058E: MOVLW F0 718 05D0: MOVLW F0
631 058F: ANDWF 77,F 719 05D1: ANDWF 77,F
632 0590: MOVF 77,W -  
633 0591: ADDWF 27,W -  
634 0592: MOVWF 25 -  
635 0593: MOVF 28,W -  
636 0594: MOVWF 26 -  
637 0595: BTFSC 03.0 -  
638 0596: INCF 26,F -  
639 .................... return(-46.85 + 175.72*((float)data/0xFFFF)); -  
640 0597: MOVF 26,W -  
641 0598: MOVWF 28 -  
642 0599: MOVF 25,W -  
643 059A: MOVWF 27 -  
644 059B: CALL 26E -  
645 059C: MOVF 77,W -  
646 059D: MOVWF 27 -  
647 059E: MOVF 78,W -  
648 059F: MOVWF 28 -  
649 05A0: MOVF 79,W -  
650 05A1: MOVWF 29 -  
651 05A2: MOVF 7A,W -  
652 05A3: MOVWF 2A -  
653 05A4: MOVWF 2E -  
654 05A5: MOVF 79,W -  
655 05A6: MOVWF 2D -  
656 05A7: MOVF 78,W -  
657 05A8: MOVWF 2C -  
658 05A9: MOVF 77,W -  
659 05AA: MOVWF 2B -  
660 05AB: CLRF 32 -  
661 05AC: MOVLW FF -  
662 05AD: MOVWF 31 -  
663 05AE: MOVLW 7F -  
664 05AF: MOVWF 30 -  
665 05B0: MOVLW 8E -  
666 05B1: MOVWF 2F -  
667 05B2: CALL 28B -  
668 05B3: MOVLW 52 -  
669 05B4: MOVWF 36 -  
670 05B5: MOVLW B8 -  
671 05B6: MOVWF 35 -  
672 05B7: MOVLW 2F -  
673 05B8: MOVWF 34 -  
674 05B9: MOVLW 86 -  
675 05BA: MOVWF 33 -  
676 05BB: MOVF 7A,W -  
677 05BC: MOVWF 3A -  
678 05BD: MOVF 79,W -  
679 05BE: MOVWF 39 -  
680 05BF: MOVF 78,W -  
681 05C0: MOVWF 38 -  
682 05C1: MOVF 77,W -  
683 05C2: MOVWF 37 -  
684 05C3: CALL 355 -  
685 05C4: BCF 03.1 -  
686 05C5: MOVLW 66 -  
687 05C6: MOVWF 2A -  
688 05C7: MOVWF 29 -  
689 05C8: MOVLW BB -  
690 05C9: MOVWF 28 -  
691 05CA: MOVLW 84 -  
692 05CB: MOVWF 27 -  
693 05CC: MOVF 7A,W -  
694 05CD: MOVWF 2E -  
695 05CE: MOVF 79,W -  
696 05CF: MOVWF 2D -  
697 05D0: MOVF 78,W -  
698 05D1: MOVWF 2C -  
699 05D2: MOVF 77,W 720 05D2: MOVF 77,W
-   721 05D3: ADDWF 28,W
700 05D3: MOVWF 2B 722 05D4: MOVWF 26
-   723 05D5: MOVF 29,W
-   724 05D6: MOVWF 27
-   725 05D7: BTFSC 03.0
-   726 05D8: INCF 27,F
-   727 .................... return(-46.85 + 175.72*((float)data/0xFFFF));
-   728 05D9: MOVF 27,W
-   729 05DA: MOVWF 29
-   730 05DB: MOVF 26,W
-   731 05DC: MOVWF 28
-   732 05DD: CALL 2AE
-   733 05DE: MOVF 77,W
-   734 05DF: MOVWF 28
-   735 05E0: MOVF 78,W
-   736 05E1: MOVWF 29
-   737 05E2: MOVF 79,W
-   738 05E3: MOVWF 2A
-   739 05E4: MOVF 7A,W
-   740 05E5: MOVWF 2B
-   741 05E6: MOVWF 2F
-   742 05E7: MOVF 79,W
-   743 05E8: MOVWF 2E
-   744 05E9: MOVF 78,W
-   745 05EA: MOVWF 2D
-   746 05EB: MOVF 77,W
-   747 05EC: MOVWF 2C
-   748 05ED: CLRF 33
-   749 05EE: MOVLW FF
-   750 05EF: MOVWF 32
-   751 05F0: MOVLW 7F
-   752 05F1: MOVWF 31
-   753 05F2: MOVLW 8E
-   754 05F3: MOVWF 30
701 05D4: CALL 3CA 755 05F4: CALL 2CB
-   756 05F5: MOVLW 52
-   757 05F6: MOVWF 37
-   758 05F7: MOVLW B8
-   759 05F8: MOVWF 36
-   760 05F9: MOVLW 2F
-   761 05FA: MOVWF 35
-   762 05FB: MOVLW 86
-   763 05FC: MOVWF 34
-   764 05FD: MOVF 7A,W
-   765 05FE: MOVWF 3B
-   766 05FF: MOVF 79,W
-   767 0600: MOVWF 3A
-   768 0601: MOVF 78,W
-   769 0602: MOVWF 39
-   770 0603: MOVF 77,W
-   771 0604: MOVWF 38
-   772 0605: CALL 395
-   773 0606: BCF 03.1
-   774 0607: MOVLW 66
-   775 0608: MOVWF 2B
-   776 0609: MOVWF 2A
-   777 060A: MOVLW BB
-   778 060B: MOVWF 29
-   779 060C: MOVLW 84
-   780 060D: MOVWF 28
-   781 060E: MOVF 7A,W
-   782 060F: MOVWF 2F
-   783 0610: MOVF 79,W
-   784 0611: MOVWF 2E
-   785 0612: MOVF 78,W
-   786 0613: MOVWF 2D
-   787 0614: MOVF 77,W
-   788 0615: MOVWF 2C
-   789 0616: CALL 40A
702 .................... } 790 .................... }
703 05D5: BSF 0A.3 791 0617: BSF 0A.3
704 05D6: BCF 0A.4 792 0618: BCF 0A.4
705 05D7: GOTO 0DB (RETURN) 793 0619: GOTO 0C5 (RETURN)
706 .................... 794 ....................
707 .................... float SHT25_get_hum() 795 .................... float SHT25_get_hum()
708 .................... { 796 .................... {
709 .................... unsigned int8 MSB, LSB, Check; 797 .................... unsigned int8 MSB, LSB, Check;
710 .................... unsigned int16 data; 798 .................... unsigned int16 data;
711 .................... 799 ....................
712 .................... i2c_start(); //RH 800 .................... i2c_start(); //RH
713 * 801 *
714 0701: BSF 20.4 802 0743: BSF 20.4
715 0702: MOVF 20,W 803 0744: MOVF 20,W
716 0703: BSF 03.5 804 0745: BSF 03.5
717 0704: MOVWF 07 805 0746: MOVWF 07
718 0705: NOP 806 0747: NOP
719 0706: BCF 03.5 807 0748: BCF 03.5
720 0707: BSF 20.3 808 0749: BSF 20.3
721 0708: MOVF 20,W 809 074A: MOVF 20,W
722 0709: BSF 03.5 810 074B: BSF 03.5
723 070A: MOVWF 07 811 074C: MOVWF 07
724 070B: NOP 812 074D: NOP
725 070C: BCF 03.5 813 074E: BCF 03.5
726 070D: BCF 07.4 814 074F: BCF 07.4
727 070E: BCF 20.4 815 0750: BCF 20.4
728 070F: MOVF 20,W 816 0751: MOVF 20,W
729 0710: BSF 03.5 817 0752: BSF 03.5
730 0711: MOVWF 07 818 0753: MOVWF 07
731 0712: NOP 819 0754: NOP
732 0713: BCF 03.5 820 0755: BCF 03.5
733 0714: BCF 07.3 821 0756: BCF 07.3
734 0715: BCF 20.3 822 0757: BCF 20.3
735 0716: MOVF 20,W 823 0758: MOVF 20,W
736 0717: BSF 03.5 824 0759: BSF 03.5
737 0718: MOVWF 07 825 075A: MOVWF 07
738 .................... I2C_Write(SHT25_ADDR); 826 .................... I2C_Write(SHT25_ADDR);
739 0719: MOVLW 80 827 075B: MOVLW 80
740 071A: BCF 03.5 828 075C: BCF 03.5
741 071B: MOVWF 27 829 075D: MOVWF 28
742 071C: CALL 037 830 075E: CALL 031
743 .................... I2C_write(0xE5); 831 .................... I2C_write(0xE5);
744 071D: MOVLW E5 832 075F: MOVLW E5
745 071E: MOVWF 27 833 0760: MOVWF 28
746 071F: CALL 037 834 0761: CALL 031
747 .................... // i2c_stop(); -  
748 .................... 835 ....................
749 .................... delay_ms(100); 836 .................... delay_ms(100);
750 0720: MOVLW 64 837 0762: MOVLW 64
751 0721: MOVWF 27 838 0763: MOVWF 28
752 0722: CALL 123 839 0764: CALL 11D
753 .................... 840 ....................
754 .................... i2c_start(); 841 .................... i2c_start();
755 0723: BSF 20.4 842 0765: BSF 20.4
756 0724: MOVF 20,W 843 0766: MOVF 20,W
757 0725: BSF 03.5 844 0767: BSF 03.5
758 0726: MOVWF 07 845 0768: MOVWF 07
759 0727: NOP 846 0769: NOP
760 0728: BCF 03.5 847 076A: BCF 03.5
761 0729: BSF 20.3 848 076B: BSF 20.3
762 072A: MOVF 20,W 849 076C: MOVF 20,W
763 072B: BSF 03.5 850 076D: BSF 03.5
764 072C: MOVWF 07 851 076E: MOVWF 07
765 072D: NOP 852 076F: NOP
766 072E: BCF 03.5 853 0770: BCF 03.5
767 072F: BTFSS 07.3 854 0771: BTFSS 07.3
768 0730: GOTO 72F 855 0772: GOTO 771
769 0731: BCF 07.4 856 0773: BCF 07.4
770 0732: BCF 20.4 857 0774: BCF 20.4
771 0733: MOVF 20,W 858 0775: MOVF 20,W
772 0734: BSF 03.5 859 0776: BSF 03.5
773 0735: MOVWF 07 860 0777: MOVWF 07
774 0736: NOP 861 0778: NOP
775 0737: BCF 03.5 862 0779: BCF 03.5
776 0738: BCF 07.3 863 077A: BCF 07.3
777 0739: BCF 20.3 864 077B: BCF 20.3
778 073A: MOVF 20,W 865 077C: MOVF 20,W
779 073B: BSF 03.5 866 077D: BSF 03.5
780 073C: MOVWF 07 867 077E: MOVWF 07
781 .................... I2C_Write(SHT25_ADDR+1); 868 .................... I2C_Write(SHT25_ADDR+1);
782 073D: MOVLW 81 869 077F: MOVLW 81
783 073E: BCF 03.5 870 0780: BCF 03.5
784 073F: MOVWF 27 871 0781: MOVWF 28
785 0740: CALL 037 872 0782: CALL 031
786 .................... MSB=i2c_read(1); 873 .................... MSB=i2c_read(1);
787 0741: MOVLW 01 874 0783: MOVLW 01
788 0742: MOVWF 77 875 0784: MOVWF 77
789 0743: CALL 137 876 0785: CALL 131
790 0744: MOVF 78,W 877 0786: MOVF 78,W
791 0745: MOVWF 22 878 0787: MOVWF 23
792 .................... LSB=i2c_read(1); 879 .................... LSB=i2c_read(1);
793 0746: MOVLW 01 880 0788: MOVLW 01
794 0747: MOVWF 77 881 0789: MOVWF 77
795 0748: CALL 137 882 078A: CALL 131
796 0749: MOVF 78,W 883 078B: MOVF 78,W
797 074A: MOVWF 23 884 078C: MOVWF 24
798 .................... Check=i2c_read(0); 885 .................... Check=i2c_read(0);
799 074B: CLRF 77 886 078D: CLRF 77
800 074C: CALL 137 887 078E: CALL 131
801 074D: MOVF 78,W 888 078F: MOVF 78,W
802 074E: MOVWF 24 889 0790: MOVWF 25
803 .................... i2c_stop(); 890 .................... i2c_stop();
804 074F: BCF 20.4 891 0791: BCF 20.4
805 0750: MOVF 20,W 892 0792: MOVF 20,W
806 0751: BSF 03.5 893 0793: BSF 03.5
807 0752: MOVWF 07 894 0794: MOVWF 07
808 0753: NOP 895 0795: NOP
809 0754: BCF 03.5 896 0796: BCF 03.5
810 0755: BSF 20.3 897 0797: BSF 20.3
811 0756: MOVF 20,W 898 0798: MOVF 20,W
812 0757: BSF 03.5 899 0799: BSF 03.5
813 0758: MOVWF 07 900 079A: MOVWF 07
814 0759: BCF 03.5 901 079B: BCF 03.5
815 075A: BTFSS 07.3 902 079C: BTFSS 07.3
816 075B: GOTO 75A 903 079D: GOTO 79C
817 075C: NOP 904 079E: NOP
818 075D: GOTO 75E 905 079F: GOTO 7A0
819 075E: NOP 906 07A0: NOP
820 075F: BSF 20.4 907 07A1: BSF 20.4
821 0760: MOVF 20,W 908 07A2: MOVF 20,W
822 0761: BSF 03.5 909 07A3: BSF 03.5
823 0762: MOVWF 07 910 07A4: MOVWF 07
824 0763: NOP 911 07A5: NOP
825 .................... -  
826 .................... // printf("%X %X %X\r\n",MSB, LSB, Check); -  
827 .................... 912 ....................
828 .................... LSB = LSB >> 2; // trow out status bits 913 .................... LSB = LSB >> 2; // trow out status bits
829 0764: BCF 03.5 914 07A6: BCF 03.5
830 0765: RRF 23,F 915 07A7: RRF 24,F
831 0766: RRF 23,F 916 07A8: RRF 24,F
832 0767: MOVLW 3F 917 07A9: MOVLW 3F
833 0768: ANDWF 23,F 918 07AA: ANDWF 24,F
834 .................... 919 ....................
835 .................... data = (((unsigned int16) MSB << 8) + (LSB << 4) ); 920 .................... data = (((unsigned int16) MSB << 8) + (LSB << 4) );
836 0769: CLRF 28 921 07AB: CLRF 29
837 076A: MOVF 22,W 922 07AC: MOVF 23,W
838 076B: MOVWF 27 923 07AD: MOVWF 28
839 076C: MOVWF 28 924 07AE: MOVWF 29
840 076D: CLRF 27 925 07AF: CLRF 28
841 076E: SWAPF 23,W 926 07B0: SWAPF 24,W
842 076F: MOVWF 77 927 07B1: MOVWF 77
843 0770: MOVLW F0 928 07B2: MOVLW F0
844 0771: ANDWF 77,F 929 07B3: ANDWF 77,F
845 0772: MOVF 77,W 930 07B4: MOVF 77,W
846 0773: ADDWF 27,W 931 07B5: ADDWF 28,W
847 0774: MOVWF 25 932 07B6: MOVWF 26
848 0775: MOVF 28,W 933 07B7: MOVF 29,W
849 0776: MOVWF 26 934 07B8: MOVWF 27
850 0777: BTFSC 03.0 935 07B9: BTFSC 03.0
851 0778: INCF 26,F 936 07BA: INCF 27,F
852 .................... return( -6.0 + 125.0*((float)data/0xFFFF)); 937 .................... return( -6.0 + 125.0*((float)data/0xFFFF));
853 0779: MOVF 26,W 938 07BB: MOVF 27,W
854 077A: MOVWF 28 939 07BC: MOVWF 29
855 077B: MOVF 25,W 940 07BD: MOVF 26,W
856 077C: MOVWF 27 941 07BE: MOVWF 28
857 077D: CALL 26E 942 07BF: CALL 2AE
858 077E: MOVF 77,W 943 07C0: MOVF 77,W
859 077F: MOVWF 27 944 07C1: MOVWF 28
860 0780: MOVF 78,W 945 07C2: MOVF 78,W
861 0781: MOVWF 28 946 07C3: MOVWF 29
862 0782: MOVF 79,W 947 07C4: MOVF 79,W
863 0783: MOVWF 29 948 07C5: MOVWF 2A
864 0784: MOVF 7A,W 949 07C6: MOVF 7A,W
865 0785: MOVWF 2A 950 07C7: MOVWF 2B
866 0786: MOVWF 2E 951 07C8: MOVWF 2F
867 0787: MOVF 79,W 952 07C9: MOVF 79,W
868 0788: MOVWF 2D 953 07CA: MOVWF 2E
869 0789: MOVF 78,W 954 07CB: MOVF 78,W
870 078A: MOVWF 2C 955 07CC: MOVWF 2D
871 078B: MOVF 77,W 956 07CD: MOVF 77,W
872 078C: MOVWF 2B 957 07CE: MOVWF 2C
873 078D: CLRF 32 958 07CF: CLRF 33
874 078E: MOVLW FF 959 07D0: MOVLW FF
875 078F: MOVWF 31 960 07D1: MOVWF 32
876 0790: MOVLW 7F 961 07D2: MOVLW 7F
877 0791: MOVWF 30 962 07D3: MOVWF 31
878 0792: MOVLW 8E 963 07D4: MOVLW 8E
879 0793: MOVWF 2F 964 07D5: MOVWF 30
880 0794: CALL 28B 965 07D6: CALL 2CB
881 0795: CLRF 36 966 07D7: CLRF 37
882 0796: CLRF 35 967 07D8: CLRF 36
883 0797: MOVLW 7A 968 07D9: MOVLW 7A
884 0798: MOVWF 34 969 07DA: MOVWF 35
885 0799: MOVLW 85 970 07DB: MOVLW 85
886 079A: MOVWF 33 971 07DC: MOVWF 34
887 079B: MOVF 7A,W 972 07DD: MOVF 7A,W
888 079C: MOVWF 3A 973 07DE: MOVWF 3B
889 079D: MOVF 79,W 974 07DF: MOVF 79,W
890 079E: MOVWF 39 975 07E0: MOVWF 3A
891 079F: MOVF 78,W 976 07E1: MOVF 78,W
892 07A0: MOVWF 38 977 07E2: MOVWF 39
893 07A1: MOVF 77,W 978 07E3: MOVF 77,W
894 07A2: MOVWF 37 979 07E4: MOVWF 38
895 07A3: CALL 355 980 07E5: CALL 395
896 07A4: BCF 03.1 981 07E6: BCF 03.1
897 07A5: CLRF 2A 982 07E7: CLRF 2B
898 07A6: CLRF 29 983 07E8: CLRF 2A
899 07A7: MOVLW C0 984 07E9: MOVLW C0
900 07A8: MOVWF 28 985 07EA: MOVWF 29
901 07A9: MOVLW 81 986 07EB: MOVLW 81
902 07AA: MOVWF 27 987 07EC: MOVWF 28
903 07AB: MOVF 7A,W 988 07ED: MOVF 7A,W
904 07AC: MOVWF 2E 989 07EE: MOVWF 2F
905 07AD: MOVF 79,W 990 07EF: MOVF 79,W
906 07AE: MOVWF 2D 991 07F0: MOVWF 2E
907 07AF: MOVF 78,W 992 07F1: MOVF 78,W
908 07B0: MOVWF 2C 993 07F2: MOVWF 2D
909 07B1: MOVF 77,W 994 07F3: MOVF 77,W
910 07B2: MOVWF 2B 995 07F4: MOVWF 2C
911 07B3: CALL 3CA 996 07F5: CALL 40A
912 .................... } 997 .................... }
913 07B4: BSF 0A.3 998 07F6: BSF 0A.3
914 07B5: BCF 0A.4 999 07F7: BCF 0A.4
915 07B6: GOTO 119 (RETURN) 1000 07F8: GOTO 103 (RETURN)
-   1001 ....................
-   1002 ....................
-   1003 ....................
916 .................... 1004 ....................
917 .................... 1005 ....................
918 .................... void main() 1006 .................... void main()
919 .................... { 1007 .................... {
920 * 1008 *
921 0036: DATA 00,00 1009 0030: DATA 00,00
922 * 1010 *
923 0800: CLRF 04 1011 0800: CLRF 04
924 0801: BCF 03.7 1012 0801: BCF 03.7
925 0802: MOVLW 1F 1013 0802: MOVLW 1F
926 0803: ANDWF 03,F 1014 0803: ANDWF 03,F
Line 946... Line 1034...
946 0817: CLRF 07 1034 0817: CLRF 07
947 0818: CLRF 08 1035 0818: CLRF 08
948 0819: CLRF 09 1036 0819: CLRF 09
949 * 1037 *
950 081D: CLRF 21 1038 081D: CLRF 21
951 .................... unsigned int8 i=0; 1039 .................... unsigned int8 i=0, sht_config;
952 .................... 1040 ....................
953 .................... setup_adc_ports(NO_ANALOGS|VSS_VDD); 1041 .................... setup_adc_ports(NO_ANALOGS|VSS_VDD);
954 081E: BSF 03.5 1042 081E: BSF 03.5
955 081F: BSF 03.6 1043 081F: BSF 03.6
956 0820: MOVF 09,W 1044 0820: MOVF 09,W
Line 1029... Line 1117...
1029 0862: CLRF 09 1117 0862: CLRF 09
1030 .................... 1118 ....................
1031 .................... SHT25_soft_reset(); 1119 .................... SHT25_soft_reset();
1032 0863: BCF 0A.3 1120 0863: BCF 0A.3
1033 0864: BCF 03.6 1121 0864: BCF 03.6
1034 0865: GOTO 081 1122 0865: GOTO 07B
1035 0866: BSF 0A.3 1123 0866: BSF 0A.3
1036 .................... printf("SHT25 humidity and temperature sensor example \r\n",); 1124 .................... printf("SHT25 humidity and temperature sensor example \r\n",);
1037 0867: MOVLW 04 1125 0867: MOVLW 04
1038 0868: BSF 03.6 1126 0868: BSF 03.6
1039 0869: MOVWF 0D 1127 0869: MOVWF 0D
1040 086A: MOVLW 00 1128 086A: MOVLW 00
1041 086B: MOVWF 0F 1129 086B: MOVWF 0F
1042 086C: BCF 0A.3 1130 086C: BCF 0A.3
1043 086D: BCF 03.6 1131 086D: BCF 03.6
1044 086E: GOTO 0DB 1132 086E: GOTO 0D5
1045 086F: BSF 0A.3 1133 086F: BSF 0A.3
1046 .................... delay_ms (500); 1134 .................... delay_ms (500);
1047 0870: MOVLW 02 1135 0870: MOVLW 02
1048 0871: MOVWF 22 1136 0871: MOVWF 23
1049 0872: MOVLW FA 1137 0872: MOVLW FA
1050 0873: MOVWF 27 1138 0873: MOVWF 28
1051 0874: BCF 0A.3 1139 0874: BCF 0A.3
1052 0875: CALL 123 1140 0875: CALL 11D
1053 0876: BSF 0A.3 1141 0876: BSF 0A.3
1054 0877: DECFSZ 22,F 1142 0877: DECFSZ 23,F
1055 0878: GOTO 072 1143 0878: GOTO 072
1056 .................... 1144 ....................
1057 .................... while(TRUE) 1145 .................... while(TRUE)
1058 .................... { 1146 .................... {
1059 .................... if (i<10) 1147 .................... if (i<10) sht_config = SHT25_RH12_T14 | SHT25_HEATER_OFF; // loop alters on chip heater on and off to check correct function
1060 0879: MOVF 21,W 1148 0879: MOVF 21,W
1061 087A: SUBLW 09 1149 087A: SUBLW 09
1062 087B: BTFSS 03.0 1150 087B: BTFSS 03.0
1063 087C: GOTO 0A6 1151 087C: GOTO 07F
1064 .................... printf("setup: %X \r\n",SHT25_setup(SHT25_RH12_T14 | SHT25_HEATER_OFF)); -  
1065 087D: CLRF 22 1152 087D: CLRF 22
1066 087E: BCF 0A.3 -  
1067 087F: CALL 17C -  
1068 0880: BSF 0A.3 -  
1069 0881: MOVF 78,W -  
1070 0882: MOVWF 22 -  
1071 0883: MOVLW 1D -  
1072 0884: BSF 03.6 -  
1073 0885: MOVWF 0D -  
1074 0886: MOVLW 00 -  
1075 0887: MOVWF 0F -  
1076 0888: BCF 03.0 -  
1077 0889: MOVLW 07 -  
1078 088A: BCF 03.6 -  
1079 088B: MOVWF 26 -  
1080 088C: BCF 0A.3 -  
1081 088D: CALL 1FE -  
1082 088E: BSF 0A.3 -  
1083 088F: MOVF 22,W -  
1084 0890: MOVWF 23 -  
1085 0891: MOVLW 37 -  
1086 0892: MOVWF 24 -  
1087 0893: BCF 0A.3 -  
1088 0894: CALL 24D -  
1089 0895: BSF 0A.3 -  
1090 0896: MOVLW 20 -  
1091 0897: MOVWF 33 -  
1092 0898: BCF 0A.3 -  
1093 0899: CALL 0B9 -  
1094 089A: BSF 0A.3 -  
1095 089B: MOVLW 0D -  
1096 089C: MOVWF 33 -  
1097 089D: BCF 0A.3 -  
1098 089E: CALL 0B9 -  
1099 089F: BSF 0A.3 -  
1100 08A0: MOVLW 0A -  
1101 08A1: MOVWF 33 -  
1102 08A2: BCF 0A.3 -  
1103 08A3: CALL 0B9 -  
1104 08A4: BSF 0A.3 -  
1105 .................... else 1153 .................... else
1106 08A5: GOTO 0D0 1154 087E: GOTO 085
1107 .................... { 1155 .................... {
-   1156 .................... sht_config = SHT25_RH12_T14 | SHT25_HEATER_ON;
-   1157 087F: MOVLW 04
-   1158 0880: MOVWF 22
-   1159 .................... if (i > 20) i = 0;
-   1160 0881: MOVF 21,W
-   1161 0882: SUBLW 14
-   1162 0883: BTFSS 03.0
-   1163 0884: CLRF 21
-   1164 .................... }
1108 .................... printf("setup: %X \r\n",SHT25_setup(SHT25_RH12_T14 | SHT25_HEATER_ON)); 1165 .................... printf("setup: %X %X \r\n",SHT25_setup(sht_config),sht_config);
-   1166 0885: MOVF 22,W
-   1167 0886: MOVWF 23
-   1168 0887: BCF 0A.3
-   1169 0888: GOTO 176
-   1170 0889: BSF 0A.3
-   1171 088A: MOVF 78,W
-   1172 088B: MOVWF 23
-   1173 088C: MOVLW 1D
-   1174 088D: BSF 03.6
-   1175 088E: MOVWF 0D
-   1176 088F: MOVLW 00
-   1177 0890: MOVWF 0F
-   1178 0891: BCF 03.0
-   1179 0892: MOVLW 07
-   1180 0893: BCF 03.6
-   1181 0894: MOVWF 27
-   1182 0895: BCF 0A.3
-   1183 0896: CALL 23E
-   1184 0897: BSF 0A.3
-   1185 0898: MOVF 23,W
-   1186 0899: MOVWF 24
-   1187 089A: MOVLW 37
-   1188 089B: MOVWF 25
-   1189 089C: BCF 0A.3
-   1190 089D: CALL 28D
-   1191 089E: BSF 0A.3
-   1192 089F: MOVLW 20
-   1193 08A0: MOVWF 34
-   1194 08A1: BCF 0A.3
-   1195 08A2: CALL 0B3
-   1196 08A3: BSF 0A.3
-   1197 08A4: MOVF 22,W
-   1198 08A5: MOVWF 24
1109 08A6: MOVLW 04 1199 08A6: MOVLW 37
1110 08A7: MOVWF 22 1200 08A7: MOVWF 25
1111 08A8: BCF 0A.3 1201 08A8: BCF 0A.3
1112 08A9: CALL 17C 1202 08A9: CALL 28D
1113 08AA: BSF 0A.3 1203 08AA: BSF 0A.3
1114 08AB: MOVF 78,W -  
1115 08AC: MOVWF 22 -  
1116 08AD: MOVLW 24 1204 08AB: MOVLW 20
1117 08AE: BSF 03.6 -  
1118 08AF: MOVWF 0D -  
1119 08B0: MOVLW 00 -  
1120 08B1: MOVWF 0F -  
1121 08B2: BCF 03.0 -  
1122 08B3: MOVLW 07 -  
1123 08B4: BCF 03.6 -  
1124 08B5: MOVWF 26 -  
1125 08B6: BCF 0A.3 -  
1126 08B7: CALL 1FE -  
1127 08B8: BSF 0A.3 -  
1128 08B9: MOVF 22,W -  
1129 08BA: MOVWF 23 -  
1130 08BB: MOVLW 37 -  
1131 08BC: MOVWF 24 1205 08AC: MOVWF 34
1132 08BD: BCF 0A.3 1206 08AD: BCF 0A.3
1133 08BE: CALL 24D 1207 08AE: CALL 0B3
1134 08BF: BSF 0A.3 1208 08AF: BSF 0A.3
1135 08C0: MOVLW 20 1209 08B0: MOVLW 0D
1136 08C1: MOVWF 33 1210 08B1: MOVWF 34
1137 08C2: BCF 0A.3 1211 08B2: BCF 0A.3
1138 08C3: CALL 0B9 1212 08B3: CALL 0B3
1139 08C4: BSF 0A.3 1213 08B4: BSF 0A.3
1140 08C5: MOVLW 0D 1214 08B5: MOVLW 0A
1141 08C6: MOVWF 33 1215 08B6: MOVWF 34
1142 08C7: BCF 0A.3 1216 08B7: BCF 0A.3
1143 08C8: CALL 0B9 1217 08B8: CALL 0B3
1144 08C9: BSF 0A.3 1218 08B9: BSF 0A.3
1145 08CA: MOVLW 0A -  
1146 08CB: MOVWF 33 -  
1147 08CC: BCF 0A.3 -  
1148 08CD: CALL 0B9 -  
1149 08CE: BSF 0A.3 -  
1150 .................... i = 0; -  
1151 08CF: CLRF 21 -  
1152 .................... } -  
1153 .................... delay_ms (500); 1219 .................... delay_ms (500);
1154 08D0: MOVLW 02 1220 08BA: MOVLW 02
1155 08D1: MOVWF 22 1221 08BB: MOVWF 23
1156 08D2: MOVLW FA 1222 08BC: MOVLW FA
1157 08D3: MOVWF 27 1223 08BD: MOVWF 28
1158 08D4: BCF 0A.3 1224 08BE: BCF 0A.3
1159 08D5: CALL 123 1225 08BF: CALL 11D
1160 08D6: BSF 0A.3 1226 08C0: BSF 0A.3
1161 08D7: DECFSZ 22,F 1227 08C1: DECFSZ 23,F
1162 08D8: GOTO 0D2 1228 08C2: GOTO 0BC
1163 .................... printf("Temp: %f \r\n",SHT25_get_temp()); 1229 .................... printf("Temp: %f \r\n",SHT25_get_temp());
1164 08D9: BCF 0A.3 1230 08C3: BCF 0A.3
1165 08DA: GOTO 50B 1231 08C4: GOTO 54B
1166 08DB: BSF 0A.3 1232 08C5: BSF 0A.3
1167 08DC: MOVF 77,W 1233 08C6: MOVF 77,W
1168 08DD: MOVWF 22 1234 08C7: MOVWF 23
1169 08DE: MOVF 78,W 1235 08C8: MOVF 78,W
1170 08DF: MOVWF 23 1236 08C9: MOVWF 24
1171 08E0: MOVF 79,W 1237 08CA: MOVF 79,W
1172 08E1: MOVWF 24 1238 08CB: MOVWF 25
1173 08E2: MOVF 7A,W 1239 08CC: MOVF 7A,W
1174 08E3: MOVWF 25 1240 08CD: MOVWF 26
1175 08E4: MOVLW 2B 1241 08CE: MOVLW 25
1176 08E5: BSF 03.6 1242 08CF: BSF 03.6
1177 08E6: MOVWF 0D 1243 08D0: MOVWF 0D
1178 08E7: MOVLW 00 1244 08D1: MOVLW 00
1179 08E8: MOVWF 0F 1245 08D2: MOVWF 0F
1180 08E9: BCF 03.0 1246 08D3: BCF 03.0
1181 08EA: MOVLW 06 1247 08D4: MOVLW 06
1182 08EB: BCF 03.6 1248 08D5: BCF 03.6
1183 08EC: MOVWF 26 1249 08D6: MOVWF 27
1184 08ED: BCF 0A.3 1250 08D7: BCF 0A.3
1185 08EE: CALL 1FE 1251 08D8: CALL 23E
1186 08EF: BSF 0A.3 1252 08D9: BSF 0A.3
1187 08F0: MOVLW 89 1253 08DA: MOVLW 89
1188 08F1: MOVWF 04 1254 08DB: MOVWF 04
-   1255 08DC: MOVF 26,W
-   1256 08DD: MOVWF 2A
1189 08F2: MOVF 25,W 1257 08DE: MOVF 25,W
1190 08F3: MOVWF 29 1258 08DF: MOVWF 29
1191 08F4: MOVF 24,W 1259 08E0: MOVF 24,W
1192 08F5: MOVWF 28 1260 08E1: MOVWF 28
1193 08F6: MOVF 23,W 1261 08E2: MOVF 23,W
1194 08F7: MOVWF 27 1262 08E3: MOVWF 27
-   1263 08E4: MOVLW 02
-   1264 08E5: MOVWF 2B
-   1265 08E6: BCF 0A.3
-   1266 08E7: CALL 65C
-   1267 08E8: BSF 0A.3
-   1268 08E9: MOVLW 20
-   1269 08EA: MOVWF 34
-   1270 08EB: BCF 0A.3
-   1271 08EC: CALL 0B3
-   1272 08ED: BSF 0A.3
-   1273 08EE: MOVLW 0D
-   1274 08EF: MOVWF 34
-   1275 08F0: BCF 0A.3
-   1276 08F1: CALL 0B3
-   1277 08F2: BSF 0A.3
-   1278 08F3: MOVLW 0A
-   1279 08F4: MOVWF 34
-   1280 08F5: BCF 0A.3
-   1281 08F6: CALL 0B3
-   1282 08F7: BSF 0A.3
-   1283 .................... delay_ms (500);
1195 08F8: MOVF 22,W 1284 08F8: MOVLW 02
1196 08F9: MOVWF 26 1285 08F9: MOVWF 23
1197 08FA: MOVLW 02 1286 08FA: MOVLW FA
1198 08FB: MOVWF 2A 1287 08FB: MOVWF 28
1199 08FC: BCF 0A.3 1288 08FC: BCF 0A.3
1200 08FD: CALL 61A 1289 08FD: CALL 11D
1201 08FE: BSF 0A.3 1290 08FE: BSF 0A.3
1202 08FF: MOVLW 20 1291 08FF: DECFSZ 23,F
1203 0900: MOVWF 33 1292 0900: GOTO 0FA
-   1293 .................... printf("Hum: %f \r\n",SHT25_get_hum());
1204 0901: BCF 0A.3 1294 0901: BCF 0A.3
1205 0902: CALL 0B9 1295 0902: GOTO 743
1206 0903: BSF 0A.3 1296 0903: BSF 0A.3
1207 0904: MOVLW 0D 1297 0904: MOVF 77,W
1208 0905: MOVWF 33 1298 0905: MOVWF 23
1209 0906: BCF 0A.3 1299 0906: MOVF 78,W
1210 0907: CALL 0B9 1300 0907: MOVWF 24
1211 0908: BSF 0A.3 1301 0908: MOVF 79,W
1212 0909: MOVLW 0A 1302 0909: MOVWF 25
1213 090A: MOVWF 33 1303 090A: MOVF 7A,W
1214 090B: BCF 0A.3 1304 090B: MOVWF 26
1215 090C: CALL 0B9 1305 090C: MOVLW 2B
1216 090D: BSF 0A.3 1306 090D: BSF 03.6
1217 .................... delay_ms (500); -  
1218 090E: MOVLW 02 1307 090E: MOVWF 0D
1219 090F: MOVWF 22 1308 090F: MOVLW 00
1220 0910: MOVLW FA 1309 0910: MOVWF 0F
1221 0911: MOVWF 27 1310 0911: BCF 03.0
1222 0912: BCF 0A.3 1311 0912: MOVLW 05
1223 0913: CALL 123 1312 0913: BCF 03.6
1224 0914: BSF 0A.3 1313 0914: MOVWF 27
1225 0915: DECFSZ 22,F 1314 0915: BCF 0A.3
1226 0916: GOTO 110 1315 0916: CALL 23E
1227 .................... printf("Hum: %f \r\n",SHT25_get_hum()); -  
1228 0917: BCF 0A.3 1316 0917: BSF 0A.3
1229 0918: GOTO 701 1317 0918: MOVLW 89
1230 0919: BSF 0A.3 1318 0919: MOVWF 04
1231 091A: MOVF 77,W 1319 091A: MOVF 26,W
1232 091B: MOVWF 22 1320 091B: MOVWF 2A
1233 091C: MOVF 78,W 1321 091C: MOVF 25,W
1234 091D: MOVWF 23 1322 091D: MOVWF 29
1235 091E: MOVF 79,W 1323 091E: MOVF 24,W
1236 091F: MOVWF 24 1324 091F: MOVWF 28
1237 0920: MOVF 7A,W 1325 0920: MOVF 23,W
1238 0921: MOVWF 25 1326 0921: MOVWF 27
1239 0922: MOVLW 31 1327 0922: MOVLW 02
1240 0923: BSF 03.6 1328 0923: MOVWF 2B
1241 0924: MOVWF 0D 1329 0924: BCF 0A.3
1242 0925: MOVLW 00 1330 0925: CALL 65C
1243 0926: MOVWF 0F 1331 0926: BSF 0A.3
1244 0927: BCF 03.0 1332 0927: MOVLW 20
1245 0928: MOVLW 05 1333 0928: MOVWF 34
1246 0929: BCF 03.6 1334 0929: BCF 0A.3
1247 092A: MOVWF 26 1335 092A: CALL 0B3
1248 092B: BCF 0A.3 1336 092B: BSF 0A.3
1249 092C: CALL 1FE 1337 092C: MOVLW 0D
1250 092D: BSF 0A.3 1338 092D: MOVWF 34
1251 092E: MOVLW 89 1339 092E: BCF 0A.3
1252 092F: MOVWF 04 1340 092F: CALL 0B3
1253 0930: MOVF 25,W 1341 0930: BSF 0A.3
1254 0931: MOVWF 29 1342 0931: MOVLW 0A
1255 0932: MOVF 24,W 1343 0932: MOVWF 34
1256 0933: MOVWF 28 1344 0933: BCF 0A.3
1257 0934: MOVF 23,W 1345 0934: CALL 0B3
1258 0935: MOVWF 27 1346 0935: BSF 0A.3
-   1347 .................... delay_ms (1000);
1259 0936: MOVF 22,W 1348 0936: MOVLW 04
1260 0937: MOVWF 26 1349 0937: MOVWF 23
1261 0938: MOVLW 02 1350 0938: MOVLW FA
1262 0939: MOVWF 2A 1351 0939: MOVWF 28
1263 093A: BCF 0A.3 1352 093A: BCF 0A.3
1264 093B: CALL 61A 1353 093B: CALL 11D
1265 093C: BSF 0A.3 1354 093C: BSF 0A.3
1266 093D: MOVLW 20 -  
1267 093E: MOVWF 33 -  
1268 093F: BCF 0A.3 -  
1269 0940: CALL 0B9 -  
1270 0941: BSF 0A.3 -  
1271 0942: MOVLW 0D -  
1272 0943: MOVWF 33 -  
1273 0944: BCF 0A.3 -  
1274 0945: CALL 0B9 -  
1275 0946: BSF 0A.3 -  
1276 0947: MOVLW 0A -  
1277 0948: MOVWF 33 -  
1278 0949: BCF 0A.3 -  
1279 094A: CALL 0B9 -  
1280 094B: BSF 0A.3 -  
1281 .................... delay_ms (1000); -  
1282 094C: MOVLW 04 -  
1283 094D: MOVWF 22 -  
1284 094E: MOVLW FA -  
1285 094F: MOVWF 27 -  
1286 0950: BCF 0A.3 -  
1287 0951: CALL 123 -  
1288 0952: BSF 0A.3 -  
1289 0953: DECFSZ 22,F 1355 093D: DECFSZ 23,F
1290 0954: GOTO 14E 1356 093E: GOTO 138
1291 .................... i++; 1357 .................... i++;
1292 0955: INCF 21,F 1358 093F: INCF 21,F
1293 .................... } 1359 .................... }
1294 0956: GOTO 079 1360 0940: GOTO 079
1295 .................... } 1361 .................... }
1296 .................... 1362 ....................
1297 0957: SLEEP 1363 0941: SLEEP
1298   1364  
1299 Configuration Fuses: 1365 Configuration Fuses:
1300 Word 1: 2CF4 INTRC_IO NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUG 1366 Word 1: 2CF4 INTRC_IO NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUG
1301 Word 2: 3FFF NOWRT BORV40 1367 Word 2: 3FFF NOWRT BORV40