Subversion Repositories svnkaklik

Rev

Rev 319 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
318 kaklik 1
;/////////////////////////////////////////////////////////////////////////////////
2
;// Code Generator: BoostBasic Compiler - http://www.sourceboost.com
3
;// Version       : 6.70
4
;// License Type  : Pro License
5
;// Limitations   : PIC18 max code size:Unlimited, max RAM banks:Unlimited
6
;/////////////////////////////////////////////////////////////////////////////////
7
 
8
'robot
9
 
10
'#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
11
 
12
 
13
#pragma DATA _CONFIG1H, _OSCS_OFF_1H & _HSPLL_OSC_1H
14
#pragma DATA _CONFIG2L, _BOR_ON_2L & _BORV_42_2L & _PWRT_ON_2L
15
#pragma DATA _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
16
#pragma DATA _CONFIG3H, _CCP2MX_OFF_3H
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
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
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
23
#pragma DATA _CONFIG7H, _EBTRB_ON_7H
24
 
25
#pragma CLOCK_FREQ 40000000
26
 
27
Function receive() As Byte
28
 
29
	If ( (rcsta.OERR = 1) ) Then
321 kaklik 30
0204  A2AB      	BTFSS gbl_rcsta,1
31
0206  D002      	BRA	label268438550
32
020C            label268438550
318 kaklik 33
 
34
		rcsta.CREN = 0
321 kaklik 35
0208  98AB      	BCF gbl_rcsta,4
318 kaklik 36
 
37
        rcsta.CREN = 1
321 kaklik 38
020A  88AB      	BSF gbl_rcsta,4
318 kaklik 39
 
40
	End If
41
    Do While (pir1.RCIF = 0)
321 kaklik 42
020C  AA9E      	BTFSS gbl_pir1,5
43
020E  D7FE      	BRA	label268438550
318 kaklik 44
 
45
	Loop
46
	receive = rcreg
321 kaklik 47
0210  50AE      	MOVF gbl_rcreg, W
48
0212  6E07      	MOVWF CompTempVarRet489
318 kaklik 49
 
50
 
51
End Function
321 kaklik 52
0214  0012      	RETURN
318 kaklik 53
 
54
 
55
Sub send(c As Byte)
56
 
57
	Do while (pir1 & (1 << TXIF)) = 0 Loop
321 kaklik 58
0216            label268438561
59
0216  A89E      	BTFSS gbl_pir1,4
60
0218  D7FE      	BRA	label268438561
318 kaklik 61
 
62
	txreg = c
321 kaklik 63
021A  5004      	MOVF send_00000_arg_c, W
64
021C  6EAD      	MOVWF gbl_txreg
318 kaklik 65
 
66
End Sub
321 kaklik 67
021E  0012      	RETURN
318 kaklik 68
 
69
 
321 kaklik 70
Sub delay(cas As Byte)
71
 
72
Dim i As Byte
73
Dim x As Byte
74
    Do while i <= cas
75
0220            label268438570
76
0220  5005      	MOVF delay_00000_1_i, W
77
0222  5C04      	SUBWF delay_00000_arg_cas, W
78
0224  A0D8      	BTFSS STATUS,C
79
 
80
     Do While x <= 100
81
0228  5006      	MOVF delay_00000_1_x, W
82
022A  0864      	SUBLW 0x64
83
022C  E305      	BNC	label268438574
84
 
85
      Call receive()
86
022E  EC02F001  	CALL receive_00000
87
 
88
      x=x+1
89
0232  2806      	INCF delay_00000_1_x, W
90
0234  6E06      	MOVWF delay_00000_1_x
91
 
92
     loop
93
0236  D7F8      	BRA	label4026532417
94
0238            label268438574
95
 
96
    i=i+1
97
0238  2805      	INCF delay_00000_1_i, W
98
023A  6E05      	MOVWF delay_00000_1_i
99
 
100
	loop
101
023C  D7F1      	BRA	label268438570
102
 
103
 
104
End Sub
105
0226  0012      	RETURN
106
0228            label4026532417
107
 
108
 
318 kaklik 109
Sub main()
110
 
111
	Dim motors As Byte
112
	Dim sensors As Byte
113
	Dim buttons As Byte
114
	Dim i As Long
115
 
116
	'NASTAVENI IO
117
	lata=0xFF
