http://de.wikipedia.org/wiki/PS/2-Schnittstelle

Die weiterführenden Links sind auch nicht schlecht


EDIT:

ich habe a mal schnell was zusammengeschrieben

Code:
$regfile = "m32def.dat"
$crystal = 16000000

Declare Sub Senden
Declare Sub Senden0
Declare Sub Senden1

Dim X As Byte
Dim Y As Byte
Dim Z As Byte
Dim Send As Byte
Dim Parity As Byte

Daten Alias Pina.0
Datenport Alias Ddra.0
Clock Alias Pina.1
Clockport Alias Ddra.1

For Y = 0 To 29                                             ' sendet "hallo AVR"
  Send = Lookup(y , Dat)
  Call Senden
Next

Do : Loop                                                   'endlosschleife

'#########################  Unterprogramme #################################
Senden:
Do : Loop Until Clock = 1 And Daten = 1                     'warte bis PC empfangsbereit
'Startbit (immer 0)
Call Senden0
'8 Datenbists
For X = 0 To 7
  If Send.x = 0 Then                                        '0 Senden
    Call Senden0
  Else                                                      '1 Senden
    Call Senden1
  End If
Next
'parity
If Parity.0 = 0 Then
  Call Senden0
Else                                                        '1 Senden
  Call Senden1
End If
'Stopbit (immer 1)
Call Senden1
Parity = 0
Return


Senden0:                                                    'Sendet eine 0 über PS2
  Datenport = 1                                             'Daten auf Output
  Daten = 0                                                 'Daten auf low
  Clockport = 1                                             'Clock auf Output
  Clock = 0                                                 'Clock auf 0
  Waitus 30                                                 '30µS warten
  Clockport = 0                                             'Clock auf Input
  Waitus 5                                                  '5 µS warten
  Datenport = 0                                             'Daten auf Input
Return

Senden1:                                                    'Sendet eine 1 über PS2
  Clockport = 1                                             'Clock auf Output
  Clock = 0                                                 'Clock auf 0
  Waitus 30                                                 '30µS warten
  Clockport = 0                                             'Clock auf Input
  Incr Parity
Return

Dat:
Data &H33 , &HF0 , &H33 , &H1C , &HF0 , &H1C , &H4B , &HF0
Data &H4B , &H4B , &HF0 , &H4B , &H44 , &HF0 , &H44 , &H29
Data &HF0 , &H29 , &H12 , &H1C , &HF0 , &H1C , &H2A , &HF0
Data &H2A , &H2D , &HF0 , &H2D , &HF0 , &H12