Re: PS2-Tasatur anschliessen Kategorie: CC-Pro Unit & Appl.Board (von bierbach - 3.05.2013 19:56) | ||
Als Antwort auf Re: PS2-Tasatur anschliessen von PeterS - 3.05.2013 18:56 | ||
| ||
> > 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 Hmmm... ich nehme an, das der Code nicht funktioniert, weil ein anderes ASM-System. Gruss peter | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum