Sari la conținut
ELFORUM - Forumul electronistilor

Cum sa programez un PIC


sofian

Postări Recomandate

As mai avea o nelamurire si apelez la ajutorul domniilor voastre spre a ma edifica devreme ce in ciuda incercarilor mele insistente, n-am ajuns la un rezultat satisfacator. Am zis sa testez cateva versiuni de coduri simple ( ce poate face un incepator decat sa se joace cu niste leduri la un PIC?... ) pe un 12F675 in proteus, totul a pornit de la ce am gasit pe site-ul ASTA, se ofera acolo pentru descarcare atat proiectul complet in MPLAB cat si simularea in proteus, am zis sa pornesc de aici ca e mai simplu, pentru a pune la punct o logistica a scrierii si apoi testarii cu proteus a diferitelor coduri, si aveam deja MPLAb instalat, am mai descarcat si instalat compilatorul Hightech despre care se spune acolo si Proteus ( ambele in versiunile mentionate in link ) si initial am deschis proiectele in MPLAb si repesctiv proteus si simularea a mers ok, apoi mi-am zis sa creez eu un proiect nou in MPLAB pe care apoi sa-l testez in proteus. Am urmat in mplab pasii astia:

 

-Project wizard;

-Selectare dispozitiv - PIC12F675;

-Selectare utilitati de limbaj - HI-Tech Universal Toolsuite/HI-TECH ANSI C Compiler;

-Creeare proiect, adaugarea unui folder in care sa se salveze totul si denumirea proiectului;

-Adaugare fisiere existente - in assembly am observat ca exista fisiere template, in C nu am gasit deci nu am adaugat nimic, ci am trecut mai departe observand in anumite tutoriale ca se poate creea ulterior fisier nou;

-Finish;

-File/New file, in editorul nou deschis am adaugat direct prin copy/paste de la codul sursa prezentat in proiectul de pe site-ul mentionat mai sus, apoi am salvat fisierul respectiv in folder-ul creeat anterior dandu-i si un nume cu terminatia .c ( am observat ca asa ar trebui );

-Click dreapta pe editor unde era codul si apoi Add to project;

-Project/Built - am primit confirmarea ca s-a facut cu succes operatiunea respectiva;

-File/Export - Am exportat hex-ul respectiv cu optiunile default;

 

Apoi am deschis proteus si am inceput un nou proiect, am adaugat PIC12F675, o rezistenta si un led, le-am conectat apoi am incarcat codul hex in uC din proteus si am pornit simularea, desi par a fi unele erori totusi simularea functioneaza corespunzator, adica face exact ce este scris in cod, iata un print cu mesajele care cred eu ca ar fi erori:

 

 

Am incadrat intr-un dreptunghi rosu sectiunea despre care amintesc, nu am inteles la ce se refera acele avertismente/erori, si care ar fi cauza lor, unde anume am gresit eu...? cand deschid proiectul original in mplab indiferent cum as modifica eu codul, daca compilarea se face cu succes proteus arata totul ok in acea lista de mesaje, deci ceva gresesc eu, dar unde?

 

Orice sfat ar fi de mare ajutor, asa cum se poate observa sunt la inceput de drum in domeniu dar imi doresc sa evoluez, si teoria este buna pana la o limita unde trebuiesc testate anumite chestii, fie macar si in simulator/proteus in speta, insa trebuie sa pun la punct logistica.

 

Multumesc anticipat pentru atentie si va doresc toate cele bune.

Marian.

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

Top autori în acest subiect

  • Liviu M

    54

  • Vlad Mihai

    28

  • bbogdanmircea

    27

  • seichter

    24

Top autori în acest subiect

Imagini postate

Am rezolvat problema, motivul acelor erori sau avertismente, sau ce erau, era exportarea hex-ului in sine, pe care o faceam la file/export, am observat ca deja se creeaza hex inca de la comanda de built si l-am incarcat pe ala, totul merge brici cu acela, deci am rezolvat logistica ( credeti sau nu, un lucru foarte important pentru mine ). Poate si altii vor invata din experienta mea, pe mine lipsa voastra de interes m-am convins sa insist de unul singur. :da

Link spre comentariu

Marian de ce nu folosesti mikroC? e mai prietenos... si are librariile mai prietenoase, eu pe asta am invatat, am incercat si eu ceva cu mplab ide la inceput dar nu a mers ok si m-am linistit. oricum multa bafta, poate incerci si tu o sursa comutatie cu pic, mie mi-a iesit. :rade:

Link spre comentariu

Folosesc pe asta penca il inteleg eu mai bine ( deci probabil un motiv subiectiv ), am studiat manualul de utilizare ceva mai amanuntit si dupa ceva incercari si esecuri am observat cum sta treaba cu el. Asta ar fi singurul motiv :da

 

PS: Sursa in comutatie cu PIC... greu de crezut ca as aborda asa ceva, prefer sa raman la controllere specializate, si am alte planuri pentru PIC-uri, sper doar sa reusesc sa invat cat mai bine scrierea codurilor.

 

