Re: PS2-Tasatur anschliessen Kategorie: CC-Pro Unit & Appl.Board (von PeterS - 3.05.2013 18:56) | |
Als Antwort auf Re: PS2-Tasatur anschliessen von bierbach - 3.05.2013 16:48
| |
Die C-Control I, C-Control II und C-Control Pro sind alle nicht kompatibel zueinander, und benutzen auch andere CPUs. Gruss Peter > > > 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 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