Sari la conținut
ELFORUM - Forumul electronistilor

PicBasicPro - defilare text pe LCD


Bird

Postări Recomandate

Sa traiesti ! Am incercat sa incarc in "Proton" programul tau si... nu mai merge , Protonul , deocamdata . Am zis sa-l transcriu in PicBasicPro , dar nu m-am descurcat sa inlocuiesc " restore " . Ai incercat si cu un text mai mare de 16 caractere ? Cu bine ,

Link spre comentariu
  • Răspunsuri 22
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Bird

    13

  • Bamse

    6

  • Abram Burel

    3

... Hai ca am gasit ceva ........si merge pe 16F877A

ia codul si modifica pentru ce vrei tu ...

Toate cele bune...!!!

 

 

Iti multumesc mult ! Sa ai numai reusite .

 

Cu deosebita stima ,

Link spre comentariu

Incercati codul urmator luat de pe forumul de la PicBasic.co.uk: introduceti la inceput setarile pentru LCD/pini PIC =ul folosit LCDOUT $FE,1LCDOUT "MERRY CHRISTMAS AND HAPPY NEW YEAR 2007 "LCDOUT $FE,$C0LCDOUT "***FROM YOUR FRIEND SOUGATA IN INDIA****"'There you fill the LCD memory/buffer...plahplahplahLOOP:LCDOUT $FE, $18PAUSE 500GOTO LOOP*********************************** Cam asta a fost . Cu bine , si multumiri celor care au incercat sa ma ajute !

Link spre comentariu

Incercati-l si pe acesta :

 

' Variable definition

CounterA var byte

CounterB var byte

CounterC var byte

DataA var byte

 

' String to be displayed

' 1 2 3 4

' 12345678901234567890123456789012345678901234

Data "Olympic Timer Powered by MeLabs PICBasic Pro" 'length = 44 charaters

 

' Start program

BANNER:

lcdout $FE, 1 'Clear LCD

pause 1000 'Time to initialise LCD

 

' This loop displays the first 16 characters of the string during 1 second = "Olympic Timer Po"

for countera = 0 to 15 'Setup a counter for 16 steps

read Countera, dataa 'Goto to memory location and read the character of the string

LCDOut DataA 'Display the current character

next

pause 1000 'Pause the first 16 characters to make them visible

 

' These two following loops make the text shift effect for 28 times (string is 44 character - 16 first characters already displayed = 28 characters to go)

' When CounterA is 0, we will display "lympic Timer Pow"

' When CounterA is 1, we will display "ympic Timer Powe"

' When CounterA is 2, we will display "mpic Timer Power"

' ....

For CounterA = 0 to 28 'This loop will shift the text for 28 times (44 - 16 = 28)

CounterC = CounterA + 15 'CounterC indicates the position of the first next character to be displayed

LCDOut $FE, $80 'Set the cursor Home (you can try "LCDOUT $FE, 1" or "LCDOUT $FE, 2" too)

 

' This loop reads the 16 characters to be displayed at that time

For CounterB = CounterA to CounterC 'CounterB will read 16 characters starting at character position "CounterC"

Read CounterB, DataA 'Goto to memory location and read the character of the string

LCDOut DataA 'Display the current character

Next

 

Pause 200 'Speed of display shift

Next

 

Pause 1000 'Keep the last 16 characters of the text ON during 1 second before restart

 

goto BANNER

Link spre comentariu
  • 3 săptămâni mai târziu...

Mai vin cu o precizare : Se poate " defila " un text cu cel mult 255 caractere la o singura citire. Atat poate memora eepromul intern al PIC-ului (16F877). Pentru a " defila " mai mult de 255 caractere , se mai butoneaza un pic , pentru a introduce pe rand in eeprom (DATA) cate 255 caractere . Succes !

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări