Durch 40 teilen?

7710/150 ergibt ungefähr 51.

7710 ist der differenzielle Wert den du bekommst, 150 ist die Differenz zwischen 50 und 200, die du haben möchtest.

Wenn Y der gemessene Wert ist, würde ich den - 8590 nehmen und das Ergebnis X nennen.
Dann hat man den Wert quasi von 0 an gezählt und erhält als meximalen Wert die 7710.
Dann X/51+50
Alle 51 Schritte bewirken eine Erhöhung um 1 deiner Bytevariable.
+50, weil der minimale Wert deines Bytes 50 sein soll.

Aber wenn es mit LOW() auch geht ist es ja gut.

Wen du es doch anders machen solltest, kann ich dir den Tipp geben, die Werte des Senders mit CONST festzulegen.

Wenn sich linker und rechter Anschlag mal ändern, ändert sich auch der Wert pro Schritt. (Z.Zt. die 51). Und schon würde die Rechnung nicht mehr passen.
Ein neuer Sender und schon passt das ganze nicht mehr. Oder das Poti wird etwas verstellt...

Wenn die Werte ganz zu Anfang im Listing stehen und als Konstante festgelegt sind, müssten sie dann nur einmal geändert werden und nicht mühsellig im ganzen Programm nach gesucht werden. Das ist dann auch eine beliebte Fehlerquelle. Ich spreche da aus eigener Erfahrung!

Noch komfortabler wäre es ja (und damit auch für andere Personen geeignet) wenn der linke und rechte Anschlag selbstlernend sind.

Immer wenn man meinte es wäre mal wieder so weit, die Kalibrierung per externen Taster starten und dann 5 mal nach links und rechts schalten, das Programm erkennt automatisch welcher Wert wahrscheinlicher für links oder rechts war. Oder die Reihenfolge wird festgelegt und dann wird ein Mittelwert errechnet. Die Werte werden dann im EEPROM abgelegt und sind auch nach Stromausfall noch verhanden. Beim Neustart müssen die Werte dann nur noch ausgelesen werden.
Im Prinzip muss auch nur der Umrechnungsfaktor Senderwert/Byte gespeichert werden.

Das ganze erspart dir ein neues flashen des AVR wenn du dir n neuen Sender kaufst und ermöglich eine hohe Kompatiblität wenn jemand deine Schaltung nachbauen will.