| 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 |
include "P18F252.inc"
|
| 321 |
kaklik |
9 |
__HEAPSTART EQU 0x00000008 ; Start address of heap
|
| 318 |
kaklik |
10 |
__HEAPEND EQU 0x000005FF ; End address of heap
|
|
|
11 |
gbl_status EQU 0x00000FD8 ; bytes:1
|
|
|
12 |
gbl_prodl EQU 0x00000FF3 ; bytes:1
|
|
|
13 |
gbl_prodh EQU 0x00000FF4 ; bytes:1
|
|
|
14 |
gbl_porta EQU 0x00000F80 ; bytes:1
|
|
|
15 |
gbl_portb EQU 0x00000F81 ; bytes:1
|
|
|
16 |
gbl_portc EQU 0x00000F82 ; bytes:1
|
|
|
17 |
gbl_lata EQU 0x00000F89 ; bytes:1
|
|
|
18 |
gbl_latb EQU 0x00000F8A ; bytes:1
|
|
|
19 |
gbl_latc EQU 0x00000F8B ; bytes:1
|
|
|
20 |
gbl_trisa EQU 0x00000F92 ; bytes:1
|
|
|
21 |
gbl_trisb EQU 0x00000F93 ; bytes:1
|
|
|
22 |
gbl_trisc EQU 0x00000F94 ; bytes:1
|
|
|
23 |
gbl_pie1 EQU 0x00000F9D ; bytes:1
|
|
|
24 |
gbl_pir1 EQU 0x00000F9E ; bytes:1
|
|
|
25 |
gbl_ipr1 EQU 0x00000F9F ; bytes:1
|
|
|
26 |
gbl_pie2 EQU 0x00000FA0 ; bytes:1
|
|
|
27 |
gbl_pir2 EQU 0x00000FA1 ; bytes:1
|
|
|
28 |
gbl_ipr2 EQU 0x00000FA2 ; bytes:1
|
|
|
29 |
gbl_eecon1 EQU 0x00000FA6 ; bytes:1
|
|
|
30 |
gbl_eecon2 EQU 0x00000FA7 ; bytes:1
|
|
|
31 |
gbl_eedata EQU 0x00000FA8 ; bytes:1
|
|
|
32 |
gbl_eeadr EQU 0x00000FA9 ; bytes:1
|
|
|
33 |
gbl_rcsta EQU 0x00000FAB ; bytes:1
|
|
|
34 |
gbl_txsta EQU 0x00000FAC ; bytes:1
|
|
|
35 |
gbl_txreg EQU 0x00000FAD ; bytes:1
|
|
|
36 |
gbl_rcreg EQU 0x00000FAE ; bytes:1
|
|
|
37 |
gbl_spbrg EQU 0x00000FAF ; bytes:1
|
|
|
38 |
gbl_t3con EQU 0x00000FB1 ; bytes:1
|
|
|
39 |
gbl_tmr3l EQU 0x00000FB2 ; bytes:1
|
|
|
40 |
gbl_tmr3h EQU 0x00000FB3 ; bytes:1
|
|
|
41 |
gbl_ccp2con EQU 0x00000FBA ; bytes:1
|
|
|
42 |
gbl_ccpr2l EQU 0x00000FBB ; bytes:1
|
|
|
43 |
gbl_ccpr2h EQU 0x00000FBC ; bytes:1
|
|
|
44 |
gbl_ccp1con EQU 0x00000FBD ; bytes:1
|
|
|
45 |
gbl_ccpr1l EQU 0x00000FBE ; bytes:1
|
|
|
46 |
gbl_ccpr1h EQU 0x00000FBF ; bytes:1
|
|
|
47 |
gbl_adcon1 EQU 0x00000FC1 ; bytes:1
|
|
|
48 |
gbl_adcon0 EQU 0x00000FC2 ; bytes:1
|
|
|
49 |
gbl_adresl EQU 0x00000FC3 ; bytes:1
|
|
|
50 |
gbl_adresh EQU 0x00000FC4 ; bytes:1
|
|
|
51 |
gbl_sspcon2 EQU 0x00000FC5 ; bytes:1
|
|
|
52 |
gbl_sspcon1 EQU 0x00000FC6 ; bytes:1
|
|
|
53 |
gbl_sspstat EQU 0x00000FC7 ; bytes:1
|
|
|
54 |
gbl_sspadd EQU 0x00000FC8 ; bytes:1
|
|
|
55 |
gbl_sspbuf EQU 0x00000FC9 ; bytes:1
|
|
|
56 |
gbl_t2con EQU 0x00000FCA ; bytes:1
|
|
|
57 |
gbl_pr2 EQU 0x00000FCB ; bytes:1
|
|
|
58 |
gbl_tmr2 EQU 0x00000FCC ; bytes:1
|
|
|
59 |
gbl_t1con EQU 0x00000FCD ; bytes:1
|
|
|
60 |
gbl_tmr1l EQU 0x00000FCE ; bytes:1
|
|
|
61 |
gbl_tmr1h EQU 0x00000FCF ; bytes:1
|
|
|
62 |
gbl_rcon EQU 0x00000FD0 ; bytes:1
|
|
|
63 |
gbl_wdtcon EQU 0x00000FD1 ; bytes:1
|
|
|
64 |
gbl_lvdcon EQU 0x00000FD2 ; bytes:1
|
|
|
65 |
gbl_osccon EQU 0x00000FD3 ; bytes:1
|
|
|
66 |
gbl_t0con EQU 0x00000FD5 ; bytes:1
|
|
|
67 |
gbl_tmr0l EQU 0x00000FD6 ; bytes:1
|
|
|
68 |
gbl_tmr0h EQU 0x00000FD7 ; bytes:1
|
|
|
69 |
gbl_fsr2l EQU 0x00000FD9 ; bytes:1
|
|
|
70 |
gbl_fsr2h EQU 0x00000FDA ; bytes:1
|
|
|
71 |
gbl_plusw2 EQU 0x00000FDB ; bytes:1
|
|
|
72 |
gbl_preinc2 EQU 0x00000FDC ; bytes:1
|
|
|
73 |
gbl_postdec2 EQU 0x00000FDD ; bytes:1
|
|
|
74 |
gbl_postinc2 EQU 0x00000FDE ; bytes:1
|
|
|
75 |
gbl_indf2 EQU 0x00000FDF ; bytes:1
|
|
|
76 |
gbl_bsr EQU 0x00000FE0 ; bytes:1
|
|
|
77 |
gbl_fsr1l EQU 0x00000FE1 ; bytes:1
|
|
|
78 |
gbl_fsr1h EQU 0x00000FE2 ; bytes:1
|
|
|
79 |
gbl_plusw1 EQU 0x00000FE3 ; bytes:1
|
|
|
80 |
gbl_preinc1 EQU 0x00000FE4 ; bytes:1
|
|
|
81 |
gbl_postdec1 EQU 0x00000FE5 ; bytes:1
|
|
|
82 |
gbl_postinc1 EQU 0x00000FE6 ; bytes:1
|
|
|
83 |
gbl_indf1 EQU 0x00000FE7 ; bytes:1
|
|
|
84 |
gbl_wreg EQU 0x00000FE8 ; bytes:1
|
|
|
85 |
gbl_fsr0l EQU 0x00000FE9 ; bytes:1
|
|
|
86 |
gbl_fsr0h EQU 0x00000FEA ; bytes:1
|
|
|
87 |
gbl_plusw0 EQU 0x00000FEB ; bytes:1
|
|
|
88 |
gbl_preinc0 EQU 0x00000FEC ; bytes:1
|
|
|
89 |
gbl_postdec0 EQU 0x00000FED ; bytes:1
|
|
|
90 |
gbl_postinc0 EQU 0x00000FEE ; bytes:1
|
|
|
91 |
gbl_indf0 EQU 0x00000FEF ; bytes:1
|
|
|
92 |
gbl_intcon3 EQU 0x00000FF0 ; bytes:1
|
|
|
93 |
gbl_intcon2 EQU 0x00000FF1 ; bytes:1
|
|
|
94 |
gbl_intcon EQU 0x00000FF2 ; bytes:1
|
|
|
95 |
gbl_tablat EQU 0x00000FF5 ; bytes:1
|
|
|
96 |
gbl_tblptrl EQU 0x00000FF6 ; bytes:1
|
|
|
97 |
gbl_tblptrh EQU 0x00000FF7 ; bytes:1
|
|
|
98 |
gbl_tblptru EQU 0x00000FF8 ; bytes:1
|
|
|
99 |
gbl_pcl EQU 0x00000FF9 ; bytes:1
|
|
|
100 |
gbl_pclath EQU 0x00000FFA ; bytes:1
|
|
|
101 |
gbl_pclatu EQU 0x00000FFB ; bytes:1
|
|
|
102 |
gbl_stkptr EQU 0x00000FFC ; bytes:1
|
|
|
103 |
gbl_tosl EQU 0x00000FFD ; bytes:1
|
|
|
104 |
gbl_tosh EQU 0x00000FFE ; bytes:1
|
|
|
105 |
gbl_tosu EQU 0x00000FFF ; bytes:1
|
| 321 |
kaklik |
106 |
CompTempVarRet489 EQU 0x00000007 ; bytes:1
|
|
|
107 |
send_00000_arg_c EQU 0x00000004 ; bytes:1
|
|
|
108 |
delay_00000_arg_cas EQU 0x00000004 ; bytes:1
|
|
|
109 |
delay_00000_1_i EQU 0x00000005 ; bytes:1
|
|
|
110 |
delay_00000_1_x EQU 0x00000006 ; bytes:1
|
| 318 |
kaklik |
111 |
main_1_motors EQU 0x00000001 ; bytes:1
|
|
|
112 |
main_1_sensors EQU 0x00000002 ; bytes:1
|
| 321 |
kaklik |
113 |
CompTempVar491 EQU 0x00000003 ; bytes:1
|
| 318 |
kaklik |
114 |
ORG 0x00000200
|
|
|
115 |
GOTO _startup
|
|
|
116 |
ORG 0x00000204
|
|
|
117 |
receive_00000
|
|
|
118 |
; { receive ; function begin
|
|
|
119 |
BTFSS gbl_rcsta,1
|
|
|
120 |
BRA label268438550
|
|
|
121 |
BCF gbl_rcsta,4
|
|
|
122 |
BSF gbl_rcsta,4
|
|
|
123 |
label268438550
|
|
|
124 |
BTFSS gbl_pir1,5
|
|
|
125 |
BRA label268438550
|
|
|
126 |
MOVF gbl_rcreg, W
|
|
|
127 |
MOVWF CompTempVarRet489
|
|
|
128 |
RETURN
|
|
|
129 |
; } receive function end
|
|
|
130 |
|
| 321 |
kaklik |
131 |
ORG 0x00000216
|
|
|
132 |
send_00000
|
|
|
133 |
; { send ; function begin
|
|
|
134 |
label268438561
|
|
|
135 |
BTFSS gbl_pir1,4
|
|
|
136 |
BRA label268438561
|
|
|
137 |
MOVF send_00000_arg_c, W
|
|
|
138 |
MOVWF gbl_txreg
|
|
|
139 |
RETURN
|
|
|
140 |
; } send function end
|
|
|
141 |
|
| 318 |
kaklik |
142 |
ORG 0x00000220
|
| 321 |
kaklik |
143 |
delay_00000
|
|
|
144 |
; { delay ; function begin
|
|
|
145 |
label268438570
|
|
|
146 |
MOVF delay_00000_1_i, W
|
|
|
147 |
SUBWF delay_00000_arg_cas, W
|
|
|
148 |
BTFSS STATUS,C
|
|
|
149 |
RETURN
|
|
|
150 |
label4026532417
|
|
|
151 |
MOVF delay_00000_1_x, W
|
|
|
152 |
SUBLW 0x64
|
|
|
153 |
BNC label268438574
|
|
|
154 |
CALL receive_00000
|
|
|
155 |
INCF delay_00000_1_x, W
|
|
|
156 |
MOVWF delay_00000_1_x
|
|
|
157 |
BRA label4026532417
|
|
|
158 |
label268438574
|
|
|
159 |
INCF delay_00000_1_i, W
|
|
|
160 |
MOVWF delay_00000_1_i
|
|
|
161 |
BRA label268438570
|
|
|
162 |
; } delay function end
|
|
|
163 |
|
|
|
164 |
ORG 0x0000023E
|
| 318 |
kaklik |
165 |
main
|
|
|
166 |
; { main ; function begin
|
|
|
167 |
SETF gbl_lata
|
|
|
168 |
CLRF gbl_latb
|
|
|
169 |
SETF gbl_latc
|
|
|
170 |
MOVLW 0xF0
|
|
|
171 |
MOVWF gbl_trisa
|
|
|
172 |
MOVLW 0x3F
|
|
|
173 |
MOVWF gbl_trisb
|
|
|
174 |
MOVLW 0x9F
|
|
|
175 |
MOVWF gbl_trisc
|
|
|
176 |
MOVLW 0xC6
|
|
|
177 |
MOVWF gbl_adcon1
|
|
|
178 |
MOVLW 0xC0
|
|
|
179 |
MOVWF gbl_adcon0
|
|
|
180 |
MOVLW 0x40
|
|
|
181 |
MOVWF gbl_spbrg
|
|
|
182 |
MOVLW 0xFB
|
|
|
183 |
ANDWF gbl_txsta, W
|
|
|
184 |
MOVWF gbl_txsta
|
|
|
185 |
MOVLW 0x20
|
|
|
186 |
IORWF gbl_txsta, W
|
|
|
187 |
MOVWF gbl_txsta
|
|
|
188 |
MOVLW 0x10
|
|
|
189 |
IORWF gbl_rcsta, W
|
|
|
190 |
MOVWF gbl_rcsta
|
|
|
191 |
MOVLW 0x80
|
|
|
192 |
IORWF gbl_rcsta, W
|
|
|
193 |
MOVWF gbl_rcsta
|
|
|
194 |
CLRF main_1_motors
|
| 321 |
kaklik |
195 |
MOVLW 0x0E
|
| 318 |
kaklik |
196 |
MOVWF gbl_lata
|
| 321 |
kaklik |
197 |
MOVLW 0xC8
|
|
|
198 |
MOVWF delay_00000_arg_cas
|
|
|
199 |
CALL delay_00000
|
|
|
200 |
MOVLW 0x0D
|
| 318 |
kaklik |
201 |
MOVWF gbl_lata
|
| 321 |
kaklik |
202 |
MOVLW 0xC8
|
|
|
203 |
MOVWF delay_00000_arg_cas
|
|
|
204 |
CALL delay_00000
|
|
|
205 |
MOVLW 0x0B
|
|
|
206 |
MOVWF gbl_lata
|
|
|
207 |
MOVLW 0xC8
|
|
|
208 |
MOVWF delay_00000_arg_cas
|
|
|
209 |
CALL delay_00000
|
|
|
210 |
MOVLW 0x07
|
|
|
211 |
MOVWF gbl_lata
|
|
|
212 |
MOVLW 0xC8
|
|
|
213 |
MOVWF delay_00000_arg_cas
|
|
|
214 |
CALL delay_00000
|
|
|
215 |
MOVLW 0x77
|
| 318 |
kaklik |
216 |
MOVWF main_1_motors
|
| 321 |
kaklik |
217 |
MOVLW 0x64
|
|
|
218 |
MOVWF delay_00000_arg_cas
|
|
|
219 |
CALL delay_00000
|
|
|
220 |
label268438640
|
| 318 |
kaklik |
221 |
SETF main_1_sensors
|
|
|
222 |
CALL receive_00000
|
|
|
223 |
MOVF CompTempVarRet489, W
|
|
|
224 |
MOVWF main_1_sensors
|
| 321 |
kaklik |
225 |
CLRF CompTempVar491
|
|
|
226 |
BTFSS main_1_sensors,1
|
|
|
227 |
BRA label268438645
|
|
|
228 |
BTFSS main_1_sensors,0
|
|
|
229 |
BRA label268438645
|
|
|
230 |
INCF CompTempVar491, F
|
|
|
231 |
label268438645
|
|
|
232 |
MOVF CompTempVar491, F
|
|
|
233 |
BNZ label268438646
|
|
|
234 |
MOVLW 0x77
|
|
|
235 |
MOVWF main_1_motors
|
| 318 |
kaklik |
236 |
label268438646
|
|
|
237 |
BTFSC main_1_sensors,2
|
|
|
238 |
BRA label268438649
|
| 321 |
kaklik |
239 |
MOVLW 0xF7
|
|
|
240 |
MOVWF main_1_motors
|
| 318 |
kaklik |
241 |
label268438649
|
|
|
242 |
BTFSC main_1_sensors,3
|
|
|
243 |
BRA label268438652
|
| 321 |
kaklik |
244 |
MOVLW 0x7F
|
|
|
245 |
MOVWF main_1_motors
|
| 318 |
kaklik |
246 |
label268438652
|
| 321 |
kaklik |
247 |
MOVF main_1_sensors, W
|
| 318 |
kaklik |
248 |
MOVWF gbl_lata
|
|
|
249 |
MOVF main_1_motors, W
|
|
|
250 |
MOVWF send_00000_arg_c
|
|
|
251 |
CALL send_00000
|
| 321 |
kaklik |
252 |
BRA label268438640
|
| 318 |
kaklik |
253 |
; } main function end
|
|
|
254 |
|
| 321 |
kaklik |
255 |
ORG 0x000002EE
|
| 318 |
kaklik |
256 |
_startup
|
|
|
257 |
GOTO main
|
|
|
258 |
ORG 0x00300000
|
|
|
259 |
DW 0xFEFF
|
|
|
260 |
DW 0xFEF6
|
|
|
261 |
ORG 0x00300004
|
|
|
262 |
DW 0xFEFF
|
|
|
263 |
DW 0xFFFB
|
|
|
264 |
ORG 0x00300008
|
|
|
265 |
DW 0x3FF0
|
|
|
266 |
DW 0x9FFF
|
|
|
267 |
DW 0xBFFF
|
|
|
268 |
END
|