o: ActiveSupport::Cache::Entry :@compressedF: @value"ž~"—~
Modules/Sensors/SHT25V01A/SW/PIC16F887/main.c
1 1
#include "main.h"
2 2

  
3
void main()
3
void SHT25_soft_reset()
4 4
{
5
  i2c_start();     // Start condition
6
  i2c_write(0x80); // Device address
7
  i2c_write(0xFE);    // Device command
8
  i2c_stop();      // Stop condition
9
}
5 10

  
6
   setup_adc_ports(NO_ANALOGS|VSS_VDD);
7
   setup_adc(ADC_CLOCK_DIV_2);
8
   setup_spi(SPI_SS_DISABLED);
9
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
10
   setup_timer_1(T1_DISABLED);
11
   setup_timer_2(T2_DISABLED,0,1);
12
   setup_ccp1(CCP_OFF);
13
   setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard
11
unsigned int8 SHT25_setup()
12
{
13
unsigned int8 reg;
14 14

  
15
printf("Simple Thermomether  \r\n",);
15
  i2c_start();     // Start condition
16
  i2c_write(0x80); // Device address
17
  i2c_write(0xE7);    // Device command
18
//  i2c_stop();      // Stop condition
16 19

  
17
int16 data1, data2, data3;
18

  
19
int XL,XH,YL,YH,ZL,ZH;
20
  i2c_start();     // Start condition
21
  i2c_write(0x81); // Device address
22
  reg=i2c_read(0);    // Device command
23
  i2c_stop();      // Stop condition
20 24
  
21
  while(TRUE)
22
 { 
25
   return (reg);
26
}
23 27

  
24
data1=0;
25
data2=0 ;
28
float SHT25_get_temp()
29
{
30
unsigned int8 MSB, LSB, Check;
31
unsigned int16 data;
26 32

  
27

  
28
//akcelerometr
29
   int1 ack;
30
   i2c_start();            // If the write command is acknowledged,
31
   ack = i2c_write(0x81);//hen the device is ready.
33
   i2c_start();
34
   I2C_Write(0x80);
35
   I2C_write(0xE3);
32 36
   i2c_stop();
33
  ack=!ack;
37
  
38
   delay_ms(100);
34 39
   
35
   
36
   
37
   i2c_stop(); //T
38

  
39 40
   i2c_start();
40
   I2C_Write(0x80);
41
   I2C_write(0xF3);
42
// i2c_stop();
43
   i2c_start();
44 41
   I2C_Write(0x81);
45
 XH=i2c_read(0);
46
 XL=i2c_read(0);
47
   i2c_stop(); 
42
   MSB=i2c_read(1);
43
   LSB=i2c_read(1);
44
   Check=i2c_read(0);
45
   i2c_stop();
46
      
47
   LSB = LSB >> 2; // trow out status bits
48 48

  
49
  
50
i2c_start();   //RH
49
   data = (((unsigned int16) MSB << 8) + (LSB << 4));
50
   return(-46.85 + 175.72*((float)data/0xFFFF));
51
}
52

  
53
float SHT25_get_hum()
54
{
55
unsigned int8 MSB, LSB, Check;
56
unsigned int16 data;
57

  
58
   i2c_start();   //RH
51 59
   I2C_Write(0x80);
52
   I2C_write(0xF5);
53
// i2c_stop();
60
   I2C_write(0xE5);
61
//   i2c_stop();
62

  
63
   delay_ms(100);
64

  
54 65
   i2c_start();
55 66
   I2C_Write(0x81);
56
   YH=i2c_read(0);
57
   YL=i2c_read(0);
58
   i2c_stop();  
59
   
67
   MSB=i2c_read(1);
68
   LSB=i2c_read(1);
69
   Check=i2c_read(0);
70
   i2c_stop(); 
60 71

  
61
   
62
data1 = (((unsigned int16) XH << 8) + XL>>2 );
63
data2 = (((unsigned int16) YH << 8) + YL>>2);
72
//   printf("%X %X  %X\r\n",MSB, LSB, Check);   
64 73

  
74
   LSB = LSB >> 2; // trow out status bits
65 75

  
66
printf("Stav: %d (procenta)\r\n", ack);
76
   data = (((unsigned int16) MSB << 8) + (LSB << 4) );
77
   return( -6.0 + 125.0*((float)data/0xFFFF));
78
}      
67 79

  
68
printf("Stav: %Ld(procenta)\r\n", data1);
69
printf("Stav: %Ld(procenta)\r\n", data2);
70 80

  
71
delay_ms (2000);
81
void main()
82
{
72 83

  
73
 } 
84
   setup_adc_ports(NO_ANALOGS|VSS_VDD);
85
   setup_adc(ADC_CLOCK_DIV_2);
86
   setup_spi(SPI_SS_DISABLED);
87
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
88
   setup_timer_1(T1_DISABLED);
89
   setup_timer_2(T2_DISABLED,0,1);
90
   setup_ccp1(CCP_OFF);
91
   setup_comparator(NC_NC_NC_NC);
92

  
93
   void SHT25_soft_reset();
94
   printf("SHT25 humidity and temperature sensor example \r\n",);
95
   delay_ms (500);
96

  
97
  while(TRUE)
98
  { 
99
      printf("setup: %X \r\n",SHT25_setup());      
100
      delay_ms (500);
101
      printf("Temp: %f \r\n",SHT25_get_temp());      
102
      delay_ms (500);
103
      printf("Hum: %f \r\n",SHT25_get_hum());      
104
      delay_ms (1000);
105
  } 
74 106
}
75 107

  
Modules/Sensors/SHT25V01A/SW/PIC16F887/main.lst
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 6
                         Largest free fragment is 2048
