Subversion Repositories svnkaklik

Rev

Details | Last modification | View Log

Rev Author Line No. Line
2 kaklik 1
CCS PCW C Compiler, Version 3.110, 15448
2
 
3
               Filename: d:\@kaklik\programy\pic_c\robot\solarni_robot\2004\main.LST
4
 
5
               ROM used: 178 (17%)
6
                         Largest free fragment is 846
7
               RAM used: 3 (4%) at main() level
8
                         4 (6%) worst case
9
               Stack:    1 locations
10
 
11
*
12
0000:  MOVLW  00
13
0001:  MOVWF  0A
14
0002:  GOTO   012
15
0003:  NOP
16
....................  /* Program pro ovladani slunecniho robota */  
17
.................... /* (chodi se zapojenim Dark Walker rev.3  */  
18
.................... /* $Header: /programy/PIC_C/robot/solarni_robot/dalsi_verze/main.c 8     7.09.03 12:35 Kaklik $ */  
19
....................   
20
.................... #include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" 
21
....................  #include <16F84.h> 
22
....................  //////// Standard Header file for the PIC16F84 device ////////////////  
23
.................... #device PIC16F84  
24
.................... #list  
25
....................  
26
.................... #use delay(clock=32768)  
27
0004:  MOVLW  10
28
0005:  MOVWF  04
29
0006:  MOVF   00,W
30
0007:  BTFSC  03.2
31
0008:  GOTO   011
32
0009:  GOTO   00F
33
000A:  NOP
34
000B:  NOP
35
000C:  NOP
36
000D:  NOP
37
000E:  NOP
38
000F:  DECFSZ 00,F
39
0010:  GOTO   00A
40
0011:  RETLW  00
41
.................... #fuses LP,PUT,NOWDT  
42
....................   
43
....................  
44
....................   
45
.................... #define LED       PIN_B3   // LED  
46
.................... #define ON_TIME   75       // Cas sepnuti rele  
47
.................... #define meridlo   PIN_B2   // Napetovy supervisor  
48
.................... #define RESET     PIN_B0   // Pridrzeni RESETu  
49
....................   
50
.................... void rele1()   // Sepnuti prvniho rele  
51
.................... {  
52
....................    output_low(PIN_A1);  
53
....................    output_low(PIN_B4);  
54
....................    delay_ms(ON_TIME);  
55
....................    output_high(PIN_A1);  
56
....................    output_high(PIN_B4);  
57
.................... }  
58
....................   
59
.................... void motor()   // Sepnuti motoru  
60
.................... {  
61
....................    output_low(pin_A2);  
62
....................    output_low(pin_B1);  
63
....................    output_low(PIN_A4);  
64
....................    delay_ms(ON_TIME);  
65
....................    output_high(pin_A2);  
66
....................    output_high(pin_B1);  
67
....................    output_high(PIN_A4);  
68
.................... }  
69
....................   
70
....................   
71
.................... void main()  
72
.................... {  
73
0012:  CLRF   04
74
0013:  MOVLW  1F
75
0014:  ANDWF  03,F
76
....................   
77
....................    setup_counters(RTCC_INTERNAL,WDT_18MS);  
78
0015:  MOVLW  08
79
0016:  MOVWF  0C
80
0017:  BTFSS  0C.3
81
0018:  GOTO   021
82
0019:  MOVLW  07
83
001A:  CLRF   01
84
001B:  MOVLW  81
85
001C:  MOVWF  04
86
001D:  MOVF   00,W
87
001E:  ANDLW  C0
88
001F:  IORLW  0F
89
0020:  MOVWF  00
90
0021:  CLRWDT
91
0022:  MOVLW  81
92
0023:  MOVWF  04
93
0024:  MOVF   00,W
94
0025:  ANDLW  C0
95
0026:  IORWF  0C,W
96
0027:  MOVWF  00
97
....................   
98
....................    output_high(RESET);                       // vypnuti resetu od supervizoru  
99
0028:  BSF    03.5
100
0029:  BCF    06.0
101
002A:  BCF    03.5
102
002B:  BSF    06.0
103
....................   
104
....................    output_low(PIN_A2);        // vypni vsechno  
105
002C:  BSF    03.5
106
002D:  BCF    05.2
107
002E:  BCF    03.5
108
002F:  BCF    05.2
109
....................    output_low(PIN_A3);  
110
0030:  BSF    03.5
111
0031:  BCF    05.3
112
0032:  BCF    03.5
113
0033:  BCF    05.3
114
....................    output_low(PIN_B5);  
115
0034:  BSF    03.5
116
0035:  BCF    06.5
117
0036:  BCF    03.5
118
0037:  BCF    06.5
119
....................   
120
....................    output_high(LED);                         //  
121
0038:  BSF    03.5
122
0039:  BCF    06.3
123
003A:  BCF    03.5
124
003B:  BSF    06.3
125
....................    delay_ms(ON_TIME);                        // bliknuti LED  
126
003C:  MOVLW  C7
127
003D:  MOVWF  0C
128
003E:  DECFSZ 0C,F
129
003F:  GOTO   03E
130
0040:  NOP
131
0041:  NOP
132
....................    output_low(LED);                          //  
133
0042:  BSF    03.5
134
0043:  BCF    06.3
135
0044:  BCF    03.5
136
0045:  BCF    06.3
137
....................   
138
....................    output_high(PIN_A3);  
139
0046:  BSF    03.5
140
0047:  BCF    05.3
141
0048:  BCF    03.5
142
0049:  BSF    05.3
143
....................    delay_ms(3000);  
144
004A:  MOVLW  0C
145
004B:  MOVWF  0F
146
004C:  MOVLW  FA
147
004D:  MOVWF  10
148
004E:  CALL   004
149
004F:  DECFSZ 0F,F
150
0050:  GOTO   04C
151
....................    output_high(PIN_B5);  
152
0051:  BSF    03.5
153
0052:  BCF    06.5
154
0053:  BCF    03.5
155
0054:  BSF    06.5
156
....................    delay_ms(10000);  
157
0055:  MOVLW  28
158
0056:  MOVWF  0F
159
0057:  MOVLW  FA
160
0058:  MOVWF  10
161
0059:  CALL   004
162
005A:  DECFSZ 0F,F
163
005B:  GOTO   057
164
....................    output_low(PIN_B5);  
165
005C:  BSF    03.5
166
005D:  BCF    06.5
167
005E:  BCF    03.5
168
005F:  BCF    06.5
169
....................   
170
....................    output_high(PIN_A2);    // rozjezd  
171
0060:  BSF    03.5
172
0061:  BCF    05.2
173
0062:  BCF    03.5
174
0063:  BSF    05.2
175
....................    delay_ms(200);  
176
0064:  MOVLW  C8
177
0065:  MOVWF  10
178
0066:  CALL   004
179
....................    output_low(PIN_A3);  
180
0067:  BSF    03.5
181
0068:  BCF    05.3
182
0069:  BCF    03.5
183
006A:  BCF    05.3
184
....................    delay_ms(1000);  
185
006B:  MOVLW  04
186
006C:  MOVWF  0F
187
006D:  MOVLW  FA
188
006E:  MOVWF  10
189
006F:  CALL   004
190
0070:  DECFSZ 0F,F
191
0071:  GOTO   06D
192
....................    output_high(PIN_A3);  
193
0072:  BSF    03.5
194
0073:  BCF    05.3
195
0074:  BCF    03.5
196
0075:  BSF    05.3
197
....................    delay_ms(200);  
198
0076:  MOVLW  C8
199
0077:  MOVWF  10
200
0078:  CALL   004
201
....................    output_low(PIN_A3);  
202
0079:  BSF    03.5
203
007A:  BCF    05.3
204
007B:  BCF    03.5
205
007C:  BCF    05.3
206
....................    delay_ms(1000);  
207
007D:  MOVLW  04
208
007E:  MOVWF  0F
209
007F:  MOVLW  FA
210
0080:  MOVWF  10
211
0081:  CALL   004
212
0082:  DECFSZ 0F,F
213
0083:  GOTO   07F
214
....................    output_high(PIN_B5);  
215
0084:  BSF    03.5
216
0085:  BCF    06.5
217
0086:  BCF    03.5
218
0087:  BSF    06.5
219
....................    delay_ms(200);  
220
0088:  MOVLW  C8
221
0089:  MOVWF  10
222
008A:  CALL   004
223
....................    output_low(PIN_B5);  
224
008B:  BSF    03.5
225
008C:  BCF    06.5
226
008D:  BCF    03.5
227
008E:  BCF    06.5
228
....................    delay_ms(1000);  
229
008F:  MOVLW  04
230
0090:  MOVWF  0F
231
0091:  MOVLW  FA
232
0092:  MOVWF  10
233
0093:  CALL   004
234
0094:  DECFSZ 0F,F
235
0095:  GOTO   091
236
....................    output_high(PIN_B5);  
237
0096:  BSF    03.5
238
0097:  BCF    06.5
239
0098:  BCF    03.5
240
0099:  BSF    06.5
241
....................    delay_ms(200);  
242
009A:  MOVLW  C8
243
009B:  MOVWF  10
244
009C:  CALL   004
245
....................    output_low(PIN_B5);  
246
009D:  BSF    03.5
247
009E:  BCF    06.5
248
009F:  BCF    03.5
249
00A0:  BCF    06.5
250
....................   
251
....................    output_low(PIN_A2);        // vypni vsechno  
252
00A1:  BSF    03.5
253
00A2:  BCF    05.2
254
00A3:  BCF    03.5
255
00A4:  BCF    05.2
256
....................    output_low(PIN_A3);  
257
00A5:  BSF    03.5
258
00A6:  BCF    05.3
259
00A7:  BCF    03.5
260
00A8:  BCF    05.3
261
....................    output_low(PIN_B5);  
262
00A9:  BSF    03.5
263
00AA:  BCF    06.5
264
00AB:  BCF    03.5
265
00AC:  BCF    06.5
266
....................   
267
....................    output_low(RESET);                        // zapnuti resetu od supervisoru  
268
00AD:  BSF    03.5
269
00AE:  BCF    06.0
270
00AF:  BCF    03.5
271
00B0:  BCF    06.0
272
.................... }  
273
....................  
274
00B1:  SLEEP