PS2: Referitor la problema mentionata de mine la acel PIC12F675, cred ca am descoperit cauza erorilor acelor microcontrollere, in sectiunea de inceput la Configuration words acele CP si CPD erau pe off, si in cazul primului asta face ca dupa prima programare stergerea sa insemne stergerea si a OSCCAL, chestie citita din PDF-ul acelui microcontroller...

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

de cateva zile am o problema cu un Pickit2 : de fiecare data cand pornesc softul de programare primesc acest mesaj :

 

Posted Image

 

am gasit un tutorial pentru MikroC si incerc sa invat : folosesc PicKit2 ca programator si acest model de placa de dezvoltare bazata pe un PIC16F887 :

 

http://i45.tinypic.com/2b8ide.jpg

 

Pana nu demult era totul in regula : scriam programele in MiKroc le incarcam cu PiCKit-ul pe placa de dezvoltare si alimentam tot montajul prin programator ; acum nu mai pot sa folosesc placa de dezvoltare decat cu alimentare externa : se pare ca programatorul nu mai poate furniza cei 5V necesari pentru functionare .

 

A mai avut cineva aceasta problema ? care ar fi problema si cum s-ar putea rezolva ?

Link spre comentariu
  • 2 săptămâni mai târziu...
Problema: Daca am un montaj cu uC si alte IC-uri si multe LED-uri care toate sug din sursa de 5V peste 1A evident ca 7805 nu mai face fata. Care credeti ca este cea mai optima solutie a unei surse de 5V de 2,3,4 sau chiar 5A? Se pot conecta mai multe 7805 in paralel cumva sau doar cu final de putere peste 7805?
Link spre comentariu

Cea mai veche si mai slaba sursa de PC (luata de la gunoi) asigura peste 10A la iesirea de +5V. Merge si cu ventilatorul stricat sau lipsa.O solutie eleganta si sigura este cu integratul LM323 sau cu echivalentul romanesc M323 care dau +5V la 3A. In nici un caz nu se vor lega in paralel stabilizatoare serie (7805, etc).

Link spre comentariu

lm338 parca suporta 5A, faci cu el un regulator, sau conectezi pe langa acel lm7805 un tranzistor npn in conexiune colector comun si vei avea curent mai mare. sunt pe google diferite scheme. sau cu o sursa pc cum zicea mai sus colegul puriu dar care poate fi incomoda din cauza gabaritului.

Link spre comentariu

Nu recomand sursa ATX fara regulator serie dupa ea pentru alimentare uC, nu am incredere in majoritatea chinezismelor de surse... Cea mai simpla si buna solutie este asa cum @Vlad a spus, LM338, suporta in anumite conditii peste 5A ( o anumita cadere pe el, pdf ) deci arhisuficient, si este bine protejat, nici scump rau iar nu este deci recomand si eu.

Link spre comentariu

Totusi de ce marik2500 este offtopic? Pe forum exista si sectiunea pentru solutii de alimentare, poate cineva iti recomanda un regulator in comutatie precum LM2678 s.a.

Link spre comentariu

Ma scuzati pentru offtopic am inteles ceea ce era important. Voi folosi LM338. Este oarecum offtopic însă sa nu uitam ca PIC-urile functioneaza totusi cu energie electrica, nu cu vânt!!! :aplauze

Link spre comentariu

PIC-ul, in montajul tau, functioneaza cu energie electrica furnizata de o "sursa de alimentare", dar si un televizorul se alimenteaza tot cu energie electrica! :da Asta nu e un argument sa postez o problema de depanare la sectiunea "Energie alternativa" (am dat un exemplu).

Link spre comentariu

Se pot conecta mai multe 7805 in paralel [...]?

Se pot conecta in paralel fara nicio problema. Daca le ai in sertar, fa-ti treaba cu ele. Daca nu le ai in sertar, atunci merita sa iei ceva mai fortos.
Link spre comentariu

Se pot conecta mai multe 7805 in paralel [...]?

Se pot conecta in paralel fara nicio problema. Daca le ai in sertar, fa-ti treaba cu ele. Daca nu le ai in sertar, atunci merita sa iei ceva mai fortos.
Dar vor fi pierderi mai mari. Mai ales daca are sa zicem o alimentare de 12v atunci din cei 60W pe care ii dispune sursa de alimentare doar 25W ajung la alimentare. restul de 35W se disipa pe acele LM7805. chiar si daca se asigura minim de Vdrop tot vor fi vreo 12-13w disipati. Eu imi fac regulatoare comutatie mici(4x4cm) step down cu lm2596. mc34063 urmate de zener de 5v1 si cu asta am incheiat socoteala, randamentul e mult mai mare circa 80-90%.
Link spre comentariu
  • 2 săptămâni mai târziu...

Buna ziua, cum pot seta la pic16f876a portul A astfel incat A0,A1,A2 sa fie intrari analogice si restul sa fie iesiri digitale? nu pricep mare lucru din datashet la chestia cu registrii. folosesc compilatorul mikroC. Multumesc!

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