gsabac Postat Octombrie 12, 2019 Partajează Postat Octombrie 12, 2019 (editat) Despre asta am amintit si eu cu cateva postari inainte, deoarece am vazut ca ca si dvs. in Mikrochip, ca nici programatorul Mikroelectronica nu il are in lista. Poate spun prostii pentru PICkit2, dar cu programatorul Mikroe (mikroProg Suite For PIC) se incarca(dar nu si PIC10F320) si se poate configura si salva in HEX. "Poate alegeti un P10FXXX din lista sau mai puternic, 12F, 16F,... si apropo despre programul scris in limbajul mikroC, are doar cateva randuri usor de inteles. Pentru un PIC in capsula SOT23-6LEAD trebuie si un programator care sa contina un adaptor pentru aceasta capsula, deasemenea si pentru alt pic trebuie vazut daca programatorul il are in lista." Programul scris de mine in mikroC si se pare ca nu am gasit o abordare fara goto: // //Sonoff program cu PIC10Fxxx, 8MHz oscilator intern. bit oldstate; void main() { ANSELA=1; TRISA0_bit = 0; TRISA1_bit = 1; // set RB1 pin as input TRISA2_bit = 0; PORTA.B2=0; oldstate=0; prim: do { //primul ciclu do if (Button(PORTA, 0, 100, 0)) { // Detect logical one oldstate = 1; // Update flag } if (oldstate && Button(PORTA, 0, 100, 1)) { // Detect one-to-zero transition Delay_ms(50); PORTA.B2=1; //Aprinde LED Delay_ms(500); PORTA.B2=0; // Stinge LED oldstate = 0; goto rex; //merge aici si break; ? // iese din primul ciclul do } } while(1); // Endless loop rex: do { if (Button(PORTA, 0, 100, 1)) { // Detect logical one oldstate = 1; // Update flag } if (oldstate && Button(PORTA, 0, 100, 0)) { // Detect zero-to-one transition Delay_ms(50); PORTA.B2=1; Delay_ms(500); PORTA.B2=0; oldstate = 0; goto prim; // se reantoarce la primul ciclu do } } while(1); // Endless loop } In atasament este programul complet in MikroC PRO for PIC (7.5.0 dar cred ca merge cu oricare) si Proteus(8.7 SP3). Pentru alta versiune editati schema de la inceput si incarcati HEX-ul. @marinitzzo, eu am pus PIC10F320 si am schimbat numele in PIC10F200, deoarece sunt compatibile. El astfel cheama in Proteus 10F200. dar cu codul de 320. @gsabac Sonoff comenzi cu intrerupator.rar Editat Octombrie 12, 2019 de gsabac Link spre comentariu
marinizzo Postat Octombrie 12, 2019 Partajează Postat Octombrie 12, 2019 Acum 2 ore, gsabac a spus: @marinitzzo, eu am pus PIC10F320 si am schimbat numele in PIC10F200, deoarece sunt compatibile. El astfel cheama in Proteus 10F200. dar cu codul de 320. pai exact asta am simulat si eu in proteus 8 ,schiema este cu pic10f200 si codul este cel care mi-lati facut pentru pic10f320 si cand dau start la simulare primesc eroarea nu inteleg ce trebuie sa editez in schema de la inceput ? Link spre comentariu
gsabac Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 (editat) Daca aveti Proteus 8.7 SP3 decomprimati fisierul RAR si utilizati proiectul facut de mine., musai sa inlocuiti fisierul HEX cu acela din directorul decomprimat. De fapt Proteus schimba doar calea de cautare. Postat 12 ore în urmă Acum 15 ore, gsabac a spus: @marinitzzo, eu am pus PIC10F320 si am schimbat numele in PIC10F200, deoarece sunt compatibile. El astfel cheama in Proteus 10F200. dar cu codul de 320. pai exact asta am simulat si eu in proteus 8 ,schiema este cu pic10f200 si codul este cel care mi-lati facut pentru pic10f320 si cand dau start la simulare primesc eroarea Cred ca v-am explicat foarte clar, puneti in proiect 10F320 si schimbati numele in 10F200, ceea ce nu ati facut! Pe schema dvs. circuitul arata asa: Dar schema din proiect este diferita. Modificati si veti obtine rezultatele ca in proiect, adica un puls de 500mS la inchiderea intrerupatorului si un puls de 500 mS la deschiderea sa. Daca nu merge postati proiectul dvs. din Proteus, doar un singur fisier, ca sa vad ce ati facut. PS. Mai este ceva, utilizati o tensiune acceptata de 3.3V care este default in Proteus. @gsabac Editat Octombrie 13, 2019 de gsabac Link spre comentariu
Liviu M Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 Daca tot ce face pic-ul asta e sa detecteze modificarile unui pin, eu as folosi intreruperea "de modificare" (IOC) pentru pinul respectiv. Link spre comentariu
Elison Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 La 11.10.2019 la 12:31, marinizzo a spus: . Pentru schema de mai sus incearca fisierul atasat.Schimba extensia fisierului din .txt in .hex PIC10F200.txt 1 Link spre comentariu
marinizzo Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 Acum 5 ore, gsabac a spus: Daca aveti Proteus 8.7 SP3 decomprimati fisierul RAR si utilizati proiectul facut de mine., musai sa inlocuiti fisierul HEX cu acela din directorul decomprimat. De fapt Proteus schimba doar calea de cautare am inteles ce spuneti acum sa fac dar exista o problema la mine , eu folosesc proteus8 profesional(beta) care este o versiune cu crack si in librarie eu nu am decat 10f2xx , am cautat o librarie 10f3xx pentru versiunea mea dar se pare ca nu se gaseste diferenta intre schema mea si cea postata de dumneavoastra era doar la numerotarea pinilor uC-ului si denumirea pentru ca selectasem o capsula sot23-6 si nu una dil08 si la denumirea pinilor pentru ca dupa cum am zis eu nu am in librarie PIC10f320,am sa postez si un singur fisier cu proiectul meu de test in proteus 8 dar am sa caut sa schimb si proteus cu versiunea 8.7sp3 sonofftest.rar Link spre comentariu
marinizzo Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 Acum 1 oră, Elison a spus: Pentru schema de mai sus incearca fisierul atasat.Schimba extensia fisierului din .txt in .hex PIC10F200.txt · 0 downloads functioneaza perfect in simulator programelul pe care l-ati facut si se pare ca am rezolvat problema , inca o rugaminte mai am ,daca tot au ramas 2 pini liberi pe uC care pot fii folositi si ca intrare si ca iesire se poate sa modificati putin fisierul ca sa il pot folosi si pentru sonoff dual ,adica sa pot atasa 2 intrerupatoare independente , atasez o schema pentru a se intelege mai bine in momentul de fata SW1 lucreaza cu D1 daca este posibil ca sw2 sa lucreze cu D2 atunci il pot folosi pentru intrerupator dublu cu releu dublu(sonoff dual) multumesc toturor pentru ajutor , sunteti cu totii de treaba si raman dator de cinste . Link spre comentariu
gsabac Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 Acum 2 ore, Elison a spus: Pentru schema de mai sus incearca fisierul atasat.Schimba extensia fisierului din .txt in .hex PIC10F200.txt · 1 download Merge perfect! @gsabac Link spre comentariu
Elison Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 Acum 56 minute, marinizzo a spus: functioneaza perfect in simulator programelul pe care l-ati facut si se pare ca am rezolvat problema , inca o rugaminte mai am ,daca tot au ramas 2 pini liberi pe uC care pot fii folositi si ca intrare si ca iesire se poate sa modificati putin fisierul ca sa il pot folosi si pentru sonoff dual ,adica sa pot atasa 2 intrerupatoare independente , atasez o schema pentru a se intelege mai bine in momentul de fata SW1 lucreaza cu D1 daca este posibil ca sw2 sa lucreze cu D2 atunci il pot folosi pentru intrerupator dublu cu releu dublu(sonoff dual) multumesc toturor pentru ajutor , sunteti cu totii de treaba si raman dator de cinste . PIC10F200_dual.txt Link spre comentariu
marinizzo Postat Octombrie 13, 2019 Partajează Postat Octombrie 13, 2019 merge perfect si hex-ul pentru varianta dual se pare ca sa rezolvat cu micul meu proiect si tot ce ramane este sa-i dau drumul la treaba, multumesc inca o data tuturor care s-au implicat in proiectul meu si in special lui Elison, Gsabac si Ticu, va doresc multa sanatate si poate pe viitor o sa pot sa ma recompensez si eu fata de voi! Link spre comentariu
Mircea Postat Octombrie 14, 2019 Partajează Postat Octombrie 14, 2019 Si ce va zice 10F200 cand programul ii va cere sa seteze ANSELA (set = 1, clear = 0)? Care ANSELA nu exista in 10F200. Intreb si eu, nu vreau sa insinuez nimic. Link spre comentariu
gsabac Postat Octombrie 14, 2019 Partajează Postat Octombrie 14, 2019 Multumim pentru observatie, doar o mica neadvertenta, poate chiar o greseala si s-ar putea sa merga sau sa nu mearga. Codul l-am scris pentru PIC10F320 si intradevar PIC10F200 nu are comanda ANSELA, dar cine nu risca nu castiga si in acest caz o experimentare de catre cei interesati se face rapid si poate nu are riscuri, ramane de vazut. Am facut acest compromis datorita cunostintelor mele limitate si mediului mikroC care nu are suport pentru seria 10F2xx dar in MPLAB, pentru cine cunoaste, este suport complet pentru aceasta serie. @gsabac Link spre comentariu
marinizzo Postat Decembrie 8, 2019 Partajează Postat Decembrie 8, 2019 La 14.10.2019 la 9:07, gsabac a spus: a venit momentul sa ma apuc sa programez acest minuscul PIC , am asteptat ca cel de la tme sa isi refaca stocul si am comandat 10 bucati , am facut un mic adaptor (soclu) ca sa il pot programa asa cum am facut si pentru pic16f.. dar cand am incercat sa programez cu programatorul meu am primit mesajele astea Link spre comentariu
Liviu M Postat Decembrie 8, 2019 Partajează Postat Decembrie 8, 2019 (editat) Zilele astea mi-am adus aminte de proiectelul meu pentru comandat leduri WS2812B cu picuri, l-am curatat putin, l-am organizat ca "biblioteca" si l-am testat (aprinzand 5 leduri cu culori si cu pauze aleatoare) cu un PIC16F877 si cu un PIC18F14K50 (asta am la indemana). Atasez proiectul ("formatat" mplabx + xc8) intr-o arhiva. NU ESTE PROIECT "ars si merge" *), nici macar nu include hex-ul, dar (mi se pare mie) se poate adapta destul de usor pentru o gama larga de picuri. Am incercat sa comentez suficient codul, sper sa va descurcati. Cerinta cea mai importanta e frecventa oscilatorului folosit. Proiectat e pentru 20 MHz, mie mi-a mers si 18F14K50-ul cu oscilatorul intern de 16 MHz. La diferente mai mari sunt sanse sa nu mai functioneze. *) merge cum spuneam cu 16f877/18f14k50 si maxim 5 led-uri. PS Probabil n-o sa-l foloseasca nimeni (mai ales ca nu e complet public), stiu, da' nu-i nimic, am de unde sa-l iau daca-mi trebuie pe viitor. LE Testat cu 10 leduri... ws2812bPic-master.zip Editat Decembrie 8, 2019 de Liviu M Link spre comentariu
marinizzo Postat Decembrie 9, 2019 Partajează Postat Decembrie 9, 2019 am reusit intr-un final sa programez acest MCU si am facut si un montaj , l-am testat si functioneaza perfect . se pare ca problema era din mai multe locuri , una din ele era ca nu facea contact bine MCU-ul in suportul care l-am facut , alta din ele este de la programatorul meu care desi dadea o eroare la finalul scrieri, dupa citirea pic-ului daca reprogramam il putea citi si totul era ok 1 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