Subversion Repositories svnkaklik

Rev

Rev 322 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 322 Rev 323
1
;/////////////////////////////////////////////////////////////////////////////////
1
;/////////////////////////////////////////////////////////////////////////////////
2
;// Code Generator: BoostBasic Compiler - http://www.sourceboost.com
2
;// Code Generator: BoostBasic Compiler - http://www.sourceboost.com
3
;// Version       : 6.70
3
;// Version       : 6.70
4
;// License Type  : Pro License
4
;// License Type  : Pro License
5
;// Limitations   : PIC18 max code size:Unlimited, max RAM banks:Unlimited
5
;// Limitations   : PIC18 max code size:Unlimited, max RAM banks:Unlimited
6
;/////////////////////////////////////////////////////////////////////////////////
6
;/////////////////////////////////////////////////////////////////////////////////
7
 
7
 
8
'robot
8
'robot
9
 
9
 
10
'#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
10
'#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
11
 
11
 
12
 
12
 
13
#pragma DATA _CONFIG1H, _OSCS_OFF_1H & _HSPLL_OSC_1H
13
#pragma DATA _CONFIG1H, _OSCS_OFF_1H & _HSPLL_OSC_1H
14
#pragma DATA _CONFIG2L, _BOR_ON_2L & _BORV_42_2L & _PWRT_ON_2L
14
#pragma DATA _CONFIG2L, _BOR_ON_2L & _BORV_42_2L & _PWRT_ON_2L
15
#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
15
#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
16
#pragma DATA _CONFIG3H, _CCP2MX_OFF_3H
16
#pragma DATA _CONFIG3H, _CCP2MX_OFF_3H
17
#pragma DATA _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L
17
#pragma DATA _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L
18
#pragma DATA _CONFIG5L, _CP0_ON_5L & _CP1_ON_5L & _CP2_ON_5L & _CP3_ON_5L
18
#pragma DATA _CONFIG5L, _CP0_ON_5L & _CP1_ON_5L & _CP2_ON_5L & _CP3_ON_5L
19
#pragma DATA _CONFIG5H, _CPB_ON_5H & _CPD_ON_5H
19
#pragma DATA _CONFIG5H, _CPB_ON_5H & _CPD_ON_5H
20
#pragma DATA _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
20
#pragma DATA _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
21
#pragma DATA _CONFIG6H, _WRTC_ON_6H & _WRTB_ON_6H & _WRTD_OFF_6H
21
#pragma DATA _CONFIG6H, _WRTC_ON_6H & _WRTB_ON_6H & _WRTD_OFF_6H
22
#pragma DATA _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
22
#pragma DATA _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
23
#pragma DATA _CONFIG7H, _EBTRB_ON_7H
23
#pragma DATA _CONFIG7H, _EBTRB_ON_7H
24
 
24
 
25
#pragma CLOCK_FREQ 40000000
25
#pragma CLOCK_FREQ 40000000
26
 
26
 
27
Function receive() As Byte
27
Function receive() As Byte
28
 
28
 
29
	If ( (rcsta.OERR = 1) ) Then
29
	If ( (rcsta.OERR = 1) ) Then
30
020E  A2AB      	BTFSS gbl_rcsta,1
30
020E  A2AB      	BTFSS gbl_rcsta,1
31
0210  D002      	BRA	label268438551
31
0210  D002      	BRA	label268438551
32
0216            label268438551
32
0216            label268438551
33
 
33
 
34
		rcsta.CREN = 0
34
		rcsta.CREN = 0
35
0212  98AB      	BCF gbl_rcsta,4
35
0212  98AB      	BCF gbl_rcsta,4
36
 
36
 
37
        rcsta.CREN = 1
37
        rcsta.CREN = 1
38
0214  88AB      	BSF gbl_rcsta,4
38
0214  88AB      	BSF gbl_rcsta,4
39
 
39
 
40
	End If
40
	End If
41
    Do While (pir1.RCIF = 0)
41
    Do While (pir1.RCIF = 0)
42
0216  AA9E      	BTFSS gbl_pir1,5
42
0216  AA9E      	BTFSS gbl_pir1,5
43
0218  D7FE      	BRA	label268438551
43
0218  D7FE      	BRA	label268438551
44
 
44
 
45
	Loop
45
	Loop
46
	receive = rcreg
46
	receive = rcreg
