Zur Not kann man einen Interrupt unterbrechen. Man muss dabei aber schon genau wissen was man tut. Außerdem braucht das in Bascom sher viel Platz auf den Stack, weil die Register 2 mal gesichert werden. Es ist also nicht zu empfehlen.
Der Beschreibung nach zu urteilen ist jetzt noch zu viel in der einen Interruptroutine. Normal sollte nur recht kurz sein, so dass es in aller Regel nicht stört, wenn man auf das Ende der Interruptroutine warten muss. Wenn man das Dimmen mit Interrupts lösen will, dann doch eher so, das man in einem Timer interrupt den PWM Wert einmal anpasst. Wenn man das Dimmen Abbrechen will, deaktiviert man den Interrupt für das Dimmen einfach, so ähnlich wie man es am Ende des Dimmens auch machen würde. Ggf. einfach mal das Programm Zeigen.
Mit der Excel Tabell ist vermutlich gemeint, dass das nichtlineare Helligkeitsempfinden des Auges durch eine Kurve berücksichtigt werden soll. So etwas macht in Grenzen Sinn, weil für das Auge der Schritt von PWM Werte von z.B. 0% nach 10% wie größer erscheint als von 90% zu 100%. Man könnte also noch so eine Art Umrechnungstabelle dazwischen schalten, so dass man sich von 0-50% mehr Zeit nimmt als von 50-100%. Man muss es auch nicht unbedingt mit einer Tabelle machen, man kann es auch berechnen, etwa indem man die Wartezeit bis zum nächsten Schritt beim Dimmen mit 1/(PWM-Wert +2) skaliert . Die Konstante "2" kann auch einen anderen Wert (z.B. 1 - 10) haben.
Lesezeichen