LCDAT

From MCS Wiki AVR
Revision as of 20:47, 11 February 2013 by Admin (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Action

Send constant or variable to a SED or other graphical display.

 

 

Syntax

LCDAT y , x , var [ , inv]

LCDAT y , x , var [ , FG, BG]

 

 

Remarks

X

X location. In the range from 0-63. The SED displays columns are 1 pixel width. Other displays might have a bigger range such as 132 or 255.

Y

Y location. The row in pixels. The maximum value depends on the display.

Var

The constant or variable to display

inv

Optional number. Value 0 will show the data normal. Any other value will invert the data.

 

For COLOR DISPLAYS

FG

Foreground color

BG

Background color

 

You need to include the glibSED library with :

$LIB "glibsed.lbx"

 

Other libraries must be included with a different directive.

 

See also

CONFIG GRAPHLCD , SETFONTGLCDCMDGLCDDATA

 

 

Example


'-----------------------------------------------------------------------------------------
'name : sed1520.bas
'copyright : (c) 1995-2005, MCS Electronics
'purpose : demonstrates the SED1520 based graphical display support
'micro : Mega48
'suited for demo : yes
'commercial addon needed : no
'-----------------------------------------------------------------------------------------
 
$regfile = "m48def.dat" ' specify the used micro
$crystal = 7372800 ' used crystal frequency
$baud = 115200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
 
'I used a Staver to test
 
'some routines to control the display are in the glcdSED.lib file
'IMPORTANT : since the SED1520 uses 2 chips, the columns are split into 2 of 60.
'This means that data after column 60 will not print correct. You need to locate the data on the second halve
'For example when you want to display a line of text that is more then 8 chars long, (8x8=64) , byte 8 will not draw correctly
'Frankly i find the KS0108 displays a much better choice.
 
$lib "glcdSED1520.lbx"
 
'First we define that we use a graphic LCD
 
Config Graphlcd = 120 * 64sed , Dataport = Porta , Controlport = Portd , Ce = 5 , Ce2 = 7 , Cd = 3 , Rd = 4
 
 
'The dataport is the portname that is connected to the data lines of the LCD
'The controlport is the portname which pins are used to control the lcd
'CE =CS Chip Enable/ Chip select
'CE2= Chip select / chip enable of chip 2
'CD=A0 Data direction
'RD=Read
 
'Dim variables (y not used)
Dim X As Byte , Y As Byte
 
 
'clear the screen
Cls
Wait 2
'specify the font we want to use
Setfont Font8x8
 
'You can use locate but the columns have a range from 1-132
 
'When you want to show somthing on the LCD, use the LDAT command
'LCDAT Y , COL, value
Lcdat 1 , 1 , "1231231"
Lcdat 3 , 80 , "11"
'lcdat accepts an additional param for inversing the text
'lcdat 1,1,"123" , 1 ' will inverse the text
 
Wait 2
Line(0 , 0) -(30 , 30) , 1
Wait 2
 
Showpic 0 , 0 , Plaatje 'show a comnpressed picture
End 'end program
 
 
'we need to include the font files
$include "font8x8.font"
'$include "font16x16.font"
 
 
Plaatje:
'include the picture data
$bgf "smile.bgf"

Languages   English Deutsch  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language