47
021A  50AE      	MOVF gbl_rcreg, W
47
021A  50AE      	MOVF gbl_rcreg, W
48
021C  6E07      	MOVWF CompTempVarRet489
48
021C  6E06      	MOVWF CompTempVarRet489
49
 
49
 
50
	
50
	
51
End Function
51
End Function
52
021E  0012      	RETURN
52
021E  0012      	RETURN
53
 
53
 
54
 
54
 
55
Sub send(c As Byte)
55
Sub send(c As Byte)
56
 
56
 
57
	Do while (pir1 & (1 << TXIF)) = 0 Loop
57
	Do while (pir1 & (1 << TXIF)) = 0 Loop
58
0204            label268438562
58
0204            label268438562
59
0204  A89E      	BTFSS gbl_pir1,4
59
0204  A89E      	BTFSS gbl_pir1,4
60
0206  D7FE      	BRA	label268438562
60
0206  D7FE      	BRA	label268438562
61
 
61
 
62
	txreg = c
62
	txreg = c
63
0208  5007      	MOVF send_00000_arg_c, W
63
0208  5006      	MOVF send_00000_arg_c, W
64
020A  6EAD      	MOVWF gbl_txreg
64
020A  6EAD      	MOVWF gbl_txreg
65
 
65
 
66
End Sub
66
End Sub
67
020C  0012      	RETURN
67
020C  0012      	RETURN
68
 
68
 
69
 
69
 
70
Sub main()
70
Sub main()
71
 
71
 
72
	Dim motors As Byte
72
	Dim motors As Byte
73
	Dim sensors As Byte
73
	Dim sensors As Byte
74
	Dim buttons As Byte
74
	Dim buttons As Byte
75
	Dim leds As Byte
75
	Dim leds As Byte
76
	Dim count As word
76
	Dim count As Byte
77
	Dim i As Long
77
	Dim i As Long
78
 
78
 
79
	'NASTAVENI IO
79
	'NASTAVENI IO
80
	lata=0xFF
80
	lata=0xFF
81
0220  6889      	SETF gbl_lata
81
0220  6889      	SETF gbl_lata
82
 
82
 
83
	latb=0
83
	latb=0
84
0222  6A8A      	CLRF gbl_latb
84
0222  6A8A      	CLRF gbl_latb
85
 
85
 
86
	latc=0xFF
86
	latc=0xFF
87
0224  688B      	SETF gbl_latc
87
0224  688B      	SETF gbl_latc
88
 
88
 
89
	trisa=0xF0
89
	trisa=0xF0
90
0226  0EF0      	MOVLW 0xF0
90
0226  0EF0      	MOVLW 0xF0
91
0228  6E92      	MOVWF gbl_trisa
91
0228  6E92      	MOVWF gbl_trisa
92
 
92
 
93
	trisb=0x3F
93
	trisb=0x3F
94
022A  0E3F      	MOVLW 0x3F
94
022A  0E3F      	MOVLW 0x3F
95
022C  6E93      	MOVWF gbl_trisb
95
022C  6E93      	MOVWF gbl_trisb
96
 
96
 
97
	trisc=0x9F
97
	trisc=0x9F
98
022E  0E9F      	MOVLW 0x9F
98
022E  0E9F      	MOVLW 0x9F
99
0230  6E94      	MOVWF gbl_trisc
99
0230  6E94      	MOVWF gbl_trisc
100
 
100
 
101
 
101
 
102
	'VYPNOUT ADC
102
	'VYPNOUT ADC
103
	adcon1=0xC6
103
	adcon1=0xC6
104
0232  0EC6      	MOVLW 0xC6
104
0232  0EC6      	MOVLW 0xC6
105
0234  6EC1      	MOVWF gbl_adcon1
105
0234  6EC1      	MOVWF gbl_adcon1
106
 
106
 
107
	adcon0=0xC0
107
	adcon0=0xC0
108
0236  0EC0      	MOVLW 0xC0
108
0236  0EC0      	MOVLW 0xC0
109
0238  6EC2      	MOVWF gbl_adcon0
109
0238  6EC2      	MOVWF gbl_adcon0
110
 
110
 
111
 
111
 
112
	'UART 9600bps
112
	'UART 9600bps
113
	spbrg=64
113
	spbrg=64
114
023A  0E40      	MOVLW 0x40
114
023A  0E40      	MOVLW 0x40
115
023C  6EAF      	MOVWF gbl_spbrg
115
023C  6EAF      	MOVWF gbl_spbrg
116
 
