1 |
CCS PCM C Compiler, Version 4.106, 47914 30-4-13 23:58 |
1 |
CCS PCM C Compiler, Version 4.106, 47914 14-V-13 19:16 |
2 |
|
2 |
|
3 |
Filename: c:\users\honza\documents\pic\i2c_hub\main.lst |
3 |
Filename: Z:\home\kaklik\svnMLAB\Modules\CommSerial\I2CHUB02A\SW\PIC16F887\main.lst |
4 |
|
4 |
|
5 |
ROM used: 468 words (6%) |
5 |
ROM used: 468 words (6%) |
6 |
Largest free fragment is 2048 |
6 |
Largest free fragment is 2048 |
7 |
RAM used: 7 (2%) at main() level |
7 |
RAM used: 7 (2%) at main() level |
8 |
11 (3%) worst case |
8 |
11 (3%) worst case |
9 |
Stack: 3 locations |
9 |
Stack: 3 locations |
10 |
|
10 |
|
11 |
* |
11 |
* |
12 |
0000: MOVLW 01 |
12 |
0000: MOVLW 01 |
13 |
0001: MOVWF 0A |
13 |
0001: MOVWF 0A |
14 |
0002: GOTO 155 |
14 |
0002: GOTO 155 |
15 |
0003: NOP |
15 |
0003: NOP |
16 |
.................... //#include "C:\Users\Honza\Documents\pic\I2C_HUB\main.h" |
- |
|
17 |
.................... |
- |
|
18 |
.................... #include "main.h" |
16 |
.................... #include "main.h" |
19 |
.................... #include <16F887.h> |
17 |
.................... #include <16F887.h> |
20 |
.................... //////// Standard Header file for the PIC16F887 device //////////////// |
18 |
.................... //////// Standard Header file for the PIC16F887 device //////////////// |
21 |
.................... #device PIC16F887 |
19 |
.................... #device PIC16F887 |
22 |
.................... #list |
20 |
.................... #list |
23 |
.................... |
21 |
.................... |
24 |
.................... #device adc=8 |
22 |
.................... #device adc=8 |
25 |
.................... |
23 |
.................... |
26 |
.................... #FUSES NOWDT //No Watch Dog Timer |
24 |
.................... #FUSES NOWDT //No Watch Dog Timer |
27 |
.................... #FUSES INTRC //Internal RC Osc |
25 |
.................... #FUSES INTRC //Internal RC Osc |
28 |
.................... #FUSES NOPUT //No Power Up Timer |
26 |
.................... #FUSES NOPUT //No Power Up Timer |
29 |
.................... #FUSES MCLR //Master Clear pin enabled |
27 |
.................... #FUSES MCLR //Master Clear pin enabled |
30 |
.................... #FUSES NOPROTECT //Code not protected from reading |
28 |
.................... #FUSES NOPROTECT //Code not protected from reading |
31 |
.................... #FUSES NOCPD //No EE protection |
29 |
.................... #FUSES NOCPD //No EE protection |
32 |
.................... #FUSES NOBROWNOUT //No brownout reset |
30 |
.................... #FUSES NOBROWNOUT //No brownout reset |
33 |
.................... #FUSES IESO //Internal External Switch Over mode enabled |
31 |
.................... #FUSES IESO //Internal External Switch Over mode enabled |
34 |
.................... #FUSES FCMEN //Fail-safe clock monitor enabled |
32 |
.................... #FUSES FCMEN //Fail-safe clock monitor enabled |
35 |
.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O |
33 |
.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O |
36 |
.................... #FUSES NODEBUG //No Debug mode for ICD |
34 |
.................... #FUSES NODEBUG //No Debug mode for ICD |
37 |
.................... #FUSES NOWRT //Program memory not write protected |
35 |
.................... #FUSES NOWRT //Program memory not write protected |
38 |
.................... #FUSES BORV40 //Brownout reset at 4.0V |
36 |
.................... #FUSES BORV40 //Brownout reset at 4.0V |
39 |
.................... |
37 |
.................... |
40 |
.................... #use delay(clock=8000000) |
38 |
.................... #use delay(clock=8000000) |
41 |
* |
39 |
* |
42 |
013F: MOVLW 22 |
40 |
013F: MOVLW 22 |
43 |
0140: MOVWF 04 |
41 |
0140: MOVWF 04 |
44 |
0141: BCF 03.7 |
42 |
0141: BCF 03.7 |
45 |
0142: MOVF 00,W |
43 |
0142: MOVF 00,W |
46 |
0143: BTFSC 03.2 |
44 |
0143: BTFSC 03.2 |
47 |
0144: GOTO 152 |
45 |
0144: GOTO 152 |
48 |
0145: MOVLW 02 |
46 |
0145: MOVLW 02 |
49 |
0146: MOVWF 78 |
47 |
0146: MOVWF 78 |
50 |
0147: CLRF 77 |
48 |
0147: CLRF 77 |
51 |
0148: DECFSZ 77,F |
49 |
0148: DECFSZ 77,F |
52 |
0149: GOTO 148 |
50 |
0149: GOTO 148 |
53 |
014A: DECFSZ 78,F |
51 |
014A: DECFSZ 78,F |
54 |
014B: GOTO 147 |
52 |
014B: GOTO 147 |
55 |
014C: MOVLW 97 |
53 |
014C: MOVLW 97 |
56 |
014D: MOVWF 77 |
54 |
014D: MOVWF 77 |
57 |
014E: DECFSZ 77,F |
55 |
014E: DECFSZ 77,F |
58 |
014F: GOTO 14E |
56 |
014F: GOTO 14E |
59 |
0150: DECFSZ 00,F |
57 |
0150: DECFSZ 00,F |
60 |
0151: GOTO 145 |
58 |
0151: GOTO 145 |
61 |
0152: BCF 0A.3 |
59 |
0152: BCF 0A.3 |
62 |
0153: BCF 0A.4 |
60 |
0153: BCF 0A.4 |
63 |
0154: GOTO 1D0 (RETURN) |
61 |
0154: GOTO 1D0 (RETURN) |
64 |
.................... |
62 |
.................... |
65 |
.................... |
63 |
.................... |
66 |
.................... //I2CHUB |
64 |
.................... //I2CHUB |
67 |
.................... //ADRESA pro èteni 0xE1 |
65 |
.................... //ADRESA pro èteni 0xE1 |
68 |
.................... //pro zápis 0xE0 |
66 |
.................... //pro zápis 0xE0 |
69 |
.................... |
67 |
.................... |
70 |
.................... |
- |
|
71 |
.................... #define EEPROM_SDA PIN_C4 |
- |
|
72 |
.................... #define EEPROM_SCL PIN_C3 |
- |
|
73 |
.................... #use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL) |
68 |
.................... #use i2c(master, sda=PIN_C4, scl=PIN_C3) |
74 |
* |
69 |
* |
75 |
0083: MOVLW 08 |
70 |
0083: MOVLW 08 |
76 |
0084: MOVWF 78 |
71 |
0084: MOVWF 78 |
77 |
0085: NOP |
72 |
0085: NOP |
78 |
0086: BCF 07.3 |
73 |
0086: BCF 07.3 |
79 |
0087: BCF 20.3 |
74 |
0087: BCF 20.3 |
80 |
0088: MOVF 20,W |
75 |
0088: MOVF 20,W |
81 |
0089: BSF 03.5 |
76 |
0089: BSF 03.5 |
82 |
008A: MOVWF 07 |
77 |
008A: MOVWF 07 |
83 |
008B: NOP |
78 |
008B: NOP |
84 |
008C: BCF 03.5 |
79 |
008C: BCF 03.5 |
85 |
008D: RLF 22,F |
80 |
008D: RLF 22,F |
86 |
008E: BCF 07.4 |
81 |
008E: BCF 07.4 |
87 |
008F: BTFSS 03.0 |
82 |
008F: BTFSS 03.0 |
88 |
0090: GOTO 097 |
83 |
0090: GOTO 097 |
89 |
0091: BSF 20.4 |
84 |
0091: BSF 20.4 |
90 |
0092: MOVF 20,W |
85 |
0092: MOVF 20,W |
91 |
0093: BSF 03.5 |
86 |
0093: BSF 03.5 |
92 |
0094: MOVWF 07 |
87 |
0094: MOVWF 07 |
93 |
0095: GOTO 09B |
88 |
0095: GOTO 09B |
94 |
0096: BCF 03.5 |
89 |
0096: BCF 03.5 |
95 |
0097: BCF 20.4 |
90 |
0097: BCF 20.4 |
96 |
0098: MOVF 20,W |
91 |
0098: MOVF 20,W |
97 |
0099: BSF 03.5 |
92 |
0099: BSF 03.5 |
98 |
009A: MOVWF 07 |
93 |
009A: MOVWF 07 |
99 |
009B: NOP |
94 |
009B: NOP |
100 |
009C: BCF 03.5 |
95 |
009C: BCF 03.5 |
101 |
009D: BSF 20.3 |
96 |
009D: BSF 20.3 |
102 |
009E: MOVF 20,W |
97 |
009E: MOVF 20,W |
103 |
009F: BSF 03.5 |
98 |
009F: BSF 03.5 |
104 |
00A0: MOVWF 07 |
99 |
00A0: MOVWF 07 |
105 |
00A1: BCF 03.5 |
100 |
00A1: BCF 03.5 |
106 |
00A2: BTFSS 07.3 |
101 |
00A2: BTFSS 07.3 |
107 |
00A3: GOTO 0A2 |
102 |
00A3: GOTO 0A2 |
108 |
00A4: DECFSZ 78,F |
103 |
00A4: DECFSZ 78,F |
109 |
00A5: GOTO 085 |
104 |
00A5: GOTO 085 |
110 |
00A6: NOP |
105 |
00A6: NOP |
111 |
00A7: BCF 07.3 |
106 |
00A7: BCF 07.3 |
112 |
00A8: BCF 20.3 |
107 |
00A8: BCF 20.3 |
113 |
00A9: MOVF 20,W |
108 |
00A9: MOVF 20,W |
114 |
00AA: BSF 03.5 |
109 |
00AA: BSF 03.5 |
115 |
00AB: MOVWF 07 |
110 |
00AB: MOVWF 07 |
116 |
00AC: NOP |
111 |
00AC: NOP |
117 |
00AD: BCF 03.5 |
112 |
00AD: BCF 03.5 |
118 |
00AE: BSF 20.4 |
113 |
00AE: BSF 20.4 |
119 |
00AF: MOVF 20,W |
114 |
00AF: MOVF 20,W |
120 |
00B0: BSF 03.5 |
115 |
00B0: BSF 03.5 |
121 |
00B1: MOVWF 07 |
116 |
00B1: MOVWF 07 |
122 |
00B2: NOP |
117 |
00B2: NOP |
123 |
00B3: NOP |
118 |
00B3: NOP |
124 |
00B4: BCF 03.5 |
119 |
00B4: BCF 03.5 |
125 |
00B5: BSF 20.3 |
120 |
00B5: BSF 20.3 |
126 |
00B6: MOVF 20,W |
121 |
00B6: MOVF 20,W |
127 |
00B7: BSF 03.5 |
122 |
00B7: BSF 03.5 |
128 |
00B8: MOVWF 07 |
123 |
00B8: MOVWF 07 |
129 |
00B9: BCF 03.5 |
124 |
00B9: BCF 03.5 |
130 |
00BA: BTFSS 07.3 |
125 |
00BA: BTFSS 07.3 |
131 |
00BB: GOTO 0BA |
126 |
00BB: GOTO 0BA |
132 |
00BC: CLRF 78 |
127 |
00BC: CLRF 78 |
133 |
00BD: NOP |
128 |
00BD: NOP |
134 |
00BE: BTFSC 07.4 |
129 |
00BE: BTFSC 07.4 |
135 |
00BF: BSF 78.0 |
130 |
00BF: BSF 78.0 |
136 |
00C0: BCF 07.3 |
131 |
00C0: BCF 07.3 |
137 |
00C1: BCF 20.3 |
132 |
00C1: BCF 20.3 |
138 |
00C2: MOVF 20,W |
133 |
00C2: MOVF 20,W |
139 |
00C3: BSF 03.5 |
134 |
00C3: BSF 03.5 |
140 |
00C4: MOVWF 07 |
135 |
00C4: MOVWF 07 |
141 |
00C5: BCF 03.5 |
136 |
00C5: BCF 03.5 |
142 |
00C6: BCF 07.4 |
137 |
00C6: BCF 07.4 |
143 |
00C7: BCF 20.4 |
138 |
00C7: BCF 20.4 |
144 |
00C8: MOVF 20,W |
139 |
00C8: MOVF 20,W |
145 |
00C9: BSF 03.5 |
140 |
00C9: BSF 03.5 |
146 |
00CA: MOVWF 07 |
141 |
00CA: MOVWF 07 |
147 |
00CB: BCF 03.5 |
142 |
00CB: BCF 03.5 |
148 |
00CC: RETURN |
143 |
00CC: RETURN |
149 |
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C7,rcv=PIN_C6,bits=8) //rcv TXD xmit RXD |
144 |
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C7,rcv=PIN_C6,bits=8) //rcv TXD xmit RXD |
150 |
* |
145 |
* |
151 |
0019: BCF 20.7 |
146 |
0019: BCF 20.7 |
152 |
001A: MOVF 20,W |
147 |
001A: MOVF 20,W |
153 |
001B: BSF 03.5 |
148 |
001B: BSF 03.5 |
154 |
001C: MOVWF 07 |
149 |
001C: MOVWF 07 |
155 |
001D: BCF 03.5 |
150 |
001D: BCF 03.5 |
156 |
001E: BCF 07.7 |
151 |
001E: BCF 07.7 |
157 |
001F: MOVLW 08 |
152 |
001F: MOVLW 08 |
158 |
0020: MOVWF 78 |
153 |
0020: MOVWF 78 |
159 |
0021: GOTO 022 |
154 |
0021: GOTO 022 |
160 |
0022: NOP |
155 |
0022: NOP |
161 |
0023: BSF 78.7 |
156 |
0023: BSF 78.7 |
162 |
0024: GOTO 033 |
157 |
0024: GOTO 033 |
163 |
0025: BCF 78.7 |
158 |
0025: BCF 78.7 |
164 |
0026: RRF 25,F |
159 |
0026: RRF 25,F |
165 |
0027: BTFSC 03.0 |
160 |
0027: BTFSC 03.0 |
166 |
0028: BSF 07.7 |
161 |
0028: BSF 07.7 |
167 |
0029: BTFSS 03.0 |
162 |
0029: BTFSS 03.0 |
168 |
002A: BCF 07.7 |
163 |
002A: BCF 07.7 |
169 |
002B: BSF 78.6 |
164 |
002B: BSF 78.6 |
170 |
002C: GOTO 033 |
165 |
002C: GOTO 033 |
171 |
002D: BCF 78.6 |
166 |
002D: BCF 78.6 |
172 |
002E: DECFSZ 78,F |
167 |
002E: DECFSZ 78,F |
173 |
002F: GOTO 026 |
168 |
002F: GOTO 026 |
174 |
0030: GOTO 031 |
169 |
0030: GOTO 031 |
175 |
0031: NOP |
170 |
0031: NOP |
176 |
0032: BSF 07.7 |
171 |
0032: BSF 07.7 |
177 |
0033: MOVLW 3F |
172 |
0033: MOVLW 3F |
178 |
0034: MOVWF 04 |
173 |
0034: MOVWF 04 |
179 |
0035: DECFSZ 04,F |
174 |
0035: DECFSZ 04,F |
180 |
0036: GOTO 035 |
175 |
0036: GOTO 035 |
181 |
0037: NOP |
176 |
0037: NOP |
182 |
0038: BTFSC 78.7 |
177 |
0038: BTFSC 78.7 |
183 |
0039: GOTO 025 |
178 |
0039: GOTO 025 |
184 |
003A: BTFSC 78.6 |
179 |
003A: BTFSC 78.6 |
185 |
003B: GOTO 02D |
180 |
003B: GOTO 02D |
186 |
003C: RETURN |
181 |
003C: RETURN |
187 |
.................... |
182 |
.................... |
188 |
.................... void setHUB(int d) //vstupuje 1-8 |
183 |
.................... void setHUB(int d) //vstupuje 1-8 |
189 |
.................... //hodnota udava jaky port bude pripojen na master I2C |
184 |
.................... //hodnota udava jaky port bude pripojen na master I2C |
190 |
.................... //zde je nastaveno propojeni jen jedne brany, je mozne propojit i vice bran naraz |
185 |
.................... //zde je nastaveno propojeni jen jedne brany, je mozne propojit i vice bran naraz |
191 |
.................... { |
186 |
.................... { |
192 |
.................... switch (d) { |
187 |
.................... switch (d) { |
193 |
* |
188 |
* |
194 |
00CD: MOVF 21,W |
189 |
00CD: MOVF 21,W |
195 |
00CE: XORLW 01 |
190 |
00CE: XORLW 01 |
196 |
00CF: BTFSC 03.2 |
191 |
00CF: BTFSC 03.2 |
197 |
00D0: GOTO 0E7 |
192 |
00D0: GOTO 0E7 |
198 |
00D1: XORLW 03 |
193 |
00D1: XORLW 03 |
199 |
00D2: BTFSC 03.2 |
194 |
00D2: BTFSC 03.2 |
200 |
00D3: GOTO 0EA |
195 |
00D3: GOTO 0EA |
201 |
00D4: XORLW 01 |
196 |
00D4: XORLW 01 |
202 |
00D5: BTFSC 03.2 |
197 |
00D5: BTFSC 03.2 |
203 |
00D6: GOTO 0ED |
198 |
00D6: GOTO 0ED |
204 |
00D7: XORLW 07 |
199 |
00D7: XORLW 07 |
205 |
00D8: BTFSC 03.2 |
200 |
00D8: BTFSC 03.2 |
206 |
00D9: GOTO 0F0 |
201 |
00D9: GOTO 0F0 |
207 |
00DA: XORLW 01 |
202 |
00DA: XORLW 01 |
208 |
00DB: BTFSC 03.2 |
203 |
00DB: BTFSC 03.2 |
209 |
00DC: GOTO 0F3 |
204 |
00DC: GOTO 0F3 |
210 |
00DD: XORLW 03 |
205 |
00DD: XORLW 03 |
211 |
00DE: BTFSC 03.2 |
206 |
00DE: BTFSC 03.2 |
212 |
00DF: GOTO 0F6 |
207 |
00DF: GOTO 0F6 |
213 |
00E0: XORLW 01 |
208 |
00E0: XORLW 01 |
214 |
00E1: BTFSC 03.2 |
209 |
00E1: BTFSC 03.2 |
215 |
00E2: GOTO 0F9 |
210 |
00E2: GOTO 0F9 |
216 |
00E3: XORLW 0F |
211 |
00E3: XORLW 0F |
217 |
00E4: BTFSC 03.2 |
212 |
00E4: BTFSC 03.2 |
218 |
00E5: GOTO 0FC |
213 |
00E5: GOTO 0FC |
219 |
00E6: GOTO 0FF |
214 |
00E6: GOTO 0FF |
220 |
.................... |
215 |
.................... |
221 |
.................... case 1: d=0x01; |
216 |
.................... case 1: d=0x01; |
222 |
00E7: MOVLW 01 |
217 |
00E7: MOVLW 01 |
223 |
00E8: MOVWF 21 |
218 |
00E8: MOVWF 21 |
224 |
.................... |
219 |
.................... |
225 |
.................... break; |
220 |
.................... break; |
226 |
00E9: GOTO 107 |
221 |
00E9: GOTO 107 |
227 |
.................... |
222 |
.................... |
228 |
.................... case 2: d=0x02; |
223 |
.................... case 2: d=0x02; |
229 |
00EA: MOVLW 02 |
224 |
00EA: MOVLW 02 |
230 |
00EB: MOVWF 21 |
225 |
00EB: MOVWF 21 |
231 |
.................... |
226 |
.................... |
232 |
.................... break; |
227 |
.................... break; |
233 |
00EC: GOTO 107 |
228 |
00EC: GOTO 107 |
234 |
.................... |
229 |
.................... |
235 |
.................... case 3: d=0x04; |
230 |
.................... case 3: d=0x04; |
236 |
00ED: MOVLW 04 |
231 |
00ED: MOVLW 04 |
237 |
00EE: MOVWF 21 |
232 |
00EE: MOVWF 21 |
238 |
.................... |
233 |
.................... |
239 |
.................... break; |
234 |
.................... break; |
240 |
00EF: GOTO 107 |
235 |
00EF: GOTO 107 |
241 |
.................... |
236 |
.................... |
242 |
.................... case 4: d=0x08; |
237 |
.................... case 4: d=0x08; |
243 |
00F0: MOVLW 08 |
238 |
00F0: MOVLW 08 |
244 |
00F1: MOVWF 21 |
239 |
00F1: MOVWF 21 |
245 |
.................... |
240 |
.................... |
246 |
.................... break; |
241 |
.................... break; |
247 |
00F2: GOTO 107 |
242 |
00F2: GOTO 107 |
248 |
.................... case 5: d=0x10; |
243 |
.................... case 5: d=0x10; |
249 |
00F3: MOVLW 10 |
244 |
00F3: MOVLW 10 |
250 |
00F4: MOVWF 21 |
245 |
00F4: MOVWF 21 |
251 |
.................... |
246 |
.................... |
252 |
.................... break; |
247 |
.................... break; |
253 |
00F5: GOTO 107 |
248 |
00F5: GOTO 107 |
254 |
.................... |
249 |
.................... |
255 |
.................... case 6: d=0x20; |
250 |
.................... case 6: d=0x20; |
256 |
00F6: MOVLW 20 |
251 |
00F6: MOVLW 20 |
257 |
00F7: MOVWF 21 |
252 |
00F7: MOVWF 21 |
258 |
.................... |
253 |
.................... |
259 |
.................... break; |
254 |
.................... break; |
260 |
00F8: GOTO 107 |
255 |
00F8: GOTO 107 |
261 |
.................... case 7: d=0x40; |
256 |
.................... case 7: d=0x40; |
262 |
00F9: MOVLW 40 |
257 |
00F9: MOVLW 40 |
263 |
00FA: MOVWF 21 |
258 |
00FA: MOVWF 21 |
264 |
.................... |
259 |
.................... |
265 |
.................... break; |
260 |
.................... break; |
266 |
00FB: GOTO 107 |
261 |
00FB: GOTO 107 |
267 |
.................... |
262 |
.................... |
268 |
.................... case 8: d=0x80; |
263 |
.................... case 8: d=0x80; |
269 |
00FC: MOVLW 80 |
264 |
00FC: MOVLW 80 |
270 |
00FD: MOVWF 21 |
265 |
00FD: MOVWF 21 |
271 |
.................... |
266 |
.................... |
272 |
.................... break; |
267 |
.................... break; |
273 |
00FE: GOTO 107 |
268 |
00FE: GOTO 107 |
274 |
.................... |
269 |
.................... |
275 |
.................... default:printf("chyba"); |
270 |
.................... default:printf("chyba"); |
276 |
00FF: MOVLW 04 |
271 |
00FF: MOVLW 04 |
277 |
0100: BSF 03.6 |
272 |
0100: BSF 03.6 |
278 |
0101: MOVWF 0D |
273 |
0101: MOVWF 0D |
279 |
0102: MOVLW 00 |
274 |
0102: MOVLW 00 |
280 |
0103: MOVWF 0F |
275 |
0103: MOVWF 0F |
281 |
0104: BCF 03.6 |
276 |
0104: BCF 03.6 |
282 |
0105: CALL 03D |
277 |
0105: CALL 03D |
283 |
.................... |
278 |
.................... |
284 |
.................... break; } |
279 |
.................... break; } |
285 |
0106: GOTO 107 |
280 |
0106: GOTO 107 |
286 |
.................... |
281 |
.................... |
287 |
.................... i2c_start(); |
282 |
.................... i2c_start(); |
288 |
0107: BSF 20.4 |
283 |
0107: BSF 20.4 |
289 |
0108: MOVF 20,W |
284 |
0108: MOVF 20,W |
290 |
0109: BSF 03.5 |
285 |
0109: BSF 03.5 |
291 |
010A: MOVWF 07 |
286 |
010A: MOVWF 07 |
292 |
010B: NOP |
287 |
010B: NOP |
293 |
010C: BCF 03.5 |
288 |
010C: BCF 03.5 |
294 |
010D: BSF 20.3 |
289 |
010D: BSF 20.3 |
295 |
010E: MOVF 20,W |
290 |
010E: MOVF 20,W |
296 |
010F: BSF 03.5 |
291 |
010F: BSF 03.5 |
297 |
0110: MOVWF 07 |
292 |
0110: MOVWF 07 |
298 |
0111: NOP |
293 |
0111: NOP |
299 |
0112: BCF 03.5 |
294 |
0112: BCF 03.5 |
300 |
0113: BCF 07.4 |
295 |
0113: BCF 07.4 |
301 |
0114: BCF 20.4 |
296 |
0114: BCF 20.4 |
302 |
0115: MOVF 20,W |
297 |
0115: MOVF 20,W |
303 |
0116: BSF 03.5 |
298 |
0116: BSF 03.5 |
304 |
0117: MOVWF 07 |
299 |
0117: MOVWF 07 |
305 |
0118: NOP |
300 |
0118: NOP |
306 |
0119: BCF 03.5 |
301 |
0119: BCF 03.5 |
307 |
011A: BCF 07.3 |
302 |
011A: BCF 07.3 |
308 |
011B: BCF 20.3 |
303 |
011B: BCF 20.3 |
309 |
011C: MOVF 20,W |
304 |
011C: MOVF 20,W |
310 |
011D: BSF 03.5 |
305 |
011D: BSF 03.5 |
311 |
011E: MOVWF 07 |
306 |
011E: MOVWF 07 |
312 |
.................... I2C_Write(0xE0); |
307 |
.................... I2C_Write(0xE0); |
313 |
011F: MOVLW E0 |
308 |
011F: MOVLW E0 |
314 |
0120: BCF 03.5 |
309 |
0120: BCF 03.5 |
315 |
0121: MOVWF 22 |
310 |
0121: MOVWF 22 |
316 |
0122: CALL 083 |
311 |
0122: CALL 083 |
317 |
.................... |
312 |
.................... |
318 |
.................... I2C_write(d); |
313 |
.................... I2C_write(d); |
319 |
0123: MOVF 21,W |
314 |
0123: MOVF 21,W |
320 |
0124: MOVWF 22 |
315 |
0124: MOVWF 22 |
321 |
0125: CALL 083 |
316 |
0125: CALL 083 |
322 |
.................... i2c_stop(); |
317 |
.................... i2c_stop(); |
323 |
0126: BCF 20.4 |
318 |
0126: BCF 20.4 |
324 |
0127: MOVF 20,W |
319 |
0127: MOVF 20,W |
325 |
0128: BSF 03.5 |
320 |
0128: BSF 03.5 |
326 |
0129: MOVWF 07 |
321 |
0129: MOVWF 07 |
327 |
012A: NOP |
322 |
012A: NOP |
328 |
012B: BCF 03.5 |
323 |
012B: BCF 03.5 |
329 |
012C: BSF 20.3 |
324 |
012C: BSF 20.3 |
330 |
012D: MOVF 20,W |
325 |
012D: MOVF 20,W |
331 |
012E: BSF 03.5 |
326 |
012E: BSF 03.5 |
332 |
012F: MOVWF 07 |
327 |
012F: MOVWF 07 |
333 |
0130: BCF 03.5 |
328 |
0130: BCF 03.5 |
334 |
0131: BTFSS 07.3 |
329 |
0131: BTFSS 07.3 |
335 |
0132: GOTO 131 |
330 |
0132: GOTO 131 |
336 |
0133: NOP |
331 |
0133: NOP |
337 |
0134: GOTO 135 |
332 |
0134: GOTO 135 |
338 |
0135: NOP |
333 |
0135: NOP |
339 |
0136: BSF 20.4 |
334 |
0136: BSF 20.4 |
340 |
0137: MOVF 20,W |
335 |
0137: MOVF 20,W |
341 |
0138: BSF 03.5 |
336 |
0138: BSF 03.5 |
342 |
0139: MOVWF 07 |
337 |
0139: MOVWF 07 |
343 |
013A: NOP |
338 |
013A: NOP |
344 |
.................... |
339 |
.................... |
345 |
.................... } |
340 |
.................... } |
346 |
013B: BCF 03.5 |
341 |
013B: BCF 03.5 |
347 |
013C: BCF 0A.3 |
342 |
013C: BCF 0A.3 |
348 |
013D: BCF 0A.4 |
343 |
013D: BCF 0A.4 |
349 |
013E: GOTO 1CB (RETURN) |
344 |
013E: GOTO 1CB (RETURN) |
350 |
.................... |
345 |
.................... |
351 |
.................... |
346 |
.................... |
352 |
.................... void main() |
347 |
.................... void main() |
353 |
.................... { |
348 |
.................... { |
354 |
* |
349 |
* |
355 |
0018: DATA 00,00 |
350 |
0018: DATA 00,00 |
356 |
* |
351 |
* |
357 |
0155: CLRF 04 |
352 |
0155: CLRF 04 |
358 |
0156: BCF 03.7 |
353 |
0156: BCF 03.7 |
359 |
0157: MOVLW 1F |
354 |
0157: MOVLW 1F |
360 |
0158: ANDWF 03,F |
355 |
0158: ANDWF 03,F |
361 |
0159: MOVLW 71 |
356 |
0159: MOVLW 71 |
362 |
015A: BSF 03.5 |
357 |
015A: BSF 03.5 |
363 |
015B: MOVWF 0F |
358 |
015B: MOVWF 0F |
364 |
015C: MOVF 0F,W |
359 |
015C: MOVF 0F,W |
365 |
015D: BCF 03.5 |
360 |
015D: BCF 03.5 |
366 |
015E: BCF 20.7 |
361 |
015E: BCF 20.7 |
367 |
015F: MOVF 20,W |
362 |
015F: MOVF 20,W |
368 |
0160: BSF 03.5 |
363 |
0160: BSF 03.5 |
369 |
0161: MOVWF 07 |
364 |
0161: MOVWF 07 |
370 |
0162: BCF 03.5 |
365 |
0162: BCF 03.5 |
371 |
0163: BSF 07.7 |
366 |
0163: BSF 07.7 |
372 |
0164: BSF 03.5 |
367 |
0164: BSF 03.5 |
373 |
0165: BSF 03.6 |
368 |
0165: BSF 03.6 |
374 |
0166: MOVF 09,W |
369 |
0166: MOVF 09,W |
375 |
0167: ANDLW C0 |
370 |
0167: ANDLW C0 |
376 |
0168: MOVWF 09 |
371 |
0168: MOVWF 09 |
377 |
0169: BCF 03.6 |
372 |
0169: BCF 03.6 |
378 |
016A: BCF 1F.4 |
373 |
016A: BCF 1F.4 |
379 |
016B: BCF 1F.5 |
374 |
016B: BCF 1F.5 |
380 |
016C: MOVLW 00 |
375 |
016C: MOVLW 00 |
381 |
016D: BSF 03.6 |
376 |
016D: BSF 03.6 |
382 |
016E: MOVWF 08 |
377 |
016E: MOVWF 08 |
383 |
016F: BCF 03.5 |
378 |
016F: BCF 03.5 |
384 |
0170: CLRF 07 |
379 |
0170: CLRF 07 |
385 |
0171: CLRF 08 |
380 |
0171: CLRF 08 |
386 |
0172: CLRF 09 |
381 |
0172: CLRF 09 |
387 |
.................... |
382 |
.................... |
388 |
.................... setup_adc_ports(NO_ANALOGS|VSS_VDD); |
383 |
.................... setup_adc_ports(NO_ANALOGS|VSS_VDD); |
389 |
* |
384 |
* |
390 |
0176: BSF 03.5 |
385 |
0176: BSF 03.5 |
391 |
0177: BSF 03.6 |
386 |
0177: BSF 03.6 |
392 |
0178: MOVF 09,W |
387 |
0178: MOVF 09,W |
393 |
0179: ANDLW C0 |
388 |
0179: ANDLW C0 |
394 |
017A: MOVWF 09 |
389 |
017A: MOVWF 09 |
395 |
017B: BCF 03.6 |
390 |
017B: BCF 03.6 |
396 |
017C: BCF 1F.4 |
391 |
017C: BCF 1F.4 |
397 |
017D: BCF 1F.5 |
392 |
017D: BCF 1F.5 |
398 |
017E: MOVLW 00 |
393 |
017E: MOVLW 00 |
399 |
017F: BSF 03.6 |
394 |
017F: BSF 03.6 |
400 |
0180: MOVWF 08 |
395 |
0180: MOVWF 08 |
401 |
.................... setup_adc(ADC_CLOCK_DIV_2); |
396 |
.................... setup_adc(ADC_CLOCK_DIV_2); |
402 |
0181: BCF 03.5 |
397 |
0181: BCF 03.5 |
403 |
0182: BCF 03.6 |
398 |
0182: BCF 03.6 |
404 |
0183: BCF 1F.6 |
399 |
0183: BCF 1F.6 |
405 |
0184: BCF 1F.7 |
400 |
0184: BCF 1F.7 |
406 |
0185: BSF 03.5 |
401 |
0185: BSF 03.5 |
407 |
0186: BCF 1F.7 |
402 |
0186: BCF 1F.7 |
408 |
0187: BCF 03.5 |
403 |
0187: BCF 03.5 |
409 |
0188: BSF 1F.0 |
404 |
0188: BSF 1F.0 |
410 |
.................... setup_spi(SPI_SS_DISABLED); |
405 |
.................... setup_spi(SPI_SS_DISABLED); |
411 |
0189: BCF 14.5 |
406 |
0189: BCF 14.5 |
412 |
018A: BCF 20.5 |
407 |
018A: BCF 20.5 |
413 |
018B: MOVF 20,W |
408 |
018B: MOVF 20,W |
414 |
018C: BSF 03.5 |
409 |
018C: BSF 03.5 |
415 |
018D: MOVWF 07 |
410 |
018D: MOVWF 07 |
416 |
018E: BCF 03.5 |
411 |
018E: BCF 03.5 |
417 |
018F: BSF 20.4 |
412 |
018F: BSF 20.4 |
418 |
0190: MOVF 20,W |
413 |
0190: MOVF 20,W |
419 |
0191: BSF 03.5 |
414 |
0191: BSF 03.5 |
420 |
0192: MOVWF 07 |
415 |
0192: MOVWF 07 |
421 |
0193: BCF 03.5 |
416 |
0193: BCF 03.5 |
422 |
0194: BCF 20.3 |
417 |
0194: BCF 20.3 |
423 |
0195: MOVF 20,W |
418 |
0195: MOVF 20,W |
424 |
0196: BSF 03.5 |
419 |
0196: BSF 03.5 |
425 |
0197: MOVWF 07 |
420 |
0197: MOVWF 07 |
426 |
0198: MOVLW 01 |
421 |
0198: MOVLW 01 |
427 |
0199: BCF 03.5 |
422 |
0199: BCF 03.5 |
428 |
019A: MOVWF 14 |
423 |
019A: MOVWF 14 |
429 |
019B: MOVLW 00 |
424 |
019B: MOVLW 00 |
430 |
019C: BSF 03.5 |
425 |
019C: BSF 03.5 |
431 |
019D: MOVWF 14 |
426 |
019D: MOVWF 14 |
432 |
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
427 |
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); |
433 |
019E: MOVF 01,W |
428 |
019E: MOVF 01,W |
434 |
019F: ANDLW C7 |
429 |
019F: ANDLW C7 |
435 |
01A0: IORLW 08 |
430 |
01A0: IORLW 08 |
436 |
01A1: MOVWF 01 |
431 |
01A1: MOVWF 01 |
437 |
.................... setup_timer_1(T1_DISABLED); |
432 |
.................... setup_timer_1(T1_DISABLED); |
438 |
01A2: BCF 03.5 |
433 |
01A2: BCF 03.5 |
439 |
01A3: CLRF 10 |
434 |
01A3: CLRF 10 |
440 |
.................... setup_timer_2(T2_DISABLED,0,1); |
435 |
.................... setup_timer_2(T2_DISABLED,0,1); |
441 |
01A4: MOVLW 00 |
436 |
01A4: MOVLW 00 |
442 |
01A5: MOVWF 78 |
437 |
01A5: MOVWF 78 |
443 |
01A6: MOVWF 12 |
438 |
01A6: MOVWF 12 |
444 |
01A7: MOVLW 00 |
439 |
01A7: MOVLW 00 |
445 |
01A8: BSF 03.5 |
440 |
01A8: BSF 03.5 |
446 |
01A9: MOVWF 12 |
441 |
01A9: MOVWF 12 |
447 |
.................... setup_ccp1(CCP_OFF); |
442 |
.................... setup_ccp1(CCP_OFF); |
448 |
01AA: BCF 03.5 |
443 |
01AA: BCF 03.5 |
449 |
01AB: BSF 20.2 |
444 |
01AB: BSF 20.2 |
450 |
01AC: MOVF 20,W |
445 |
01AC: MOVF 20,W |
451 |
01AD: BSF 03.5 |
446 |
01AD: BSF 03.5 |
452 |
01AE: MOVWF 07 |
447 |
01AE: MOVWF 07 |
453 |
01AF: BCF 03.5 |
448 |
01AF: BCF 03.5 |
454 |
01B0: CLRF 17 |
449 |
01B0: CLRF 17 |
455 |
01B1: BSF 03.5 |
450 |
01B1: BSF 03.5 |
456 |
01B2: CLRF 1B |
451 |
01B2: CLRF 1B |
457 |
01B3: CLRF 1C |
452 |
01B3: CLRF 1C |
458 |
01B4: MOVLW 01 |
453 |
01B4: MOVLW 01 |
459 |
01B5: MOVWF 1D |
454 |
01B5: MOVWF 1D |
460 |
.................... setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard |
455 |
.................... setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard |
461 |
01B6: BCF 03.5 |
456 |
01B6: BCF 03.5 |
462 |
01B7: BSF 03.6 |
457 |
01B7: BSF 03.6 |
463 |
01B8: CLRF 07 |
458 |
01B8: CLRF 07 |
464 |
01B9: CLRF 08 |
459 |
01B9: CLRF 08 |
465 |
01BA: CLRF 09 |
460 |
01BA: CLRF 09 |
466 |
.................... |
461 |
.................... |
467 |
.................... printf("I2CHUB \r\n",); |
462 |
.................... printf("I2CHUB \r\n",); |
468 |
01BB: MOVLW 07 |
463 |
01BB: MOVLW 07 |
469 |
01BC: MOVWF 0D |
464 |
01BC: MOVWF 0D |
470 |
01BD: MOVLW 00 |
465 |
01BD: MOVLW 00 |
471 |
01BE: MOVWF 0F |
466 |
01BE: MOVWF 0F |
472 |
01BF: BCF 03.6 |
467 |
01BF: BCF 03.6 |
473 |
01C0: CALL 03D |
468 |
01C0: CALL 03D |
474 |
.................... printf("(c)MLAB 2013 JACHO \r\n",); |
469 |
.................... printf("(c)MLAB 2013 JACHO \r\n",); |
475 |
01C1: MOVLW 0D |
470 |
01C1: MOVLW 0D |
476 |
01C2: BSF 03.6 |
471 |
01C2: BSF 03.6 |
477 |
01C3: MOVWF 0D |
472 |
01C3: MOVWF 0D |
478 |
01C4: MOVLW 00 |
473 |
01C4: MOVLW 00 |
479 |
01C5: MOVWF 0F |
474 |
01C5: MOVWF 0F |
480 |
01C6: BCF 03.6 |
475 |
01C6: BCF 03.6 |
481 |
01C7: CALL 03D |
476 |
01C7: CALL 03D |
482 |
.................... |
477 |
.................... |
483 |
.................... while(TRUE) |
478 |
.................... while(TRUE) |
484 |
.................... { |
479 |
.................... { |
485 |
.................... setHUB(3); //pripoji prislusnou branu |
480 |
.................... setHUB(3); //pripoji prislusnou branu |
486 |
01C8: MOVLW 03 |
481 |
01C8: MOVLW 03 |
487 |
01C9: MOVWF 21 |
482 |
01C9: MOVWF 21 |
488 |
01CA: GOTO 0CD |
483 |
01CA: GOTO 0CD |
489 |
.................... delay_ms(1000); |
484 |
.................... delay_ms(1000); |
490 |
01CB: MOVLW 04 |
485 |
01CB: MOVLW 04 |
491 |
01CC: MOVWF 21 |
486 |
01CC: MOVWF 21 |
492 |
01CD: MOVLW FA |
487 |
01CD: MOVLW FA |
493 |
01CE: MOVWF 22 |
488 |
01CE: MOVWF 22 |
494 |
01CF: GOTO 13F |
489 |
01CF: GOTO 13F |
495 |
01D0: DECFSZ 21,F |
490 |
01D0: DECFSZ 21,F |
496 |
01D1: GOTO 1CD |
491 |
01D1: GOTO 1CD |
497 |
.................... } |
492 |
.................... } |
498 |
01D2: GOTO 1C8 |
493 |
01D2: GOTO 1C8 |
499 |
.................... } |
494 |
.................... } |
500 |
.................... |
495 |
.................... |
501 |
01D3: SLEEP |
496 |
01D3: SLEEP |
502 |
|
497 |
|
503 |
Configuration Fuses: |
498 |
Configuration Fuses: |
504 |
Word 1: 2CF5 INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUG |
499 |
Word 1: 2CF5 INTRC NOWDT NOPUT MCLR NOPROTECT NOCPD NOBROWNOUT IESO FCMEN NOLVP NODEBUG |
505 |
Word 2: 3FFF NOWRT BORV40 |
500 |
Word 2: 3FFF NOWRT BORV40 |