-
Notifications
You must be signed in to change notification settings - Fork 1
/
Bustürsteuerung.lst~
503 lines (500 loc) · 28.6 KB
/
Bustürsteuerung.lst~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
Bustürsteuerung PAGE 1
1 ;----------------------------------
2 ; Bustürsteuerung-Steuerung
3 ;----------------------------------
4 CSEG AT 0H
0000 02001F 5 LJMP Init
6 ORG 80H; TODO: brauchen wir dashier wirklich??? Sagt, wo das Programm im Speicher abgelegt wird...
7
8 ; Einsprung für den Timeout des Timers
9 ORG 000Bh
****WARNING:ThisORGhaslowervaluethanthepreviousone
000B 120093 10 CALL TIMEOUT_TIMER_DOOR_1
000E 32 11 RETI
12
13 ; Einsprung für den Timeout des Timers von Tür 2
14 ORG 001Bh
001B 1200BD 15 CALL TIMEOUT_TIMER_DOOR_2
001E 32 16 RETI
17
18
19 ; Eingabevektoren TAST und SENS
20 ; Taster:
21 ; STOP_IN_1 Taster, zum Öffnen der Tür 1 von innnen (Stop-Taster)
22 ; STOP_IN_2 Taster, zum Öffnen der Tür 2 von innnen (Stop-Taster)
23 ; STOP_OUT_1 Taster, zum Öffnen der Tür 1 von außen
24 ; STOP_OUT_2 Taster, zum Öffnen der Tür 2 von außen
25 ; DRIVERS_OK Freigabe-Taster des Busfahrers
26 ;
27 ; Sensoren:
28 ; OPENED_1 Ausgabe des Geöffnet-Sensors der Tür 1
29 ; OPENED_2 Ausgabe des Geöffnet-Sensors der Tür 2
30 ; CLOSED_1 Ausgabe des Geschlossen-Sensors der Tür 1
31 ; CLOSED_2 Ausgabe des Geschlossen-Sensors der Tür 2
32 ; BLOCKED_1 Jemand steht in der schließenden Tür 1
33 ; BLOCKED_2 Jemand steht in der schließenden Tür 2
34
35
36
37
38 ; TODO bessere Adressen aussuchen weil die manuelle Änderung gerade echt kacke ist!
39 ; Zeug das Menschen verändern können (Taster)
0020 40 TAST EQU 20H
0000 41 STOP_IN_1 EQU TAST.0
0001 42 STOP_IN_2 EQU TAST.1
0002 43 STOP_OUT_1 EQU TAST.2
0003 44 STOP_OUT_2 EQU TAST.3
0004 45 DRIVERS_OK EQU TAST.4
46
47 ; Das was der Bus fühlt (Gefühle bzw. Sensoren)
0021 48 SENS EQU 21H
0008 49 OPENED_1 EQU SENS.0
0009 50 OPENED_2 EQU SENS.1
000A 51 CLOSED_1 EQU SENS.2
000B 52 CLOSED_2 EQU SENS.3
000C 53 BlOCKED_1 EQU SENS.4
000D 54 BlOCKED_2 EQU SENS.5
55
56 ; Ausgabevektor
57 ; OPEN_1 Tür 1 soll geöffnet werden
58 ; OPEN_2 Tür 2 soll geöffnet werden
59 ; CLOSE_1 Tür 1 soll geschlossen werden
60 ; CLOSE_2 Tür 2 soll geschlossen werden
61
0022 62 MOTR EQU 22H
0010 63 OPEN_1 EQU MOTR.0
0011 64 OPEN_2 EQU MOTR.1
0012 65 CLOSE_1 EQU MOTR.2
0013 66 CLOSE_2 EQU MOTR.3
67
68 ; FlipFlops zum Zwischenspeichern
69
0023 70 FF EQU 23H
0018 71 STOP_1_FF EQU FF.0
0019 72 STOP_2_FF EQU FF.1
001A 73 OPEN_1_FF EQU FF.2
001B 74 OPEN_2_FF EQU FF.3
75 ; INITIALISIERUNG
76 Init:
001F 752000 77 MOV TAST, #00H
0022 752100 78 MOV SENS, #00H ; oxC um die Closed Variablen zu setzen, wird duch P1 gesetzt
79 ; MOV CLOSED_1, 1 ; Tür eins ist geschlossen
0025 752200 80 MOV MOTR, #00H
81
0028 758000 82 MOV P0, #00H ; P0 wird verwendet um TAST von der IDE anzusprechen
002B 75900C 83 MOV P1, #0CH ; P1 wird verwendet um SENS in der IDE anzuzeigen
002E 75A000 84 MOV P2, #00H ; P2 wird verwendet um MOTR in der IDE anzuzeigen
85
0031 752300 86 MOV FF, #00H
87
88 ; TIMER Kram
0034 75A89A 89 MOV IE, #10011010b
0037 758922 90 MOV tmod, #00100010b ; 1. Bit für Timer0 -> mod 2 und 5. Bit für Timer1 -> mod 2
003A 758A00 91 MOV tl0, #000h ; Timer0-Initionalsierung
003D 758C01 92 MOV th0, #001h
93
0040 758B00 94 MOV tl1, #000h ; Timer1-Initionalsierung
0043 758D01 95 MOV th1, #001h
96
0046 7905 97 MOV r1, #5h
0048 7A05 98 MOV r2, #5h
99
004A 02004D 100 LJMP Anfang
101
102
103 ;-----------------------------------------
104 ; PROGRAMM-SCHLEIFE
105 ;-----------------------------------------
106
107 Anfang:
108 ; Eingaben aus Port 0 in TAST schreiben und SENS und MOTR in Port 1 und 2 (IDE-Anzeige) schreiben
004D 858020 109 MOV TAST, P0
0050 859021 110 MOV SENS, P1
0053 8522A0 111 MOV P2, MOTR
0056 8523B0 112 MOV P3, FF
113
114 ; ------------------------------------------ Tür 1
115
116 ; Abfrage ob ein Stop-Taster (innen oder außen) für Tür 1 gedrückt wurder
0059 A200 117 MOV C, STOP_IN_1
005B 7202 118 ORL C, STOP_OUT_1
005D 4044 119 JC SET_STOP_1_FF
120
121 CONTINUE_AFTER_STOP_1_FF_SET:
122
123 ; Wenn Stop-Taster 1 (FlipFlop) und Freigabe gesetzt, OPEN_1 (Motor 1) auf 1 setzen
005F A218 124 MOV C, STOP_1_FF
0061 8204 125 ANL C, DRIVERS_OK
0063 4043 126 JC SET_OPEN_1_FF
127
128 CONTINUE_AFTER_OPEN_1_FF_SET:
129
130 ; Schauen ob die Tür 1 geöffnet ist (Endtaster gesetzt) und wenn ja den Motor beenden und Timer s
0065 A210 131 MOV C, OPEN_1
0067 8208 132 ANL C, OPENED_1
0069 4023 133 JC START_TIMER_DOOR_1
134 CONTINUE_AFTER_TIMER_1_SET:
135
136 ; Wenn Tür nicht zu ist und der Zu-Motor an ist, dann schaue ob Blockiert
006B A20A 137 MOV C, CLOSED_1
006D B3 138 CPL C
006E 8212 139 ANL C, CLOSE_1
0070 403F 140 JC CHECK_FOR_BLOCKED_DOOR_1
141
142 CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_1:
143
144 ; ------------------------------------------ Tür 2
145
146 ; Abfrage ob ein Stop-Taster (innen oder außen) für Tür 2 gedrückt wurder
0072 A201 147 MOV C, STOP_IN_2
0074 7203 148 ORL C, STOP_OUT_2
0076 4054 149 JC SET_STOP_2_FF
150
151 CONTINUE_AFTER_STOP_2_FF_SET:
152
153 ; Wenn Stop-Taster 2 (FlipFlop) und Freigabe gesetzt, OPEN_2 (Motor 2) auf 1 setzen
0078 A219 154 MOV C, STOP_2_FF
007A 8204 155 ANL C, DRIVERS_OK
007C 4053 156 JC SET_OPEN_2_FF
157
158 CONTINUE_AFTER_OPEN_2_FF_SET:
159
160 ; Schauen ob die Tür 2 geöffnet ist (Endtaster gesetzt) und wenn ja den Motor beenden und Timer s
007E A211 161 MOV C, OPEN_2
0080 8209 162 ANL C, OPENED_2
0082 4034 163 JC START_TIMER_DOOR_2
164 CONTINUE_AFTER_TIMER_2_SET:
165
166 ; Wenn Tür nicht zu ist und der Zu-Motor an ist, dann schaue ob Blockiert
0084 A20B 167 MOV C, CLOSED_2
0086 B3 168 CPL C
0087 8213 169 ANL C, CLOSE_2
0089 404F 170 JC CHECK_FOR_BLOCKED_DOOR_2
171
172 CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_2:
173
008B 02004D 174 LJMP Anfang
175
176
177 ;-------------------------------------------------
178 ; Einzele Programmschnippsel
179 ;-------------------------------------------------
180
181
182 START_TIMER_DOOR_1:
008E D28C 183 SETB tr0; start timer0
184
185 ; MOV r1, #5h ; r1 auf 5 setzen; im echten Leben sollte das 39368
0090 02006B 186 LJMP CONTINUE_AFTER_TIMER_1_SET
187
188
189 ; sobald Tür 1 geöffnet ist, läuft ein Timer, der bei jedem Interupt hierher springt
190 TIMEOUT_TIMER_DOOR_1:
191 ; INC r1 ; Hochzählen, wie oft der Timer abgelaufen ist
192 ; CJNE r1, #5h, TMP ; Schleife der Wiederholungen des Timers (wir brauchen 39368 Wiederholun
193
0093 D90D 194 DJNZ r1, TMP; r1 dekrementieren und wegspringen, wenn ungleich 0 (Decrement Jump Not Zero)
195
196 ; Hier gehts weiter, wenn der Timer oft genug abgelaufen ist (wenn die Tür lange genug offen war)
197 ; -> Timer & Motor ausschalten und Stop-Anfragen resetten
198 ; MOV r1, #00h
0095 7905 199 MOV r1, #5h ; r1 auf 5 setzen; im echten Leben sollte das 39368
0097 C28C 200 CLR tr0 ; stop timer0
201
0099 C218 202 CLR STOP_1_FF; Resetten des Stop 1 FlipFlop
009B C21A 203 CLR OPEN_1_FF ; Resetten des Open 1 FlopFlop
009D C210 204 CLR OPEN_1 ; Motor nicht mehr auf öffnend setzen
009F D212 205 SETB CLOSE_1 ; Motor auf schließend setzen
206
00A1 22 207 RET
208
209 TMP:
00A2 22 210 RET
211
212 SET_STOP_1_FF:
00A3 D218 213 SETB STOP_1_FF
00A5 02005F 214 LJMP CONTINUE_AFTER_STOP_1_FF_SET
215
216 SET_OPEN_1_FF:
00A8 D21A 217 SETB OPEN_1_FF
00AA D210 218 SETB OPEN_1
00AC C212 219 CLR CLOSE_1
00AE 020065 220 LJMP CONTINUE_AFTER_OPEN_1_FF_SET
221
222 CHECK_FOR_BLOCKED_DOOR_1:
00B1 A20C 223 MOV C, BlOCKED_1
00B3 40F3 224 JC SET_OPEN_1_FF
00B5 020072 225 LJMP CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_1
226
227 ;-----------------------------------------------
228
229 START_TIMER_DOOR_2:
00B8 D28E 230 SETB tr1; start timer1
231 ;MOV r2, #5h ; r2 auf 5 setzen; im echten Leben sollte das 39368
232
00BA 020084 233 LJMP CONTINUE_AFTER_TIMER_2_SET
234
235
236 ; sobald Tür 2 geöffnet ist, läuft ein Timer, der bei jedem Interupt hierher springt
237 TIMEOUT_TIMER_DOOR_2:
238 ;INC r2 ; Hochzählen, wie oft der Timer abgelaufen ist
239 ;CJNE r2, #5h, TMP ; Schleife der Wiederholungen des Timers (wir brauchen 39368 Wiederholun
00BD DAE3 240 DJNZ r2, TMP
241
242 ; Hier gehts weiter, wenn der Timer oft genug abgelaufen ist (wenn die Tür lange genug offen war)
243 ; -> Timer & Motor ausschalten und Stop-Anfragen resetten
244 ; MOV r2, #00h
00BF 7A05 245 MOV r2, #5h ; r2 auf 5 setzen; im echten Leben sollte das 39368
00C1 C28E 246 CLR tr1 ; stop timer1
247
00C3 C219 248 CLR STOP_2_FF; Resetten des Stop 2 FlipFlop
00C5 C21B 249 CLR OPEN_2_FF ; Resetten des Open 2 FlopFlop
00C7 C211 250 CLR OPEN_2 ; Motor nicht mehr auf öffnend setzen
00C9 D213 251 SETB CLOSE_2 ; Motor auf schließend setzen
252
00CB 22 253 RET
254
255 SET_STOP_2_FF:
00CC D219 256 SETB STOP_2_FF
00CE 020078 257 LJMP CONTINUE_AFTER_STOP_2_FF_SET
258
259 SET_OPEN_2_FF:
00D1 D21B 260 SETB OPEN_2_FF
00D3 D211 261 SETB OPEN_2
00D5 C213 262 CLR CLOSE_2
00D7 02007E 263 LJMP CONTINUE_AFTER_OPEN_2_FF_SET
264
265 CHECK_FOR_BLOCKED_DOOR_2:
00DA A20D 266 MOV C, BlOCKED_2
00DC 40F3 267 JC SET_OPEN_2_FF
00DE 02008B 268 LJMP CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_2
269
270 END
ASSEMBLY COMPLETE, NO ERRORS FOUND, 1 WARNING
ERROR SUMMARY:
Line 9, WARNING:ThisORGhaslowervaluethanthepreviousone
SYMBOL TABLE:
??MCU_8051_IDE . . . . . . . . . . . N NUMB 8051H NOT USED
??VERSION. . . . . . . . . . . . . . N NUMB 0149H NOT USED
AC . . . . . . . . . . . . . . . . . B ADDR 00D6H NOT USED
ACC. . . . . . . . . . . . . . . . . D ADDR 00E0H NOT USED
ACSR . . . . . . . . . . . . . . . . D ADDR 0097H NOT USED
ADCF . . . . . . . . . . . . . . . . D ADDR 00F6H NOT USED
ADCLK. . . . . . . . . . . . . . . . D ADDR 00F2H NOT USED
ADCON. . . . . . . . . . . . . . . . D ADDR 00F3H NOT USED
ADDH . . . . . . . . . . . . . . . . D ADDR 00F5H NOT USED
ADDL . . . . . . . . . . . . . . . . D ADDR 00F4H NOT USED
ANFANG . . . . . . . . . . . . . . . C ADDR 004DH
AUXR . . . . . . . . . . . . . . . . D ADDR 008EH NOT USED
AUXR1. . . . . . . . . . . . . . . . D ADDR 00A2H NOT USED
B. . . . . . . . . . . . . . . . . . D ADDR 00F0H NOT USED
BDRCON . . . . . . . . . . . . . . . D ADDR 009BH NOT USED
BDRCON_1 . . . . . . . . . . . . . . D ADDR 009CH NOT USED
BLOCKED_1. . . . . . . . . . . . . . N NUMB 000CH
BLOCKED_2. . . . . . . . . . . . . . N NUMB 000DH
BRL. . . . . . . . . . . . . . . . . D ADDR 009AH NOT USED
CCAP0H . . . . . . . . . . . . . . . D ADDR 00FAH NOT USED
CCAP0L . . . . . . . . . . . . . . . D ADDR 00EAH NOT USED
CCAP1H . . . . . . . . . . . . . . . D ADDR 00FBH NOT USED
CCAP1L . . . . . . . . . . . . . . . D ADDR 00EBH NOT USED
CCAP2H . . . . . . . . . . . . . . . D ADDR 00FCH NOT USED
CCAP3H . . . . . . . . . . . . . . . D ADDR 00FDH NOT USED
CCAP4H . . . . . . . . . . . . . . . D ADDR 00FEH NOT USED
CCAPL2H. . . . . . . . . . . . . . . D ADDR 00FCH NOT USED
CCAPL2L. . . . . . . . . . . . . . . D ADDR 00ECH NOT USED
CCAPL3H. . . . . . . . . . . . . . . D ADDR 00FDH NOT USED
CCAPL3L. . . . . . . . . . . . . . . D ADDR 00EDH NOT USED
CCAPL4H. . . . . . . . . . . . . . . D ADDR 00FEH NOT USED
CCAPL4L. . . . . . . . . . . . . . . D ADDR 00EEH NOT USED
CCAPM0 . . . . . . . . . . . . . . . D ADDR 00DAH NOT USED
CCAPM1 . . . . . . . . . . . . . . . D ADDR 00DBH NOT USED
CCAPM2 . . . . . . . . . . . . . . . D ADDR 00DCH NOT USED
CCAPM3 . . . . . . . . . . . . . . . D ADDR 00DDH NOT USED
CCAPM4 . . . . . . . . . . . . . . . D ADDR 00DEH NOT USED
CCF0 . . . . . . . . . . . . . . . . B ADDR 00D8H NOT USED
CCF1 . . . . . . . . . . . . . . . . B ADDR 00D9H NOT USED
CCF2 . . . . . . . . . . . . . . . . B ADDR 00DAH NOT USED
CCF3 . . . . . . . . . . . . . . . . B ADDR 00DBH NOT USED
CCF4 . . . . . . . . . . . . . . . . B ADDR 00DCH NOT USED
CCON . . . . . . . . . . . . . . . . D ADDR 00D8H NOT USED
CFINT. . . . . . . . . . . . . . . . C ADDR 0033H NOT USED
CH . . . . . . . . . . . . . . . . . D ADDR 00F9H NOT USED
CHECK_FOR_BLOCKED_DOOR_1 . . . . . . C ADDR 00B1H
CHECK_FOR_BLOCKED_DOOR_2 . . . . . . C ADDR 00DAH
CKCON. . . . . . . . . . . . . . . . D ADDR 008FH NOT USED
CKCON0 . . . . . . . . . . . . . . . D ADDR 008FH NOT USED
CKRL . . . . . . . . . . . . . . . . D ADDR 0097H NOT USED
CKSEL. . . . . . . . . . . . . . . . D ADDR 0085H NOT USED
CL . . . . . . . . . . . . . . . . . D ADDR 00E9H NOT USED
CLKREG . . . . . . . . . . . . . . . D ADDR 008FH NOT USED
CLOSED_1 . . . . . . . . . . . . . . N NUMB 000AH
CLOSED_2 . . . . . . . . . . . . . . N NUMB 000BH
CLOSE_1. . . . . . . . . . . . . . . N NUMB 0012H
CLOSE_2. . . . . . . . . . . . . . . N NUMB 0013H
CMOD . . . . . . . . . . . . . . . . D ADDR 00D9H NOT USED
CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_1 C ADDR 0072H
CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_2 C ADDR 008BH
CONTINUE_AFTER_OPEN_1_FF_SET . . . . C ADDR 0065H
CONTINUE_AFTER_OPEN_2_FF_SET . . . . C ADDR 007EH
CONTINUE_AFTER_STOP_1_FF_SET . . . . C ADDR 005FH
CONTINUE_AFTER_STOP_2_FF_SET . . . . C ADDR 0078H
CONTINUE_AFTER_TIMER_1_SET . . . . . C ADDR 006BH
CONTINUE_AFTER_TIMER_2_SET . . . . . C ADDR 0084H
CPRL2. . . . . . . . . . . . . . . . B ADDR 00C8H NOT USED
CR . . . . . . . . . . . . . . . . . B ADDR 00DEH NOT USED
CT2. . . . . . . . . . . . . . . . . B ADDR 00C9H NOT USED
CY . . . . . . . . . . . . . . . . . B ADDR 00D7H NOT USED
DP0H . . . . . . . . . . . . . . . . D ADDR 0083H NOT USED
DP0L . . . . . . . . . . . . . . . . D ADDR 0082H NOT USED
DP1H . . . . . . . . . . . . . . . . D ADDR 0085H NOT USED
DP1L . . . . . . . . . . . . . . . . D ADDR 0084H NOT USED
DPH. . . . . . . . . . . . . . . . . D ADDR 0083H NOT USED
DPL. . . . . . . . . . . . . . . . . D ADDR 0082H NOT USED
DRIVERS_OK . . . . . . . . . . . . . N NUMB 0004H
EA . . . . . . . . . . . . . . . . . B ADDR 00AFH NOT USED
EC . . . . . . . . . . . . . . . . . B ADDR 00AEH NOT USED
EECON. . . . . . . . . . . . . . . . D ADDR 0096H NOT USED
ES . . . . . . . . . . . . . . . . . B ADDR 00ACH NOT USED
ET0. . . . . . . . . . . . . . . . . B ADDR 00A9H NOT USED
ET1. . . . . . . . . . . . . . . . . B ADDR 00ABH NOT USED
ET2. . . . . . . . . . . . . . . . . B ADDR 00ADH NOT USED
EX0. . . . . . . . . . . . . . . . . B ADDR 00A8H NOT USED
EX1. . . . . . . . . . . . . . . . . B ADDR 00AAH NOT USED
EXEN2. . . . . . . . . . . . . . . . B ADDR 00CBH NOT USED
EXF2 . . . . . . . . . . . . . . . . B ADDR 00CEH NOT USED
EXTI0. . . . . . . . . . . . . . . . C ADDR 0003H NOT USED
EXTI1. . . . . . . . . . . . . . . . C ADDR 0013H NOT USED
F0 . . . . . . . . . . . . . . . . . B ADDR 00D5H NOT USED
FE . . . . . . . . . . . . . . . . . B ADDR 009FH NOT USED
FF . . . . . . . . . . . . . . . . . N NUMB 0023H
IE . . . . . . . . . . . . . . . . . D ADDR 00A8H
IE0. . . . . . . . . . . . . . . . . B ADDR 0089H NOT USED
IE1. . . . . . . . . . . . . . . . . B ADDR 008BH NOT USED
INIT . . . . . . . . . . . . . . . . C ADDR 001FH
INT0 . . . . . . . . . . . . . . . . B ADDR 00B2H NOT USED
INT1 . . . . . . . . . . . . . . . . B ADDR 00B3H NOT USED
IP . . . . . . . . . . . . . . . . . D ADDR 00B8H NOT USED
IPH. . . . . . . . . . . . . . . . . D ADDR 00B7H NOT USED
IPH0 . . . . . . . . . . . . . . . . D ADDR 00B7H NOT USED
IPH1 . . . . . . . . . . . . . . . . D ADDR 00B3H NOT USED
IPL0 . . . . . . . . . . . . . . . . D ADDR 00B8H NOT USED
IPL1 . . . . . . . . . . . . . . . . D ADDR 00B2H NOT USED
IT0. . . . . . . . . . . . . . . . . B ADDR 0088H NOT USED
IT1. . . . . . . . . . . . . . . . . B ADDR 008AH NOT USED
KBE. . . . . . . . . . . . . . . . . D ADDR 009DH NOT USED
KBF. . . . . . . . . . . . . . . . . D ADDR 009EH NOT USED
KBLS . . . . . . . . . . . . . . . . D ADDR 009CH NOT USED
MOTR . . . . . . . . . . . . . . . . N NUMB 0022H
OPENED_1 . . . . . . . . . . . . . . N NUMB 0008H
OPENED_2 . . . . . . . . . . . . . . N NUMB 0009H
OPEN_1 . . . . . . . . . . . . . . . N NUMB 0010H
OPEN_1_FF. . . . . . . . . . . . . . N NUMB 001AH
OPEN_2 . . . . . . . . . . . . . . . N NUMB 0011H
OPEN_2_FF. . . . . . . . . . . . . . N NUMB 001BH
OSCCON . . . . . . . . . . . . . . . D ADDR 0086H NOT USED
OV . . . . . . . . . . . . . . . . . B ADDR 00D2H NOT USED
P. . . . . . . . . . . . . . . . . . B ADDR 00D0H NOT USED
P0 . . . . . . . . . . . . . . . . . D ADDR 0080H
P1 . . . . . . . . . . . . . . . . . D ADDR 0090H
P1M1 . . . . . . . . . . . . . . . . D ADDR 00D4H NOT USED
P1M2 . . . . . . . . . . . . . . . . D ADDR 00E2H NOT USED
P2 . . . . . . . . . . . . . . . . . D ADDR 00A0H
P3 . . . . . . . . . . . . . . . . . D ADDR 00B0H
P3M1 . . . . . . . . . . . . . . . . D ADDR 00D5H NOT USED
P3M2 . . . . . . . . . . . . . . . . D ADDR 00E3H NOT USED
P4 . . . . . . . . . . . . . . . . . D ADDR 00C0H NOT USED
P4M1 . . . . . . . . . . . . . . . . D ADDR 00D6H NOT USED
P4M2 . . . . . . . . . . . . . . . . D ADDR 00E4H NOT USED
P5 . . . . . . . . . . . . . . . . . D ADDR 00E8H NOT USED
PC . . . . . . . . . . . . . . . . . B ADDR 00BEH NOT USED
PCON . . . . . . . . . . . . . . . . D ADDR 0087H NOT USED
PPCL . . . . . . . . . . . . . . . . B ADDR 00BEH NOT USED
PS . . . . . . . . . . . . . . . . . B ADDR 00BCH NOT USED
PSL. . . . . . . . . . . . . . . . . B ADDR 00BCH NOT USED
PSW. . . . . . . . . . . . . . . . . D ADDR 00D0H NOT USED
PT0. . . . . . . . . . . . . . . . . B ADDR 00B9H NOT USED
PT0L . . . . . . . . . . . . . . . . B ADDR 00B9H NOT USED
PT1. . . . . . . . . . . . . . . . . B ADDR 00BBH NOT USED
PT1L . . . . . . . . . . . . . . . . B ADDR 00BBH NOT USED
PT2. . . . . . . . . . . . . . . . . B ADDR 00BDH NOT USED
PT2L . . . . . . . . . . . . . . . . B ADDR 00BDH NOT USED
PX0. . . . . . . . . . . . . . . . . B ADDR 00B8H NOT USED
PX0L . . . . . . . . . . . . . . . . B ADDR 00B8H NOT USED
PX1. . . . . . . . . . . . . . . . . B ADDR 00BAH NOT USED
PX1L . . . . . . . . . . . . . . . . B ADDR 00BAH NOT USED
RB8. . . . . . . . . . . . . . . . . B ADDR 009AH NOT USED
RCAP2H . . . . . . . . . . . . . . . D ADDR 00CBH NOT USED
RCAP2L . . . . . . . . . . . . . . . D ADDR 00CAH NOT USED
RCLK . . . . . . . . . . . . . . . . B ADDR 00CDH NOT USED
RD . . . . . . . . . . . . . . . . . B ADDR 00B7H NOT USED
REN. . . . . . . . . . . . . . . . . B ADDR 009CH NOT USED
RESET. . . . . . . . . . . . . . . . C ADDR 0000H NOT USED
RI . . . . . . . . . . . . . . . . . B ADDR 0098H NOT USED
RS0. . . . . . . . . . . . . . . . . B ADDR 00D3H NOT USED
RS1. . . . . . . . . . . . . . . . . B ADDR 00D4H NOT USED
RXD. . . . . . . . . . . . . . . . . B ADDR 00B0H NOT USED
SADDR. . . . . . . . . . . . . . . . D ADDR 00A9H NOT USED
SADDR_0. . . . . . . . . . . . . . . D ADDR 00A9H NOT USED
SADDR_1. . . . . . . . . . . . . . . D ADDR 00AAH NOT USED
SADEN. . . . . . . . . . . . . . . . D ADDR 00B9H NOT USED
SADEN_0. . . . . . . . . . . . . . . D ADDR 00B9H NOT USED
SADEN_1. . . . . . . . . . . . . . . D ADDR 00BAH NOT USED
SBUF . . . . . . . . . . . . . . . . D ADDR 0099H NOT USED
SCON . . . . . . . . . . . . . . . . D ADDR 0098H NOT USED
SENS . . . . . . . . . . . . . . . . N NUMB 0021H
SET_OPEN_1_FF. . . . . . . . . . . . C ADDR 00A8H
SET_OPEN_2_FF. . . . . . . . . . . . C ADDR 00D1H
SET_STOP_1_FF. . . . . . . . . . . . C ADDR 00A3H
SET_STOP_2_FF. . . . . . . . . . . . C ADDR 00CCH
SINT . . . . . . . . . . . . . . . . C ADDR 0023H NOT USED
SM0. . . . . . . . . . . . . . . . . B ADDR 009FH NOT USED
SM1. . . . . . . . . . . . . . . . . B ADDR 009EH NOT USED
SM2. . . . . . . . . . . . . . . . . B ADDR 009DH NOT USED
SP . . . . . . . . . . . . . . . . . D ADDR 0081H NOT USED
SPCON. . . . . . . . . . . . . . . . D ADDR 00C3H NOT USED
SPCR . . . . . . . . . . . . . . . . D ADDR 00D5H NOT USED
SPDAT. . . . . . . . . . . . . . . . D ADDR 00C5H NOT USED
SPDR . . . . . . . . . . . . . . . . D ADDR 0086H NOT USED
SPSR . . . . . . . . . . . . . . . . D ADDR 00AAH NOT USED
SPSTA. . . . . . . . . . . . . . . . D ADDR 00C4H NOT USED
START_TIMER_DOOR_1 . . . . . . . . . C ADDR 008EH
START_TIMER_DOOR_2 . . . . . . . . . C ADDR 00B8H
STOP_1_FF. . . . . . . . . . . . . . N NUMB 0018H
STOP_2_FF. . . . . . . . . . . . . . N NUMB 0019H
STOP_IN_1. . . . . . . . . . . . . . N NUMB 0000H
STOP_IN_2. . . . . . . . . . . . . . N NUMB 0001H
STOP_OUT_1 . . . . . . . . . . . . . N NUMB 0002H
STOP_OUT_2 . . . . . . . . . . . . . N NUMB 0003H
T0 . . . . . . . . . . . . . . . . . B ADDR 00B4H NOT USED
T1 . . . . . . . . . . . . . . . . . B ADDR 00B5H NOT USED
T2CON. . . . . . . . . . . . . . . . D ADDR 00C8H NOT USED
T2MOD. . . . . . . . . . . . . . . . D ADDR 00C9H NOT USED
TAST . . . . . . . . . . . . . . . . N NUMB 0020H
TB8. . . . . . . . . . . . . . . . . B ADDR 009BH NOT USED
TCLK . . . . . . . . . . . . . . . . B ADDR 00CCH NOT USED
TCON . . . . . . . . . . . . . . . . D ADDR 0088H NOT USED
TF0. . . . . . . . . . . . . . . . . B ADDR 008DH NOT USED
TF1. . . . . . . . . . . . . . . . . B ADDR 008FH NOT USED
TF2. . . . . . . . . . . . . . . . . B ADDR 00CFH NOT USED
TH0. . . . . . . . . . . . . . . . . D ADDR 008CH
TH1. . . . . . . . . . . . . . . . . D ADDR 008DH
TH2. . . . . . . . . . . . . . . . . D ADDR 00CDH NOT USED
TI . . . . . . . . . . . . . . . . . B ADDR 0099H NOT USED
TIMEOUT_TIMER_DOOR_1 . . . . . . . . C ADDR 0093H
TIMEOUT_TIMER_DOOR_2 . . . . . . . . C ADDR 00BDH
TIMER0 . . . . . . . . . . . . . . . C ADDR 000BH NOT USED
TIMER1 . . . . . . . . . . . . . . . C ADDR 001BH NOT USED
TIMER2 . . . . . . . . . . . . . . . C ADDR 002BH NOT USED
TL0. . . . . . . . . . . . . . . . . D ADDR 008AH
TL1. . . . . . . . . . . . . . . . . D ADDR 008BH
TL2. . . . . . . . . . . . . . . . . D ADDR 00CCH NOT USED
TMOD . . . . . . . . . . . . . . . . D ADDR 0089H
TMP. . . . . . . . . . . . . . . . . C ADDR 00A2H
TR0. . . . . . . . . . . . . . . . . B ADDR 008CH
TR1. . . . . . . . . . . . . . . . . B ADDR 008EH
TR2. . . . . . . . . . . . . . . . . B ADDR 00CAH NOT USED
TXD. . . . . . . . . . . . . . . . . B ADDR 00B1H NOT USED
WDTCON . . . . . . . . . . . . . . . D ADDR 00A7H NOT USED
WDTPRG . . . . . . . . . . . . . . . D ADDR 00A7H NOT USED
WDTRST . . . . . . . . . . . . . . . D ADDR 00A6H NOT USED
WR . . . . . . . . . . . . . . . . . B ADDR 00B6H NOT USED