Rather than outputing an actual single byte numeric which your LCD (correctly) is interpreting and displaying the ASCII character...
Serout 0, 6, [$1b, $52, 1, tone]
Try outputing the value as a Decimal String for example like this...
Serout 0, 6, [$1b, $52, 1, #tone]
...there you will see the numeric value change (and not the ASCII character) with the light.
Your second question is correct... just remember that in your example if tone=10 then you won't get an output... only if it is LESS than 10 or GREATER than 10.
Bookmarks