7
               RAM used: 8 (2%) at main() level
8
                         29 (8%) worst case
7
               RAM used: 10 (3%) at main() level
8
                         36 (10%) worst case
9 9
               Stack:    2 locations
10 10

  
11 11
*
12
0000:  MOVLW  02
12
0000:  MOVLW  08
13 13
0001:  MOVWF  0A
14
0002:  GOTO   28B
14
0002:  GOTO   000
15 15
0003:  NOP
16 16
.................... #include "main.h" 
17 17
.................... #include <16F887.h> 
......
22 22
.................... #device adc=8 
23 23
....................  
24 24
.................... #FUSES NOWDT                    //No Watch Dog Timer 
25
.................... #FUSES INTRC                    //Internal RC Osc 
25
.................... #FUSES INTRC_IO                    //Internal RC Osc 
26 26
.................... #FUSES NOPUT                    //No Power Up Timer 
27 27
.................... #FUSES MCLR                     //Master Clear pin enabled 
28 28
.................... #FUSES NOPROTECT                //Code not protected from reading 
......
37 37
....................  
38 38
.................... #use delay(clock=8000000) 
39 39
*
40
0275:  MOVLW  2F
41
0276:  MOVWF  04
42
0277:  BCF    03.7
43
0278:  MOVF   00,W
44
0279:  BTFSC  03.2
45
027A:  GOTO   288
46
027B:  MOVLW  02
47
027C:  MOVWF  78
48
027D:  CLRF   77
49
027E:  DECFSZ 77,F
50
027F:  GOTO   27E
51
0280:  DECFSZ 78,F
52
0281:  GOTO   27D
53
0282:  MOVLW  97
54
0283:  MOVWF  77
55
0284:  DECFSZ 77,F
56
0285:  GOTO   284
57
0286:  DECFSZ 00,F
58
0287:  GOTO   27B
59
0288:  BCF    0A.3
60
0289:  BCF    0A.4
61
028A:  GOTO   475 (RETURN)
40
009A:  MOVLW  26
41
009B:  MOVWF  04
42
009C:  BCF    03.7
43
009D:  MOVF   00,W
44
009E:  BTFSC  03.2
45
009F:  GOTO   0AD
46
00A0:  MOVLW  02
47
00A1:  MOVWF  78
48
00A2:  CLRF   77
49
00A3:  DECFSZ 77,F
50
00A4:  GOTO   0A3
51
00A5:  DECFSZ 78,F
52
00A6:  GOTO   0A2
53
00A7:  MOVLW  97
54
00A8:  MOVWF  77
55
00A9:  DECFSZ 77,F
56
00AA:  GOTO   0A9
57
00AB:  DECFSZ 00,F
58
00AC:  GOTO   0A0
59
00AD:  RETURN
62 60
....................  
63 61
.................... #use i2c(master, sda=PIN_C4, scl=PIN_C3) 
64
*
65
009B:  MOVLW  08
66
009C:  MOVWF  78
67
009D:  NOP
68
009E:  BCF    07.3
69
009F:  BCF    20.3
70
00A0:  MOVF   20,W
71
00A1:  BSF    03.5
72
00A2:  MOVWF  07
73
00A3:  NOP
74
00A4:  BCF    03.5
75
00A5:  RLF    2E,F
76
00A6:  BCF    07.4
77
00A7:  BTFSS  03.0
78
00A8:  GOTO   0AF
79
00A9:  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
87
00B1:  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
95
00B9:  BCF    03.5
96
00BA:  BTFSS  07.3
97
00BB:  GOTO   0BA
98
00BC:  DECFSZ 78,F
99
00BD:  GOTO   09D
100
00BE:  NOP
101
00BF:  BCF    07.3
102
00C0:  BCF    20.3
103
00C1:  MOVF   20,W
104
00C2:  BSF    03.5
105
00C3:  MOVWF  07
106
00C4:  NOP
107
00C5:  BCF    03.5
108
00C6:  BSF    20.4
109
00C7:  MOVF   20,W
110
00C8:  BSF    03.5
111
00C9:  MOVWF  07
112
00CA:  NOP
113
00CB:  NOP
62
00AE:  MOVLW  08
63
00AF:  MOVWF  78
64
00B0:  NOP
65
00B1:  BCF    07.3
66
00B2:  BCF    20.3
67
00B3:  MOVF   20,W
68
00B4:  BSF    03.5
69
00B5:  MOVWF  07
70
00B6:  NOP
71
00B7:  BCF    03.5
72
00B8:  RLF    26,F
73
00B9:  BCF    07.4
74
00BA:  BTFSS  03.0
75
00BB:  GOTO   0C2
76
00BC:  BSF    20.4
77
00BD:  MOVF   20,W
78
00BE:  BSF    03.5
79
00BF:  MOVWF  07
80
00C0:  GOTO   0C6
81
00C1:  BCF    03.5
82
00C2:  BCF    20.4
83
00C3:  MOVF   20,W
84
00C4:  BSF    03.5
85
00C5:  MOVWF  07
86
00C6:  NOP
87
00C7:  BCF    03.5
88
00C8:  BSF    20.3
89
00C9:  MOVF   20,W
90
00CA:  BSF    03.5
91
00CB:  MOVWF  07
114 92
00CC:  BCF    03.5
115
00CD:  BSF    20.3
116
00CE:  MOVF   20,W
117
00CF:  BSF    03.5
118
00D0:  MOVWF  07
119
00D1:  BCF    03.5
120
00D2:  BTFSS  07.3
121
00D3:  GOTO   0D2
122
00D4:  CLRF   78
123
00D5:  NOP
124
00D6:  BTFSC  07.4
125
00D7:  BSF    78.0
126
00D8:  BCF    07.3
127
00D9:  BCF    20.3
93
00CD:  BTFSS  07.3
94
00CE:  GOTO   0CD
95
00CF:  DECFSZ 78,F
96
00D0:  GOTO   0B0
97
00D1:  NOP
98
00D2:  BCF    07.3
99
00D3:  BCF    20.3
100
00D4:  MOVF   20,W
101
00D5:  BSF    03.5
102
00D6:  MOVWF  07
103
00D7:  NOP
104
00D8:  BCF    03.5
105
00D9:  BSF    20.4
128 106
00DA:  MOVF   20,W
129 107
00DB:  BSF    03.5
130 108
00DC:  MOVWF  07
131
00DD:  BCF    03.5
132
00DE:  BCF    07.4
133
00DF:  BCF    20.4
134
00E0:  MOVF   20,W
135
00E1:  BSF    03.5
136
00E2:  MOVWF  07
137
00E3:  BCF    03.5
138
00E4:  RETURN
139
00E5:  MOVLW  08
140
00E6:  MOVWF  2F
141
00E7:  MOVF   77,W
142
00E8:  MOVWF  30
143
00E9:  BSF    20.4
144
00EA:  MOVF   20,W
145
00EB:  BSF    03.5
146
00EC:  MOVWF  07
147
00ED:  NOP
148
00EE:  BCF    03.5
149
00EF:  BSF    20.3
150
00F0:  MOVF   20,W
151
00F1:  BSF    03.5
152
00F2:  MOVWF  07
153
00F3:  BCF    03.5
154
00F4:  BTFSS  07.3
155
00F5:  GOTO   0F4
156
00F6:  BTFSC  07.4
157
00F7:  BSF    03.0
158
00F8:  BTFSS  07.4
159
00F9:  BCF    03.0
160
00FA:  RLF    78,F
161
00FB:  NOP
162
00FC:  BCF    20.3
109
00DD:  NOP
110
00DE:  NOP
111
00DF:  BCF    03.5
112
00E0:  BSF    20.3
113
00E1:  MOVF   20,W
114
00E2:  BSF    03.5
115
00E3:  MOVWF  07
116
00E4:  BCF    03.5
117
00E5:  BTFSS  07.3
118
00E6:  GOTO   0E5
119
00E7:  CLRF   78
120
00E8:  NOP
121
00E9:  BTFSC  07.4
122
00EA:  BSF    78.0
123
00EB:  BCF    07.3
124
00EC:  BCF    20.3
125
00ED:  MOVF   20,W
126
00EE:  BSF    03.5
127
00EF:  MOVWF  07
128
00F0:  BCF    03.5
129
00F1:  BCF    07.4
130
00F2:  BCF    20.4
131
00F3:  MOVF   20,W
132
00F4:  BSF    03.5
133
00F5:  MOVWF  07
134
00F6:  BCF    03.5
135
00F7:  RETURN
136
00F8:  MOVLW  08
137
00F9:  MOVWF  27
138
00FA:  MOVF   77,W
139
00FB:  MOVWF  28
140
00FC:  BSF    20.4
163 141
00FD:  MOVF   20,W
164 142
00FE:  BSF    03.5
165 143
00FF:  MOVWF  07
166
0100:  BCF    03.5
167
0101:  BCF    07.3
168
0102:  DECFSZ 2F,F
169
0103:  GOTO   0E9
170
0104:  BSF    20.4
171
0105:  MOVF   20,W
172
0106:  BSF    03.5
173
0107:  MOVWF  07
174
0108:  NOP
175
0109:  BCF    03.5
176
010A:  BCF    07.4
177
010B:  MOVF   30,W
178
010C:  BTFSC  03.2
179
010D:  GOTO   113
180
010E:  BCF    20.4
181
010F:  MOVF   20,W
182
0110:  BSF    03.5
183
0111:  MOVWF  07
184
0112:  BCF    03.5
185
0113:  NOP
186
0114:  BSF    20.3
187
0115:  MOVF   20,W
188
0116:  BSF    03.5
189
0117:  MOVWF  07
190
0118:  BCF    03.5
191
0119:  BTFSS  07.3
192
011A:  GOTO   119
144
0100:  NOP
145
0101:  BCF    03.5
146
0102:  BSF    20.3
147
0103:  MOVF   20,W
148
0104:  BSF    03.5
149
0105:  MOVWF  07
150
0106:  BCF    03.5
151
0107:  BTFSS  07.3
152
0108:  GOTO   107
153
0109:  BTFSC  07.4
154
010A:  BSF    03.0
155
010B:  BTFSS  07.4
156
010C:  BCF    03.0
157
010D:  RLF    78,F
158
010E:  NOP
159
010F:  BCF    20.3
160
0110:  MOVF   20,W
161
0111:  BSF    03.5
162
0112:  MOVWF  07
163
0113:  BCF    03.5
164
0114:  BCF    07.3
165
0115:  DECFSZ 27,F
166
0116:  GOTO   0FC
167
0117:  BSF    20.4
168
0118:  MOVF   20,W
169
0119:  BSF    03.5
170
011A:  MOVWF  07
193 171
011B:  NOP
194
011C:  BCF    07.3
195
011D:  BCF    20.3
196
011E:  MOVF   20,W
197
011F:  BSF    03.5
198
0120:  MOVWF  07
199
0121:  NOP
200
0122:  BCF    03.5
201
0123:  BCF    07.4
202
0124:  BCF    20.4
203
0125:  MOVF   20,W
204
0126:  BSF    03.5
205
0127:  MOVWF  07
206
0128:  BCF    03.5
207
0129:  RETURN
208
.................... #use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8) //rcv TXD xmit RXD 
172
011C:  BCF    03.5
173
011D:  BCF    07.4
174
011E:  MOVF   28,W
175
011F:  BTFSC  03.2
176
0120:  GOTO   126
177
0121:  BCF    20.4
178
0122:  MOVF   20,W
179
0123:  BSF    03.5
180
0124:  MOVWF  07
181
0125:  BCF    03.5
182
0126:  NOP
183
0127:  BSF    20.3
184
0128:  MOVF   20,W
185
0129:  BSF    03.5
186
012A:  MOVWF  07
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
198
0136:  BCF    07.4
199
0137:  BCF    20.4
200
0138:  MOVF   20,W
201
0139:  BSF    03.5
202
013A:  MOVWF  07
203
013B:  BCF    03.5
204
013C:  RETURN
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
211
0032:  BCF    06.3
212
0033:  BCF    03.5
213
0034:  BCF    06.3
214
0035:  MOVLW  08
215
0036:  MOVWF  78
216
0037:  GOTO   038
217
0038:  NOP
218
0039:  BSF    78.7
219
003A:  GOTO   049
220
003B:  BCF    78.7
221
003C:  RRF    37,F
222
003D:  BTFSC  03.0
223
003E:  BSF    06.3
224
003F:  BTFSS  03.0
225
0040:  BCF    06.3
226
0041:  BSF    78.6
227
0042:  GOTO   049
228
0043:  BCF    78.6
229
0044:  DECFSZ 78,F
230
0045:  GOTO   03C
231
0046:  GOTO   047
232
0047:  NOP
233
0048:  BSF    06.3
234
0049:  MOVLW  3F
235
004A:  MOVWF  04
236
004B:  DECFSZ 04,F
237
004C:  GOTO   04B
238
004D:  NOP
239
004E:  BTFSC  78.7
240
004F:  GOTO   03B
241
0050:  BTFSC  78.6
242
0051:  GOTO   043
243
0052:  RETURN
207
0030:  BSF    03.5
208
0031:  BCF    06.7
209
0032:  BCF    03.5
210
0033:  BCF    06.7
211
0034:  MOVLW  08
212
0035:  MOVWF  78
213
0036:  GOTO   037
214
0037:  NOP
215
0038:  BSF    78.7
216
0039:  GOTO   048
217
003A:  BCF    78.7
218
003B:  RRF    32,F
219
003C:  BTFSC  03.0
220
003D:  BSF    06.7
221
003E:  BTFSS  03.0
222
003F:  BCF    06.7
223
0040:  BSF    78.6
224
0041:  GOTO   048
225
0042:  BCF    78.6
226
0043:  DECFSZ 78,F
227
0044:  GOTO   03B
228
0045:  GOTO   046
229
0046:  NOP
230
0047:  BSF    06.7
231
0048:  MOVLW  3F
232
0049:  MOVWF  04
233
004A:  DECFSZ 04,F
234
004B:  GOTO   04A
235
004C:  NOP
236
004D:  BTFSC  78.7
237
004E:  GOTO   03A
238
004F:  BTFSC  78.6
239
0050:  GOTO   042
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
246
....................   i2c_start();     // Start condition 
247
....................   i2c_write(0x80); // Device address 
248
....................   i2c_write(0xFE);    // Device command 
249
....................   i2c_stop();      // Stop condition 
250
.................... } 
276 251
....................  
277
....................    setup_adc_ports(NO_ANALOGS|VSS_VDD); 
252
.................... unsigned int8 SHT25_setup() 
253
.................... { 
254
.................... unsigned int8 reg; 
255
....................  
256
....................   i2c_start();     // Start condition 
278 257
*
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); 
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); 
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); 
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); 
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
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 
355 292
....................  
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
....................  
364
.................... int16 data1, data2, data3; 
365
....................  
366
.................... int XL,XH,YL,YH,ZL,ZH; 
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
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) 
369
....................  {  
353
....................    return (reg); 
354
0193:  BCF    03.5
355
0194:  MOVF   21,W
356
0195:  MOVWF  78
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 ; 
375
02F5:  CLRF   24
376
02F6:  CLRF   23
362
.................... float SHT25_get_temp() 
363
.................... { 
364
.................... unsigned int8 MSB, LSB, Check; 
365
.................... unsigned int16 data; 
377 366
....................  
378
....................  
379
.................... //akcelerometr 
380
....................    int1 ack; 
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
367
....................    i2c_start(); 
368
*
369
04A8:  BSF    20.4
370
04A9:  MOVF   20,W
371
04AA:  BSF    03.5
372
04AB:  MOVWF  07
373
04AC:  NOP
374
04AD:  BCF    03.5
375
04AE:  BSF    20.3
376
04AF:  MOVF   20,W
377
04B0:  BSF    03.5
378
04B1:  MOVWF  07
379
04B2:  NOP
380
04B3:  BCF    03.5
381
04B4:  BCF    07.4
382
04B5:  BCF    20.4
383
04B6:  MOVF   20,W
384
04B7:  BSF    03.5
385
04B8:  MOVWF  07
386
04B9:  NOP
387
04BA:  BCF    03.5
388
04BB:  BCF    07.3
389
04BC:  BCF    20.3
390
04BD:  MOVF   20,W
391
04BE:  BSF    03.5
392
04BF:  MOVWF  07
393
....................    I2C_Write(0x80); 
394
04C0:  MOVLW  80
395
04C1:  BCF    03.5
396
04C2:  MOVWF  26
397
04C3:  CALL   0AE
398
....................    I2C_write(0xE3); 
399
04C4:  MOVLW  E3
400
04C5:  MOVWF  26
401
04C6:  CALL   0AE
415 402
....................    i2c_stop(); 
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
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
441 430
....................     
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
....................  
467 431
....................    i2c_start(); 
468
0344:  BCF    03.5
469
0345:  BSF    20.4
470
0346:  MOVF   20,W
471
0347:  BSF    03.5
472
0348:  MOVWF  07
473
0349:  NOP
474
034A:  BCF    03.5
475
034B:  BSF    20.3
476
034C:  MOVF   20,W
477
034D:  BSF    03.5
478
034E:  MOVWF  07
479
034F:  NOP
480
0350:  BCF    03.5
481
0351:  BCF    07.4
482
0352:  BCF    20.4
483
0353:  MOVF   20,W
484
0354:  BSF    03.5
485
0355:  MOVWF  07
486
0356:  NOP
487
0357:  BCF    03.5
488
0358:  BCF    07.3
489
0359:  BCF    20.3
490
035A:  MOVF   20,W
491
035B:  BSF    03.5
492
035C:  MOVWF  07
493
....................    I2C_Write(0x80); 
494
035D:  MOVLW  80
495
035E:  BCF    03.5
496
035F:  MOVWF  2E
497
0360:  CALL   09B
498
....................    I2C_write(0xF3); 
499
0361:  MOVLW  F3
500
0362:  MOVWF  2E
501
0363:  CALL   09B
502
.................... // i2c_stop(); 
503
....................    i2c_start(); 
504
0364:  BSF    20.4
505
0365:  MOVF   20,W
506
0366:  BSF    03.5
507
0367:  MOVWF  07
508
0368:  NOP
509
0369:  BCF    03.5
510
036A:  BSF    20.3
511
036B:  MOVF   20,W
512
036C:  BSF    03.5
513
036D:  MOVWF  07
514
036E:  NOP
515
036F:  BCF    03.5
516
0370:  BTFSS  07.3
517
0371:  GOTO   370
518
0372:  BCF    07.4
519
0373:  BCF    20.4
520
0374:  MOVF   20,W
521
0375:  BSF    03.5
522
0376:  MOVWF  07
523
0377:  NOP
524
0378:  BCF    03.5
525
0379:  BCF    07.3
526
037A:  BCF    20.3
527
037B:  MOVF   20,W
528
037C:  BSF    03.5
529
037D:  MOVWF  07
432
04E0:  BSF    20.4
433
04E1:  MOVF   20,W
434
04E2:  BSF    03.5
435
04E3:  MOVWF  07
436
04E4:  NOP
437
04E5:  BCF    03.5
438
04E6:  BSF    20.3
439
04E7:  MOVF   20,W
440
04E8:  BSF    03.5
441
04E9:  MOVWF  07
442
04EA:  NOP
443
04EB:  BCF    03.5
444
04EC:  BCF    07.4
445
04ED:  BCF    20.4
446
04EE:  MOVF   20,W
447
04EF:  BSF    03.5
448
04F0:  MOVWF  07
449
04F1:  NOP
450
04F2:  BCF    03.5
451
04F3:  BCF    07.3
452
04F4:  BCF    20.3
453
04F5:  MOVF   20,W
454
04F6:  BSF    03.5
455
04F7:  MOVWF  07
530 456
....................    I2C_Write(0x81); 
531
037E:  MOVLW  81
532
037F:  BCF    03.5
533
0380:  MOVWF  2E
534
0381:  CALL   09B
535
....................  XH=i2c_read(0); 
536
0382:  CLRF   77
537
0383:  CALL   0E5
538
0384:  MOVF   78,W
539
0385:  MOVWF  28
540
....................  XL=i2c_read(0); 
541
0386:  CLRF   77
542
0387:  CALL   0E5
543
0388:  MOVF   78,W
544
0389:  MOVWF  27
545
....................    i2c_stop();  
546
038A:  BCF    20.4
547
038B:  MOVF   20,W
548
038C:  BSF    03.5
549
038D:  MOVWF  07
550
038E:  NOP
551
038F:  BCF    03.5
552
0390:  BSF    20.3
553
0391:  MOVF   20,W
554
0392:  BSF    03.5
555
0393:  MOVWF  07
556
0394:  BCF    03.5
557
0395:  BTFSS  07.3
558
0396:  GOTO   395
559
0397:  NOP
560
0398:  GOTO   399
561
0399:  NOP
562
039A:  BSF    20.4
563
039B:  MOVF   20,W
564
039C:  BSF    03.5
565
039D:  MOVWF  07
566
039E:  NOP
457
04F8:  MOVLW  81
458
04F9:  BCF    03.5
459
04FA:  MOVWF  26
460
04FB:  CALL   0AE
461
....................    MSB=i2c_read(1); 
462
04FC:  MOVLW  01
463
04FD:  MOVWF  77
464
04FE:  CALL   0F8
465
04FF:  MOVF   78,W
466
0500:  MOVWF  21
467
....................    LSB=i2c_read(1); 
468
0501:  MOVLW  01
469
0502:  MOVWF  77
470
0503:  CALL   0F8
471
0504:  MOVF   78,W
472
0505:  MOVWF  22
473
....................    Check=i2c_read(0); 
474
0506:  CLRF   77
475
0507:  CALL   0F8
476
0508:  MOVF   78,W
477
0509:  MOVWF  23
478
....................    i2c_stop(); 
479
050A:  BCF    20.4
480
050B:  MOVF   20,W
481
050C:  BSF    03.5
482
050D:  MOVWF  07
483
050E:  NOP
484
050F:  BCF    03.5
485
0510:  BSF    20.3
486
0511:  MOVF   20,W
487
0512:  BSF    03.5
488
0513:  MOVWF  07
489
0514:  BCF    03.5
490
0515:  BTFSS  07.3
491
0516:  GOTO   515
492
0517:  NOP
493
0518:  GOTO   519
494
0519:  NOP
495
051A:  BSF    20.4
496
051B:  MOVF   20,W
497
051C:  BSF    03.5
498
051D:  MOVWF  07
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
567 507
....................  
568
....................    
569
.................... i2c_start();   //RH 
570
039F:  BCF    03.5
571
03A0:  BSF    20.4
572
03A1:  MOVF   20,W
573
03A2:  BSF    03.5
574
03A3:  MOVWF  07
575
03A4:  NOP
576
03A5:  BCF    03.5
577
03A6:  BSF    20.3
578
03A7:  MOVF   20,W
579
03A8:  BSF    03.5
580
03A9:  MOVWF  07
581
03AA:  NOP
582
03AB:  BCF    03.5
583
03AC:  BCF    07.4
584
03AD:  BCF    20.4
585
03AE:  MOVF   20,W
586
03AF:  BSF    03.5
587
03B0:  MOVWF  07
588
03B1:  NOP
589
03B2:  BCF    03.5
590
03B3:  BCF    07.3
591
03B4:  BCF    20.3
592
03B5:  MOVF   20,W
593
03B6:  BSF    03.5
594
03B7:  MOVWF  07
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)
592
....................  
593
.................... float SHT25_get_hum() 
594
.................... { 
595
.................... unsigned int8 MSB, LSB, Check; 
596
.................... unsigned int16 data; 
597
....................  
598
....................    i2c_start();   //RH 
599
*
600
069E:  BSF    20.4
601
069F:  MOVF   20,W
602
06A0:  BSF    03.5
603
06A1:  MOVWF  07
604
06A2:  NOP
605
06A3:  BCF    03.5
606
06A4:  BSF    20.3
607
06A5:  MOVF   20,W
608
06A6:  BSF    03.5
609
06A7:  MOVWF  07
610
06A8:  NOP
611
06A9:  BCF    03.5
612
06AA:  BCF    07.4
613
06AB:  BCF    20.4
614
06AC:  MOVF   20,W
615
06AD:  BSF    03.5
616
06AE:  MOVWF  07
617
06AF:  NOP
618
06B0:  BCF    03.5
619
06B1:  BCF    07.3
620
06B2:  BCF    20.3
621
06B3:  MOVF   20,W
622
06B4:  BSF    03.5
623
06B5:  MOVWF  07
595 624
....................    I2C_Write(0x80); 
596
03B8:  MOVLW  80
597
03B9:  BCF    03.5
598
03BA:  MOVWF  2E
599
03BB:  CALL   09B
600
....................    I2C_write(0xF5); 
601
03BC:  MOVLW  F5
602
03BD:  MOVWF  2E
603
03BE:  CALL   09B
604
.................... // i2c_stop(); 
625
06B6:  MOVLW  80
626
06B7:  BCF    03.5
627
06B8:  MOVWF  26
628
06B9:  CALL   0AE
629
....................    I2C_write(0xE5); 
630
06BA:  MOVLW  E5
631
06BB:  MOVWF  26
632
06BC:  CALL   0AE
633
.................... //   i2c_stop(); 
634
....................  
635
....................    delay_ms(100); 
636
06BD:  MOVLW  64
637
06BE:  MOVWF  26
638
06BF:  CALL   09A
639
....................  
605 640
....................    i2c_start(); 
606
03BF:  BSF    20.4
607
03C0:  MOVF   20,W
608
03C1:  BSF    03.5
609
03C2:  MOVWF  07
610
03C3:  NOP
611
03C4:  BCF    03.5
612
03C5:  BSF    20.3
613
03C6:  MOVF   20,W
614
03C7:  BSF    03.5
615
03C8:  MOVWF  07
616
03C9:  NOP
617
03CA:  BCF    03.5
618
03CB:  BTFSS  07.3
619
03CC:  GOTO   3CB
620
03CD:  BCF    07.4
621
03CE:  BCF    20.4
622
03CF:  MOVF   20,W
623
03D0:  BSF    03.5
624
03D1:  MOVWF  07
625
03D2:  NOP
626
03D3:  BCF    03.5
627
03D4:  BCF    07.3
628
03D5:  BCF    20.3
629
03D6:  MOVF   20,W
630
03D7:  BSF    03.5
631
03D8:  MOVWF  07
641
06C0:  BSF    20.4
642
06C1:  MOVF   20,W
643
06C2:  BSF    03.5
644
06C3:  MOVWF  07
645
06C4:  NOP
646
06C5:  BCF    03.5
647
06C6:  BSF    20.3
648
06C7:  MOVF   20,W
649
06C8:  BSF    03.5
650
06C9:  MOVWF  07
651
06CA:  NOP
652
06CB:  BCF    03.5
653
06CC:  BTFSS  07.3
654
06CD:  GOTO   6CC
655
06CE:  BCF    07.4
656
06CF:  BCF    20.4
657
06D0:  MOVF   20,W
658
06D1:  BSF    03.5
659
06D2:  MOVWF  07
660
06D3:  NOP
661
06D4:  BCF    03.5
662
06D5:  BCF    07.3
663
06D6:  BCF    20.3
664
06D7:  MOVF   20,W
665
06D8:  BSF    03.5
666
06D9:  MOVWF  07
632 667
....................    I2C_Write(0x81); 
633
03D9:  MOVLW  81
634
03DA:  BCF    03.5
635
03DB:  MOVWF  2E
636
03DC:  CALL   09B
637
....................    YH=i2c_read(0); 
638
03DD:  CLRF   77
639
03DE:  CALL   0E5
640
03DF:  MOVF   78,W
641
03E0:  MOVWF  2A
642
....................    YL=i2c_read(0); 
643
03E1:  CLRF   77
644
03E2:  CALL   0E5
645
03E3:  MOVF   78,W
646
03E4:  MOVWF  29
647
....................    i2c_stop();   
648
03E5:  BCF    20.4
649
03E6:  MOVF   20,W
650
03E7:  BSF    03.5
651
03E8:  MOVWF  07
652
03E9:  NOP
653
03EA:  BCF    03.5
654
03EB:  BSF    20.3
655
03EC:  MOVF   20,W
656
03ED:  BSF    03.5
657
03EE:  MOVWF  07
658
03EF:  BCF    03.5
659
03F0:  BTFSS  07.3
660
03F1:  GOTO   3F0
661
03F2:  NOP
662
03F3:  GOTO   3F4
663
03F4:  NOP
664
03F5:  BSF    20.4
665
03F6:  MOVF   20,W
666
03F7:  BSF    03.5
667
03F8:  MOVWF  07
668
03F9:  NOP
669
....................     
668
06DA:  MOVLW  81
669
06DB:  BCF    03.5
670
06DC:  MOVWF  26
671
06DD:  CALL   0AE
672
....................    MSB=i2c_read(1); 
673
06DE:  MOVLW  01
674
06DF:  MOVWF  77
675
06E0:  CALL   0F8
676
06E1:  MOVF   78,W
677
06E2:  MOVWF  21
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); 
685
06E8:  CLRF   77
686
06E9:  CALL   0F8
687
06EA:  MOVF   78,W
688
06EB:  MOVWF  23
689
....................    i2c_stop();  
690
06EC:  BCF    20.4
691
06ED:  MOVF   20,W
692
06EE:  BSF    03.5
693
06EF:  MOVWF  07
694
06F0:  NOP
695
06F1:  BCF    03.5
696
06F2:  BSF    20.3
697
06F3:  MOVF   20,W
698
06F4:  BSF    03.5
699
06F5:  MOVWF  07
700
06F6:  BCF    03.5
701
06F7:  BTFSS  07.3
702
06F8:  GOTO   6F7
703
06F9:  NOP
704
06FA:  GOTO   6FB
705
06FB:  NOP
706
06FC:  BSF    20.4
707
06FD:  MOVF   20,W
708
06FE:  BSF    03.5
709
06FF:  MOVWF  07
710
0700:  NOP
670 711
....................  
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
... This diff was truncated because it exceeds the maximum size that can be displayed. :@created_atf1420943214.0055871[Š:@expires_in0