Programarea PIC-ului
Sau ce mă chinuie pe mine zilele astea. Un prieten m-a rugat să-i programez un microcontroller PIC16F84 şi mi-a dat şi un programator AD-PIC02 pe port serial (RS-232). Şi ceva nu merge, normal, că de aia mă chinuie.
În anul 3 de facultate la un laborator de "Programare în limbaj de asamblare" cred că am programat vreo 10 într-o singură zi fără nicio problemă. Acum nu vrea de nicio culoare, de fac spume la gură ca un câine turbat, nu altceva.
Asta este placa, Made in Romania. Preţul este de vreo 15 – 20 de lei:
Pentru că placa se conectează la portul serial mă apuc şi verific setările portului. Cine ştie, poate m-am dilit rău de tot şi nu-mi dau seama că adresa de memorie trebuie să fie 03F8h (1016 în decimal). Este. Alte setări sunt:
Placa (programatorul) vine cu un program numit ICprog. Astea sunt setările:
Încarc programul din fişierul .hex. Dau "Erase All" din meniul "Command" şi apoi "Program All", că aşa se face la PIC16F84. Întâi ştergi tot apoi rescrii.
Bun. Îmi arată că scrie. Ledul verde de la programator se aprinde şi pâlpâie foarte repede, ceea ce însemnaă că are loc un transfer de date între computer şi microcontroller. Adică îl scriu. Şi când colo, hopa, că nu e aşa. Îmi spune că a avut loc o eroare de scriere începând cu adresa 000h (prima adresă de memorie). Ok, zic, încerc alt program. Pornesc PonyProg şi-l configurez:
Încarc programul, îi dau "Erase" (ştergere) memoriei PIC-ului şi apoi îi dau scriere. Şi oha, Sugus, Mentos, Strepsils. Tot nu vrea. Fie m-am tâmpit eu, fie e un microcontroller făcut pe vapor, că nu e aşa de greu de contrafăcut, fiind destul de simplu ca structură. Desigur, s-ar putea să fie bulit, că aşa făcea şi la prietenul meu. Să vedem unde găsesc eu de cumpărat aşa ceva în Timişoara…
Roby, avem ceva în comun. numai ca pe vremea cand faceai tu facultatea se facea carte vad.
Eu am programat numai un tip de PIC, acum vreun an, şi programul era deja facut. Avea interfata USB, şi programul era scris în C++ apoi compilat in hex de catre programul lui.
Nu mai stiu cum se numea, cert e ca placa avea vreo 8 leduri si costa vreo 100 de lei.
Bafta, si zi-ne ce ai rezolvat!
:angry: Momentan n-am rezolvat nimic. Să văd pe după masă… :angry:
Incearca cu o placa AD PIC-01. Diferenta este ca aceasta are alimentare separata. Cu placa pe care o ai am reusit si eu sa programez un 16F84, dar numai pe un anumit calculator. Probabil Vpp-ul e prea mic si nu-l poate scrie.
Da, la asta m-am gândit şi eu, că nu este alimentată corespunzător. Din păcate sistemele pe care am încercat-o nu m-au ajutat. :s Probabil ai folosit un sistem brand de prin 2000, că altfel nu-mi explic cum de ţi-a mers. 😉 Mulţumesc frumos! ❗
Hai sa vedem inca ceva : cablul serial este ok ??? 🙂 Taie una din mufe si cumpara una noua pe care sa o lipesti cum trebuie fiindca cablul tau nu e bun.Sau mai simplu baga direct programatorul in calculator direct (mufa seriala) si va merge . Cam asta este ,succes!
:s Cred că nu e bun cablul fiindcă, noh, cei care au proiectat placa n-au făcut-o pentru un cablu standard. :s
Cam tarziu dar,
Poate il scrie dar e protejat la citire si de asta da eroare.
Scrie alt hex in el,ceva,orice sa probezi asta.Daca asa poti scrie atunci:
Dezactivezi verificarea scrii hex-ul si pui pic-ul in montajul destinat.
😆 Pe un alt proramator a mers. 😆
Programatorul are alimentare de 12V?
Nu, acest model fiind alimentat direct din portul RS-232. pe de altă parte, placa asta are o problemă cu alimentarea… Aș recomanda un alimentator separat conectat la placă, pe pinii de alimentare ai mufei (pe care îi tai).
Salut,
are cineva schema electrica a acestui programator ?
E plin netul de ele.
sunt o multime de scheme pentru programatoare de genul asta,
mai mici sau mai mari, asa este, dar ma intereseaza exact
aceasta schema, pentru ca sunt in posesia unuia. Daca nu o voi gasi
o voi construi dupa circuit.
Nu te supăra, dar dacă ai plăcuța aia în mână, cât de greu poate fi să îi transpui schema electrică pe hârtie? Circuitul are un singur strat și mă prea îndoiesc că nu te descurci să descifrezi caracteristicile acelor piese. Dacă avea și SMD-uri, aș fi înțeles, dar așa…
Nici Robin nu cred că dispune de această schemă (că altfel ți-ar fi dat-o), din simplul motiv că nu se mai obosește nici un producător să livreze și schema când cumperi o asemenea plăcuță.
Just, just.
No, succes.
multumesc pentru sfat Mihai. Ai perfecta dreptate.
Dupa cum am spus, asa m-am gandit si eu.
Voi reconstitui schema electrica dupa montaj, care este unul foarte
simplu dealtfel. Voi posta zilele viitoare rezultatul, in caz ca mai
intereseaza pe cineva acest programator.
OK, așteptăm răspunsul tău, că poate mai folosește și altora care vor să se joace cu șmecheria asta 🙂
Chiar te rog. 😀
Am aceeasi problema ca si tine cu un programator AD-PIC01. Imi da eroarea „verify failed at adress 0000h”. Nici nu mi se aprinde ledul verde de pe programator. Tu cum ai rezolvat-o pana la urma?
Am lăsat-o baltă și am încercat alt programator.
Salut domnilor,am o rugaminte .Mi-a trimis un amic un programator AD PIC-01 ,folosesc un Windows XP,am conectat placa cu calculatorul si mi se aprinde doar ledul rosu,setarile le-am pus cum a-ti scris voi mai sus.Ledul verde se aprinde doar cind citeste ,sau scrie o memorie?Cind conectez programatorul cu calculatorul nu trebuie sa se aprinda ledul verde?Multumesc, Sorin.
Cum stiu ca programatorul a fost conectat cu calculatorul?Am pornit programul PonyPong2000 care venea cu programatorul,setarile le-am pus cum arata Robin Molnar mai sus,dar am acceasi intrebare ,de unde stiu ca mia vazut calculatorul programatorul?Fara sa pun nici o memorie se poate vedea daca merge sau nu?
Nici eu n-am reușit să-mi dau seama.