Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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)