Rev 2908 Rev 2909
Line 1... Line 1...
1 CCS PCM C Compiler, Version 4.106, 47914 13-IV-13 23:28 1 CCS PCM C Compiler, Version 4.106, 47914 14-IV-13 01:31
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: 1145 words (14%) 5 ROM used: 2165 words (26%)
6 Largest free fragment is 2048 6 Largest free fragment is 2048
7 RAM used: 8 (2%) at main() level 7 RAM used: 10 (3%) at main() level
8 29 (8%) worst case 8 36 (10%) worst case
9 Stack: 2 locations 9 Stack: 2 locations
10   10  
11 * 11 *
12 0000: MOVLW 02 12 0000: MOVLW 08
13 0001: MOVWF 0A 13 0001: MOVWF 0A
14 0002: GOTO 28B 14 0002: GOTO 000
15 0003: NOP 15 0003: NOP
16 .................... #include "main.h" 16 .................... #include "main.h"
17 .................... #include <16F887.h> 17 .................... #include <16F887.h>
18 .................... //////// Standard Header file for the PIC16F887 device //////////////// 18 .................... //////// Standard Header file for the PIC16F887 device ////////////////
19 .................... #device PIC16F887 19 .................... #device PIC16F887
20 .................... #list 20 .................... #list
21 .................... 21 ....................
22 .................... #device adc=8 22 .................... #device adc=8
23 .................... 23 ....................
24 .................... #FUSES NOWDT //No Watch Dog Timer 24 .................... #FUSES NOWDT //No Watch Dog Timer
25 .................... #FUSES INTRC //Internal RC Osc 25 .................... #FUSES INTRC_IO //Internal RC Osc
26 .................... #FUSES NOPUT //No Power Up Timer 26 .................... #FUSES NOPUT //No Power Up Timer
27 .................... #FUSES MCLR //Master Clear pin enabled 27 .................... #FUSES MCLR //Master Clear pin enabled
28 .................... #FUSES NOPROTECT //Code not protected from reading 28 .................... #FUSES NOPROTECT //Code not protected from reading
29 .................... #FUSES NOCPD //No EE protection 29 .................... #FUSES NOCPD //No EE protection
30 .................... #FUSES NOBROWNOUT //No brownout reset 30 .................... #FUSES NOBROWNOUT //No brownout reset
Line 35... Line 35...
35 .................... #FUSES NOWRT //Program memory not write protected 35 .................... #FUSES NOWRT //Program memory not write protected
36 .................... #FUSES BORV40 //Brownout reset at 4.0V 36 .................... #FUSES BORV40 //Brownout reset at 4.0V
37 .................... 37 ....................
38 .................... #use delay(clock=8000000) 38 .................... #use delay(clock=8000000)
39 * 39 *
40 0275: MOVLW 2F 40 009A: MOVLW 26
41 0276: MOVWF 04 41 009B: MOVWF 04
42 0277: BCF 03.7 42 009C: BCF 03.7
43 0278: MOVF 00,W 43 009D: MOVF 00,W
44 0279: BTFSC 03.2 44 009E: BTFSC 03.2
45 027A: GOTO 288 45 009F: GOTO 0AD
46 027B: MOVLW 02 46 00A0: MOVLW 02
47 027C: MOVWF 78 47 00A1: MOVWF 78
48 027D: CLRF 77 48 00A2: CLRF 77
49 027E: DECFSZ 77,F 49 00A3: DECFSZ 77,F
50 027F: GOTO 27E 50 00A4: GOTO 0A3
51 0280: DECFSZ 78,F 51 00A5: DECFSZ 78,F
52 0281: GOTO 27D 52 00A6: GOTO 0A2
53 0282: MOVLW 97 53 00A7: MOVLW 97
54 0283: MOVWF 77 54 00A8: MOVWF 77
55 0284: DECFSZ 77,F 55 00A9: DECFSZ 77,F
56 0285: GOTO 284 56 00AA: GOTO 0A9
57 0286: DECFSZ 00,F 57 00AB: DECFSZ 00,F
58 0287: GOTO 27B 58 00AC: GOTO 0A0
59 0288: BCF 0A.3 -  
60 0289: BCF 0A.4 -  
61 028A: GOTO 475 (RETURN) 59 00AD: RETURN
62 .................... 60 ....................
63 .................... #use i2c(master, sda=PIN_C4, scl=PIN_C3) 61 .................... #use i2c(master, sda=PIN_C4, scl=PIN_C3)
64 * -  
65 009B: MOVLW 08 62 00AE: MOVLW 08
66 009C: MOVWF 78 63 00AF: MOVWF 78
67 009D: NOP 64 00B0: NOP
68 009E: BCF 07.3 65 00B1: BCF 07.3
69 009F: BCF 20.3 66 00B2: BCF 20.3
70 00A0: MOVF 20,W 67 00B3: MOVF 20,W
71 00A1: BSF 03.5 68 00B4: BSF 03.5
72 00A2: MOVWF 07 69 00B5: MOVWF 07
73 00A3: NOP 70 00B6: NOP
74 00A4: BCF 03.5 71 00B7: BCF 03.5
75 00A5: RLF 2E,F 72 00B8: RLF 26,F
76 00A6: BCF 07.4 73 00B9: BCF 07.4
77 00A7: BTFSS 03.0 74 00BA: BTFSS 03.0
78 00A8: GOTO 0AF 75 00BB: GOTO 0C2
79 00A9: BSF 20.4 76 00BC: BSF 20.4
80 00AA: MOVF 20,W -  
81 00AB: BSF 03.5 -  
82 00AC: MOVWF 07 -  
83 00AD: GOTO 0B3 -  
84 00AE: BCF 03.5 -  
85 00AF: BCF 20.4 -  
86 00B0: MOVF 20,W 77 00BD: MOVF 20,W
87 00B1: BSF 03.5 78 00BE: BSF 03.5
88 00B2: MOVWF 07 -  
89 00B3: NOP -  
90 00B4: BCF 03.5 -  
91 00B5: BSF 20.3 -  
92 00B6: MOVF 20,W -  
93 00B7: BSF 03.5 -  
94 00B8: MOVWF 07 79 00BF: MOVWF 07
95 00B9: BCF 03.5 -  
96 00BA: BTFSS 07.3 -  
97 00BB: GOTO 0BA -  
98 00BC: DECFSZ 78,F -  
99 00BD: GOTO 09D 80 00C0: GOTO 0C6
100 00BE: NOP -  
101 00BF: BCF 07.3 81 00C1: BCF 03.5
102 00C0: BCF 20.3 82 00C2: BCF 20.4
103 00C1: MOVF 20,W 83 00C3: MOVF 20,W
104 00C2: BSF 03.5 84 00C4: BSF 03.5
105 00C3: MOVWF 07 85 00C5: MOVWF 07
106 00C4: NOP 86 00C6: NOP
107 00C5: BCF 03.5 87 00C7: BCF 03.5
108 00C6: BSF 20.4 88 00C8: BSF 20.3
109 00C7: MOVF 20,W 89 00C9: MOVF 20,W
110 00C8: BSF 03.5 90 00CA: BSF 03.5
111 00C9: MOVWF 07 91 00CB: MOVWF 07
112 00CA: NOP -  
113 00CB: NOP -  
114 00CC: BCF 03.5 92 00CC: BCF 03.5
115 00CD: BSF 20.3 93 00CD: BTFSS 07.3
116 00CE: MOVF 20,W 94 00CE: GOTO 0CD
117 00CF: BSF 03.5 95 00CF: DECFSZ 78,F
118 00D0: MOVWF 07 96 00D0: GOTO 0B0
119 00D1: BCF 03.5 97 00D1: NOP
120 00D2: BTFSS 07.3 98 00D2: BCF 07.3
121 00D3: GOTO 0D2 99 00D3: BCF 20.3
122 00D4: CLRF 78 100 00D4: MOVF 20,W
123 00D5: NOP 101 00D5: BSF 03.5
124 00D6: BTFSC 07.4 102 00D6: MOVWF 07
125 00D7: BSF 78.0 103 00D7: NOP
126 00D8: BCF 07.3 104 00D8: BCF 03.5
127 00D9: BCF 20.3 105 00D9: BSF 20.4
128 00DA: MOVF 20,W 106 00DA: MOVF 20,W
129 00DB: BSF 03.5 107 00DB: BSF 03.5
130 00DC: MOVWF 07 108 00DC: MOVWF 07
131 00DD: BCF 03.5 109 00DD: NOP
-   110 00DE: NOP
132 00DE: BCF 07.4 111 00DF: BCF 03.5
133 00DF: BCF 20.4 112 00E0: BSF 20.3
134 00E0: MOVF 20,W 113 00E1: MOVF 20,W
135 00E1: BSF 03.5 114 00E2: BSF 03.5
136 00E2: MOVWF 07 115 00E3: MOVWF 07
137 00E3: BCF 03.5 116 00E4: BCF 03.5
138 00E4: RETURN -  
139 00E5: MOVLW 08 117 00E5: BTFSS 07.3
140 00E6: MOVWF 2F 118 00E6: GOTO 0E5
141 00E7: MOVF 77,W 119 00E7: CLRF 78
142 00E8: MOVWF 30 120 00E8: NOP
143 00E9: BSF 20.4 121 00E9: BTFSC 07.4
144 00EA: MOVF 20,W 122 00EA: BSF 78.0
145 00EB: BSF 03.5 123 00EB: BCF 07.3
146 00EC: MOVWF 07 124 00EC: BCF 20.3
147 00ED: NOP 125 00ED: MOVF 20,W
148 00EE: BCF 03.5 126 00EE: BSF 03.5
149 00EF: BSF 20.3 127 00EF: MOVWF 07
150 00F0: MOVF 20,W 128 00F0: BCF 03.5
151 00F1: BSF 03.5 129 00F1: BCF 07.4
152 00F2: MOVWF 07 130 00F2: BCF 20.4
153 00F3: BCF 03.5 131 00F3: MOVF 20,W
154 00F4: BTFSS 07.3 132 00F4: BSF 03.5
155 00F5: GOTO 0F4 133 00F5: MOVWF 07
156 00F6: BTFSC 07.4 134 00F6: BCF 03.5
157 00F7: BSF 03.0 135 00F7: RETURN
158 00F8: BTFSS 07.4 136 00F8: MOVLW 08
159 00F9: BCF 03.0 137 00F9: MOVWF 27
160 00FA: RLF 78,F 138 00FA: MOVF 77,W
161 00FB: NOP 139 00FB: MOVWF 28
162 00FC: BCF 20.3 140 00FC: BSF 20.4
163 00FD: MOVF 20,W 141 00FD: MOVF 20,W
164 00FE: BSF 03.5 142 00FE: BSF 03.5
165 00FF: MOVWF 07 143 00FF: MOVWF 07
166 0100: BCF 03.5 144 0100: NOP
167 0101: BCF 07.3 145 0101: BCF 03.5
168 0102: DECFSZ 2F,F 146 0102: BSF 20.3
169 0103: GOTO 0E9 147 0103: MOVF 20,W
170 0104: BSF 20.4 148 0104: BSF 03.5
171 0105: MOVF 20,W 149 0105: MOVWF 07
172 0106: BSF 03.5 150 0106: BCF 03.5
173 0107: MOVWF 07 151 0107: BTFSS 07.3
174 0108: NOP 152 0108: GOTO 107
175 0109: BCF 03.5 153 0109: BTFSC 07.4
176 010A: BCF 07.4 154 010A: BSF 03.0
177 010B: MOVF 30,W 155 010B: BTFSS 07.4
178 010C: BTFSC 03.2 156 010C: BCF 03.0
179 010D: GOTO 113 157 010D: RLF 78,F
-   158 010E: NOP
180 010E: BCF 20.4 159 010F: BCF 20.3
181 010F: MOVF 20,W 160 0110: MOVF 20,W
182 0110: BSF 03.5 161 0111: BSF 03.5
183 0111: MOVWF 07 162 0112: MOVWF 07
184 0112: BCF 03.5 163 0113: BCF 03.5
185 0113: NOP -  
186 0114: BSF 20.3 164 0114: BCF 07.3
187 0115: MOVF 20,W 165 0115: DECFSZ 27,F
188 0116: BSF 03.5 166 0116: GOTO 0FC
189 0117: MOVWF 07 167 0117: BSF 20.4
190 0118: BCF 03.5 168 0118: MOVF 20,W
191 0119: BTFSS 07.3 169 0119: BSF 03.5
192 011A: GOTO 119 170 011A: MOVWF 07
193 011B: NOP 171 011B: NOP
194 011C: BCF 07.3 172 011C: BCF 03.5
195 011D: BCF 20.3 173 011D: BCF 07.4
196 011E: MOVF 20,W 174 011E: MOVF 28,W
-   175 011F: BTFSC 03.2
-   176 0120: GOTO 126
-   177 0121: BCF 20.4
-   178 0122: MOVF 20,W
197 011F: BSF 03.5 179 0123: BSF 03.5
198 0120: MOVWF 07 180 0124: MOVWF 07
-   181 0125: BCF 03.5
199 0121: NOP 182 0126: NOP
-   183 0127: BSF 20.3
-   184 0128: MOVF 20,W
-   185 0129: BSF 03.5
-   186 012A: MOVWF 07
200 0122: BCF 03.5 187 012B: BCF 03.5
-   188 012C: BTFSS 07.3
-   189 012D: GOTO 12C
-   190 012E: NOP
-   191 012F: BCF 07.3
-   192 0130: BCF 20.3
-   193 0131: MOVF 20,W
-   194 0132: BSF 03.5
-   195 0133: MOVWF 07
-   196 0134: NOP
-   197 0135: BCF 03.5
201 0123: BCF 07.4 198 0136: BCF 07.4
202 0124: BCF 20.4 199 0137: BCF 20.4
203 0125: MOVF 20,W 200 0138: MOVF 20,W
204 0126: BSF 03.5 201 0139: BSF 03.5
205 0127: MOVWF 07 202 013A: MOVWF 07
206 0128: BCF 03.5 203 013B: BCF 03.5
207 0129: RETURN 204 013C: RETURN
208 .................... #use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD 205 .................... #use rs232(baud=9600,parity=N,xmit=PIN_B7,rcv=PIN_B6,bits=8) //rcv TXD xmit RXD
209 * 206 *
210 0031: BSF 03.5 207 0030: BSF 03.5
211 0032: BCF 06.3 208 0031: BCF 06.7
212 0033: BCF 03.5 209 0032: BCF 03.5
213 0034: BCF 06.3 210 0033: BCF 06.7
214 0035: MOVLW 08 211 0034: MOVLW 08
215 0036: MOVWF 78 212 0035: MOVWF 78
216 0037: GOTO 038 213 0036: GOTO 037
217 0038: NOP 214 0037: NOP
218 0039: BSF 78.7 215 0038: BSF 78.7
219 003A: GOTO 049 216 0039: GOTO 048
220 003B: BCF 78.7 217 003A: BCF 78.7
221 003C: RRF 37,F 218 003B: RRF 32,F
222 003D: BTFSC 03.0 219 003C: BTFSC 03.0
223 003E: BSF 06.3 220 003D: BSF 06.7
224 003F: BTFSS 03.0 221 003E: BTFSS 03.0
225 0040: BCF 06.3 222 003F: BCF 06.7
226 0041: BSF 78.6 223 0040: BSF 78.6
227 0042: GOTO 049 224 0041: GOTO 048
228 0043: BCF 78.6 225 0042: BCF 78.6
229 0044: DECFSZ 78,F 226 0043: DECFSZ 78,F
230 0045: GOTO 03C 227 0044: GOTO 03B
231 0046: GOTO 047 228 0045: GOTO 046
232 0047: NOP 229 0046: NOP
233 0048: BSF 06.3 230 0047: BSF 06.7
234 0049: MOVLW 3F 231 0048: MOVLW 3F
235 004A: MOVWF 04 232 0049: MOVWF 04
236 004B: DECFSZ 04,F 233 004A: DECFSZ 04,F
237 004C: GOTO 04B 234 004B: GOTO 04A
238 004D: NOP 235 004C: NOP
239 004E: BTFSC 78.7 236 004D: BTFSC 78.7
240 004F: GOTO 03B 237 004E: GOTO 03A
241 0050: BTFSC 78.6 238 004F: BTFSC 78.6
242 0051: GOTO 043 239 0050: GOTO 042
243 0052: RETURN 240 0051: RETURN
244 .................... 241 ....................
245 .................... 242 ....................
246 .................... 243 ....................
247 .................... void main() 244 .................... void SHT25_soft_reset()
248 .................... { 245 .................... {
249 * -  
250 028B: CLRF 04 -  
251 028C: BCF 03.7 -  
252 028D: MOVLW 1F -  
253 028E: ANDWF 03,F -  
254 028F: MOVLW 71 -  
255 0290: BSF 03.5 -  
256 0291: MOVWF 0F -  
257 0292: MOVF 0F,W -  
258 0293: BCF 06.3 -  
259 0294: BCF 03.5 -  
260 0295: BSF 06.3 -  
261 0296: BSF 03.5 -  
262 0297: BSF 03.6 -  
263 0298: MOVF 09,W -  
264 0299: ANDLW C0 -  
265 029A: MOVWF 09 -  
266 029B: BCF 03.6 -  
267 029C: BCF 1F.4 -  
268 029D: BCF 1F.5 -  
269 029E: MOVLW 00 -  
270 029F: BSF 03.6 -  
271 02A0: MOVWF 08 -  
272 02A1: BCF 03.5 -  
273 02A2: CLRF 07 -  
274 02A3: CLRF 08 -  
275 02A4: CLRF 09 -  
276 .................... -  
277 .................... setup_adc_ports(NO_ANALOGS|VSS_VDD); -  
278 * -  
279 02A8: BSF 03.5 -  
280 02A9: BSF 03.6 -  
281 02AA: MOVF 09,W -  
282 02AB: ANDLW C0 -  
283 02AC: MOVWF 09 -  
284 02AD: BCF 03.6 -  
285 02AE: BCF 1F.4 -  
286 02AF: BCF 1F.5 -  
287 02B0: MOVLW 00 -  
288 02B1: BSF 03.6 -  
289 02B2: MOVWF 08 -  
290 .................... setup_adc(ADC_CLOCK_DIV_2); 246 .................... i2c_start(); // Start condition
291 02B3: BCF 03.5 -  
292 02B4: BCF 03.6 -  
293 02B5: BCF 1F.6 -  
294 02B6: BCF 1F.7 -  
295 02B7: BSF 03.5 -  
296 02B8: BCF 1F.7 -  
297 02B9: BCF 03.5 -  
298 02BA: BSF 1F.0 -  
299 .................... setup_spi(SPI_SS_DISABLED); 247 .................... i2c_write(0x80); // Device address
300 02BB: BCF 14.5 -  
301 02BC: BCF 20.5 -  
302 02BD: MOVF 20,W -  
303 02BE: BSF 03.5 -  
304 02BF: MOVWF 07 -  
305 02C0: BCF 03.5 -  
306 02C1: BSF 20.4 -  
307 02C2: MOVF 20,W -  
308 02C3: BSF 03.5 -  
309 02C4: MOVWF 07 -  
310 02C5: BCF 03.5 -  
311 02C6: BCF 20.3 -  
312 02C7: MOVF 20,W -  
313 02C8: BSF 03.5 -  
314 02C9: MOVWF 07 -  
315 02CA: MOVLW 01 -  
316 02CB: BCF 03.5 -  
317 02CC: MOVWF 14 -  
318 02CD: MOVLW 00 -  
319 02CE: BSF 03.5 -  
320 02CF: MOVWF 14 -  
321 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 248 .................... i2c_write(0xFE); // Device command
322 02D0: MOVF 01,W -  
323 02D1: ANDLW C7 -  
324 02D2: IORLW 08 -  
325 02D3: MOVWF 01 -  
326 .................... setup_timer_1(T1_DISABLED); -  
327 02D4: BCF 03.5 -  
328 02D5: CLRF 10 -  
329 .................... setup_timer_2(T2_DISABLED,0,1); 249 .................... i2c_stop(); // Stop condition
330 02D6: MOVLW 00 -  
331 02D7: MOVWF 78 -  
332 02D8: MOVWF 12 -  
333 02D9: MOVLW 00 -  
334 02DA: BSF 03.5 -  
335 02DB: MOVWF 12 -  
336 .................... setup_ccp1(CCP_OFF); -  
337 02DC: BCF 03.5 -  
338 02DD: BSF 20.2 -  
339 02DE: MOVF 20,W -  
340 02DF: BSF 03.5 -  
341 02E0: MOVWF 07 -  
342 02E1: BCF 03.5 -  
343 02E2: CLRF 17 -  
344 02E3: BSF 03.5 -  
345 02E4: CLRF 1B -  
346 02E5: CLRF 1C -  
347 02E6: MOVLW 01 -  
348 02E7: MOVWF 1D -  
349 .................... setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard -  
350 02E8: BCF 03.5 -  
351 02E9: BSF 03.6 -  
352 02EA: CLRF 07 -  
353 02EB: CLRF 08 -  
354 02EC: CLRF 09 -  
355 .................... 250 .................... }
356 .................... printf("Simple Thermomether \r\n",); -  
357 02ED: MOVLW 04 -  
358 02EE: MOVWF 0D -  
359 02EF: MOVLW 00 -  
360 02F0: MOVWF 0F -  
361 02F1: BCF 03.6 -  
362 02F2: GOTO 053 -  
363 .................... 251 ....................
364 .................... int16 data1, data2, data3; 252 .................... unsigned int8 SHT25_setup()
-   253 .................... {
-   254 .................... unsigned int8 reg;
365 .................... 255 ....................
-   256 .................... i2c_start(); // Start condition
-   257 *
-   258 013D: BSF 20.4
-   259 013E: MOVF 20,W
-   260 013F: BSF 03.5
-   261 0140: MOVWF 07
-   262 0141: NOP
-   263 0142: BCF 03.5
-   264 0143: BSF 20.3
-   265 0144: MOVF 20,W
-   266 0145: BSF 03.5
-   267 0146: MOVWF 07
-   268 0147: NOP
-   269 0148: BCF 03.5
-   270 0149: BCF 07.4
-   271 014A: BCF 20.4
-   272 014B: MOVF 20,W
-   273 014C: BSF 03.5
-   274 014D: MOVWF 07
-   275 014E: NOP
-   276 014F: BCF 03.5
-   277 0150: BCF 07.3
-   278 0151: BCF 20.3
-   279 0152: MOVF 20,W
-   280 0153: BSF 03.5
-   281 0154: MOVWF 07
-   282 .................... i2c_write(0x80); // Device address
-   283 0155: MOVLW 80
-   284 0156: BCF 03.5
-   285 0157: MOVWF 26
-   286 0158: CALL 0AE
-   287 .................... i2c_write(0xE7); // Device command
-   288 0159: MOVLW E7
-   289 015A: MOVWF 26
-   290 015B: CALL 0AE
-   291 .................... // i2c_stop(); // Stop condition
-   292 ....................
-   293 .................... i2c_start(); // Start condition
-   294 015C: BSF 20.4
-   295 015D: MOVF 20,W
-   296 015E: BSF 03.5
-   297 015F: MOVWF 07
-   298 0160: NOP
-   299 0161: BCF 03.5
-   300 0162: BSF 20.3
-   301 0163: MOVF 20,W
-   302 0164: BSF 03.5
-   303 0165: MOVWF 07
-   304 0166: NOP
-   305 0167: BCF 03.5
-   306 0168: BTFSS 07.3
-   307 0169: GOTO 168
-   308 016A: BCF 07.4
-   309 016B: BCF 20.4
-   310 016C: MOVF 20,W
-   311 016D: BSF 03.5
-   312 016E: MOVWF 07
-   313 016F: NOP
-   314 0170: BCF 03.5
-   315 0171: BCF 07.3
-   316 0172: BCF 20.3
-   317 0173: MOVF 20,W
-   318 0174: BSF 03.5
-   319 0175: MOVWF 07
-   320 .................... i2c_write(0x81); // Device address
-   321 0176: MOVLW 81
-   322 0177: BCF 03.5
-   323 0178: MOVWF 26
-   324 0179: CALL 0AE
-   325 .................... reg=i2c_read(0); // Device command
-   326 017A: CLRF 77
-   327 017B: CALL 0F8
-   328 017C: MOVF 78,W
-   329 017D: MOVWF 21
366 .................... int XL,XH,YL,YH,ZL,ZH; 330 .................... i2c_stop(); // Stop condition
-   331 017E: BCF 20.4
-   332 017F: MOVF 20,W
-   333 0180: BSF 03.5
-   334 0181: MOVWF 07
-   335 0182: NOP
-   336 0183: BCF 03.5
-   337 0184: BSF 20.3
-   338 0185: MOVF 20,W
-   339 0186: BSF 03.5
-   340 0187: MOVWF 07
-   341 0188: BCF 03.5
-   342 0189: BTFSS 07.3
-   343 018A: GOTO 189
-   344 018B: NOP
-   345 018C: GOTO 18D
-   346 018D: NOP
-   347 018E: BSF 20.4
-   348 018F: MOVF 20,W
-   349 0190: BSF 03.5
-   350 0191: MOVWF 07
-   351 0192: NOP
367 .................... 352 ....................
368 .................... while(TRUE) 353 .................... return (reg);
-   354 0193: BCF 03.5
-   355 0194: MOVF 21,W
-   356 0195: MOVWF 78
369 .................... { 357 .................... }
-   358 0196: BSF 0A.3
-   359 0197: BCF 0A.4
-   360 0198: GOTO 075 (RETURN)
370 .................... 361 ....................
371 .................... data1=0; -  
372 02F3: CLRF 22 -  
373 02F4: CLRF 21 -  
374 .................... data2=0 ; 362 .................... float SHT25_get_temp()
375 02F5: CLRF 24 -  
376 02F6: CLRF 23 -  
377 .................... -  
378 .................... 363 .................... {
379 .................... //akcelerometr -  
380 .................... int1 ack; 364 .................... unsigned int8 MSB, LSB, Check;
381 .................... i2c_start(); // If the write command is acknowledged, -  
382 02F7: BSF 20.4 -  
383 02F8: MOVF 20,W -  
384 02F9: BSF 03.5 -  
385 02FA: MOVWF 07 -  
386 02FB: NOP -  
387 02FC: BCF 03.5 -  
388 02FD: BSF 20.3 -  
389 02FE: MOVF 20,W -  
390 02FF: BSF 03.5 -  
391 0300: MOVWF 07 -  
392 0301: NOP -  
393 0302: BCF 03.5 -  
394 0303: BCF 07.4 -  
395 0304: BCF 20.4 -  
396 0305: MOVF 20,W -  
397 0306: BSF 03.5 -  
398 0307: MOVWF 07 -  
399 0308: NOP -  
400 0309: BCF 03.5 -  
401 030A: BCF 07.3 -  
402 030B: BCF 20.3 -  
403 030C: MOVF 20,W -  
404 030D: BSF 03.5 -  
405 030E: MOVWF 07 -  
406 .................... ack = i2c_write(0x81);//hen the device is ready. -  
407 030F: MOVLW 81 -  
408 0310: BCF 03.5 -  
409 0311: MOVWF 2E -  
410 0312: CALL 09B -  
411 0313: MOVF 78,W -  
412 0314: BCF 2D.0 -  
413 0315: BTFSC 78.0 -  
414 0316: BSF 2D.0 -  
415 .................... i2c_stop(); 365 .................... unsigned int16 data;
416 0317: BCF 20.4 -  
417 0318: MOVF 20,W -  
418 0319: BSF 03.5 -  
419 031A: MOVWF 07 -  
420 031B: NOP -  
421 031C: BCF 03.5 -  
422 031D: BSF 20.3 -  
423 031E: MOVF 20,W -  
424 031F: BSF 03.5 -  
425 0320: MOVWF 07 -  
426 0321: BCF 03.5 -  
427 0322: BTFSS 07.3 -  
428 0323: GOTO 322 -  
429 0324: NOP -  
430 0325: GOTO 326 -  
431 0326: NOP -  
432 0327: BSF 20.4 -  
433 0328: MOVF 20,W -  
434 0329: BSF 03.5 -  
435 032A: MOVWF 07 -  
436 032B: NOP -  
437 .................... ack=!ack; -  
438 032C: MOVLW 01 -  
439 032D: BCF 03.5 -  
440 032E: XORWF 2D,F -  
441 .................... -  
442 .................... -  
443 .................... -  
444 .................... i2c_stop(); //T -  
445 032F: BCF 20.4 -  
446 0330: MOVF 20,W -  
447 0331: BSF 03.5 -  
448 0332: MOVWF 07 -  
449 0333: NOP -  
450 0334: BCF 03.5 -  
451 0335: BSF 20.3 -  
452 0336: MOVF 20,W -  
453 0337: BSF 03.5 -  
454 0338: MOVWF 07 -  
455 0339: BCF 03.5 -  
456 033A: BTFSS 07.3 -  
457 033B: GOTO 33A -  
458 033C: NOP -  
459 033D: GOTO 33E -  
460 033E: NOP -  
461 033F: BSF 20.4 -  
462 0340: MOVF 20,W -  
463 0341: BSF 03.5 -  
464 0342: MOVWF 07 -  
465 0343: NOP -  
466 .................... 366 ....................
467 .................... i2c_start(); 367 .................... i2c_start();
468 0344: BCF 03.5 368 *
469 0345: BSF 20.4 369 04A8: BSF 20.4
470 0346: MOVF 20,W 370 04A9: MOVF 20,W
471 0347: BSF 03.5 371 04AA: BSF 03.5
472 0348: MOVWF 07 372 04AB: MOVWF 07
473 0349: NOP 373 04AC: NOP
474 034A: BCF 03.5 374 04AD: BCF 03.5
475 034B: BSF 20.3 375 04AE: BSF 20.3
476 034C: MOVF 20,W 376 04AF: MOVF 20,W
477 034D: BSF 03.5 377 04B0: BSF 03.5
478 034E: MOVWF 07 378 04B1: MOVWF 07
479 034F: NOP 379 04B2: NOP
480 0350: BCF 03.5 380 04B3: BCF 03.5
481 0351: BCF 07.4 381 04B4: BCF 07.4
482 0352: BCF 20.4 382 04B5: BCF 20.4
483 0353: MOVF 20,W 383 04B6: MOVF 20,W
484 0354: BSF 03.5 384 04B7: BSF 03.5
485 0355: MOVWF 07 385 04B8: MOVWF 07
486 0356: NOP 386 04B9: NOP
487 0357: BCF 03.5 387 04BA: BCF 03.5
488 0358: BCF 07.3 388 04BB: BCF 07.3
489 0359: BCF 20.3 389 04BC: BCF 20.3
490 035A: MOVF 20,W 390 04BD: MOVF 20,W
491 035B: BSF 03.5 391 04BE: BSF 03.5
492 035C: MOVWF 07 392 04BF: MOVWF 07
493 .................... I2C_Write(0x80); 393 .................... I2C_Write(0x80);
494 035D: MOVLW 80 394 04C0: MOVLW 80
495 035E: BCF 03.5 395 04C1: BCF 03.5
496 035F: MOVWF 2E 396 04C2: MOVWF 26
497 0360: CALL 09B 397 04C3: CALL 0AE
498 .................... I2C_write(0xF3); 398 .................... I2C_write(0xE3);
499 0361: MOVLW F3 399 04C4: MOVLW E3
500 0362: MOVWF 2E 400 04C5: MOVWF 26
501 0363: CALL 09B 401 04C6: CALL 0AE
502 .................... // i2c_stop(); 402 .................... i2c_stop();
-   403 04C7: BCF 20.4
-   404 04C8: MOVF 20,W
-   405 04C9: BSF 03.5
-   406 04CA: MOVWF 07
-   407 04CB: NOP
-   408 04CC: BCF 03.5
-   409 04CD: BSF 20.3
-   410 04CE: MOVF 20,W
-   411 04CF: BSF 03.5
-   412 04D0: MOVWF 07
-   413 04D1: BCF 03.5
-   414 04D2: BTFSS 07.3
-   415 04D3: GOTO 4D2
-   416 04D4: NOP
-   417 04D5: GOTO 4D6
-   418 04D6: NOP
-   419 04D7: BSF 20.4
-   420 04D8: MOVF 20,W
-   421 04D9: BSF 03.5
-   422 04DA: MOVWF 07
-   423 04DB: NOP
-   424 ....................
-   425 .................... delay_ms(100);
-   426 04DC: MOVLW 64
-   427 04DD: BCF 03.5
-   428 04DE: MOVWF 26
-   429 04DF: CALL 09A
-   430 ....................
503 .................... i2c_start(); 431 .................... i2c_start();
504 0364: BSF 20.4 432 04E0: BSF 20.4
505 0365: MOVF 20,W 433 04E1: MOVF 20,W
506 0366: BSF 03.5 434 04E2: BSF 03.5
507 0367: MOVWF 07 435 04E3: MOVWF 07
508 0368: NOP 436 04E4: NOP
509 0369: BCF 03.5 437 04E5: BCF 03.5
510 036A: BSF 20.3 438 04E6: BSF 20.3
511 036B: MOVF 20,W 439 04E7: MOVF 20,W
512 036C: BSF 03.5 440 04E8: BSF 03.5
513 036D: MOVWF 07 441 04E9: MOVWF 07
514 036E: NOP 442 04EA: NOP
515 036F: BCF 03.5 443 04EB: BCF 03.5
516 0370: BTFSS 07.3 -  
517 0371: GOTO 370 -  
518 0372: BCF 07.4 444 04EC: BCF 07.4
519 0373: BCF 20.4 445 04ED: BCF 20.4
520 0374: MOVF 20,W 446 04EE: MOVF 20,W
521 0375: BSF 03.5 447 04EF: BSF 03.5
522 0376: MOVWF 07 448 04F0: MOVWF 07
523 0377: NOP 449 04F1: NOP
524 0378: BCF 03.5 450 04F2: BCF 03.5
525 0379: BCF 07.3 451 04F3: BCF 07.3
526 037A: BCF 20.3 452 04F4: BCF 20.3
527 037B: MOVF 20,W 453 04F5: MOVF 20,W
528 037C: BSF 03.5 454 04F6: BSF 03.5
529 037D: MOVWF 07 455 04F7: MOVWF 07
530 .................... I2C_Write(0x81); 456 .................... I2C_Write(0x81);
531 037E: MOVLW 81 457 04F8: MOVLW 81
532 037F: BCF 03.5 458 04F9: BCF 03.5
533 0380: MOVWF 2E 459 04FA: MOVWF 26
-   460 04FB: CALL 0AE
-   461 .................... MSB=i2c_read(1);
-   462 04FC: MOVLW 01
-   463 04FD: MOVWF 77
534 0381: CALL 09B 464 04FE: CALL 0F8
-   465 04FF: MOVF 78,W
-   466 0500: MOVWF 21
535 .................... XH=i2c_read(0); 467 .................... LSB=i2c_read(1);
-   468 0501: MOVLW 01
536 0382: CLRF 77 469 0502: MOVWF 77
537 0383: CALL 0E5 470 0503: CALL 0F8
538 0384: MOVF 78,W 471 0504: MOVF 78,W
539 0385: MOVWF 28 472 0505: MOVWF 22
540 .................... XL=i2c_read(0); 473 .................... Check=i2c_read(0);
541 0386: CLRF 77 474 0506: CLRF 77
542 0387: CALL 0E5 475 0507: CALL 0F8
543 0388: MOVF 78,W 476 0508: MOVF 78,W
544 0389: MOVWF 27 477 0509: MOVWF 23
545 .................... i2c_stop(); 478 .................... i2c_stop();
546 038A: BCF 20.4 479 050A: BCF 20.4
547 038B: MOVF 20,W 480 050B: MOVF 20,W
548 038C: BSF 03.5 481 050C: BSF 03.5
549 038D: MOVWF 07 482 050D: MOVWF 07
550 038E: NOP 483 050E: NOP
551 038F: BCF 03.5 484 050F: BCF 03.5
552 0390: BSF 20.3 485 0510: BSF 20.3
553 0391: MOVF 20,W 486 0511: MOVF 20,W
554 0392: BSF 03.5 487 0512: BSF 03.5
555 0393: MOVWF 07 488 0513: MOVWF 07
556 0394: BCF 03.5 489 0514: BCF 03.5
557 0395: BTFSS 07.3 490 0515: BTFSS 07.3
558 0396: GOTO 395 491 0516: GOTO 515
559 0397: NOP 492 0517: NOP
560 0398: GOTO 399 493 0518: GOTO 519
561 0399: NOP 494 0519: NOP
562 039A: BSF 20.4 495 051A: BSF 20.4
563 039B: MOVF 20,W 496 051B: MOVF 20,W
564 039C: BSF 03.5 497 051C: BSF 03.5
565 039D: MOVWF 07 498 051D: MOVWF 07
566 039E: NOP 499 051E: NOP
-   500 ....................
-   501 .................... LSB = LSB >> 2; // trow out status bits
-   502 051F: BCF 03.5
-   503 0520: RRF 22,F
-   504 0521: RRF 22,F
-   505 0522: MOVLW 3F
-   506 0523: ANDWF 22,F
-   507 ....................
-   508 .................... data = (((unsigned int16) MSB << 8) + (LSB << 4));
-   509 0524: CLRF 27
-   510 0525: MOVF 21,W
-   511 0526: MOVWF 26
-   512 0527: MOVWF 27
-   513 0528: CLRF 26
-   514 0529: SWAPF 22,W
-   515 052A: MOVWF 77
-   516 052B: MOVLW F0
-   517 052C: ANDWF 77,F
-   518 052D: MOVF 77,W
-   519 052E: ADDWF 26,W
-   520 052F: MOVWF 24
-   521 0530: MOVF 27,W
-   522 0531: MOVWF 25
-   523 0532: BTFSC 03.0
-   524 0533: INCF 25,F
-   525 .................... return(-46.85 + 175.72*((float)data/0xFFFF));
-   526 0534: MOVF 25,W
-   527 0535: MOVWF 27
-   528 0536: MOVF 24,W
-   529 0537: MOVWF 26
-   530 0538: CALL 20B
-   531 0539: MOVF 77,W
-   532 053A: MOVWF 26
-   533 053B: MOVF 78,W
-   534 053C: MOVWF 27
-   535 053D: MOVF 79,W
-   536 053E: MOVWF 28
-   537 053F: MOVF 7A,W
-   538 0540: MOVWF 29
-   539 0541: MOVWF 2D
-   540 0542: MOVF 79,W
-   541 0543: MOVWF 2C
-   542 0544: MOVF 78,W
-   543 0545: MOVWF 2B
-   544 0546: MOVF 77,W
-   545 0547: MOVWF 2A
-   546 0548: CLRF 31
-   547 0549: MOVLW FF
-   548 054A: MOVWF 30
-   549 054B: MOVLW 7F
-   550 054C: MOVWF 2F
-   551 054D: MOVLW 8E
-   552 054E: MOVWF 2E
-   553 054F: CALL 228
-   554 0550: MOVLW 52
-   555 0551: MOVWF 35
-   556 0552: MOVLW B8
-   557 0553: MOVWF 34
-   558 0554: MOVLW 2F
-   559 0555: MOVWF 33
-   560 0556: MOVLW 86
-   561 0557: MOVWF 32
-   562 0558: MOVF 7A,W
-   563 0559: MOVWF 39
-   564 055A: MOVF 79,W
-   565 055B: MOVWF 38
-   566 055C: MOVF 78,W
-   567 055D: MOVWF 37
-   568 055E: MOVF 77,W
-   569 055F: MOVWF 36
-   570 0560: CALL 2F2
-   571 0561: BCF 03.1
-   572 0562: MOVLW 66
-   573 0563: MOVWF 29
-   574 0564: MOVWF 28
-   575 0565: MOVLW BB
-   576 0566: MOVWF 27
-   577 0567: MOVLW 84
-   578 0568: MOVWF 26
-   579 0569: MOVF 7A,W
-   580 056A: MOVWF 2D
-   581 056B: MOVF 79,W
-   582 056C: MOVWF 2C
-   583 056D: MOVF 78,W
-   584 056E: MOVWF 2B
-   585 056F: MOVF 77,W
-   586 0570: MOVWF 2A
-   587 0571: CALL 367
-   588 .................... }
-   589 0572: BSF 0A.3
-   590 0573: BCF 0A.4
-   591 0574: GOTO 0A5 (RETURN)
567 .................... 592 ....................
-   593 .................... float SHT25_get_hum()
568 .................... 594 .................... {
-   595 .................... unsigned int8 MSB, LSB, Check;
569 .................... i2c_start(); //RH 596 .................... unsigned int16 data;
570 039F: BCF 03.5 597 ....................
-   598 .................... i2c_start(); //RH
-   599 *
571 03A0: BSF 20.4 600 069E: BSF 20.4
572 03A1: MOVF 20,W 601 069F: MOVF 20,W
573 03A2: BSF 03.5 602 06A0: BSF 03.5
574 03A3: MOVWF 07 603 06A1: MOVWF 07
575 03A4: NOP 604 06A2: NOP
576 03A5: BCF 03.5 605 06A3: BCF 03.5
577 03A6: BSF 20.3 606 06A4: BSF 20.3
578 03A7: MOVF 20,W 607 06A5: MOVF 20,W
579 03A8: BSF 03.5 608 06A6: BSF 03.5
580 03A9: MOVWF 07 609 06A7: MOVWF 07
581 03AA: NOP 610 06A8: NOP
582 03AB: BCF 03.5 611 06A9: BCF 03.5
583 03AC: BCF 07.4 612 06AA: BCF 07.4
584 03AD: BCF 20.4 613 06AB: BCF 20.4
585 03AE: MOVF 20,W 614 06AC: MOVF 20,W
586 03AF: BSF 03.5 615 06AD: BSF 03.5
587 03B0: MOVWF 07 616 06AE: MOVWF 07
588 03B1: NOP 617 06AF: NOP
589 03B2: BCF 03.5 618 06B0: BCF 03.5
590 03B3: BCF 07.3 619 06B1: BCF 07.3
591 03B4: BCF 20.3 620 06B2: BCF 20.3
592 03B5: MOVF 20,W 621 06B3: MOVF 20,W
593 03B6: BSF 03.5 622 06B4: BSF 03.5
594 03B7: MOVWF 07 623 06B5: MOVWF 07
595 .................... I2C_Write(0x80); 624 .................... I2C_Write(0x80);
596 03B8: MOVLW 80 625 06B6: MOVLW 80
597 03B9: BCF 03.5 626 06B7: BCF 03.5
598 03BA: MOVWF 2E 627 06B8: MOVWF 26
599 03BB: CALL 09B 628 06B9: CALL 0AE
600 .................... I2C_write(0xF5); 629 .................... I2C_write(0xE5);
601 03BC: MOVLW F5 630 06BA: MOVLW E5
602 03BD: MOVWF 2E 631 06BB: MOVWF 26
603 03BE: CALL 09B 632 06BC: CALL 0AE
604 .................... // i2c_stop(); 633 .................... // i2c_stop();
-   634 ....................
-   635 .................... delay_ms(100);
-   636 06BD: MOVLW 64
-   637 06BE: MOVWF 26
-   638 06BF: CALL 09A
-   639 ....................
605 .................... i2c_start(); 640 .................... i2c_start();
606 03BF: BSF 20.4 641 06C0: BSF 20.4
607 03C0: MOVF 20,W 642 06C1: MOVF 20,W
608 03C1: BSF 03.5 643 06C2: BSF 03.5
609 03C2: MOVWF 07 644 06C3: MOVWF 07
610 03C3: NOP 645 06C4: NOP
611 03C4: BCF 03.5 646 06C5: BCF 03.5
612 03C5: BSF 20.3 647 06C6: BSF 20.3
613 03C6: MOVF 20,W 648 06C7: MOVF 20,W
614 03C7: BSF 03.5 649 06C8: BSF 03.5
615 03C8: MOVWF 07 650 06C9: MOVWF 07
616 03C9: NOP 651 06CA: NOP
617 03CA: BCF 03.5 652 06CB: BCF 03.5
618 03CB: BTFSS 07.3 653 06CC: BTFSS 07.3
619 03CC: GOTO 3CB 654 06CD: GOTO 6CC
620 03CD: BCF 07.4 655 06CE: BCF 07.4
621 03CE: BCF 20.4 656 06CF: BCF 20.4
622 03CF: MOVF 20,W 657 06D0: MOVF 20,W
623 03D0: BSF 03.5 658 06D1: BSF 03.5
624 03D1: MOVWF 07 659 06D2: MOVWF 07
625 03D2: NOP 660 06D3: NOP
626 03D3: BCF 03.5 661 06D4: BCF 03.5
627 03D4: BCF 07.3 662 06D5: BCF 07.3
628 03D5: BCF 20.3 663 06D6: BCF 20.3
629 03D6: MOVF 20,W 664 06D7: MOVF 20,W
630 03D7: BSF 03.5 665 06D8: BSF 03.5
631 03D8: MOVWF 07 666 06D9: MOVWF 07
632 .................... I2C_Write(0x81); 667 .................... I2C_Write(0x81);
633 03D9: MOVLW 81 668 06DA: MOVLW 81
634 03DA: BCF 03.5 669 06DB: BCF 03.5
635 03DB: MOVWF 2E 670 06DC: MOVWF 26
636 03DC: CALL 09B 671 06DD: CALL 0AE
637 .................... YH=i2c_read(0); 672 .................... MSB=i2c_read(1);
-   673 06DE: MOVLW 01
638 03DD: CLRF 77 674 06DF: MOVWF 77
639 03DE: CALL 0E5 675 06E0: CALL 0F8
640 03DF: MOVF 78,W 676 06E1: MOVF 78,W
641 03E0: MOVWF 2A 677 06E2: MOVWF 21
642 .................... YL=i2c_read(0); 678 .................... LSB=i2c_read(1);
-   679 06E3: MOVLW 01
-   680 06E4: MOVWF 77
-   681 06E5: CALL 0F8
-   682 06E6: MOVF 78,W
-   683 06E7: MOVWF 22
-   684 .................... Check=i2c_read(0);
643 03E1: CLRF 77 685 06E8: CLRF 77
644 03E2: CALL 0E5 686 06E9: CALL 0F8
645 03E3: MOVF 78,W 687 06EA: MOVF 78,W
646 03E4: MOVWF 29 688 06EB: MOVWF 23
647 .................... i2c_stop(); 689 .................... i2c_stop();
648 03E5: BCF 20.4 690 06EC: BCF 20.4
649 03E6: MOVF 20,W 691 06ED: MOVF 20,W
650 03E7: BSF 03.5 692 06EE: BSF 03.5
651 03E8: MOVWF 07 693 06EF: MOVWF 07
652 03E9: NOP 694 06F0: NOP
653 03EA: BCF 03.5 695 06F1: BCF 03.5
654 03EB: BSF 20.3 696 06F2: BSF 20.3
655 03EC: MOVF 20,W 697 06F3: MOVF 20,W
656 03ED: BSF 03.5 698 06F4: BSF 03.5
657 03EE: MOVWF 07 699 06F5: MOVWF 07
658 03EF: BCF 03.5 700 06F6: BCF 03.5
659 03F0: BTFSS 07.3 701 06F7: BTFSS 07.3
660 03F1: GOTO 3F0 702 06F8: GOTO 6F7
661 03F2: NOP 703 06F9: NOP
662 03F3: GOTO 3F4 704 06FA: GOTO 6FB
663 03F4: NOP 705 06FB: NOP
664 03F5: BSF 20.4 706 06FC: BSF 20.4
665 03F6: MOVF 20,W 707 06FD: MOVF 20,W
666 03F7: BSF 03.5 708 06FE: BSF 03.5
667 03F8: MOVWF 07 709 06FF: MOVWF 07
668 03F9: NOP 710 0700: NOP
-   711 ....................
-   712 .................... // printf("%X %X %X\r\n",MSB, LSB, Check);
-   713 ....................
-   714 .................... LSB = LSB >> 2; // trow out status bits
-   715 0701: BCF 03.5
-   716 0702: RRF 22,F
-   717 0703: RRF 22,F
-   718 0704: MOVLW 3F
-   719 0705: ANDWF 22,F
669 .................... 720 ....................
-   721 .................... data = (((unsigned int16) MSB << 8) + (LSB << 4) );
-   722 0706: CLRF 27
-   723 0707: MOVF 21,W
-   724 0708: MOVWF 26
-   725 0709: MOVWF 27
-   726 070A: CLRF 26
-   727 070B: SWAPF 22,W
-   728 070C: MOVWF 77
-   729 070D: MOVLW F0
-   730 070E: ANDWF 77,F
-   731 070F: MOVF 77,W
-   732 0710: ADDWF 26,W
-   733 0711: MOVWF 24
-   734 0712: MOVF 27,W
-   735 0713: MOVWF 25
-   736 0714: BTFSC 03.0
-   737 0715: INCF 25,F
-   738 .................... return( -6.0 + 125.0*((float)data/0xFFFF));
-   739 0716: MOVF 25,W
-   740 0717: MOVWF 27
-   741 0718: MOVF 24,W
-   742 0719: MOVWF 26
-   743 071A: CALL 20B
-   744 071B: MOVF 77,W
-   745 071C: MOVWF 26
-   746 071D: MOVF 78,W
-   747 071E: MOVWF 27
-   748 071F: MOVF 79,W
-   749 0720: MOVWF 28
-   750 0721: MOVF 7A,W
-   751 0722: MOVWF 29
-   752 0723: MOVWF 2D
-   753 0724: MOVF 79,W
-   754 0725: MOVWF 2C
-   755 0726: MOVF 78,W
-   756 0727: MOVWF 2B
-   757 0728: MOVF 77,W
-   758 0729: MOVWF 2A
-   759 072A: CLRF 31
-   760 072B: MOVLW FF
-   761 072C: MOVWF 30
-   762 072D: MOVLW 7F
-   763 072E: MOVWF 2F
-   764 072F: MOVLW 8E
-   765 0730: MOVWF 2E
-   766 0731: CALL 228
-   767 0732: CLRF 35
-   768 0733: CLRF 34
-   769 0734: MOVLW 7A
-   770 0735: MOVWF 33
-   771 0736: MOVLW 85
-   772 0737: MOVWF 32
-   773 0738: MOVF 7A,W
-   774 0739: MOVWF 39
-   775 073A: MOVF 79,W
-   776 073B: MOVWF 38
-   777 073C: MOVF 78,W
-   778 073D: MOVWF 37
-   779 073E: MOVF 77,W
-   780 073F: MOVWF 36
-   781 0740: CALL 2F2
-   782 0741: BCF 03.1
-   783 0742: CLRF 29
-   784 0743: CLRF 28
-   785 0744: MOVLW C0
-   786 0745: MOVWF 27
-   787 0746: MOVLW 81
-   788 0747: MOVWF 26
-   789 0748: MOVF 7A,W
-   790 0749: MOVWF 2D
-   791 074A: MOVF 79,W
-   792 074B: MOVWF 2C
-   793 074C: MOVF 78,W
-   794 074D: MOVWF 2B
-   795 074E: MOVF 77,W
-   796 074F: MOVWF 2A
-   797 0750: CALL 367
-   798 .................... }
-   799 0751: BSF 0A.3
-   800 0752: BCF 0A.4
-   801 0753: GOTO 0E3 (RETURN)
670 .................... 802 ....................
671 .................... -  
672 .................... data1 = (((unsigned int16) XH << 8) + XL>>2 ); -  
673 03FA: BCF 03.5 -  
674 03FB: CLRF 2F -  
675 03FC: MOVF 28,W -  
676 03FD: MOVWF 2E -  
677 03FE: MOVWF 2F -  
678 03FF: CLRF 2E -  
679 0400: MOVF 27,W -  
680 0401: ADDWF 2E,F -  
681 0402: BTFSC 03.0 -  
682 0403: INCF 2F,F -  
683 0404: RRF 2F,W -  
684 0405: MOVWF 22 -  
685 0406: RRF 2E,W -  
686 0407: MOVWF 21 -  
687 0408: RRF 22,F -  
688 0409: RRF 21,F -  
689 040A: MOVLW 3F -  
690 040B: ANDWF 22,F -  
691 .................... data2 = (((unsigned int16) YH << 8) + YL>>2); -  
692 040C: CLRF 2F -  
693 040D: MOVF 2A,W -  
694 040E: MOVWF 2E -  
695 040F: MOVWF 2F -  
696 0410: CLRF 2E -  
697 0411: MOVF 29,W -  
698 0412: ADDWF 2E,F -  
699 0413: BTFSC 03.0 -  
700 0414: INCF 2F,F -  
701 0415: RRF 2F,W -  
702 0416: MOVWF 24 -  
703 0417: RRF 2E,W -  
704 0418: MOVWF 23 -  
705 0419: RRF 24,F -  
706 041A: RRF 23,F -  
707 041B: MOVLW 3F -  
708 041C: ANDWF 24,F -  
709 .................... -  
710 .................... -  
711 .................... printf("Stav: %d (procenta)\r\n", ack); -  
712 041D: MOVLW 00 -  
713 041E: BTFSC 2D.0 -  
714 041F: MOVLW 01 -  
715 0420: MOVWF 2E -  
716 0421: MOVLW 10 -  
717 0422: BSF 03.6 -  
718 0423: MOVWF 0D -  
719 0424: MOVLW 00 -  
720 0425: MOVWF 0F -  
721 0426: BCF 03.0 -  
722 0427: MOVLW 06 -  
723 0428: BCF 03.6 -  
724 0429: MOVWF 2F -  
725 042A: CALL 12A -  
726 042B: MOVF 2E,W -  
727 042C: MOVWF 2F -  
728 042D: MOVLW 1F -  
729 042E: MOVWF 30 -  
730 042F: GOTO 18E -  
731 0430: MOVLW 14 -  
732 0431: BSF 03.6 -  
733 0432: MOVWF 0D -  
734 0433: MOVLW 00 -  
735 0434: MOVWF 0F -  
736 0435: BCF 03.0 -  
737 0436: MOVLW 0D -  
738 0437: BCF 03.6 -  
739 0438: MOVWF 2F -  
740 0439: CALL 12A -  
741 .................... -  
742 .................... printf("Stav: %Ld(procenta)\r\n", data1); -  
743 043A: MOVLW 1B -  
744 043B: BSF 03.6 -  
745 043C: MOVWF 0D -  
746 043D: MOVLW 00 -  
747 043E: MOVWF 0F -  
748 043F: BCF 03.0 -  
749 0440: MOVLW 06 -  
750 0441: BCF 03.6 -  
751 0442: MOVWF 2F -  
752 0443: CALL 12A -  
753 0444: MOVLW 10 -  
754 0445: MOVWF 04 -  
755 0446: MOVF 22,W -  
756 0447: MOVWF 2F -  
757 0448: MOVF 21,W -  
758 0449: MOVWF 2E -  
759 044A: CALL 1F5 -  
760 044B: MOVLW 1F -  
761 044C: BSF 03.6 -  
762 044D: MOVWF 0D -  
763 044E: MOVLW 00 -  
764 044F: MOVWF 0F -  
765 0450: BSF 03.0 -  
766 0451: MOVLW 0C -  
767 0452: BCF 03.6 -  
768 0453: MOVWF 2F -  
769 0454: CALL 12A -  
770 .................... printf("Stav: %Ld(procenta)\r\n", data2); -  
771 0455: MOVLW 26 -  
772 0456: BSF 03.6 -  
773 0457: MOVWF 0D -  
774 0458: MOVLW 00 -  
775 0459: MOVWF 0F -  
776 045A: BCF 03.0 -  
777 045B: MOVLW 06 -  
778 045C: BCF 03.6 -  
779 045D: MOVWF 2F -  
780 045E: CALL 12A -  
781 045F: MOVLW 10 -  
782 0460: MOVWF 04 -  
783 0461: MOVF 24,W -  
784 0462: MOVWF 2F -  
785 0463: MOVF 23,W -  
786 0464: MOVWF 2E -  
787 0465: CALL 1F5 -  
788 0466: MOVLW 2A -  
789 0467: BSF 03.6 -  
790 0468: MOVWF 0D -  
791 0469: MOVLW 00 -  
792 046A: MOVWF 0F -  
793 046B: BSF 03.0 -  
794 046C: MOVLW 0C -  
795 046D: BCF 03.6 -  
796 046E: MOVWF 2F -  
797 046F: CALL 12A -  
798 .................... -  
799 .................... delay_ms (2000); -  
800 0470: MOVLW 08 -  
801 0471: MOVWF 2E -  
802 0472: MOVLW FA -  
803 0473: MOVWF 2F -  
804 0474: GOTO 275 -  
805 0475: DECFSZ 2E,F -  
806 0476: GOTO 472 -  
807 .................... 803 ....................
-   804 .................... void main()
-   805 .................... {
-   806 *
-   807 002F: DATA 00,00
-   808 *
-   809 0800: CLRF 04
-   810 0801: BCF 03.7
-   811 0802: MOVLW 1F
-   812 0803: ANDWF 03,F
-   813 0804: MOVLW 71
-   814 0805: BSF 03.5
-   815 0806: MOVWF 0F
-   816 0807: MOVF 0F,W
-   817 0808: BCF 06.7
-   818 0809: BCF 03.5
-   819 080A: BSF 06.7
-   820 080B: BSF 03.5
-   821 080C: BSF 03.6
-   822 080D: MOVF 09,W
-   823 080E: ANDLW C0
-   824 080F: MOVWF 09
-   825 0810: BCF 03.6
-   826 0811: BCF 1F.4
-   827 0812: BCF 1F.5
-   828 0813: MOVLW 00
-   829 0814: BSF 03.6
-   830 0815: MOVWF 08
-   831 0816: BCF 03.5
-   832 0817: CLRF 07
-   833 0818: CLRF 08
-   834 0819: CLRF 09
-   835 ....................
-   836 .................... setup_adc_ports(NO_ANALOGS|VSS_VDD);
-   837 *
-   838 081D: BSF 03.5
-   839 081E: BSF 03.6
-   840 081F: MOVF 09,W
-   841 0820: ANDLW C0
-   842 0821: MOVWF 09
-   843 0822: BCF 03.6
-   844 0823: BCF 1F.4
-   845 0824: BCF 1F.5
-   846 0825: MOVLW 00
-   847 0826: BSF 03.6
-   848 0827: MOVWF 08
-   849 .................... setup_adc(ADC_CLOCK_DIV_2);
-   850 0828: BCF 03.5
-   851 0829: BCF 03.6
-   852 082A: BCF 1F.6
-   853 082B: BCF 1F.7
-   854 082C: BSF 03.5
-   855 082D: BCF 1F.7
-   856 082E: BCF 03.5
-   857 082F: BSF 1F.0
-   858 .................... setup_spi(SPI_SS_DISABLED);
-   859 0830: BCF 14.5
-   860 0831: BCF 20.5
-   861 0832: MOVF 20,W
-   862 0833: BSF 03.5
-   863 0834: MOVWF 07
-   864 0835: BCF 03.5
-   865 0836: BSF 20.4
-   866 0837: MOVF 20,W
-   867 0838: BSF 03.5
-   868 0839: MOVWF 07
-   869 083A: BCF 03.5
-   870 083B: BCF 20.3
-   871 083C: MOVF 20,W
-   872 083D: BSF 03.5
-   873 083E: MOVWF 07
-   874 083F: MOVLW 01
-   875 0840: BCF 03.5
-   876 0841: MOVWF 14
-   877 0842: MOVLW 00
-   878 0843: BSF 03.5
-   879 0844: MOVWF 14
-   880 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
-   881 0845: MOVF 01,W
-   882 0846: ANDLW C7
-   883 0847: IORLW 08
-   884 0848: MOVWF 01
-   885 .................... setup_timer_1(T1_DISABLED);
-   886 0849: BCF 03.5
-   887 084A: CLRF 10
-   888 .................... setup_timer_2(T2_DISABLED,0,1);
-   889 084B: MOVLW 00
-   890 084C: MOVWF 78
-   891 084D: MOVWF 12
-   892 084E: MOVLW 00
-   893 084F: BSF 03.5
-   894 0850: MOVWF 12
-   895 .................... setup_ccp1(CCP_OFF);
-   896 0851: BCF 03.5
-   897 0852: BSF 20.2
-   898 0853: MOVF 20,W
-   899 0854: BSF 03.5
-   900 0855: MOVWF 07
-   901 0856: BCF 03.5
-   902 0857: CLRF 17
-   903 0858: BSF 03.5
-   904 0859: CLRF 1B
-   905 085A: CLRF 1C
-   906 085B: MOVLW 01
-   907 085C: MOVWF 1D
-   908 .................... setup_comparator(NC_NC_NC_NC);
-   909 085D: BCF 03.5
-   910 085E: BSF 03.6
-   911 085F: CLRF 07
-   912 0860: CLRF 08
-   913 0861: CLRF 09
-   914 ....................
-   915 .................... void SHT25_soft_reset();
-   916 .................... printf("SHT25 humidity and temperature sensor example \r\n",);
-   917 0862: MOVLW 04
-   918 0863: MOVWF 0D
-   919 0864: MOVLW 00
-   920 0865: MOVWF 0F
-   921 0866: BCF 0A.3
-   922 0867: BCF 03.6
-   923 0868: GOTO 052
-   924 0869: BSF 0A.3
-   925 .................... delay_ms (500);
-   926 086A: MOVLW 02
-   927 086B: MOVWF 21
-   928 086C: MOVLW FA
-   929 086D: MOVWF 26
-   930 086E: BCF 0A.3
-   931 086F: CALL 09A
-   932 0870: BSF 0A.3
-   933 0871: DECFSZ 21,F
-   934 0872: GOTO 06C
-   935 ....................
-   936 .................... while(TRUE)
-   937 .................... {
-   938 .................... printf("setup: %X \r\n",SHT25_setup());
-   939 0873: BCF 0A.3
-   940 0874: GOTO 13D
-   941 0875: BSF 0A.3
-   942 0876: MOVF 78,W
-   943 0877: MOVWF 21
-   944 0878: MOVLW 1D
-   945 0879: BSF 03.6
-   946 087A: MOVWF 0D
-   947 087B: MOVLW 00
-   948 087C: MOVWF 0F
-   949 087D: BCF 03.0
-   950 087E: MOVLW 07
-   951 087F: BCF 03.6
-   952 0880: MOVWF 25
-   953 0881: BCF 0A.3
-   954 0882: CALL 199
-   955 0883: BSF 0A.3
-   956 0884: MOVF 21,W
-   957 0885: MOVWF 22
-   958 0886: MOVLW 37
-   959 0887: MOVWF 23
-   960 0888: BCF 0A.3
-   961 0889: GOTO 1E8
-   962 088A: BSF 0A.3
-   963 088B: MOVLW 20
-   964 088C: MOVWF 32
-   965 088D: BCF 0A.3
-   966 088E: CALL 030
-   967 088F: BSF 0A.3
-   968 0890: MOVLW 0D
-   969 0891: MOVWF 32
-   970 0892: BCF 0A.3
-   971 0893: CALL 030
-   972 0894: BSF 0A.3
-   973 0895: MOVLW 0A
-   974 0896: MOVWF 32
-   975 0897: BCF 0A.3
-   976 0898: CALL 030
-   977 0899: BSF 0A.3
-   978 .................... delay_ms (500);
-   979 089A: MOVLW 02
-   980 089B: MOVWF 21
-   981 089C: MOVLW FA
-   982 089D: MOVWF 26
-   983 089E: BCF 0A.3
-   984 089F: CALL 09A
-   985 08A0: BSF 0A.3
-   986 08A1: DECFSZ 21,F
-   987 08A2: GOTO 09C
-   988 .................... printf("Temp: %f \r\n",SHT25_get_temp());
-   989 08A3: BCF 0A.3
-   990 08A4: GOTO 4A8
-   991 08A5: BSF 0A.3
-   992 08A6: MOVF 77,W
-   993 08A7: MOVWF 21
-   994 08A8: MOVF 78,W
-   995 08A9: MOVWF 22
-   996 08AA: MOVF 79,W
-   997 08AB: MOVWF 23
-   998 08AC: MOVF 7A,W
-   999 08AD: MOVWF 24
-   1000 08AE: MOVLW 24
-   1001 08AF: BSF 03.6
-   1002 08B0: MOVWF 0D
-   1003 08B1: MOVLW 00
-   1004 08B2: MOVWF 0F
-   1005 08B3: BCF 03.0
-   1006 08B4: MOVLW 06
-   1007 08B5: BCF 03.6
-   1008 08B6: MOVWF 25
-   1009 08B7: BCF 0A.3
-   1010 08B8: CALL 199
-   1011 08B9: BSF 0A.3
-   1012 08BA: MOVLW 89
-   1013 08BB: MOVWF 04
-   1014 08BC: MOVF 24,W
-   1015 08BD: MOVWF 28
-   1016 08BE: MOVF 23,W
-   1017 08BF: MOVWF 27
-   1018 08C0: MOVF 22,W
-   1019 08C1: MOVWF 26
-   1020 08C2: MOVF 21,W
-   1021 08C3: MOVWF 25
-   1022 08C4: MOVLW 02
-   1023 08C5: MOVWF 29
-   1024 08C6: BCF 0A.3
-   1025 08C7: CALL 5B7
-   1026 08C8: BSF 0A.3
-   1027 08C9: MOVLW 20
-   1028 08CA: MOVWF 32
-   1029 08CB: BCF 0A.3
-   1030 08CC: CALL 030
-   1031 08CD: BSF 0A.3
-   1032 08CE: MOVLW 0D
-   1033 08CF: MOVWF 32
-   1034 08D0: BCF 0A.3
-   1035 08D1: CALL 030
-   1036 08D2: BSF 0A.3
-   1037 08D3: MOVLW 0A
-   1038 08D4: MOVWF 32
-   1039 08D5: BCF 0A.3
-   1040 08D6: CALL 030
-   1041 08D7: BSF 0A.3
-   1042 .................... delay_ms (500);
-   1043 08D8: MOVLW 02
-   1044 08D9: MOVWF 21
-   1045 08DA: MOVLW FA
-   1046 08DB: MOVWF 26
-   1047 08DC: BCF 0A.3
-   1048 08DD: CALL 09A
-   1049 08DE: BSF 0A.3
-   1050 08DF: DECFSZ 21,F
-   1051 08E0: GOTO 0DA
-   1052 .................... printf("Hum: %f \r\n",SHT25_get_hum());
-   1053 08E1: BCF 0A.3
-   1054 08E2: GOTO 69E
-   1055 08E3: BSF 0A.3
-   1056 08E4: MOVF 77,W
-   1057 08E5: MOVWF 21
-   1058 08E6: MOVF 78,W
-   1059 08E7: MOVWF 22
-   1060 08E8: MOVF 79,W
-   1061 08E9: MOVWF 23
-   1062 08EA: MOVF 7A,W
-   1063 08EB: MOVWF 24
-   1064 08EC: MOVLW 2A
-   1065 08ED: BSF 03.6
-   1066 08EE: MOVWF 0D
-   1067 08EF: MOVLW 00
-   1068 08F0: MOVWF 0F
-   1069 08F1: BCF 03.0
-   1070 08F2: MOVLW 05
-   1071 08F3: BCF 03.6
-   1072 08F4: MOVWF 25
-   1073 08F5: BCF 0A.3
-   1074 08F6: CALL 199
-   1075 08F7: BSF 0A.3
-   1076 08F8: MOVLW 89
-   1077 08F9: MOVWF 04
-   1078 08FA: MOVF 24,W
-   1079 08FB: MOVWF 28
-   1080 08FC: MOVF 23,W
-   1081 08FD: MOVWF 27
-   1082 08FE: MOVF 22,W
-   1083 08FF: MOVWF 26
-   1084 0900: MOVF 21,W
-   1085 0901: MOVWF 25
-   1086 0902: MOVLW 02
-   1087 0903: MOVWF 29
-   1088 0904: BCF 0A.3
-   1089 0905: CALL 5B7
-   1090 0906: BSF 0A.3
-   1091 0907: MOVLW 20
-   1092 0908: MOVWF 32
-   1093 0909: BCF 0A.3
-   1094 090A: CALL 030
-   1095 090B: BSF 0A.3
-   1096 090C: MOVLW 0D
-   1097 090D: MOVWF 32
-   1098 090E: BCF 0A.3
-   1099 090F: CALL 030
-   1100 0910: BSF 0A.3
-   1101 0911: MOVLW 0A
-   1102 0912: MOVWF 32
-   1103 0913: BCF 0A.3
-   1104 0914: CALL 030
-   1105 0915: BSF 0A.3
-   1106 .................... delay_ms (1000);
-   1107 0916: MOVLW 04
-   1108 0917: MOVWF 21
-   1109 0918: MOVLW FA
-   1110 0919: MOVWF 26
-   1111 091A: BCF 0A.3
-   1112 091B: CALL 09A
-   1113 091C: BSF 0A.3
-   1114 091D: DECFSZ 21,F
-   1115 091E: GOTO 118
808 .................... } 1116 .................... }
809 0477: GOTO 2F3 1117 091F: GOTO 073
810 .................... } 1118 .................... }
811 .................... 1119 ....................
812 0478: SLEEP 1120 0920: SLEEP
813   1121  
814 Configuration Fuses: 1122 Configuration Fuses:
815 Word 1: 2CF5 INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUG 1123 Word 1: 2CF4 INTRC_IO NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUG
816 Word 2: 3FFF NOWRT BORV40 1124 Word 2: 3FFF NOWRT BORV40