Rabulea Sergiu Postat Iulie 4, 2009 Partajează Postat Iulie 4, 2009 Hello!Tin sa mentionez ca sunt incepator intr-ale programarii microcontrolerelor si folosesc ca limbaj de programare ASM.Am nevoie de ajutor in realizarea unui voltmetru cu PIC 16F73 (va rog nu ma trimiteti la scheme gata facute si care au programul in .HEX pentru ca ma intereseaza sa invat sa fac programul nu sa-l iau dea-gata).In primul rand as vrea sa invat sa lucrez cu un LCD, sa-l initializez si sa scriu caractere pe el.Asta-i LCD-ul pe care vreau sa-l folosesc:[attachment=0]ITM1286404_K49.pdf[/attachment]Am vazut ca ii diferit modul de comanda al acestuia fata de cel cu 2x16 caractere Va rog daca puteti sa-mi spuneti ce pasi trebuie sa urmez ca sa-l initializez, intai, dupa aceea restu'.P.S. Am tecut prin tutorialele cu ledul palpaitor si alte aplicatii cu leduri.Daca ma puteti juta va rog sa o faceti mai "babeste" sa inteleaga toti, nu numai cei experimentati.Cu respect. Sergiu Link spre comentariu
cirip Postat Iulie 5, 2009 Partajează Postat Iulie 5, 2009 Salut,Nu sunt suficieante informatii ca sa stii cum sa lucrezi cu afisajul ala. Ar trebui sa existe o foaie de catalog cu mai multe pagini in care sa vezi timing, harta memoriei si multe altele. Uita-te cam ce informatii sunt in foile de catalog de la LCDurile de 16X2, de exemplu. Asa ceva ar trebui sa gasesti.Cirip Link spre comentariu
Rabulea Sergiu Postat Iulie 5, 2009 Autor Partajează Postat Iulie 5, 2009 Am gasit un echivalent la driverul ce-l are LCD-ul meu, poate ajuta la ceva (sper):[attachment=0]S6B0723_V09.pdf[/attachment]Driverul pe care-l are ii KS0723TB Link spre comentariu
Rabulea Sergiu Postat August 9, 2009 Autor Partajează Postat August 9, 2009 Ok, vad ca nu ma poate ajuta nimeni cu LCD-ul, o sa incerc sa-l decurc singur.Urmatoarea mea problema pe care am intampinat-o este cum sa afisez o valoare data de ADC in cifre zecimale pe display.M-am gandit la un tabel, dar ca sa fac un tabel cu toate rezultatele posibile nu mi-ar ajunge memoria uC-ului. Ajutati-ma la cum sa gandesc treaba asta (daca se poate), si care ar fi cel mai optim mod de implementare. Multumesc.Cu respect, Sergiu Link spre comentariu
cirip Postat August 9, 2009 Partajează Postat August 9, 2009 Salut Sergiu,Ceea ce vrei sa faci este mult prea complex. Aparent e simplu, dar, cand intri in detalii, iti dai seama cam cata munca este. LCDul tau este grafic si pentru comanda lui trebuie citita si inteleasa documentatia. Ai acolo toata informatia. In Fig3 ai modalitatea de comanda seriala, iar in Tabelul 18 ai setul de instructiuni. Trebuiesc citite si intelese de cel care programeaza.Referitor la afisarea rezultatului ADC in cifre zecimale, iarasi e mai complicat decat pare. Hai sa presupunem pentru inceput ca folosesti un LCD alfanumeric, nu grafic. Ala alfanumeric se scrie prin incarcarea de caractere ASCII la adresele de pe ecran.Etapele ar fi cam asa:1)ADC-ul iti da o valoare N in hexa pe 2 octeti. Valoarea N este data de relatia N=1024*Vin/Vref. Rezulta ca Vin=Vref*N/1024. Daca Vref este in mV, atunci si Vin va fi in mV. Asta e primul calcul pe care trebuie sa il faci. Dupa acest calcul ai valoarea tensiunii de intrare in ADC in mV si in format HEX.2)Urmatoarea etapa este conversia de baza de numeratie din hex in zecimal. Nu e simplu.3)Ai nr zecimal. Convertesti in ASCII, adaugi virgula ca sa convertesti in volti si scrii pe LCD.Daca ai divizor de tensiune la intrare, asta adauga inca o etapa de calcul.Trebuie atentie la dimensiunea in octeti a numerelor rezultate dupa fiecare operatie. Daca nu aloci suficienti, nu va merge.Am presupus ca lucrezi cu numere intregi cu semn. Daca vrei in virgula fixa sau mobila, lucrurile se complica suplimentar.Sugestia mea e sa cauti la Microchip aplicatia cu rutine aritmetice. Vei avea nevoie de ele la greu. Testeaza-le inainte de a le folosi.Cirip Link spre comentariu
Rabulea Sergiu Postat Ianuarie 23, 2010 Autor Partajează Postat Ianuarie 23, 2010 Am mai evoluat de cand am postat ultima oara in acest topic Am schimbat PIC-ul cu 16F877.Am schimbat display-ul cu unul O-LED de 96x16 pixeli cu controllerul SH1101A.Am schimbat destinatia proiectului, acuma este si voltmetru si un cronometru pana la 99:59 crescator si descrescator.Nu am reusit sa fac si cablajul, inca nu am terminat de scris toate functiile codului, dar pentru ca sa vedeti si voi ceva am sa pun aici schema si programul pentru o eventuala simulare.Am schimbat si limbajul de programare de la assembler la basic (ii mai usor de scris).Acest proiect este destinat unei telecomenzi pentru avioane.[attachment=0]crono.zip[/attachment]Astept pareri, propuneri si neclaritati. Link spre comentariu
puiu Postat Ianuarie 23, 2010 Partajează Postat Ianuarie 23, 2010 De unde iei Vdd? Link spre comentariu
cirip Postat Ianuarie 23, 2010 Partajează Postat Ianuarie 23, 2010 Acest proiect este destinat unei telecomenzi pentru avioane.Astept pareri, propuneri si neclaritati.Cand apesi pe reset se face scurt pe VDD.Telecomanda? Ma asteptam sa vad niste potentiometre ptr comanda proportionala. Link spre comentariu
Rabulea Sergiu Postat Ianuarie 24, 2010 Autor Partajează Postat Ianuarie 24, 2010 De unde iei Vdd? VDD este alimentarea de 5V. O genereaza programul automat si nu mai trebuie sa pun o sursa sau ceva. Cand apesi pe reset se face scurt pe VDD. Mercie, greseala de proiectare, butonul de reset vine legat dupa rezistenta de la pinul MCLR. Telecomanda? Ma asteptam sa vad niste potentiometre ptr comanda proportionala. Acest proiect nu face si functia de telecomanda. El este doar un voltmetru care masoara starea bateriilor din telecomanda (circuitul telecomenzii are un are un comparator si la un anumit prag se opreste telecomanda si ramai fara comenzi la avion) , eu am facut voltmetrul pentru a putea vedea tensiunea pe baterii si o sa-i pun si un prag peste cel al comparatorului telecomenzii ca sa piuie cand ajunge acolo. Cronometrul este pentru bateriile din avion care la fel cand se atinge pragul de descarcare opreste avionul si acesta pica. Cronometrul il setezi inainte de decolare in functie de capacitatea si de incarcarea acumulatorului din avion si dupa ce se scurge acel timp iara o sa dea de stire ca o sa ramai fara curent. Link spre comentariu
puiu Postat Ianuarie 24, 2010 Partajează Postat Ianuarie 24, 2010 Nu inteleg cum o adica o genereaza programul automat? Link spre comentariu
cirip Postat Ianuarie 24, 2010 Partajează Postat Ianuarie 24, 2010 (circuitul telecomenzii are un are un comparator si la un anumit prag se opreste telecomanda si ramai fara comenzi la avion)Serios? Ce telecomanda ai tinut in mana si facea asa? Cronometrul este pentru bateriile din avion care la fel cand se atinge pragul de descarcare opreste avionul si acesta pica. Pai daca pica oricum fara baterii, la ce-i mai trebuie conometrul. Pica si cu si fara cronometru, asa ca mai bine il lasi fara.Acum serios vorbind. Inainte sa te apuci sa inventezi ceva, e bine sa vezi ce s-a facut deja. Altfel risti sa inventezi apa calda si roata. Link spre comentariu
Rabulea Sergiu Postat Ianuarie 24, 2010 Autor Partajează Postat Ianuarie 24, 2010 @cirip te rog nu mai sari asa cu gura. Acest montaj mi-a fost cerut de un prieten pentru telecomanda lui. El mi-a spus ca are aceste comparatoare in ea si sa-i fac ceva sa stie cam cand ii posibil sa ramana fara comenzi respectiv fara avion. Eu am acceptat acest lucru din motivul ca o sa invat ceva din asta nu ca sa "reinventez roata si apa calda".Eu nu sunt pasionat de modelism, dar am invatat foarte multe de cand lucrez la acest proiect. Pai daca pica oricum fara baterii, la ce-i mai trebuie conometrul. Pica si cu si fara cronometru, asa ca mai bine il lasi fara.Cronometrul il seteaza ca sa-l atentioneze dinaite ca aproape i s-a scurs timpul da functionare al avionului ca sa-l aduca la sol lin si frumos nu ca sal izbeasca.Nu inteleg cum o adica o genereaza programul automat?Adica programul cu care lucrez eu are pinii procesorului legat la "Power rails" adica legate direct la sursa virtuala de 5V. Pinii ce i-am pus eu acolo nu fac decat sa se lege la acea sursa ca sa pot alimenta si alte parti ale circuitului.P.S. Prietenul acesta de care ziceam ii inginer electronist asa ca nu vad dece nu l-as crede. Link spre comentariu
cirip Postat Ianuarie 24, 2010 Partajează Postat Ianuarie 24, 2010 @cirip te rog nu mai sari asa cu gura.Te rog sa ma scuzi. Nu o sa ma mai amestec. Link spre comentariu
Liviu M Postat Ianuarie 25, 2010 Partajează Postat Ianuarie 25, 2010 @cirip te rog nu mai sari asa cu gura.Chiar nu-i locul si momentul pentru mitocanii. Un post mai sus a fost OK ca ti-a semnalat o eroare, nu? Link spre comentariu
Rabulea Sergiu Postat Ianuarie 25, 2010 Autor Partajează Postat Ianuarie 25, 2010 Te rog sa ma scuzi. Nu o sa ma mai amestec.Scuza-ma, dar ai vorbit in necunostinta de cauza. Aseara am fost la prietenul meu si m-am uitat la telecomanda si chiar are un comparator care opreste telecomanda cand se descarca acumulatorii sub un anumit nivel, la fel si la avion, cred ca pentru a nu descarca prea tare acumulatorii.Chiar nu-i locul si momentul pentru mitocanii.Un post mai sus a fost OK ca ti-a semnalat o eroare, nu?Hai totusi sa nu transformam topicul asta intr-unul de bodega. Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum