Ich glaub, ich hab da was überlesen.
Was meinst du denn für einen "Controller"?? Micro- doch nicht, oder?
Mit dem PC-Programm kannst du doch schon anfangen:
Mach dir ne Klasse namens "IO_Layer", der gibst du ne Methode GetTemperaturValue().
Und darauf baust du dein Programm auf. Also die Ausgabe, Kalibrierung, Linearisierung und was du noch so brauchst.
Wenn dein Controller - oder was auch immer - dann da ist, musst du nur noch in der obigen Methode die Verbindung zur Hardware herstellen.
Eine Simulationsschicht OHNE Nutzung der Hardware macht sich eigentlich immer gut.
In der GetTemperaturValue-Methode gibst du dann einen konstanten Wert zurück, oder noch besser generierst du mit nem Zufallsgenerator irgendeine Zahl, oder noch besser du lässt deinen Rückgabewert bei jedem Aufruf ein wenig ansteigen...