116
 
117
	txsta = txsta & ~(1 << BRGH)
117
	txsta = txsta & ~(1 << BRGH)
118
023E  0EFB      	MOVLW 0xFB
118
023E  0EFB      	MOVLW 0xFB
119
0240  14AC      	ANDWF gbl_txsta, W
119
0240  14AC      	ANDWF gbl_txsta, W
120
0242  6EAC      	MOVWF gbl_txsta
120
0242  6EAC      	MOVWF gbl_txsta
121
 
121
 
122
	txsta = txsta | (1 << TXEN)
122
	txsta = txsta | (1 << TXEN)
123
0244  0E20      	MOVLW 0x20
123
0244  0E20      	MOVLW 0x20
124
0246  10AC      	IORWF gbl_txsta, W
124
0246  10AC      	IORWF gbl_txsta, W
125
0248  6EAC      	MOVWF gbl_txsta
125
0248  6EAC      	MOVWF gbl_txsta
126
 
126
 
127
	rcsta = rcsta | (1 << CREN)
127
	rcsta = rcsta | (1 << CREN)
128
024A  0E10      	MOVLW 0x10
128
024A  0E10      	MOVLW 0x10
129
024C  10AB      	IORWF gbl_rcsta, W
129
024C  10AB      	IORWF gbl_rcsta, W
130
024E  6EAB      	MOVWF gbl_rcsta
130
024E  6EAB      	MOVWF gbl_rcsta
131
 
131
 
132
	rcsta = rcsta | (1 << SPEN)
132
	rcsta = rcsta | (1 << SPEN)
133
0250  0E80      	MOVLW 0x80
133
0250  0E80      	MOVLW 0x80
134
0252  10AB      	IORWF gbl_rcsta, W
134
0252  10AB      	IORWF gbl_rcsta, W
135
0254  6EAB      	MOVWF gbl_rcsta
135
0254  6EAB      	MOVWF gbl_rcsta
136
 
136
 
137
			 	
137
			 	
138
	motors = 0x00
138
	motors = 0x00
139
0256  6A01      	CLRF main_1_motors
139
0256  6A01      	CLRF main_1_motors
140
 
140
 
141
		
141
		
142
    do while (portb.0 = 1)
142
    do while (portb.0 = 1)
143
0258            label268438598
143
0258            label268438598
144
0258  B081      	BTFSC gbl_portb,0
144
0258  B081      	BTFSC gbl_portb,0
145
025A  D7FE      	BRA	label268438598
145
025A  D7FE      	BRA	label268438598
146
 
146
 
147
	loop
147
	loop
148
 
148
 
149
	leds = 0xF0
149
	leds = 0xF0
150
025C  0EF0      	MOVLW 0xF0
150
025C  0EF0      	MOVLW 0xF0
151
025E  6E03      	MOVWF main_1_leds
151
025E  6E03      	MOVWF main_1_leds
152
 
152
 
153
	count = 400000
153
	count = 400000
154
0260  0E80      	MOVLW 0x80
154
0260  0E80      	MOVLW 0x80
155
0262  6E04      	MOVWF main_1_count
155
0262  6E04      	MOVWF main_1_count
156
0264  0E1A      	MOVLW 0x1A
-
 
157
0266  6E05      	MOVWF main_1_count+D'1'
-
 
158
 
156
 
159
	
157
	
160
	do while (count > 0)
158
	do while (count > 0)
161
0268            label268438603
159
0264            label268438603
162
0268  5004      	MOVF main_1_count, W
160
0264  5004      	MOVF main_1_count, W
163
026A  0800      	SUBLW 0x00
161
0266  0800      	SUBLW 0x00
164
026C  B0D8      	BTFSC STATUS,C
-
 
165
026E  5005      	MOVF main_1_count+D'1', W
-
 
166
0270  E013      	BZ	label268438605
162
0268  E20E      	BC	label268438604
167
 
163
 
168
		count = count -1
164
		count = count -1
169
0272  0E01      	MOVLW 0x01
-
 
170
0274  5C04      	SUBWF main_1_count, W
165
026A  0404      	DECF main_1_count, W
171
0276  6E07      	MOVWF CompTempVar492
-
 
172
0278  A0D8      	BTFSS STATUS,C
-
 
