Auf einen Tastendruck Led schalten

Gast #2308602
Lesenswert?

Hallo

Ich habe warscheinlich ein Brett vor dem Kopf und komme einfach nicht 
weiter. Wenn eine von acht Tasten gedrückt wird soll eine Led leuchten.
Ich habe schon die verschiedensten Versionen probiert, die Led bleibt 
aber dunkel.Kann mir bitte jemand sagen wieso das so ist? Anbei der 
Code. Wenn ich nur :

assign Led[1] = Switch[1];

schreibe dann leuchtet die Led wem Taster 1 gedrückt wird.
1
module TestSwitch (clk, Switch, Led );
2

3
input clk; 
4
input [8:1] Switch;
5
output [2:1] Led;
6

7
assign Led[1] = (Switch != 0); // schalte Led, wenn ein Taster gedrückt
8

9
// assign Led[1] = (Switch[1] | Switch[2]); // geht auch nicht
10

11
endmodule

Vielen Dank

Andreas
Gast #2308619
Lesenswert?

Hallo Duke

Ich verwende einen Altera, EPM3064ATC.

Ich habe auch jede Taste einzeln geprüft und die Led leuchtet. Also z.B.

assign Led[1] = Switch[1]; // funtioniert
assign Led[1] = Switch[2]; // funtioniert
assign Led[1] = Switch[3]; // funtioniert


Vielen Dank für deine Hilfe

Andreas
Gast #2308822
Lesenswert?

Hallo Duke

Danke für den Hinweis, da muss ich mal schauen wie man mit Quartus 
simulieren kann.


Ich habe zum Test nun anstatt des Verilog-Files noch ein Schematics-File 
angelegt und die 8 Tasten mit logisch or verknüft. Das geht auch nicht. 
Wenn ich drin eine Taste mit einem Ausgang verbinde, dann leuchtet die 
Led. Also gleiches Verhalten wie mit Verilog-Code.

Danke nochmals

Andreas
Gast #2309071
Lesenswert?

Die Schalter sind active high, die Leuchtdioden active low.

Hardwareseitig sieht das so aus, als die Leuchtdiode über einen 
Widerstand auf 3.3V liegt und ein CPLD-Pin zwischen Ground und 3.3V 
schaltet.

Bei den Schaltern: Wenn eine Taste gedrückt wird, dann liegt an einem 
entsprechenden Eingangspin des CPLDs 3.3 V an.
Gast #2309091
Lesenswert?

Nun habe ich einen Blödsinn geschrieben:

Die Schalter und Leds sind aktive Low

Schalter: Ziehen je einen Pullup auf Ground, wenn die entsprechende 
Taste gedrückt wird.

Led:  auch, weil sie ja nur dann leuchtet, wenn der Ausgangspin des CPLD 
auf Ground schaltet
Gast #2309113
Lesenswert?

Viele Dank!!!!!!!

Der Wink mit active-Low-High war sehr gut!

Mann, nun habe ich mit Mikrocontroller schon hunterte Leuchtdioden 
geschaltet und falle auf diesen grundlegenden Sachverhalt rein!

Manchmal hat man wirklich ein Brett vor dem Kopf:):):):):)

Vielen Dank nochmals an Alle und speziell Lattice User, der einem 
Konkurrenzprodukt-User half!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren