*Ausgrab*
Habe nun die Schaltung fertig und auch den Controller schon beschrieben. Nur leider läuft mein Lüfter durchgehend auf 12V (genauer gesagt 11,97V ^^). In der Schaltung habe ich keinen Fehler gefunden und wenn ich das Programm simuliere, funktioniert es auch. Außerdem müsste ja zumindest der Taster "An/Aus" funktionieren.

Hier einmal der Code, vllt ist ja einfach nur ein kleiner Fehler drin... wenn ihr wollt, kann ich auch Fotos von der Schaltung machen
Code:
'Definitionen & Konfigurationen
$regfile = "at15def.dat"
$tiny
Config Pinb.6 = Output
Config Pinb.2 = Input
Config Pinb.3 = Input
Config Pinb.4 = Input

'Timer
Tccr1 = &B01010011
Tcnt1 = &B10000111
Ddrb.1 = 1

'Aliases
Ausgang Alias Pinb.6
Tasterhoch Alias Pinb.2
Tasterrunter Alias Pinb.3
Tastervoll Alias Pinb.4

'Variablen
Dim Aout As Iram Byte
Dim Bvar As Iram Byte
Dim Cfull As Iram Byte
Dim Bouncer1 As Iram Bit
Dim Bouncer2 As Iram Bit
Dim Bouncer3 As Iram Bit

'Var-Werte
Bvar = 10
Cfull = 255

Aout = 150

'Programm
Do
     'Spannungserhöhung
     If Tasterhoch = 0 And Bouncer1 = 0 Then
         If Aout > 245 Then
            Aout = Cfull
         Else
            Aout = Aout + Bvar
         End If
     Else
        nop
        Bouncer1 = 1
     End If

     If Tasterhoch = 1 Then
        Bouncer1 = 0
     End If

     'Spannungsverminderung
     If Tasterrunter = 0 And Bouncer2 = 0 Then
         If Aout < Bvar Then
            Aout = 0
         Else
            Aout = Aout - Bvar
         End If
     Else
         nop
         Bouncer2 = 1
     End If

     If Tasterrunter = 1 Then
        Bouncer2 = 0
     End If

     'Volle 12V
     If Tastervoll = 0 And Bouncer3 = 0 Then
        If Aout = Cfull Then
           Aout = 0
        Else
           Aout = Cfull
        End If
     Else
        nop
        Bouncer3 = 1
     End If

     If Tastervoll = 1 Then
     Bouncer3 = 0
     End If

Loop
End