-
Notifications
You must be signed in to change notification settings - Fork 1
/
Bustürsteuerung.lst
505 lines (502 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
504
505
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_OUT_1 EQU TAST.1
0004 43 DRIVERS_OK EQU TAST.4
0006 44 STOP_IN_2 EQU TAST.6
0007 45 STOP_OUT_2 EQU TAST.7
46
47
48 ; Das was der Bus fühlt (Gefühle bzw. Sensoren)
0021 49 SENS EQU 21H
0008 50 OPENED_1 EQU SENS.0
0009 51 CLOSED_1 EQU SENS.1
000A 52 BlOCKED_1 EQU SENS.2
53
000D 54 OPENED_2 EQU SENS.5
000E 55 CLOSED_2 EQU SENS.6
000F 56 BlOCKED_2 EQU SENS.7
57
58 ; Ausgabevektor
59 ; OPEN_1 Tür 1 soll geöffnet werden
60 ; OPEN_2 Tür 2 soll geöffnet werden
61 ; CLOSE_1 Tür 1 soll geschlossen werden
62 ; CLOSE_2 Tür 2 soll geschlossen werden
63
0022 64 MOTR EQU 22H
0010 65 OPEN_1 EQU MOTR.0
0011 66 CLOSE_1 EQU MOTR.1
67
0016 68 OPEN_2 EQU MOTR.6
0017 69 CLOSE_2 EQU MOTR.7
70
71 ; FlipFlops zum Zwischenspeichern
72
0023 73 FF EQU 23H
0018 74 STOP_1_FF EQU FF.0
0019 75 OPEN_1_FF EQU FF.1
001E 76 STOP_2_FF EQU FF.6
001F 77 OPEN_2_FF EQU FF.7
78 ; INITIALISIERUNG
79 Init:
001F 752000 80 MOV TAST, #00H
0022 752100 81 MOV SENS, #00H
0025 752200 82 MOV MOTR, #00H
83
0028 758000 84 MOV P0, #00H ; P0 wird verwendet um TAST von der IDE anzusprechen
002B 759042 85 MOV P1, #42H ; P1 wird verwendet um SENS in der IDE anzuzeigen
002E 75A000 86 MOV P2, #00H ; P2 wird verwendet um MOTR in der IDE anzuzeigen
87
0031 752300 88 MOV FF, #00H
89
90 ; TIMER Kram
0034 75A89A 91 MOV IE, #10011010b
0037 758922 92 MOV tmod, #00100010b ; 1. Bit für Timer0 -> mod 2 und 5. Bit für Timer1 -> mod 2
003A 758A00 93 MOV tl0, #000h ; Timer0-Initionalsierung
003D 758C01 94 MOV th0, #001h
95
0040 758B00 96 MOV tl1, #000h ; Timer1-Initionalsierung
0043 758D01 97 MOV th1, #001h
98
0046 7905 99 MOV r1, #5h
0048 7A05 100 MOV r2, #5h
101
004A 02004D 102 LJMP Anfang
103
104
105 ;-----------------------------------------
106 ; PROGRAMM-SCHLEIFE
107 ;-----------------------------------------
108
109 Anfang:
110 ; Eingaben aus Port 0 in TAST schreiben und SENS und MOTR in Port 1 und 2 (IDE-Anzeige) schreiben
004D 858020 111 MOV TAST, P0
0050 859021 112 MOV SENS, P1
0053 8522A0 113 MOV P2, MOTR
0056 8523B0 114 MOV P3, FF
115
116 ; ------------------------------------------ Tür 1
117
118 ; Abfrage ob ein Stop-Taster (innen oder außen) für Tür 1 gedrückt wurder
0059 A200 119 MOV C, STOP_IN_1
005B 7201 120 ORL C, STOP_OUT_1
005D 4044 121 JC SET_STOP_1_FF
122
123 CONTINUE_AFTER_STOP_1_FF_SET:
124
125 ; Wenn Stop-Taster 1 (FlipFlop) und Freigabe gesetzt, OPEN_1 (Motor 1) auf 1 setzen
005F A218 126 MOV C, STOP_1_FF
0061 8204 127 ANL C, DRIVERS_OK
0063 4043 128 JC SET_OPEN_1_FF
129
130 CONTINUE_AFTER_OPEN_1_FF_SET:
131
132 ; Schauen ob die Tür 1 geöffnet ist (Endtaster gesetzt) und wenn ja den Motor beenden und Timer s
0065 A210 133 MOV C, OPEN_1
0067 8208 134 ANL C, OPENED_1
0069 4023 135 JC START_TIMER_DOOR_1
136 CONTINUE_AFTER_TIMER_1_SET:
137
138 ; Wenn Tür nicht zu ist und der Zu-Motor an ist, dann schaue ob Blockiert
006B A209 139 MOV C, CLOSED_1
006D B3 140 CPL C
006E 8211 141 ANL C, CLOSE_1
0070 403F 142 JC CHECK_FOR_BLOCKED_DOOR_1
143
144 CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_1:
145
146 ; ------------------------------------------ Tür 2
147
148 ; Abfrage ob ein Stop-Taster (innen oder außen) für Tür 2 gedrückt wurder
0072 A206 149 MOV C, STOP_IN_2
0074 7207 150 ORL C, STOP_OUT_2
0076 4054 151 JC SET_STOP_2_FF
152
153 CONTINUE_AFTER_STOP_2_FF_SET:
154
155 ; Wenn Stop-Taster 2 (FlipFlop) und Freigabe gesetzt, OPEN_2 (Motor 2) auf 1 setzen
0078 A21E 156 MOV C, STOP_2_FF
007A 8204 157 ANL C, DRIVERS_OK
007C 4053 158 JC SET_OPEN_2_FF
159
160 CONTINUE_AFTER_OPEN_2_FF_SET:
161
162 ; Schauen ob die Tür 2 geöffnet ist (Endtaster gesetzt) und wenn ja den Motor beenden und Timer s
007E A216 163 MOV C, OPEN_2
0080 820D 164 ANL C, OPENED_2
0082 4034 165 JC START_TIMER_DOOR_2
166 CONTINUE_AFTER_TIMER_2_SET:
167
168 ; Wenn Tür nicht zu ist und der Zu-Motor an ist, dann schaue ob Blockiert
0084 A20E 169 MOV C, CLOSED_2
0086 B3 170 CPL C
0087 8217 171 ANL C, CLOSE_2
0089 404F 172 JC CHECK_FOR_BLOCKED_DOOR_2
173
174 CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_2:
175
008B 02004D 176 LJMP Anfang
177
178
179 ;-------------------------------------------------
180 ; Einzele Programmschnippsel
181 ;-------------------------------------------------
182
183
184 START_TIMER_DOOR_1:
008E D28C 185 SETB tr0; start timer0
186
187 ; MOV r1, #5h ; r1 auf 5 setzen; im echten Leben sollte das 39368
0090 02006B 188 LJMP CONTINUE_AFTER_TIMER_1_SET
189
190
191 ; sobald Tür 1 geöffnet ist, läuft ein Timer, der bei jedem Interupt hierher springt
192 TIMEOUT_TIMER_DOOR_1:
193 ; INC r1 ; Hochzählen, wie oft der Timer abgelaufen ist
194 ; CJNE r1, #5h, TMP ; Schleife der Wiederholungen des Timers (wir brauchen 39368 Wiederholun
195
0093 D90D 196 DJNZ r1, TMP; r1 dekrementieren und wegspringen, wenn ungleich 0 (Decrement Jump Not Zero)
197
198 ; Hier gehts weiter, wenn der Timer oft genug abgelaufen ist (wenn die Tür lange genug offen war)
199 ; -> Timer & Motor ausschalten und Stop-Anfragen resetten
200 ; MOV r1, #00h
0095 7905 201 MOV r1, #5h ; r1 auf 5 setzen; im echten Leben sollte das 39368
0097 C28C 202 CLR tr0 ; stop timer0
203
0099 C218 204 CLR STOP_1_FF; Resetten des Stop 1 FlipFlop
009B C219 205 CLR OPEN_1_FF ; Resetten des Open 1 FlopFlop
009D C210 206 CLR OPEN_1 ; Motor nicht mehr auf öffnend setzen
009F D211 207 SETB CLOSE_1 ; Motor auf schließend setzen
208
00A1 22 209 RET
210
211 TMP:
00A2 22 212 RET
213
214 SET_STOP_1_FF:
00A3 D218 215 SETB STOP_1_FF
00A5 02005F 216 LJMP CONTINUE_AFTER_STOP_1_FF_SET
217
218 SET_OPEN_1_FF:
00A8 D219 219 SETB OPEN_1_FF
00AA D210 220 SETB OPEN_1
00AC C211 221 CLR CLOSE_1
00AE 020065 222 LJMP CONTINUE_AFTER_OPEN_1_FF_SET
223
224 CHECK_FOR_BLOCKED_DOOR_1:
00B1 A20A 225 MOV C, BlOCKED_1
00B3 40F3 226 JC SET_OPEN_1_FF
00B5 020072 227 LJMP CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_1
228
229 ;-----------------------------------------------
230
231 START_TIMER_DOOR_2:
00B8 D28E 232 SETB tr1; start timer1
233 ;MOV r2, #5h ; r2 auf 5 setzen; im echten Leben sollte das 39368
234
00BA 020084 235 LJMP CONTINUE_AFTER_TIMER_2_SET
236
237
238 ; sobald Tür 2 geöffnet ist, läuft ein Timer, der bei jedem Interupt hierher springt
239 TIMEOUT_TIMER_DOOR_2:
240 ;INC r2 ; Hochzählen, wie oft der Timer abgelaufen ist
241 ;CJNE r2, #5h, TMP ; Schleife der Wiederholungen des Timers (wir brauchen 39368 Wiederholun
00BD DAE3 242 DJNZ r2, TMP
243
244 ; Hier gehts weiter, wenn der Timer oft genug abgelaufen ist (wenn die Tür lange genug offen war)
245 ; -> Timer & Motor ausschalten und Stop-Anfragen resetten
246 ; MOV r2, #00h
00BF 7A05 247 MOV r2, #5h ; r2 auf 5 setzen; im echten Leben sollte das 39368
00C1 C28E 248 CLR tr1 ; stop timer1
249
00C3 C21E 250 CLR STOP_2_FF; Resetten des Stop 2 FlipFlop
00C5 C21F 251 CLR OPEN_2_FF ; Resetten des Open 2 FlopFlop
00C7 C216 252 CLR OPEN_2 ; Motor nicht mehr auf öffnend setzen
00C9 D217 253 SETB CLOSE_2 ; Motor auf schließend setzen
254
00CB 22 255 RET
256
257 SET_STOP_2_FF:
00CC D21E 258 SETB STOP_2_FF
00CE 020078 259 LJMP CONTINUE_AFTER_STOP_2_FF_SET
260
261 SET_OPEN_2_FF:
00D1 D21F 262 SETB OPEN_2_FF
00D3 D216 263 SETB OPEN_2
00D5 C217 264 CLR CLOSE_2
00D7 02007E 265 LJMP CONTINUE_AFTER_OPEN_2_FF_SET
266
267 CHECK_FOR_BLOCKED_DOOR_2:
00DA A20F 268 MOV C, BlOCKED_2
00DC 40F3 269 JC SET_OPEN_2_FF
00DE 02008B 270 LJMP CONTINUE_AFTER_CHECK_FOR_BLOCKED_DOOR_2
271
272 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 000AH
BLOCKED_2. . . . . . . . . . . . . . N NUMB 000FH
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 0009H
CLOSED_2 . . . . . . . . . . . . . . N NUMB 000EH
CLOSE_1. . . . . . . . . . . . . . . N NUMB 0011H
CLOSE_2. . . . . . . . . . . . . . . N NUMB 0017H
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 000DH
OPEN_1 . . . . . . . . . . . . . . . N NUMB 0010H
OPEN_1_FF. . . . . . . . . . . . . . N NUMB 0019H
OPEN_2 . . . . . . . . . . . . . . . N NUMB 0016H
OPEN_2_FF. . . . . . . . . . . . . . N NUMB 001FH
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 001EH
STOP_IN_1. . . . . . . . . . . . . . N NUMB 0000H
STOP_IN_2. . . . . . . . . . . . . . N NUMB 0006H
STOP_OUT_1 . . . . . . . . . . . . . N NUMB 0001H
STOP_OUT_2 . . . . . . . . . . . . . N NUMB 0007H
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