Jump to content
ELFORUM - Forumul electronistilor

LCD USART,I2C,SPI


Guest sweetvaly

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.

Link to comment
  • Replies 6
  • Created
  • Last Reply

Top Posters In This Topic

  • cosmin_cosmin_1

    3

  • CristianC

    1

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.

Link to comment
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!

Link to comment

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.

Link to comment
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. :)

Link to comment

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"

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • 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.Terms of Use si Guidelines