Hallo,

hab über die Feiertage meinen 485 Bus-Aktor überarbeitet und in meine Hausinstallation integriert, im Moment zur Steuerung der Terrassen und Außenbeleuchtung.

Es gibt jetzt 6x von einander unabhängige Comfort Zeitschaltungen (Ein - Aus wie Tasterschaltung), 2x Stromstoßschaltungen und eine Zentral Ein/Aus Steuerung.

Eine ausführliche Dokumentation des Projektes hab ich hier
http://juergen151.bplaced.net/

Mfg Jürgen

Code:
'Aktor
$regfile = "attiny2313.dat"
$crystal = 3579545
$baud = 4800

Dim A As String * 5
Dim Z As String * 1
Dim B As String * 5
Dim C As Byte
Dim B0 As Integer
Dim B1 As Integer
Dim B2 As Integer
Dim B3 As Integer
Dim B4 As Integer
Dim B5 As Integer
Dim B6 As Integer
Dim B7 As Integer

$hwstack = 32
$swstack = 10
$framesize = 40

Config Serialin = Buffered , Size = 6
Config Portb = Output

Enable Interrupts

Portd.2 = 0

B0 = 6000
B1 = 6000
B2 = 32000
B3 = 32000
B6 = 2
B7 = 2


Do

C = Ischarwaiting()
  If C = 1 Then
   C = Inkey()
   A = A + Chr(c)
End If


If Len(a) > 2 Then
B = A
Z = Mid(a , 1 , 1 )
End If


If Z = "!" Then
B = Mid(a , 1 , 5)
End If

                                      ' 6x von einander unabhängige Comfort Zeitschaltungen 2x Stromstoßschaltungen
                                      ' Achtung Zähler Integer nur bis 32700 

If B = "!10" Then          'Comfort Zeitschaltung kurz  Ein - Aus wie Tasterschaltung
If Portb.0 = 0 Then
Set Portb.0
B0 = 6000
Else
Reset Portb.0
End If
A = ""
End If

If B = "!11" Then          'Comfort Zeitschaltung kurz  Ein - Aus wie Tasterschaltung
If Portb.1 = 0 Then
Set Portb.1
B1 = 6000
Else
Reset Portb.1
End If
A = ""
End If

If B = "!12" Then           'Comfort Zeitschaltung Lang  Ein - Aus wie Tasterschaltung
If Portb.2 = 0 Then
Set Portb.2
B2 = 32000
Else
Reset Portb.2
End If
A = ""
End If

If B = "!13" Then           'Comfort Zeitschaltung Lang  Ein - Aus wie Tasterschaltung
If Portb.3 = 0 Then
Set Portb.3
B3 = 32000
Else
Reset Portb.3
End If
A = ""
End If

If B = "!14" Then          'Stromstoßschaltung
If Portb.4 = 0 Then
Set Portb.4
Else
Reset Portb.4
End If
A = ""
End If

If B = "!15" Then        'Stromstoßschaltung
If Portb.5 = 0 Then
Set Portb.5
Else
Reset Portb.5
End If
A = ""
End If

If B = "!16" Then         'Comfort Zeitschaltung kurzer Impuls für externe Ansteuerung
If Portb.6 = 0 Then
Set Portb.6
B6 = 2
Else
Reset Portb.6
End If
A = ""
End If

If B = "!17" Then         'Comfort Zeitschaltung kurzer Impuls für externe Ansteuerung
If Portb.7 = 0 Then
Set Portb.7
B7 = 2
Else
Reset Portb.7
End If
A = ""
End If

If B = "!18" Then          'Funktion Zentral Ein
Set Portb.0
Set Portb.1
Set Portb.2
Set Portb.3
Set Portb.4
Set Portb.5
Set Portb.6
Set Portb.7
A = ""
End If

If B = "!19" Then          'Funktion Zentral Aus
Reset Portb.0
Reset Portb.1
Reset Portb.2
Reset Portb.3
Reset Portb.4
Reset Portb.5
Reset Portb.6
Reset Portb.7
A = ""
End If


Decr B0
If B0 = 0 Then
Reset Portb.0
B0 = 6000
End If

Decr B1
If B1 = 0 Then
Reset Portb.1
B1 = 6000
End If

Decr B2
If B2 = 0 Then
Reset Portb.2
B2 = 32000
End If

Decr B3
If B3 = 0 Then
Reset Portb.3
B3 = 32000
End If



Decr B6
If B6 = 0 Then
Reset Portb.6
B6 = 2
End If

Decr B7
If B7 = 0 Then
Reset Portb.7
B7 = 2
End If




Waitms 20          '10 bis max 20 ms

Loop


End