Device 16F876A Xtal 4 Config WDT_OFF, PWRTE_ON, LVP_OFF Hserial_Baud = 4800 Hserial_RCSTA = %10010000 Hserial_TXSTA = %00100000 Hserial_Clear = On TRISC.6 = 0 TRISC.7 = 1 TRISB = 0 TRISC = 0 Dim i As Byte Dim j As Byte Dim k As Byte Dim m As Byte Dim irany As Byte Dim irany_ir As Byte Dim kimenet As Byte Dim kimenet1 As Byte Dim kimenet2 As Byte Dim lepesszam As Byte Dim lepesszam_ir As Byte Dim uzemmod As Byte Symbol C_R = 13 Clear irany Clear irany_ir Clear lepesszam Clear lepesszam_ir Sonyin_Pin = PORTC.4 ' Choose the port and pin for the infrared sensor Dim SONYIN_WORD As Word ' Create a WORD variable to receive the SIRC data Dim SONY_COMMAND As SONYIN_WORD.LowByte ' Alias the COMMAND byte to SONYIN_WORD low byte Dim SONY_SYSTEM As SONYIN_WORD.HighByte ' Alias the COMMAND byte to SONYIN_WORD high byte Dim SONYIN_WORD1 As Word Dim SONY_COMMAND1 As SONYIN_WORD1.LowByte Dim SONYIN_WORD2 As Word Dim SONY_COMMAND2 As SONYIN_WORD2.LowByte While 1=1 HSerOut ["Üss Entert - uzemmod: i(r)/u(art) - Enter",13] HSerIn [Wait(C_R) , uzemmod] If uzemmod = "u" Then HSerOut ["Üss Entert - lepesszam - Enter",13] HSerIn [Wait(C_R) , Dec lepesszam] HSerOut ["Üss Entert - j/b - Enter",13] iranyinput: HSerIn [Wait(C_R) ,irany] If irany = "j" Then PORTC = 0 GoSub jobbra PORTC = 0 ElseIf irany = "b" Then PORTC = 0 GoSub balra PORTC = 0 Else HSerOut ["j/b!!!",13] GoTo iranyinput EndIf Wend jobbra: For j = 1 To lepesszam kimenet1 = 1 PORTC=kimenet1 DelayMS 60 For i = 1 To 3 kimenet1 = kimenet1 * 2 PORTC=kimenet1 DelayMS 60 Next Next Return balra: For k = 1 To lepesszam kimenet2 = 8 PORTC=kimenet2 DelayMS 60 For m = 1 To 3 kimenet2 = kimenet2 / 2 PORTC=kimenet2 DelayMS 60 Next Next Return Wend ElseIf uzemmod = "i" Then 'While 1 = 1 PORTB = 0 HSerOut ["Nyomd be a lepesszamot!",13] Repeat SONYIN_WORD1 = SonyIn Until SONY_COMMAND1<> 255 PORTB = SONY_COMMAND1+1 lepesszam_ir = SONY_COMMAND1+1 HSerOut [Dec lepesszam_ir,13] DelayMS 500 HSerOut ["Nyomd be: 1 - j, 2 - b",13] Repeat SONYIN_WORD2 = SonyIn Until SONY_COMMAND2<> 255 PORTB = SONY_COMMAND2+1 irany_ir = SONY_COMMAND2+1 HSerOut [Dec irany_ir,13] iranyinput_ir: If irany_ir = 1 Then PORTC = 0 GoSub jobbra_ir PORTC = 0 ElseIf irany_ir = 2 Then PORTC = 0 GoSub balra_ir PORTC = 0 Else HSerOut ["1 - j, 2 - b!!!",13] GoTo iranyinput_ir EndIf jobbra_ir: For j = 1 To lepesszam_ir kimenet = 1 PORTC=kimenet DelayMS 50 For i = 1 To 3 kimenet = kimenet * 2 PORTC=kimenet DelayMS 50 Next Next Return balra_ir: For k = 1 To lepesszam_ir kimenet = 8 PORTC=kimenet DelayMS 50 For m = 1 To 3 kimenet = kimenet / 2 PORTC=kimenet DelayMS 50 Next Next Return Else HSerOut ["i(r)/u(art)!!!",13] EndIf Wend