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 bierbach - 3.05.2013 19:56)
Als Antwort auf Re: PS2-Tasatur anschliessen von PeterS - 3.05.2013 18:56
Ich nutze:
CC-Pro 128 Application Board
>
> 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: