PIC 18F2550 und PS2 Tastaur

Gast #1235296
Lesenswert?

Hallo,


ich versuche an meine PIC 18F2550 eine PS2 Tastatur anzuschlien. Die 
Tastatur soll nur gelesen werden.


Ich hab bis jetzt nur versucht das Clock Signal der Tastatur abzufangen 
und zu lesen allerding verlässt der PIC die Unterroutine zum Checken der 
Clock nicht. Die Prüfung der auf High wird bestanden, was auch logisch 
ist da ja nach PS2 Standard der Ruhezustand der Leitung High ist. 
Allerding empfängt mein PIC kein Low Signal der Tastatur.

Ich hab Tastaur mehrmals am Computer geteste und sie funktioniert also 
kann nicht der grund für den fehler sein.

Auch die Hardware hab ich mehr mals geprüft und durch geklingelt 
allerdings konnte ich keinen Fehler in der Hardware finden.

Bilder von meiner Platine könnt ihr auf
http://www.ik4ru5.de ansehn ... hoffentlich erkennt ihr genug.

Erklärung der Bilder
CIMG2076.JPG:
- die oberen 4 Pins die zusammen gelötet sind liegen auf meiner 
Entwicklungs umgebung auf Masse
- die 4 weiteren Pins die zusammen gelötet sind liegen auf +5V
- gefolgt von der Clockleitung
- dann kommt die Datenleitung

CIMG2077.JPG
- die 4 rechten Pins sind Masse
- die 4 links von Masse sind +5V
- dann Clock
- dann wieder Data

CIMG2078.JPG
- rechts 4 Masse
- die 4 links von Masse wieder +5V
- dann Clock
- dann wieder Data


Die PS/2 Buchse ist von Reichelt Artikel-Nr: EB-DIO M06 Datenblatt ist 
bei Reicletverfügar 
(http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=0;INDEX=0;FILENAME=C160%252FEB-DIOS%2523ASS.pdf;SID=15ygyVbawQAQ8AADrHCGwc6f03d58159cb03456c6585c619d2d61)... 
ich hoffe der Link geht



Vielen Dank im Vorraus

Ik4ru5
Angehängte Dateien:
Gast #1235371
Lesenswert?

Oh sorry also das war nur ein fehler von zusammen fassen hatte no teile 
vom anderen Programm drinne und da hieß funktion noch UP_clock_change 
... also daran liegts net das is nur ein Tippfehler ... also einfach 
überlesen ;)
Gast #1235389
Lesenswert?

Keine ahnung was du damit sagen willst aber das is der Orginal Code.
Hab jetzt nochmal den Korregierten Code angehägt.

In dem anderen Code war nur noch meine LCD routinen drinne und da die 
funktioniren braucht ihr euch ja nich durch unnötigen Code zu welzen.


Mfg Ik4ru5
Angehängte Dateien:
#1235392
Lesenswert?

>allerding verlässt der PIC die Unterroutine zum Checken der
>Clock nicht

Hast du das vermeintlich durch Messung an PORTB:6 festgestellt? Der und 
PORTB:7 sind nämlich standardmäßig vom OnChip-Debug belegt und müssen in 
den ConfigBits explizit als I/O freigegeben werden.

Grüße,
Edson
Gast #1235398
Lesenswert?

>Keine ahnung was du damit sagen willst aber das is der Orginal Code.

Ich möchte damit sagen das der zuerst gepostete Post
wohl kaum durch den Assembler gegangen ist. Der hätte
dir haufenweise Fehlermeldungen um die Ohren gehauen
und auf keinen Fall ein Programm generiert was du auch
nur annähernd getestet haben könntest.

Und ob der das mag weiß ich nicht:

  CLRF  PORTC        ; alle Pins von PORTC -> Ausg�nge
  CLRF  TRISC        ; PORTC komplett l�schen
  #DEFINE  ps2_data  PORTA,1 ; PS/2  Datenleitung
  #DEFINE  ps2_clock  PORTA,0  ; PS/2  Clockleitung
#1235408
Lesenswert?

@Holger

Meinst du die #defines im executable code? Die lässt MPASM tatsächlich 
so durchgehen. Im AbsoluteMode ist das manchmal sinnvoller, als einen 
riesigen Header voranzustellen oder es in ein include-File wegzupacken. 
Mehrere Files verarbeitet man bequemer im RelocatableMode(mit MPLINK).

Grüße,
Edson
Gast #1235499
Lesenswert?

Ja hab ich aber ich hab dich auch nich zu den skeptiken gezählt. Aber 
mein Problem liegt wahrscheinlich weniger an der Software. Wird wohl 
eher an der Hardware liegen und ich wäre super froh wenn mir jemand 
helfen könnte. Vielen dank schon ma


Ik4ru5
Gast #1235523
Lesenswert?

Ich benutze keine Debugger und an PORTB:6 und PORTB:5 lass ich nur die 
LED Blinken um zu erkennen nach was er grade Prüft. Und es blinkt nur 
PORTB:6 also Prüft der nur auf Low und kehrt nicht auf High zurück.


Mfg ik4ru5
#1235980
Lesenswert?

Ok, dann ist die OnChip-Debug Funktion deaktiviert, was sie ja auch sein 
sollte.

>Wird wohl eher an der Hardware liegen und ich wäre super froh
>wenn mir jemand helfen könnte.

Da ich keine Zeit und Lust habe mich in deine Bilder und die Verdrahtung 
reinzudenken, hier mein Tip:

Schließ mal nur +5V/GND an die Tastatur bzw. an deinem Stecker an und 
messe die Clock und Datenleitung nach. Wenn die Signale anliegen, kannst 
du sie wieder mit dem PIC verbinden. Sobald sie da anliegen, wo sie 
hinsollen, liegts nicht mehr an der Hardware. Oder fehlt es dir etwa an 
geeignetem Messinstrument?

Grüße,
Edson
Gast #1236032
Lesenswert?

Mir fehlt es in der tat an den geeigneten Mess Instrumenten aber ich 
versuche zurzeit an ein Oszilloskop zu kommen um genau das zu machen was 
du vorschlägst. Aber trotzdem danke für die hilfreichen Tipps. Ich werde 
mich nochmal melden wenn ich es hinbekommen hab und die Lösung des 
Problems bekannt geben


Mfg

Ik4ru5

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