Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Reaktionstest
- include reg_51.pdf
- anzeige EQU P1
- tasten EQU P2
- ; ************
- ; Initialisierungen
- mov TMOD, #01h
- setb TR1 ; Timer 1 starten (wird für Zufallszahl benötigt)
- anfang:
- mov tasten, #0F0h ; Farbtasten initialisieren
- mov TL0, #00h ; Reset von Timer 0
- mov TH0, #00h
- ; ************
- ; Warten auf Benutzereingabe
- WartenStart:
- mov A, tasten
- cpl A
- anl A, #0F0h
- jz WartenStart
- reti
- ; ************
- ; Zufallszahl auswählen
- mov A, TL1
- anl A, #00000011b
- jz rot
- anl A, #00000001b
- jz gelb
- mov A, TL1
- anl A, #00000010b
- jz gruen
- ; blau
- mov R0, #08h
- ljmp FarbeZeigen
- gruen:
- mov R0, #02h
- ljmp FarbeZeigen
- gelb:
- mov R0, #04h
- ljmp FarbeZeigen
- rot:
- mov R0, #01h
- ljmp FarbeZeigen
- ; ************
- ; Farbe Anzeigen
- FarbeZeigen:
- mov tasten, R0
- setb TR0
- orl tasten, #0F0h
- ; ************
- ; Warten auf Drücken der richtigen Farbe
- WartenEnde:
- mov A, tasten
- swap A
- anl A, #0Fh
- subb a, r0
- jnz WartenEnde
- clr TR0
- ;orl tasten, #0Fh ; ????????
- ; ************
- mov A, TL0
- DA A
- mov TL0, A
- mov A, TH0
- addC A, #00h
- DA A
- mov TH0, A
- mov A, TL0
- anl A, #0Fh
- orl A, #20h
- mov anzeige, A
- mov A, TL0
- swap A
- anl A, #0Fh
- orl A, #60h
- mov anzeige, A
- mov A, TH0
- anl A, #0Fh
- orl A, #0A0h
- mov anzeige, A
- mov A, TH0
- swap A
- anl A, #0Fh
- orl A, #0E0h
- mov anzeige, A
- ljmp anfang
- end
Add Comment
Please, Sign In to add comment