Forum: Mikrocontroller und Digitale Elektronik PIC 18F2550 und PS2 Tastaur


von Ik4ru5 (Gast)


Angehängte Dateien:

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

von Ik4ru5 (Gast)


Lesenswert?

Falls es noch hilfreich ist ich benutze eine alte Cherry PS/2 Tastatur
FCCID: GDDG83-6000
Model RS 6000
Part No.: G83-6105LPNDE/ 02
Serial NO.: G0064518 2K35 4 1

Mfg Ik4ru5

von holger (Gast)


Lesenswert?

CALL  UP_PS2_clock_change

;*********************************************************************** 
*******
; Unterprogramme
  UP_clock_change


Da passt doch was nicht?

von Ik4ru5 (Gast)


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 ;)

von holger (Gast)


Lesenswert?

>... also daran liegts net das is nur ein Tippfehler ... also einfach
>überlesen ;)

Den Rest am besten auch ignorieren.
Bis der Originalcode mal rüberkommt.

von Ik4ru5 (Gast)


Angehängte Dateien:

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

von Meister E. (edson)


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

von holger (Gast)


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

von holger (Gast)


Lesenswert?

>Ich möchte damit sagen das der zuerst gepostete Post

Ich möchte damit sagen das der zuerst gepostete CODE
.... ;)

von Meister E. (edson)


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

von Ik4ru5 (Gast)


Lesenswert?

So für alle skeptiker ob der Code geht auf http://www.ik4ru5.de ist der 
Code noch ma geuppt als .asm und mit mpasm Assembliert mit der 
generierten .cod und .hex Datei und wer will sogar eine .lst


Mfg Ik4ru5

von Meister E. (edson)


Lesenswert?

Ik4ru5 wrote:
> So für alle skeptiker

Hast du meine Beiträge überhaupt gelesen?

Grüße,
Edson

von Ik4ru5 (Gast)


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

von Meister E. (edson)


Lesenswert?

Schon ok. Die ConfigBits betreffen in Bezug auf PORTB direkt die externe 
Hardware. Beantworte doch bitte meine Frage, wie du den Fehler 
festgestellt hast. Per Messung an PORTB:6 oder benutzt du einen 
Debugger?

Grüße,
Edson

von Ik4ru5 (Gast)


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

von Meister E. (edson)


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

von Ik4ru5 (Gast)


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

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.