Sari la conținut
ELFORUM - Forumul electronistilor

pic16f887 si lm35 LCD scrolling


gabrielmrc

Postări Recomandate

salut am si eu o problema sa-i spun asa am realizat un traductor de temp (0-150*C).

o sa masor 2 temp (temp1 temp2) si sa afisez diferenata dintre cele doua.

am realizat partea asta ma intereseaza urmatoarele:

pe prima linie o sa se "plimbe" un text cu un anume continut ( traductor de temp numele meu etc.).

pe cea de-a doua linie sa fie afisate temperaturile si diferenata sa se "plimbe" tot de la dreapta spre stranga.

se poate face aceaste lucru dar simultan adica sa apara textul "plimbat" de la stanga la dreapta pe cele doua linii cu informatiile aferenta (cum am specificat mai sus)? sper sa fi fost destul de explicit.

 

 

mai jos este un exemplu facut de mine dar am reusit sa "plimb" textul pe prima linie a lcd-ului

 

char *text ="Traductor de Temperatura ", *text1="Student: ion vasile", *text2="Indrumator: ING.gigi andrei", *text3="TEMP1:", *text4="TEPM2:",*text5="Diferenta:";

char i,j;

 

void Move_Delay() { // Function used for text moving

Delay_ms(150); // You can change the moving speed here

}

 

void main() {

TRISC = 0; // port C setat ca iesire

Lcd_init(&PORTC); // initializare LCD foloseste pinii din port C

Lcd_Config(&PORTC, 0,2,1,6,5,4,3);

LCD_Cmd(LCD_CLEAR); // Clear display

LCD_Cmd(LCD_CURSOR_OFF); // Turn cursor off

while (1) {

// afisare text

LCD_Out(1,16, text); // Print text to LCD, 1st row, 1st column

for(i=0; i<22; i++) {

Lcd_Cmd(LCD_SHIFT_RIGHT);

Move_Delay();

}

LCD_Cmd(LCD_CLEAR);

 

//AFISARE TEXT1

LCD_Out(1,16, text1);

for(i=0; i<22; i++) {

Lcd_Cmd(LCD_SHIFT_RIGHT);

Move_Delay();

}

LCD_Cmd(LCD_CLEAR);

 

//AFISARE TEXT2

LCD_Out(1,6, text2);

for(i=0; i<33; i++) {

Lcd_Cmd(LCD_SHIFT_RIGHT);

Move_Delay();

}

LCD_Cmd(LCD_CLEAR);

}}

 

 

daca aveti o idee va rog sa-mi transmite-ti si mie.

ca sa nu existe nici un dubuie in ceea ce am spus uite aici un exemplu http://www.youtube.com/watch?v=HY-zX2xXzCA

am vazut ca are niste linkuri cu surse dar nu prea am inteles mare lucru.

ideea e sa fac da textul meu sa se plimbe pe amblele linii cum este in video pe linia a doua.

ms anticipat

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

Top autori în acest subiect

  • gabrielmrc

    3

  • Liviu M

    2

  • 10vid

    2

Top autori în acest subiect

  • 2 săptămâni mai târziu...
  • 4 săptămâni mai târziu...

Nu, in raspunsul tau de mai sus, ala cu LCD_Out(), care-i partea care se ocupa de scroll?

for(i=0; i<22; i++) {Lcd_Cmd(LCD_SHIFT_RIGHT);Move_Delay();}
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