'sendet Zeichen an lcd-display2 'wartet am rs232 Port auf mehrere Buchstaben und sendet diesen über Infrarot weiter 'Für Universalbox1 mit AT90S4433 MCU, Programmierumgebung: Bascom-AVR 'Programmierbeispiel von www.marwedels.de/malte 'Die Zeichen können beispielsweise über den Bascom-AVR internen Terminal Emulator eingegeben werden 'Benutzung des Programmierbeispiels auf eigene Gefahr 'Version: 1.0 2003-03-19 $crystal = 8000000 Config Portd = &100000000 Config Portb = &B00000101 Config Portc = Input Config Timer1 = Counter , Prescale = 64 Dim Buchstabe As Byte Dim D As Byte Dim Durch As Byte Dim Temp As Byte Dim Temp2 As Byte Dim Sinx As Byte Dim Erhalt As String * 16 Dim Mitte As String * 1 Buchstabe = &H41 Set Portb.2 Main: Input "Buchstabe eingeben: " , Erhalt For Durch = 1 To 16 Mitte = Mid(erhalt , Durch , Durch) Buchstabe = Asc(mitte) Gosub Sendebyte Next Temp = Asc(erhalt) If Temp = 0 Then 'abwechseld oben oder unten schreiben Buchstabe = 1 Else Buchstabe = 0 End If Buchstabe = 131 + Buchstabe Gosub Sendebyte Print "Buchstabe " ; Erhalt ; " gesendet" Waitms 100 Goto Main Sendebyte: Temp = Buchstabe 'senden Set Portb.0 Gosub Einssenden For Sinx = 0 To 8 Waitms 20 Rotate Temp , Left Temp2 = Temp Mod 2 'Höchstes bit If Temp2 = 1 Then Gosub Einssenden Else Waitms 20 End If Next Waitms 20 'fehlerkorrektur Gosub Einssenden 'fehlerkorrektur Reset Portb.0 Waitms 100 Return Einssenden: 'schleife benötigt 40 ms Timer1 = 0 D = 0 Schleife: Incr D Set Portd.7 Waitus 165 Reset Portd.7 Waitus 165 If D = 30 Then Waitms 5 D = 0 End If If Timer1 < 2500 Then Goto Schleife End If Return