Code:
'
$regfile "m8def.dat" 'Definiert den Atmega als Atmega8
$crystal = 1000000 'Gibt die Quarzfrequenz an in Herz
$hwstack = 32 'Default use 32 Hardware reservierte Speicher
$swstack = 10 'Default Software resvierung Speicher
$baud = 2400
'---------------------- Config Display ----------------------------------------
' Konfiguration fürs Display
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , Rs = Portc.5 , E = Portc.4
'-------------------------Variable deklarieren -------------------------------
Dim Adresse As Byte ' Variable für Infrarot Adresse
Dim Commando As Byte
Dim Flag As Byte
Dim Blink_aus As Byte
Dim Blink_an As Byte
'------------------------------- I / O ----------------------------------------
Ddrd = &B11100000 ' Portd.5-d6-d7 als Ausgang für Leds setzen
Ddrb.2 = 1 ' BG2 als Ausgang für Display Beleuchtung setzen
Portb.6 = 1 ' Pull Down setzen für Tastereingang
'---------------- Konfiguration für 'IR Eingang -------------------------------
Portb.0 = 1 ' PullUp setzen für Eingangspin IR-Led
Config Rc5 = Pinb.0 ' Pin für IR Abfrage setzen
'---------------------------------- Interrupts ---------------------------------
Enable Interrupts ' Interrups Global freigeben
'------------------------------------------------------------------------------
Cls
Flag = 1
Do
'--------------------Ankommendes IR Signal auswerten --------------------------
Getrc5(adresse , Commando)
If Flag = 1 Then
Lcd "Warte auf IR Signal"
Flag = 0
End If
If Adresse <> 255 Then
Reset Commando.7
Cls
Flag = 1
End If
'------------------------
If Commando = 1 Then Gosub 1
If Commando = 2 Then Gosub 2
If Commando = 3 Then Gosub 3
Cls
Lcd " Taste=" ; Commando
Waitms 200
Loop
'---------------------- Sub Routinen fuer gedrückte Taste 1 -------------------
1:
Portd.5 = 1
Waitms 500
Portd.5 = 0
Return
'---------------------- Sub Routinen fuer gedrückte Taste 2 ------------------
2:
Print 2
Portd.6 = 1
Waitms 50
Portd.6 = 0
Return
'----------------------- Sub Routinen fuer gedrückte Taste 3 ------------------
3:
Print 3
Portd.7 = 1
Waitms 50
Portd.7 = 0
Return
Lesezeichen