Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "8051.h"
- .org 0000h
- mov P0,#00000000b
- mov P1,#00000000b
- mov P3,#00000000b
- ; Anfangsposition
- setb P1.2 ; D7 - rot - Lindenstraße Nord
- setb P3.3 ; D14 - rot - Lindenstraße Süd
- setb P1.3 ; D8 - rot - Bahnhofstraße Osten
- setb P3.0 ; D11 - rot - Bahnhofstraße Westen
- setb P1.6 ; D1 u. D4 - rot - Fußgängerampeln
- setb P3.7 ; D19 u. D20 - rot - Fußgängerampeln
- LOOP: ; Wechsel von rot nach grün Lindenstraße Nord/Süd
- setb P1.1 ; D6 - gelb - Lindenstraße Nord
- setb P3.4 ; D15 - gelb - Lindenstraße Süd
- lcall ZTS2 ; 1 Sekunde warten
- clr P1.1 ; D6 - gelb - Lindenstraße Nord
- clr P3.4 ; D15 - gelb - Lindenstraße Süd
- clr P1.2 ; D7 - rot - Lindenstraße Nord
- clr P3.3 ; D14 - rot - Lindenstraße Süd
- setb P1.0 ; D5 - grün - Lindenstraße Nord
- setb P3.5 ; D16 - grün - Lindenstraße Süd
- lcall ZTS ; 5 Sekunden warten
- ; Wechsel von grün nach rot Lindenstraße Nord/Süd
- clr P1.0 ; D5 - grün - Lindenstraße Nord
- clr P3.5 ; D16 - grün - Lindenstraße Süd
- setb P1.1 ; D6 - gelb - Lindenstraße Nord
- setb P3.4 ; D15 - gelb - Lindenstraße Süd
- lcall ZTS2 ; 1 Sekunde warten
- setb P1.2 ; D7 - rot - Lindenstraße Nord
- clr P3.4 ; D15 - gelb - Lindenstraße Süd
- clr P1.1 ; D6 - gelb - Lindenstraße Nord
- setb P3.3 ; D14 - rot - Lindenstraße Süd
- ; Wechsel von rot nach grün Bahnhofstraße Osten/Westen
- setb P1.4 ; D9 - gelb - Bahnhofstraße Osten
- setb P3.1 ; D12 - gelb - Bahnhofstraße Westen
- lcall ZTS2
- clr P1.4 ; D9 - gelb - Bahnhofstraße Osten
- clr P3.1 ; D12 - gelb - Bahnhofstraße Westen
- clr P1.3 ; D8 - rot - Bahnhofstraße Osten
- clr P3.0 ; D11 - rot - Bahnhofstraße Westen
- setb P1.5 ; D10 - grün - Bahnhofstraße Osten
- setb P3.2 ; D13 - grün - Bahnhofstraße Westen
- lcall ZTS ; 5 Sekunden warten
- ; Wechsel von grün nach rot Bahnhofstraße Osten/Westen
- clr P1.5 ; D10 - grün - Bahnhofstraße Osten
- clr P3.2 ; D13 - grün - Bahnhofstraße Westen
- setb P1.4 ; D9 - gelb - Bahnhofstraße Osten
- setb P3.1 ; D12 - gelb - Bahnhofstraße Westen
- lcall ZTS2 ; 1 Sekunde warten
- setb P1.3 ; D8 - rot - Bahnhofstraße Osten
- setb P3.0 ; D11 - rot - Bahnhofstraße Westen
- clr P1.4 ; D9 - gelb - Bahnhofstraße Osten
- clr P3.1 ; D12 - gelb - Bahnhofstraße Westen
- mov A,P2 ; Signalzustände der Schalter in den Akku kopieren
- mov C,ACC.1 ; Signalzustand P2.1 ins Carry kopieren
- jnc DEFEKT ; Wenn Carry nicht 1 dann nach DEFEKT springen.
- ; Fußgängerampeln von rot nach grün
- clr P1.6 ; D3 u. D4 - rot - Fußgängerampeln
- clr P3.7 ; D19 u. D20 - rot - Fußgängerampeln
- setb P1.7 ; D2 u. D3 - grün - Fußgängerampeln
- setb P3.6 ; D17 u. D18 - grün - Fußgängerampeln
- lcall ZTS ; 5 Sekunden warten
- ; Fußgängerampeln von grün nach rot
- setb P1.6 ; D3 u. D4 - rot - Fußgängerampeln
- setb P3.7 ; D19 u. D20 - rot - Fußgängerampeln
- clr P1.7 ; D2 u. D3 - grün - Fußgängerampeln
- clr P3.6 ; D17 u. D18 - grün - Fußgängerampeln
- DEFEKT: mov A,P2 ; Signalzustände der Schalter in den Akku kopieren
- mov C,ACC.0 ; Signalzustand P2.0 ins Carry kopieren
- jnc AP ; Wenn Carry nicht 1 dann nach AP springen.
- ; Rote Lampe an allen Ampeln abschalten
- clr P1.2 ; D7 - rot - Lindenstraße Nord
- clr P3.3 ; D14 - rot - Lindenstraße Süd
- clr P1.3 ; D8 - rot - Bahnhofstraße Osten
- clr P3.0 ; D11 - rot - Bahnhofstraße Westen
- clr P1.6 ; D3 u. D4 - rot - Fußgängerampeln
- clr P3.7 ; D19 u. D20 - rot - Fußgängerampeln
- setb P1.1 ; D6 - gelb - Lindenstraße Nord
- setb P3.1 ; D12 - gelb - Bahnhofstraße Westen
- setb P1.4 ; D9 - gelb - Bahnhofstraße Osten
- setb P3.4 ; D15 - gelb - Lindenstraße Süd
- lcall ZTS2 ; 1 Sekunde warten
- clr P1.1 ; D6 - gelb - Lindenstraße Nord
- clr P1.4 ; D9 - gelb - Bahnhofstraße Osten
- clr P3.1 ; D12 - gelb - Bahnhofstraße Westen
- clr P3.4 ; D15 - gelb - Lindenstraße Süd
- lcall ZTS2 ; 1 Sekunde warten
- sjmp DEFEKT ; Nochmal blinken, falls Bedingung noch zutrifft.
- ; Rote Lampe an allen Ampeln einschalten. Vorherige Bedingungen herstellen.
- AP: setb P1.2 ; D7 - rot - Lindenstraße Nord
- setb P3.3 ; D14 - rot - Lindenstraße Süd
- setb P1.3 ; D8 - rot - Bahnhofstraße Osten
- setb P3.0 ; D11 - rot - Bahnhofstraße Westen
- setb P1.6 ; D3 u. D4 - rot - Fußgängerampeln
- setb P3.7 ; D19 u. D20 - rot - Fußgängerampeln
- ljmp LOOP ; Zum Anfang springen. Erneuter Durchlauf.
- ; Zeit (µs): 5007691
- ZTS: mov r3,#255d
- LOOP1: mov r2,#255d
- LOOP2: mov r1,#37d
- LOOP3: djnz r1,LOOP3
- djnz r2,LOOP2
- djnz r3,LOOP1
- ret
- ; Zeit (µs): 976141
- ZTS2: mov r3,#255d
- LOOP4: mov r2,#255d
- LOOP5: mov r1,#6d
- LOOP6: djnz r1,LOOP6
- djnz r2,LOOP5
- djnz r3,LOOP4
- ret
- .end
Add Comment
Please, Sign In to add comment