321 kaklik 118
023E  6889      	SETF gbl_lata
318 kaklik 119
 
120
	latb=0
321 kaklik 121
0240  6A8A      	CLRF gbl_latb
318 kaklik 122
 
123
	latc=0xFF
321 kaklik 124
0242  688B      	SETF gbl_latc
318 kaklik 125
 
126
	trisa=0xF0
321 kaklik 127
0244  0EF0      	MOVLW 0xF0
128
0246  6E92      	MOVWF gbl_trisa
318 kaklik 129
 
130
	trisb=0x3F
321 kaklik 131
0248  0E3F      	MOVLW 0x3F
132
024A  6E93      	MOVWF gbl_trisb
318 kaklik 133
 
134
	trisc=0x9F
321 kaklik 135
024C  0E9F      	MOVLW 0x9F
136
024E  6E94      	MOVWF gbl_trisc
318 kaklik 137
 
138
 
139
	'VYPNOUT ADC
140
	adcon1=0xC6
321 kaklik 141
0250  0EC6      	MOVLW 0xC6
142
0252  6EC1      	MOVWF gbl_adcon1
318 kaklik 143
 
144
	adcon0=0xC0
321 kaklik 145
0254  0EC0      	MOVLW 0xC0
146
0256  6EC2      	MOVWF gbl_adcon0
318 kaklik 147
 
148
 
149
	'UART 9600bps
150
	spbrg=64
321 kaklik 151
0258  0E40      	MOVLW 0x40
152
025A  6EAF      	MOVWF gbl_spbrg
318 kaklik 153
 
154
	txsta = txsta & ~(1 << BRGH)
321 kaklik 155
025C  0EFB      	MOVLW 0xFB
156
025E  14AC      	ANDWF gbl_txsta, W
157
0260  6EAC      	MOVWF gbl_txsta
318 kaklik 158
 
159
	txsta = txsta | (1 << TXEN)
321 kaklik 160
0262  0E20      	MOVLW 0x20
161
0264  10AC      	IORWF gbl_txsta, W
162
0266  6EAC      	MOVWF gbl_txsta
318 kaklik 163
 
164
	rcsta = rcsta | (1 << CREN)
321 kaklik 165
0268  0E10      	MOVLW 0x10
166
026A  10AB      	IORWF gbl_rcsta, W
167
026C  6EAB      	MOVWF gbl_rcsta
318 kaklik 168
 
169
	rcsta = rcsta | (1 << SPEN)
321 kaklik 170
026E  0E80      	MOVLW 0x80
171
0270  10AB      	IORWF gbl_rcsta, W
172
0272  6EAB      	MOVWF gbl_rcsta
318 kaklik 173
 
174
 
321 kaklik 175
	motors = 0x00
176
0274  6A01      	CLRF main_1_motors
177
 
318 kaklik 178
 
321 kaklik 179
	lata = 0x0E 
180
0276  0E0E      	MOVLW 0x0E
181
0278  6E89      	MOVWF gbl_lata
318 kaklik 182
 
321 kaklik 183
    Call delay(200)
184
027A  0EC8      	MOVLW 0xC8
185
027C  6E04      	MOVWF delay_00000_arg_cas
186
027E  EC10F001  	CALL delay_00000
318 kaklik 187
 
321 kaklik 188
	lata = 0x0D
189
0282  0E0D      	MOVLW 0x0D
190
0284  6E89      	MOVWF gbl_lata
318 kaklik 191
 
321 kaklik 192
    Call delay(200)
193
0286  0EC8      	MOVLW 0xC8
194
0288  6E04      	MOVWF delay_00000_arg_cas
195
028A  EC10F001  	CALL delay_00000
318 kaklik 196
 
321 kaklik 197
	lata = 0x0B
198
028E  0E0B      	MOVLW 0x0B
199
0290  6E89      	MOVWF gbl_lata
318 kaklik 200
 
321 kaklik 201
    Call delay(200)
202
0292  0EC8      	MOVLW 0xC8
203
0294  6E04      	MOVWF delay_00000_arg_cas
204
0296  EC10F001  	CALL delay_00000
318 kaklik 205
 
321 kaklik 206
	lata = 0x07
207
029A  0E07      	MOVLW 0x07
208
029C  6E89      	MOVWF gbl_lata
318 kaklik 209
 
321 kaklik 210
    Call delay(200)
