Forum: Mikrocontroller und Digitale Elektronik PortC als Eingang beim Atmega8


von c-link-84 (Gast)


Lesenswert?

hallo, ich hab gerad erst angefangen mit µC, und infolge dessen schon
ein Problem.
Ich will mir ne Ganganzeige fürs Auto basteln,
dazu verwende ich eine alphanumerische Anzeige oder auch 16-Segment.
Bei meinem Atmega8 sind PB0...PB7 und PD0...PD7 also Ausgänge
zum Ansteuern des 16-Segmentes.
Das Funktioniert sowiet auch schon ganz gut.
Über PC0...PC5 frage ich in den Schaltgassen den aktuell eingelegten
Gang ab.
Hierbei treten aber Propleme auf, gibt es was Besonderes zu beachten
wenn ich
PortC als Eingang verwenden will ???

ldi r16,0
out DDRC,r16  ;damit müsste PortC doch konfiguriert sein

oder muss ich noch irgendwo ein Register setzten ???

...noch eine Fehlerquelle ? :
 die Taster an PC0...PC5 schalten die Port-Pins bei mir direkt auf
Masse (GND),
also ohne den Widerstand zu Vcc, müsste doch aber auch funktionieren
oder???

von Johannes M. Richter (Gast)


Lesenswert?

Schau Dir einmal diesen Thread an:
http://www.mikrocontroller.net/forum/read-1-106054.html
Vielleicht hast Du auch dieses Problem.

Gruesse,
j.

von Tobi (Gast)


Lesenswert?

und schalt die internen pullups ein

von c-link-84 (Gast)


Lesenswert?

Danke erstmal fürs schnelle Antworten,
 leider funktioniert das Ganze immer noch nicht so recht.
Es scheint unmöglich die PortC Zustände vernünftig einzulesen.
Ich hab bei meinem Atmega8 AVCC auf VCC (+5V) gelegt,
 muss ich AREF auch irgendwie beschalten ?

und dann bin ich mir nicht sicher wie mann die Pull Up's aktiviert.

clr r17
out DDRC, r17
ldi r17,0b00111111
out PORTC,r17
ldi r17,0b00000000
out SFIOR,r17

wäre schön wenn mir jemand sagen könnte
 ob das soweit ok ist

von Mike (Gast)


Lesenswert?

Nicht vergessen, IN PINC nicht Port.

Mike

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.