173
027A  0605      	DECF main_1_count+D'1', F
-
 
174
027C  5007      	MOVF CompTempVar492, W
-
 
175
027E  6E04      	MOVWF main_1_count
166
026C  6E04      	MOVWF main_1_count
176
 
167
 
177
		
168
		
178
		if count < 300000 then
169
		if count < 300000 then
179
			leds = leds | 1
170
			leds = leds | 1
180
0280  0E01      	MOVLW 0x01
171
026E  0E01      	MOVLW 0x01
181
0282  1003      	IORWF main_1_leds, W
172
0270  1003      	IORWF main_1_leds, W
182
0284  6E03      	MOVWF main_1_leds
173
0272  6E03      	MOVWF main_1_leds
183
 
174
 
184
		end if
175
		end if
185
		if count < 200000 then
176
		if count < 200000 then
186
			leds = leds | 2
177
			leds = leds | 2
187
0286  0E02      	MOVLW 0x02
178
0274  0E02      	MOVLW 0x02
188
0288  1003      	IORWF main_1_leds, W
179
0276  1003      	IORWF main_1_leds, W
189
028A  6E03      	MOVWF main_1_leds
180
0278  6E03      	MOVWF main_1_leds
190
 
181
 
191
		end if
182
		end if
192
		if count < 100000 then
183
		if count < 100000 then
193
			leds = leds | 4
184
			leds = leds | 4
194
028C  0E04      	MOVLW 0x04
185
027A  0E04      	MOVLW 0x04
195
028E  1003      	IORWF main_1_leds, W
186
027C  1003      	IORWF main_1_leds, W
196
0290  6E03      	MOVWF main_1_leds
187
027E  6E03      	MOVWF main_1_leds
197
 
188
 
198
		end if
189
		end if
199
		lata = leds
190
		lata = leds
200
0292  5003      	MOVF main_1_leds, W
191
0280  5003      	MOVF main_1_leds, W
201
0294  6E89      	MOVWF gbl_lata
192
0282  6E89      	MOVWF gbl_lata
202
 
193
 
203
	loop
194
	loop
204
0296  D7E8      	BRA	label268438603
195
0284  D7EF      	BRA	label268438603
205
0298            label268438605
196
0286            label268438604
206
 
197
 
207
	leds = 0xFF
198
	leds = 0xFF
208
0298  6803      	SETF main_1_leds
199
0286  6803      	SETF main_1_leds
209
 
200
 
210
	lata = 0xFF
201
	lata = 0xFF
211
029A  6889      	SETF gbl_lata
202
0288  6889      	SETF gbl_lata
212
 
203
 
213
 
204
 
214
		
205
		
215
Do while 1
206
Do while 1
216
029C            label268438623
207
028A            label268438619
217
 
208
 
218
 
209
 
219
  sensors =0xFF 
210
  sensors =0xFF 
220
029C  6802      	SETF main_1_sensors
211
028A  6802      	SETF main_1_sensors
221
 
212
 
222
  sensors = Call receive()	'prijmi stav cidel senzoru
213
  sensors = Call receive()	'prijmi stav cidel senzoru
223
029E  EC07F001  	CALL receive_00000
214
028C  EC07F001  	CALL receive_00000
224
02A2  5007      	MOVF CompTempVarRet489, W
215
0290  5006      	MOVF CompTempVarRet489, W
225
02A4  6E02      	MOVWF main_1_sensors
216
0292  6E02      	MOVWF main_1_sensors
226
 
217
 
227
		
218
		
228
  If (!((sensors.0) and (sensors.1))) Then
219
  If (!((sensors.0) and (sensors.1))) Then
229
02A6  6A06      	CLRF CompTempVar491
220
0294  6A05      	CLRF CompTempVar491
230
02A8  A202      	BTFSS main_1_sensors,1
221
0296  A202      	BTFSS main_1_sensors,1
231
02AA  D003      	BRA	label268438628
222
0298  D003      	BRA	label268438624
232
02AC  A002      	BTFSS main_1_sensors,0
223
029A  A002      	BTFSS main_1_sensors,0
233
02AE  D001      	BRA	label268438628
224
029C  D001      	BRA	label268438624
234
02B0  2A06      	INCF CompTempVar491, F
225
029E  2A05      	INCF CompTempVar491, F
235
02B2            label268438628
226
02A0            label268438624
236
02B2  5206      	MOVF CompTempVar491, F
227
02A0  5205      	MOVF CompTempVar491, F
237
02B4  E102      	BNZ	label268438629
228
02A2  E102      	BNZ	label268438625
238
02BA            label268438629
229
02A8            label268438625
239
 
