Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nem óra ezeknek a fő alkalmazási területe, hanem precíziós műszerekben, ipari berendezésekben használják (pl.: funkciógenerátorok és frekvenciamérők időalapjául). Viszont órát csinálhatsz nagyobb frekijű órajellel is, csak hosszabb osztólánc kell hozzá.
Üdv!
Az este átgondoltam a dolgot, hogy hogyan lehetne megoldani. Mindenképpen le kell választani a 3V-ot, relé túl nagy, sokat fogyaszt (bár tudom, hogy vannak SMD-k is már) de másra gondoltam. Még szóbajött a tranzisztor, csak azzal az a baj, hogy esik rajta valami maradék feszültség, ha teljesen ki van nyitva. Habár PIC-el ezt lehet korrigálni, ha tudjuk az értékét, hogy mennyi esik rajta. Igazából, én a FET-re gondoltam. Minimális a fogyasztása, csak még azt nem tudom, hogy ha nem kap vezérlést, akkor elég nagy-e a belső ellenállása, hogy a PIC felé ne csurogjon, ill, ha teljesen ki van nyitva, akkor esik-e rajta fesz. Erre majd kérnékszépen ötletet, hogyjó-e. (#474417) Hp41C: A felhúzó ellenállásokat természetesen bekötöm. Bár nem vagyok biztos, hogy mit szeretnél mondani, de én így fogom fel: ha nincs benne a felhúzó ellenállás, akkor meríti pluszban az elemet, ha van, akor kevésbé? A PIC-en, vagy az RTC- belül megy át a többi lábra? Mert a 3V-os elem csak az RTC 8-as, táp lábára megy, máshova nem. (#474619) elektroláma: Igen, csak egy RTC lesz Az analóg portal nézném minden bekapcsoláskor az elem állapotát, és ha egy megadott szint alá esne a feszültség, akkor riaszt/jelez a PIC, hogy cserélni kell, így meg lehet róla nyugodtan feledkezni, vagy még talán ki is írom, hogy épp mekkora a fesze, de az csak majd a szoftverírásnál dől el
Szia!
A felhúzókat úgy értettem, ahogy a rajzon van. Az SDA és SCL vonal open drain kimenettel rendelkeznek, mindenképen kell a felhúzó ellenállás. (Ha a +3V -ra van kötve, akkor a kikapcsolt tápú pic belső diódáin keresztül folyik az áram.) A germánium dióda helyett lehet Schottky-t is használni. A relés megoldás tűnik a legjobbnak, csak a mérés idejére bekapcsolva, minimális lesz a fogyasztása. A tranzisztoros, fet-es kapcsoló szivárgási árama nagyobb lesz, mint az RTC tápárama. Szia
Üdv!
Akkor marad az SMD relé, még pont tudom vezérelni. Feszültség mérés után pedig lekapcsolom a relét. Köszi a segítséget!
Sziasztok!
Van egy LTC 5623 HR Link névre hallgató 7 szegmenses 4 digites kijelzőm. Még sohasem használtam ilyet, de most szeretném rákötni egy kicsi PIC-re és egy változó értékét megjeleníteni rajta. Tudnátok segíteni a bekötésben? (Alul-felül van neki 6 kivezetése) Köszi
A programról érdeklődsz, hogy hogyan kéne multiplexelni?
Mert a bekötése nem PIC kérdés, és rengeteg példát találsz, ha keresel.
Igazából mindkettő érdekelne. (Lehet, hogy rosszul kerestem, de nem találtam rá épkézláb bekötési példát)
Hogyan lehet/érdemes hozzákötni a pic-hez és persze hogyan kell rajta megjeleníteni egy értéket? C-ben akarok egy kis programot, ami egy szenzortól kapott értéket jelenítene meg a kijelzőn. Csak fontos lenne, hogy messziről is jól látható legyen, ezért gondoltam erre a típusra... De visszatérve, az is nagy segítség lenne, ha elmondanátok a logikáját a programozásának! Köszi
Neharagudj, de google-ben "7 segment multiplexing" első találata is mutat bekötési példát és programot is, ráadásul C-ben. Meg már néhányszor itt a témában is ki lett tárgyalva a multiplexelés, szerintem erre annyi információ fellelhető a neten, hogy ettől többet senki sem fog neked írni...
Nem jól kerestem rá...
Már is nézem, köszi!
Sziasztok,
az oldalon találtam ezt a kapcsolást. Azt szeretném kérni, hogy valaki legyen szíves úgy átírni a 2X16-os programját, hogy induláskor, amikor a tápot megkapja, 15 percről rögtön induljon el a visszaszámlálás. Csatolom az ASM fájlt. Nagyon fontos lenne ez nekem. Sok köszönettel: Maverick
Sziasztok!
Most kezdtem a Picekkel foglalkozni. Kezdésnek megépítettem a picnick oldalon(Bővebben: Link) található Bojan Dobaj féle égetőt, illetve egy próbapanelt, ami szintén erről az oldalról származik. Nos a következő a helyzet: amikor az égetőre rákapcsolom a 12v feszt, akkor világít a zöld led. Idáig OK! IC-prog-gal megpróbálom programozni, azt írja ki sikerül. Amikor lekapcsolom az égető tápját és ismét programozásra nyomomk, ugyanezt írja ki..... érdekes... Megpróbáltam winpic-kel... Ez kiírja, hogy égető rendben, delay ok! rányomok, hogy égetés, majd visszajelzi hogy sikerült a programozás. Valójában lehet, de akkor az égetőn az egyik piros led miért nem ég égetés közben?-a leírás szerint kéne.... Ha rányomok az olvasásra, READING PIC error(maybe blank)-ot ad ki... Ezek után beraktam a próbapanelbe. Rákapcsoltam a 9 voltot, de semmi.... Vajon mi lehet a probléma? A jumpereket illetve a dip kapcsolókat szerintetek hogyan kéne állítani?
állítgatni is szeretnéd? mert sima 15 perces időzítő 555-el gyorsan megvan, olcsóbban is, és vmenyirre az is állítható potikkal.
Üdv!
Van itthon egy 2x 24 karakteres kijelzőm ! Hogy tudnám ezt valamire használni?
Típus?
Hőmérő, óra, vmi időzítő, stb... Mondjuk Lidl-ben talán 1500 volt akcióban egy Radio kontrolled LCD-s óra. Filóztam, hogy megveszem, és kiszedem belőle a dcf-et
Üdv!
A tipusa DM2423 (van a hátúlján 3 ic ebből 2 LC7930 a harmadik pedigLC7985NA) Bővebben: Linkhttp://pdf1.alldatasheet.com/datasheet-pdf/view/39694...3.html Egy tápegységbe szertném bekötni hogy mutassa hogy hány volt illetve hány amper van a kimeneten
Pár kép róla:
Ahogy elnézem HD44780 kompatibilis, akkor meg találsz itt egy csomó példát rá, és C-ben is vannak rá modulok.
Ad konverterrel a fesz egy illesztéssel sima ügy, amper részt meg többiek megírják, bár nem tudom, mennyire pices téma. :google: Itt van, mi mi.
Az hogy PIC-es téma e nem tudom én sem :no:
Írtál már vmilyen pic-es programot?
Mikrobasic heépjében pl ott van egy kapcsolási rajz, hogyan kösd rá az lcd-t.
Üdv!
Lenne még egy keresztkérdésem! Az időzítéseket pontosan hogyan lehet meghatározni hogy legalább a kívánt időtartam meglegyen? Én így számolok: 16bites fosc/4/Prescaler*(ciklusszám*(1vagy2vagy3 ciklusos az utasítás)= 20MHz/4/256*(ciklusszám*3)= min -max: 0,1536 ms - 10 066 ms (10sec) ciklusszám: AA00h~1s FFF8h~1ms Modjuk így nem az igazi, mert max beállításnál kb 1s-os led villogást érek el, de ebbe nem számoltam bele az egyéb utasítások ciklusidjét. Szóval valahogy így kellene számolni?
Nem irtam még pices programot! De nagyon érdekel és gondoltam ez lehet ...
Mi az a microbasic?
Mikrobasic, mikroc, picbasic, stb programnyelvek könnyítik meg a picprogramozó életét(vagy néha nehezítik meg). Mikroc-t(nem tudom, hogy hívják még a többi c-s picprogramot) ajánlom inkább, azt többen használják, és több példa van a neten.
Írtál már PC-re programot valamilyen nyelven? Sztem kezd watt oldalán, és ha azok után még érdekel, kérdezz.
Hol van vatt oldala?
A nevére kattintva a profillapján megtalálod.
Neharagudj, de látom, hogy fel fogsz tenni egy csomó kérdést, ami már sokszor meg lett válaszolva itt a témában, ezért mielőbb bármihez hozzáfogsz, javaslom, hogy olvasd ezt a témát végig az elejétől a végéig!
Valamit te itt nagyon keversz. Ha timert használsz időzítésre, akkor lényegtelen egy utasítás végrehajtási ideje. A lényeg, hogy a timer a fosc/4/prescaler eredménye alapján kapja az órajelet, és ezzel számol a beállított kezdőértékétől felfelé 0xFFFF-ig (16 bites timer). Amikor ezután jön a következő órajel, akkor átbillen 0x0000-ra, és bebillen a hozzá tartozó megszakítást jelző flag (pl. TMR1IF). Tehát neked az a lényeg, hogy a TMR1H és TMR1L-be olyan kezdőértéket írj, hogy arról 0x0000-ra annyi idő alatt érjen fel, amennyi idő neked kell.
Valahogy így, bár nem tudom milyen ciklusszámmal számolsz.
Én úgy számolnám, hogy megnézem, hogy egy utasítás milyen időtartamig tart. Ezt a Fosc/4 adja meg. Ebből ki lehet számolni, hogy mennyi gépiciklus kell a kívánt idő eléréséhez(mert itt igazából várakozni is elég, mivel az LCD-t egyszer kell inicializálni, és ekkor bőven van idő még mindenre, akár a várakozásra is) A várakozást pedig egy szubrutin hívással meg lehet oldani, ahol a szubrutinban egy, vagy több ill. egymásba ágyazott több ciklus van. A durva számolás után meg kell írni a szubrutint, majd szimulátor módban kétszer egymás után meg kell hívni. Mindkét CALL sorhoz kell tenni egy-egy B (break)-et. A StopWatch ablakot felnyitod, és az első breaknél lenullázod, majd tovább lépteted a második breakig. Ekkor a StopWatch ablakban leolvasható az eltelt idő. Fontos, hogy be kell állítani az Fosc frekit a Debugger/Settings nél.
Portb interrupt 4-7-ig
RBIE=1, addig ok. Inton2-n van egy RBPU(PortB pull-up Enable bit) Ha 0, akkor all pull-ups enabled. Magyarul csak egy sima nyomógombot kell tennem a láb, és a 0 közé?Lenyomásra, vagy felengedésre reagál?
Interrupt-On-Change jelentése lenyomás vagy felengedés?
Nyomógombhoz előre szólok, hogy pergésmentesítés kell. Emiatt megszakításból kezelni problémás lehet...
Értem.
Akkor megy simán a kódba, interrupt nélkül Gondolom a sima interrupton(int2) is felejtős a rising-falling kiválasztás, a pergés miatt Delay-t nem igazán akarok a kódba tenni, mert a főprogi dobálja ki a bcd-t a portokra rtc-től.
INTx lábakon lehet választani, hogy fel vagy lefutó élre reagáljon (adatlap).
Nézd meg, hogy ebben a kapcsolásban hogyan van megoldva a pergésmentesítés: Link Gondolom ez valami óra lesz, ahhoz meg simán jó a főprogramból intézni mindent. A megszakítás arra kell, amikor valami eseményre gyorsan kell reagálni. A nyomógomb ugye nem ilyen, mert úgyse tudod gyorsan nyomkodni, illetve egy-két tizedmásodperc késés is simán belefér a lenyomás lekezelésébe. |
Bejelentkezés
Hirdetés |