Hi,

wie hast Du denn das LCD angeschlossen ? 4 Datenleitungen wie ich sehe.

Config Lcdbus = 4

kommt mir komisch vor, meines initialisiere ich nur mit

Config Lcdmode = Port

wobei das bei mir vermutlich ein Mischmasch mit den compilersettings ist. Nutzt man config lcdbus=4, muss man auch $LCD = [&H]address mitbenutzen, so steht es zumindest in der help.
Und fehlt nicht das end ? Was macht Dein Programm, wenn es in der letzten Zeile ankommt ? Es geht doch wohl nicht in einen undefinierten Zustand ? Deswegen wird es bei Gento´s Code laufen, weil der Proz anbleibt. Anstelle des Do Loop geht halt auch ein end. Später in der Software übrigens nicht immer im Polling das Display schreiben, Du willst doch keine Beschäftigungstherapie für Dein Displaymodul machen, ausserdem schmiert dann gerne das Display ab, weil Du viel zu schnell hintereinander schreibst. Bau einen Interrupt oder einen einfachen Zähler und lasse das Display nur aktualisieren, wenn die entsprechende Zeit rum ist. Ich mache das mit einem "Anzeige aktualisieren"-Merker, also nur dann, wenn sich etwas an der Anzeige geändert hat.

Das Initlcd braucht man soviel ich weiß nicht, da das lcd sofort beim ersten lcd-bezogenen befehl automatisch initialisiert wird.