'Testet das LCD Display (IR LCD Projekt) 'Es werden Buchstaben per Infrarot empfangen und auf dem LCD Display angezeigt 'Programmierbeispiel von www.marwedels.de/malte 'Benutzung auf eigene Gefahr 'Für AT90S2313, Programmierumgebung: Bascom-AVR 'Als Sender der Buchstaben kommt beispielsweise meine Universalbox1 in Frage 'Version: 0.10 2003-03-19 $crystal = 4000000 Config Portb = Output Config Portd = &B01000010 Dim A As String * 1 Dim Empfang As Byte 'Das byte, was empfangen wurde Dim C As String * 1 Dim Empfangbit As Bit 'Bit, das sagt, ob ein Signal am IR emfänder anlag Dim Durchempfang As Byte 'gerade in einer übertragung? Dim Temp1 As Byte 'Zwischenergebnisse Config Timer1 = Timer , Prescale = 64 Stp: 'Starte Programm Set Portd.6 'IR empfänger an Gosub Setlcdan Lcd "r_byte-03.bas" Wait 1 Cls Main1: 'läuft alle 20 ms einmal durch If Durchempfang < 30 Then Incr Durchempfang End If 'Empfange Bit Reset Empfangbit 'Wartebereich Warteschleife: If Pind.0 = 0 Then Set Empfangbit End If If Timer1 < 1250 Then Goto Warteschleife End If Timer1 = 0 'ende Wartebereich 'errechne empfangsbyte Temp1 = Durchempfang Mod 2 If Temp1 = 0 And Durchempfang < 17 Then Empfang = Empfang * 2 If Empfangbit = 1 Then Incr Empfang End If End If 'empfangsbyte errechnet If Durchempfang > 24 And Empfangbit = 1 Then 'letztes Byte zuende empfangen, neues startet Durchempfang = 0 Empfang = 0 End If If Durchempfang = 17 Then 'Byte komplett, jetzt anzeigen 'C = Hex(empfang) If Empfang > 127 And Empfang < 149 Then 'besondere Befehle Select Case Empfang Case 128 : Cls Case 129 : Upperline Case 130 : Lowerline Case 131 : Home Upper Case 132 : Home Lower Case 133 : Cursor Off Case 134 : Cursor On Case 135 : Cursor Blink Case 136 : Cursor Noblink Case 137 : Shiftlcd Left Case 138 : Shiftlcd Right Case 139 : Shiftcursor Left Case 140 : Shiftcursor Right Case 141 : Initlcd Case 142 : Gosub Setlcdan Case 143 : Reset Portb.7 Case 144 : Wait 1 Case 145 : Wait 10 Case 146 : Reset Portd.6 Case 147 : Wait 1 Case 148 : Wait 1 End Select Else A = Chr(empfang) Lcd A End If End If 'byte angezeigt Goto Main1 'ende hauptschleife Setlcdan: 'Schalte LCD ein Set Portb.7 Waitms 50 Initlcd Waitms 20 Cursor Off Cls Return