func main() output 5 again: disp_alphabet() pause 500 disp_shift() pause 500 disp_marquee() pause 500 disp_chargen() pause 500 disp_levelmeter() pause 500 goto again endfunc '*********************************************************** ' Demo Functions '*********************************************************** '----------------------------------------------- ' Display the alphabet '----------------------------------------------- func disp_alphabet() serout 5,5,1 serout 5,1,1,"ABCDEFGHIJKLMNOP" serout 5,2,1,"QRSTUVWXYZ" endfunc '----------------------------------------------- 'Shift left and right '----------------------------------------------- func disp_shift() dim y serout 5,5,1 serout 5,1,1,"Kronos" serout 5,2,1,"Robotics" pause 300 for y = 1 to 8 pause 10 serout 5,5,28 next pause 1000 for y = 1 to 8 pause 10 serout 5,5,24 next endfunc '--------------------------------------------------- 'Marquee '--------------------------------------------------- func disp_marquee() dim x,y serout 5,5,1 pause 500 for x = 1 to 2 serout 5,5,1 ' Clear lcd screen serout 5,1,17,"Kronos Robotics" for y = 1 to 32 pause 120 serout 5,5,24 'Scan 15 places to the left next next endfunc '--------------------------------------------------- ' Character generator '--------------------------------------------------- func disp_chargen() dim idx serout 5,5,1 pause 100 'Build a couple of characters serout 5,5,64,6,0,31,17,17,17,31,6,0,6,0 'box serout 5,5,64+8,6,0,31,31,31,31,31,6,0,6,0 'Box filled serout 5,5,1 ' Clear lcd screen serout 5,1,1,"Char Generator" 'Now display each one for idx = 1 to 20 serout 5,2,8,6,0 pause 200 serout 5,2,8,6,1 pause 200 next endfunc '--------------------------------------------------------- ' Make a level meter '--------------------------------------------------------- func disp_levelmeter() dim idx,x,y,lvlct,lvl serout 5,5,1 'Build a couple of characters serout 5,5,64+16,21,21,21,21,21,21,21,21 'lvl 3 serout 5,5,64+8,20,20,20,20,20,20,20,20 'lvl 2 serout 5,5,64,16,16,16,16,16,16,16,16 'lvl 1 for idx = 1 to 5 lvl = 10 : gosub drawlevel lvl = 15 : gosub drawlevel lvl = 41 : gosub drawlevel lvl = 4 : gosub drawlevel lvl=33 : gosub drawlevel lvl = 12 : gosub drawlevel next exit drawlevel: serout 5,5,1 serout 5,1,1,"Level Meter" lvlct=0 'Display level for y = 1 to 16 for x = 0 to 2 serout 5,2,y,6,x pause 1 lvlct = lvlct+1 if lvlct = lvl then return endif next next return endfunc