Jump to content
ELFORUM - Forumul Electronistilor
Sign in to follow this  
Guest sweetvaly

LCD USART,I2C,SPI

Recommended Posts

Guest sweetvaly

buna. Am un proiect...pt inceput trebuie sa fac o interfata care sa mearga pe toate serialele, sa fac un gen de protocol...daca apas pe nu stiu ce tasta sa se duca cursorul undeva...adica in functie de comenzile pe care i le dau eu sa apara pe ecran... ar tb sa fac dupa fig 01. ati lucrat cu asa ceva ? Eu ma incercat in MCC18 dar nu imi iese...:(Multumesc! Astept raspuns.

Share this post


Link to post
Share on other sites

ca sa intelegem mai bine, comenzile le primesti prin USART,I2C,SPI si tastatura?Pentru inceput fa sa mearga perifericele. Adica sa afisezi ceva pe LCD, sa aprinzi si sa stingi led-ul si sa scoti un sunet.Pentru fiecare fa-ti o functie, pe care o vei apela cand decodezi comenzile primite.Pentru sunet ce folosesti? Cel mai simplu mi s-ar parea un buzzer.

Share this post


Link to post
Share on other sites
Guest sweetvaly

Multumesc frumos pt raspuns..:) oki..asa am sa fac...cum ai sp tu..sa fac sa functioneze pe rand..am facut pana la urma in mikroC..am facut partea de LCD- sa afisej pe LCD cuvinte , am facut si partea de LCD-USART , dar pot trimite cate un caracter (in sensu dc apas A apare A, dar apoi dupa 1 secunda daca apas B apare B in locul lui A si tot asa...) ...adica ce ii dau in terminal imi apare pe LCD...dar nu stiu sa fac ca sa pot scrie tot cuvantu AB etc...Am sa fac si separat chestia cu LED si sunet..si eu zic ca tot un buzzer...:) Daca mai intrii astept raspuns..multumesc!

Share this post


Link to post
Share on other sites

Pentru a scrie pe LCD toata secventa de litere, si nu doar cate una, verifica asa:- Sa nu apelezi de fiecare data cand vrei sa afisezi ceva si functia de stergere a LCD-ului (in acest caz, functia aia iti sterge tot ce era inainte si iti pune cursorul pe primul rand,primul caracter)- Sa nu apelezi de fiecare data functia de pozitionare a cursorului pe primul rand,primul caracter (astfel de fiecare data iti va scrie in aceeasi pozitie)- Sa nu apelezi de fiecare data cand primesti un caracter, functia de initializare a LCD-uluiDaca ai verificat astea, eu zic ca ar trebui sa-ti mearga. Driverul LCD-ului stie sa primeasca un caracter, il afiseaza, si data viitoare cand va primi alt caracter, il va afisa in continuarea celuilalt. Poti sa ii trimiti si peste 2 zile caractere,el teoretic trebuie sa-l afiseze in continuarea celor deja afisate. Asta daca nu-l fortezi tu sa-ti scrie de fiecare data in acelasi loc, cum am zis mai sus.Mai poti face si in alt mod. Sa pastrezi tu o variabila de tip String, goala initial. Cand primesti un caracter, il adaugi la string. Apoi afisezi string-ul. Cand primesti un alt caracter, il adaugi din nou la string.Asta va contine acum cele doua caractere. Apoi afisezi noul string pe LCD. Si asa mai departe. Trebuie sa vezi daca driverul tau de LCD are functie de afisare a sirurilor de caractere.In principiu ar trebui sa mearga prima varianta, undeva e o intializare,o stergere sau un gotoxy pus unde nu trebuie.Dupa ce o sa-l faci sa mearga, trebuie sa verifici daca atunci cand se umple randul pe LCD, iti trece automat la randul urmator. Asta depinde tot de driverul LCD-ului. Daca nu,trebuie sa faci tu din cod.

Share this post


Link to post
Share on other sites
Guest sweetvaly

Am reusit sa scriu pe LCD toata secventa de litere, si nu doar cate una. Acum problema e alta..as vrea sa fac ca dupa ce termin eu de scris sa ii dau ESC de exemplu si sa mi se stearga ce am scris pe LCD. ati facut asa ceva? astept raspuns. :)

Share this post


Link to post
Share on other sites

Ce folosesti, hyper terminal?Cred ca problema e din cauza faptului e posibil ca aplicatia de com seriala sa nu iti trimita si codul pentru tasta ESC. Nu stiu sa zic exact,pentru ca n-am incercat. Cu stersul LCD-ului e simplu, apelezi functia din driver.Cauta si alte aplicatii ce iti comunica pe portul serial, gen hyper terminal.Poate unele stiu sa trimita si codul tastei ESC. Daca nu, fa-ti tu un soft care sa faca treaba asta:)Mai asteapta sa-si dea si alti colegi cu parerea.Pana atunci poti face stergerea lcd-ului atunci cand apesi o alta tasta, de exemplu "x".Iar cand rezolvi problema cu ESC, doar inlocuiesti codul tastei "x" cu codul tastei "ESC"

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.