Re: PS2-Tasatur anschliessen Kategorie: CC-Pro Unit & Appl.Board (von bierbach - 3.05.2013 16:48) | ||
Als Antwort auf Re: PS2-Tasatur anschliessen von PeterS - 3.05.2013 15:10 | ||
| ||
> > Hallo, es geht schon wieder weiter mit der Fragerei: > > > > Ich möchte ein PS2-Tastatur an dieses CC-Pro 128 Application Board anschliessen. > > Es ist nicht ohne weiteres möglich eine PS2-Tastatur anzuschlie�en. Vielleicht > gibt es PS2 zu seriell Adapterboards oder ähnliches. > > Gruss Peter > > > Gibt es dafür Adapter für ein Steckbrett ? > > An welche Pins kann ich es noch anschliessen ? Würde dann die Membran-Tastatur und das Display deaktivieren. > > Wo kann ich vom Board die 5-Volt abnehmen ? > > > > Danke. > > > > Gruss > > peter Hallo, ich habe hier eine Routine gefunden für die PS"-Tastatur in ASM, die dann mit BAS aufgerufen wird in der C-Control. Was mache ich mit der ASM? : ----------------------------------------------------------------- ; Scancode AT-Tastatur ; Author Martin Kaup (kaup@nettypes.de) ; nettypes GmbH ; Datum 08.04.2002 ; Code ist frei verfügbar, und dient als Beispiel ; Ein Scancode besteht aus 11 seriellen bits. ; 1. Startbit 2.-9. Datenbits, Paritybit und Stopbit ; Scancode (22) 00010110 zB. entspricht der Taste 1 (nicht in NUM-Block!) ; Es gibt Tasten (zB. Entf, Ende, Bild hoch etc., die senden zwei Codes. 1. den ESC-Code 224(dezimal) und dann den ; Tastencode 112(dezimal) bei der Taste Einfg. ; Die Tastatur übermittelt auch noch ob eine entsprechende Taste losgelassen wurde mit dem Code 240(dezimal). ; Bsp. Die Taste 1 (nicht in NUM-Block!) ; Ein einzelner Anschlag besteht also aus 33 Takten. Tastencode - Taste wurde losgelassen - Tastencode. ; Es sei denn, es wurde eine 'ESC'-Taste gedrückt - dann liegen uns 55 Takte vor. ; Also: LS MS ; BitNr.: 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11 ; BitArt: S|D0|D1|D2|D3|D4|D5|D6|D7| P| s S=Startbit, Dn=Datenbits, P=Paritybit ODD, s=Stopbit ; S| 0| 1| 1| 0| 1| 0| 0| 0| P| sS| 0| 0| 0| 0| 1| 1| 1| 1| P| sS| 0| 1| 1| 0| 1| 0| 0| 0| P| s ; Weitere Details bitte dem Code entnehmen, oder per E-Mail. ; Die Anschlüsse der Tastatur, Clock und Data liegen an 0,01 und 1,01 Data. ; Die Daten liegen mit fallender Flanke der Clock an. Beide Signale sind low-aktiv. ; Das Ergebnis des Scancode liegt in ERG (A4) vor. ; Ein Umsetzung der Scancodes in ASCII ist noch im Basic nötig. ; Scancode:ASCII:Zeichen ; 22:49:1 30:50:2 38:51:3 37:52:4 ...etc. ; Nächster Schritt wird sein, da es sich beim AT-Keyboard um ein bidirektionales Protokoll handelt, die LED's ; und weitere "Setup"-Funktionen (Delay,Repeat...) zu aktivieren. ; Der Code erhebt kein Anspruch auf Vollständigkeit oder Funktion. Mir ging es nur um die Möglichkeit eine preiswerte ; Lösung zur Ansteuerung von Relais mit einer Tastatur zu haben. ; Der Code als solcher lässt sich bestimmt noch Optimieren, aber ich hab's mit Assembler nicht so. ; Ich habe auf die 'ESC'-Sequenz der 'ESC'-Tasten verzichtet. Ich hoffe nur, dass es keine Normal-Codes mit gleichen ; Codes gibt, so dass es notwendig wird die ESC-Sequenzen mit Auzuwerten, denn der Code ist mit 80 Sys-Bytes ; noch entschieden zu gross. ; Viel Spass mit den Scancodes ; Martin Kaup im April 2002 :-} porta equ $00 portb equ $01 ddrb equ $05 A1 equ $A1 A2 equ $A2 A3 equ $A3 ERG equ $A4 org $101 sei ; Interrupts Maskieren, damit wir die grüne LED behalten! ; bclr 0,ddrb ; bit0 auf portb als Eingang (CLock) ; bclr 1,ddrb ; bit1 auf portb als Eingang (Data) ldx #9 ; 1. bit ist Startbit, es folgen 8 Datenbit jsr read1 sta A1 ; letzten 8bit in A1 ldx #3 ; 1. bit ist 2. bit ist Stopbit, 2. es folgen 8 Datenbit jsr read1 ldx #8 jsr read1 sta A2 ldx #3 jsr read1 ldx #8 jsr read1 sta A3 lda #!240 cmp A1 beq SCistA2 cmp A2 beq SCistA3 lda #!224 cmp A1 beq SCistA2 lda A1 cmp A2 beq SCistA2 rts SCistA2 lda A2 bra raus SCistA3 lda A3 bra raus raus sta ERG rts read1 brclr 0,portb,read1 read2 brset 0,portb,read2 brset 1,portb,w1 ; 8 mal Databit = Databyte w1 rora decx bne read1 rts ------------------------------------------- Wie kann ich die ASM jetzt mit dem Basic zusammen nutzen bzw compileren und zusammnfügen. Das verstehe ich noch nicht : -------------------------------------------------- define A4 byte[4] print "Anfang:" #LOOP sys &h101 beep 100,2,0 print "Scancode: " , A4 goto LOOP syscode "keyb.s19" ------------------------------------------------------ Danke. Gruss peter | ||
Antwort schreiben Antworten: Re: PS2-Tasatur anschliessen (von PeterS - 3.05.2013 18:56) Re: PS2-Tasatur anschliessen (von bierbach - 3.05.2013 19:56) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum