-
-
Neuer Benutzer
Öfters hier
Ach, wahrscheinlich hast Du ein Problem mit einer Marotte der 8051er (möglicherweise auch bei anderen µCs vorhanden):
Ein Ein- und Ausgang eines Ports ist dieselbe Leitung. Soll es ein Eingang sein, muss das entsprechende Ausgangs-Bit auf logisch "!" gesetzt werden, ansonsten würde der Ausgangstransistor auf logisch "0" ziehen.
Also:
setb P2.7 ; als Eingang konfigurieren
...
mov A,P2 ; Port 2 einlesen
anl A,#80h ; Bit 7 maskieren, dann vergleichen
jz key_pressed
; Nix gedrückt
...
key_pressed
; Taste gedrückt
Das geht mit Bitadressierung noch sehr viel schöner, aber dann lässt es sich nicht mehr so einfach nach C übersetzen.
Schwabix
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen