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

© MCS Electronics, 1995-2007

Remarks

var

A numeric variable that is assigned with the length of string.

string

The string to calculate the length of.

 

 

Strings can be maximum 254 bytes long.

See Also

VAL

Partial Example

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

S ="ABCDEFG"

Print Len(s)

LINE

Action

Draws a line on a graphic display.

Syntax

LINE(x0,y0) – (x1,y1), color

Remarks

X0

Starting horizontal location of the line.

Y0

Starting vertical location of the line.

X1

Horizontal end location of the line

Y1

Vertical end location of the line.

 

 

See Also

LINE , CONFIG GRAPHLCD

Example

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

 

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

: t6963_240_128.bas

'name

'copyright

: (c) 1995-2005, MCS Electronics

'purpose

: T6963C graphic display support demo 240 * 128

'micro

: Mega8535

'suited for demo

: yes

'commercial addon needed

: no

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

 

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

 

$regfile = "m8535.dat"

' specify the used

micro

' used crystal

$crystal = 8000000

 

page -550-

 

 

© MCS Electronics, 1995-2007

frequency

 

' use baud rate

$baud = 19200

$hwstack = 32

' default use 32

for the hardware stack

$swstack = 10

' default use 10

for the SW stack

' default use 40

$framesize = 40

for the frame space

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

 

(c) 2001-2003 MCS Electronics

'

 

'

 

T6963C graphic display support demo 240 * 128

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

 

 

'The connections of the LCD used in this demo

'LCD pin

GND

connected to

' 1

GND

'2

GND

GND

'3

+5V

+5V

'4

-9V

-9V potmeter

'5

/WR

PORTC.0

'6

/RD

PORTC.1

'7

/CE

PORTC.2

'8

C/D

PORTC.3

'9

NC

not conneted

'10

RESET

PORTC.4

'11-18

D0-D7

PA

'19

FS

PORTC.5

'20

NC

not connected

'First we define that we use a graphic LCD ' Only 240*64 supported yet

Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8

'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, CD etc. are the pin number of the CONTROLPORT.

' For example CE =2 because it is connected to PORTC.2

'mode 8 gives 240 / 8 = 30 columns , mode=6 gives 240 / 6 = 40 columns

'Dim variables (y not used)

Dim X As Byte , Y As Byte

'Clear the screen will both clear text and graph display

Cls

'Other options are :

' CLS TEXT to clear only the text display ' CLS GRAPH to clear only the graphical part

Cursor Off

Wait 1

'locate works like the normal LCD locate statement ' LOCATE LINE,COLUMN LINE can be 1-8 and column 0-30

Locate 1 , 1

'Show some text

Lcd "MCS Electronics"

'And some othe text on line 2 Locate 2 , 1 : Lcd "T6963c support"

Locate 3 , 1 : Lcd "1234567890123456789012345678901234567890" Locate 16 , 1 : Lcd "write this to the lower line"

page -551-

© MCS Electronics, 1995-2007

Wait 2

Cls Text

'use the new LINE statement to create a box

 

'LINE(X0,Y0) - (X1,Y1), on/off

' diagonal line

Line(0 , 0) -(239 , 127) , 255

Line(0 , 127) -(239 , 0) , 255

' diagonal line

Line(0 , 0) -(240 , 0) , 255

' horizontal upper

line

'horizontal lower

Line(0 , 127) -(239 , 127) , 255

line

' vertical left

Line(0 , 0) -(0 , 127) , 255

line

' vertical right

Line(239 , 0) -(239 , 127) , 255

line

 

Wait 2

'draw a line using PSET X,Y, ON/OFF

'PSET on.off param is 0 to clear a pixel and any other value to turn it on For X = 0 To 140

Pset X , 20 , 255

' set the pixel

Next

 

For X = 0 To 140

' set the pixel

Pset X , 127 , 255

Next

 

Wait 2

 

'circle time

'circle(X,Y), radius, color

'X,y is the middle of the circle,color must be 255 to show a pixel and 0 to

clear a pixel

 

For X = 1 To 10

' show circle

Circle(20 , 20) , X , 255

Wait 1

'remove circle

Circle(20 , 20) , X , 0

Wait 1

 

Next

 

Wait 2

 

For X = 1 To 10

' show circle

Circle(20 , 20) , X , 255

Waitms 200

 

Next

 

Wait 2

 

'Now it is time to show a picture

 

'SHOWPIC X,Y,label

 

'The label points to a label that holds the image data

 

Test:

 

Showpic 0 , 0 , Plaatje

' show 2 since we

Showpic 0 , 64 , Plaatje

have a big display

 

Wait 2

' clear the text

Cls Text

End

 

'This label holds the mage data

 

page -552-

© MCS Electronics, 1995-2007

Plaatje:

'$BGF will put the bitmap into the program at this location $bgf "mcs.bgf"

'You could insert other picture data here

LINE INPUT

Action

Read a Line from an opened File.

Syntax

LINEINPUT #bFileNumber, sLineText

Remarks

BfileNumber

(Byte) Filenumber, which identifies an opened file

SlineText

(String) A string, which is assigned with the next line from the file.

 

 

Only valid for files opened in mode INPUT. Line INPUT works only with strings. It is great for working on text files.

See also

INITFILESYSTEM , OPEN , CLOSE, FLUSH , PRINT, LOC, LOF , EOF , FREEFILE , FILEATTR , SEEK , BSAVE , BLOAD , KILL , DISKFREE , DISKSIZE , GET , PUT , FILEDATE , FILETIME , FILEDATETIME , DIR , FILELEN , WRITE , INPUT

ASM

Calls

_FileLineInput

 

Input

r24: filenumber

X: Pointer to String to be written from file

 

r25: Stringlength

 

Output

r25: Errorcode

C-Flag: Set on Error

 

 

 

Example

'Ok we want to check if the file contains the written lines Ff = Freefile()' get file handle

Open "test.txt" For Input As #ff ' we can use a constant for the file too Print Lof(#ff); " length of file"

Print Fileattr(#ff); " file mode"' should be 1 for input Do

LineInput#ff , S ' read a line

' line input is used to read a line of text from a file Print S ' print on terminal emulator

Loop Until Eof(ff)<> 0

'The EOF() function returns a non-zero number when the end of the file is reached 'This way we know that there is no more data we can read

Close #ff

page -553-