211
029E  0EC8      	MOVLW 0xC8
212
02A0  6E04      	MOVWF delay_00000_arg_cas
213
02A2  EC10F001  	CALL delay_00000
318 kaklik 214
 
215
 
321 kaklik 216
	motors = 0x77
217
02A6  0E77      	MOVLW 0x77
218
02A8  6E01      	MOVWF main_1_motors
318 kaklik 219
 
220
 
321 kaklik 221
    Call delay(100)
222
02AA  0E64      	MOVLW 0x64
223
02AC  6E04      	MOVWF delay_00000_arg_cas
224
02AE  EC10F001  	CALL delay_00000
318 kaklik 225
 
226
 
227
 
321 kaklik 228
Do while 1
229
02B2            label268438640
318 kaklik 230
 
231
 
321 kaklik 232
  sensors =0xFF 
233
02B2  6802      	SETF main_1_sensors
318 kaklik 234
 
321 kaklik 235
  sensors = Call receive()	'prijmi stav cidel senzoru
236
02B4  EC02F001  	CALL receive_00000
237
02B8  5007      	MOVF CompTempVarRet489, W
238
02BA  6E02      	MOVWF main_1_sensors
318 kaklik 239
 
240
 
321 kaklik 241
  If (!((sensors.0) and (sensors.1))) Then
242
02BC  6A03      	CLRF CompTempVar491
243
02BE  A202      	BTFSS main_1_sensors,1
244
02C0  D003      	BRA	label268438645
245
02C2  A002      	BTFSS main_1_sensors,0
246
02C4  D001      	BRA	label268438645
247
02C6  2A03      	INCF CompTempVar491, F
248
02C8            label268438645
249
02C8  5203      	MOVF CompTempVar491, F
250
02CA  E102      	BNZ	label268438646
251
02D0            label268438646
318 kaklik 252
 
321 kaklik 253
    motors = 0x77
254
02CC  0E77      	MOVLW 0x77
255
02CE  6E01      	MOVWF main_1_motors
318 kaklik 256
 
321 kaklik 257
  End If
258
 
259
  If (!(sensors.2)) Then
260
02D0  B402      	BTFSC main_1_sensors,2
261
02D2  D002      	BRA	label268438649
262
02D8            label268438649
318 kaklik 263
 
321 kaklik 264
    motors = 0xF7
265
02D4  0EF7      	MOVLW 0xF7
266
02D6  6E01      	MOVWF main_1_motors
318 kaklik 267
 
321 kaklik 268
  End If
318 kaklik 269
 
321 kaklik 270
  If (!(sensors.3)) Then
271
02D8  B602      	BTFSC main_1_sensors,3
272
02DA  D002      	BRA	label268438652
273
02E0            label268438652
318 kaklik 274
 
321 kaklik 275
    motors = 0x7F
276
02DC  0E7F      	MOVLW 0x7F
277
02DE  6E01      	MOVWF main_1_motors
318 kaklik 278
 
321 kaklik 279
  End If 
280
 
281
  lata = sensors
282
02E0  5002      	MOVF main_1_sensors, W
283
02E2  6E89      	MOVWF gbl_lata
318 kaklik 284
 
321 kaklik 285
  call send(motors)
286
02E4  5001      	MOVF main_1_motors, W
287
02E6  6E04      	MOVWF send_00000_arg_c
288
02E8  EC0BF001  	CALL send_00000
318 kaklik 289
 
290
 
321 kaklik 291
Loop
292
02EC  D7E2      	BRA	label268438640
318 kaklik 293
 
321 kaklik 294
 
295
End Sub
318 kaklik 296
 
297
 
321 kaklik 298
////////////////////////////////////////
299
// Code with no source :-)
300
////////////////////////////////////////
301
0200  EF77F001  	GOTO	_startup
318 kaklik 302
 
303
 
304
 
305
 
306
 
307
 
308
 
321 kaklik 309
02EE            _startup
310
02EE  EF1FF001  	GOTO	main
318 kaklik 311
 
312
300000  FEFF      	DW 0xFEFF
313
300002  FEF6      	DW 0xFEF6
314
300004  FEFF      	DW 0xFEFF
315
300006  FFFB      	DW 0xFFFB
316
300008  3FF0      	DW 0x3FF0
317
30000A  9FFF      	DW 0x9FFF
318
30000C  BFFF      	DW 0xBFFF