230
 
240
    motors = 0x77
231
    motors = 0x77
241
02B6  0E77      	MOVLW 0x77
232
02A4  0E77      	MOVLW 0x77
242
02B8  6E01      	MOVWF main_1_motors
233
02A6  6E01      	MOVWF main_1_motors
243
 
234
 
244
  End If
235
  End If
245
			
236
			
246
  If (!(sensors.2)) Then
237
  If (!(sensors.2)) Then
247
02BA  B402      	BTFSC main_1_sensors,2
238
02A8  B402      	BTFSC main_1_sensors,2
248
02BC  D002      	BRA	label268438632
239
02AA  D002      	BRA	label268438628
249
02C2            label268438632
240
02B0            label268438628
250
 
241
 
251
    motors = 0xF7
242
    motors = 0xF7
252
02BE  0EF7      	MOVLW 0xF7
243
02AC  0EF7      	MOVLW 0xF7
253
02C0  6E01      	MOVWF main_1_motors
244
02AE  6E01      	MOVWF main_1_motors
254
 
245
 
255
  End If
246
  End If
256
		
247
		
257
  If (!(sensors.3)) Then
248
  If (!(sensors.3)) Then
258
02C2  B602      	BTFSC main_1_sensors,3
249
02B0  B602      	BTFSC main_1_sensors,3
259
02C4  D002      	BRA	label268438635
250
02B2  D002      	BRA	label268438631
260
02CA            label268438635
251
02B8            label268438631
261
 
252
 
262
    motors = 0x7F
253
    motors = 0x7F
263
02C6  0E7F      	MOVLW 0x7F
254
02B4  0E7F      	MOVLW 0x7F
264
02C8  6E01      	MOVWF main_1_motors
255
02B6  6E01      	MOVWF main_1_motors
265
 
256
 
266
  End If 
257
  End If 
267
				
258
				
268
  lata = sensors
259
  lata = sensors
269
02CA  5002      	MOVF main_1_sensors, W
260
02B8  5002      	MOVF main_1_sensors, W
270
02CC  6E89      	MOVWF gbl_lata
261
02BA  6E89      	MOVWF gbl_lata
271
 
262
 
272
  call send(motors)
263
  call send(motors)
273
02CE  5001      	MOVF main_1_motors, W
264
02BC  5001      	MOVF main_1_motors, W
274
02D0  6E07      	MOVWF send_00000_arg_c
265
02BE  6E06      	MOVWF send_00000_arg_c
275
02D2  EC02F001  	CALL send_00000
266
02C0  EC02F001  	CALL send_00000
276
 
267
 
277
		
268
		
278
Loop
269
Loop
279
02D6  D7E2      	BRA	label268438623
270
02C4  D7E2      	BRA	label268438619
280
 
271
 
281
  	
272
  	
282
End Sub
273
End Sub
283
 
274
 
284
 
275
 
285
////////////////////////////////////////
276
////////////////////////////////////////
286
// Code with no source :-)
277
// Code with no source :-)
287
////////////////////////////////////////
278
////////////////////////////////////////
288
0200  EF6CF001  	GOTO	_startup
279
0200  EF63F001  	GOTO	_startup
289
 
280
 
290
 
281
 
291
02D8            _startup
282
02C6            _startup
292
02D8  EF10F001  	GOTO	main
283
02C6  EF10F001  	GOTO	main
293
 
284
 
294
300000  FEFF      	DW 0xFEFF
285
300000  FEFF      	DW 0xFEFF
295
300002  FEF6      	DW 0xFEF6
286
300002  FEF6      	DW 0xFEF6
296
300004  FEFF      	DW 0xFEFF
287
300004  FEFF      	DW 0xFEFF
297
300006  FFFB      	DW 0xFFFB
288
300006  FFFB      	DW 0xFFFB
298
300008  3FF0      	DW 0x3FF0
289
300008  3FF0      	DW 0x3FF0
299
30000A  9FFF      	DW 0x9FFF
290
30000A  9FFF      	DW 0x9FFF
300
30000C  BFFF      	DW 0xBFFF
291
30000C  BFFF      	DW 0xBFFF