Versteht einer was ich meine?
In deinem ersten Beitrag meine ich verstanden zu haben, dass du die Drehzahl über PWM regulieren willst.
Den Code für die Drehzahlsteuerung eines Motors über PWM findest du z.B. hier im Forum in den Beispielprogrammen zu den Roboternetzboards.

Vor allem stört die Zeit die benötigt wird um die Temperatur auszulesen und auf dem LCD anzuzeigen.
Du solltest das Einlesen und die Ausgabe auf das LCD auch nicht unbedingt in derselben Schleife vornehmen, die den Motor ein- und ausschaltest.

Ich würde den Motor entweder über PWM ansteuern oder wenigstens über einen Timer schalten. Z.B. ungefähr so:


Code:
Config Timer0 = Timer , Prescale = 256
On Timer0 Timer_irq

Dim A as Byte
Dim B as Byte

Enable Timer0
Enable Interrupts

do

' Temperatur lesen
' Temperatur auf LCD ausgeben

   SELECT CASE  Temperatur
      CASE 20 : B = 20
      CASE 30 : B = 40 
      CASE 40 : B = 60
   END SELECT
loop

Timer_irq:
  
   If A = 1 then Motor ein
   If A = B then Motor aus
   A = A + 1
Das sind natürlich nur zusammenkopierte Code-Fragmente ein lauffähiges Programm musst du da selber draus machen.

Lies dir aber erst mal den folgenden Thread durch:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=7923