PIC 18F2550 und PS2 Tastaur

Gast #1235296
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 #1235336
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
Gast #1235342
CALL  UP_PS2_clock_change

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


Da passt doch was nicht?
Gast #1235371
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 #1235373
>... also daran liegts net das is nur ein Tippfehler ... also einfach
>überlesen ;)

Den Rest am besten auch ignorieren.
Bis der Originalcode mal rüberkommt.
Gast #1235389
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
>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
>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
@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
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.