Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BASCOM AVR, help reference (2007).PDF
Скачиваний:
305
Добавлен:
12.08.2013
Размер:
17.02 Mб
Скачать

© MCS Electronics, 1995-2007

 

 

Home Upper

'select line 1 and

return home

'replace the text

Lcd "Replaced."

Wait 1

'wait a moment

Cursor Off Noblink

'hide cursor

Wait 1

'wait a moment

Cursor On Blink

'show cursor

Wait 1

'wait a moment

Display Off

'turn display off

Wait 1

'wait a moment

Display On

'turn display on

'-----------------NEW support for 4-line LCD------

 

 

Thirdline

 

 

Lcd "Line 3"

 

 

Fourthline

 

 

Lcd "Line 4"

'goto home on line

Home Third

three

 

 

Home Fourth

'first letteer

Home F

also works

 

 

Locate 4 , 1 : Lcd "Line 4"

 

 

Wait 1

 

 

'Now lets build a special character

 

 

'the first number is the characternumber (0-7)

 

 

'The other numbers are the rowvalues

 

 

'Use the LCD tool to insert this line

 

 

Deflcdchar 1 , 225 , 227 , 226 , 226 , 226 , 242 , 234 , 228

' replace ?

with number (0-7)

 

' replace ?

Deflcdchar 0 , 240 , 224 , 224 , 255 , 254 , 252 , 248 , 240

with number (0-7)

'select data RAM

Cls

Rem it is important that a CLS is following the deflcdchar statements because

it will set the controller back in datamode

'print the special

Lcd Chr(0) ; Chr(1)

character

 

'----------------- Now use an internal routine ------------

'value into ACC

_temp1 = 1

!rCall _write_lcd

'put it on LCD

End

 

LCDAT

Action

Send constant or variable to a SED or other graphicaldisplay.

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

 

 

 

page -546-

© MCS Electronics, 1995-2007

are 1 pixel width. Other displays might have a bigger range such as 132 or 255.

YY 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

Forground 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 , SETFONT, GLCDCMD, GLCDDATA

Example

'-----------------------------------------------------------------------------

 

------------

: sed1520.bas

'name

'copyright

: (c) 1995-2005, MCS Electronics

'purpose

: demonstrates the SED1520 based graphical display

support

: Mega48

'micro

'suited for demo

: yes

'commercial addon needed

: no

'-----------------------------------------------------------------------------

------------

$regfile = "m48def.dat"

' specify the used

micro

' used crystal

$crystal = 7372800

frequency

' use baud rate

$baud = 115200

$hwstack = 32

' default use 32

for the hardware stack

' default use 10

$swstack = 10

for the SW stack

' default use 40

$framesize = 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

page -547-

© MCS Electronics, 1995-2007

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 program

End

'we need to include the font files

 

$include "font8x8.font"

 

'$include "font16x16.font"

 

Plaatje:

 

'include the picture data

 

$bgf "smile.bgf"

 

LCDCONTRAST

Action

Set the contrast of a TEXT LCD.

Syntax

LCDCONTRAST x

Remarks

X

A variable or constant in the range from 0-3.

 

page -548-

© MCS Electronics, 1995-2007

Some LCD text displays support changing the contrast. Noritake displays have this option for example.

See also

NONE

Example

NONE

LEFT

Action

Return the specified number of leftmost characters in a string.

Syntax

var = LEFT(var1 , n)

Remarks

Var

The string that is assigned.

Var1

The source string.

n

The number of characters to get from the source string.

 

 

See also

RIGHT , MID

Partial Example

Dim S As String * 15 , Z As String * 15

 

S ="ABCDEFG"

 

Z = Left(s , 5)

'ABCDE

Print Z

Z = Right(s , 3) : Print Z

 

Z = Mid(s , 2 , 3) : Print Z

 

End

 

LEN

Action

Returns the length of a string.

Syntax

var = LEN( string )

page -549-