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
Lesezeichen