Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Ezen a rajzon csak 2x1 LED van, hogyan kototted be a 3x3-at? Annak kellene a kapcsolasi rajza...
nagyon kivülálló vagyok,egy pic programot szeretnék vkivel iratni.elég egyszerü lenne,egy kb.5-500hz-ig oszcillátor,billentyümátrix,hogy ne kelljen sok bemenet,és néhány xor kapu.
nagyjából ennyi. természetesen nem ingyen kérném ha vkinek volna ideje foglalkozni vele,********* Ne adj meg adatokat nyilvánosan és ne hirdess a topicban. --vicsys
Próbáltad kiolvasni a PIC-et, és egyezett a tartalom? Config és Flash, esetleg EEPROM a fontos. A kiolvasáskor a program kiírja ha eltérés van...
A 3 LED nyitója lehet, hogy nem fér bele a tápfeszbe. Persze ez attól is függ, milyenek a LED-ek és a nyers tápfesz. Idézet: „A 3 LED nyitója lehet, hogy nem fér bele a tápfeszbe. Persze ez attól is függ, milyenek a LED-ek és a nyers tápfesz.” De lehet parhuzamosan kototte be es mas a gond -- ezert kerdeztem tole hol a kapcsolas...
Jogos. Bár mintha azt írta volna, hogy sorba vannak kötve. Persze lehet úgy is érteni, hogy a kimenettel vannak sorbakötve, na mindegy, tényleg kell a rajz, csak itt ez elég off lesz, de kibírjuk!
Amugy azt irta, hogy a rezhez hozza er es akkor vilagitanak a LED-ek, viszont a PIC labain nem mer semmit, ebbol kovetkeztettem csak arra, hogy ott valami mas zur lehet, mert a PIC laban akkor is meg kellene jelennie a magas szintnek, ha a tranzisztor Ice -je 0.
Amugy nem ertem azt az 'eredeti kapcsolast', hogy ugye 9V-rol hajtja meg a LED-et, 68ohm korlatozassal. Tehat a tranyon esik 0.6V, mondjuk a LED-en 2.4V, az osszesen 3V, marad 6V, tehat akkor kb 90mA -re van ott az aram beallitva. Nem tudom milyen LED-ek lehetnek ott, csak kicsit magasnak tunik ez nekem -- hacsak nem multiplexelesre vagy PWM-es meghajtasra, magyaran aramtuskekre van ez az egesz kitalalva?
Üdv mindenkinek !
Olyan kérdésem lenne hogy lehet e olyat csinálni hogy mplab ban programozom a picet és szeretnék több asm et vagy valamilyen fájlt amibe írok alprogramokat és azokat a fő programba csak beemelem és meghívom ? Előre is köszönöm a segítséget.
Az MPLAB projekthez egyszerűen hozzáadod a többi fájlt.
És akkor utána csak goto utasítással az abban levő szubrutinokat meg tudom hívni ?
Tobb ASM file-nal mar erdemesebb un. linker scriptes -- vagy mas neven relokalhato kodos -- fejlesztest csinalni. Ilyenkor a valtozok helyet a linker fogja meghatarozni, m csak teruleteket hatarozhatunk meg a linker scriptben, hogy hova gyujtson X vagy Y tipusu adatokat, ill, hogy azokat ugyanarra a bankra tegye.
Masik lehetoseg, hogy #include -dal beilleszted a masik ASM file-t, amit ilyenkor erdemes .INC kiterjesztessel ellatni, ezzel is kulonbseget teve, hogy az nem a fo program vagy linker scriptes modul, hanem egy "include allomany". Ez joval egyszerubb, de kevesbe biztonsagos megoldas (nincs vedve, hogy a valtozok, konstansok es kod teruletek ne kerulhessenek ugyanarra a memoria cimre, mint ahogy az sem, hogy a bank-ot vagy kod lapot ne cimezhessuk tul...)
Ha létrehozom azt az .INC fájlt abban ugyan úgy fel kell építeni a programot mint az eredeti programban, vagy valahogy máshogy épül fel a program ? Valamint ha be emeltem akkor hogyan tudom meghívni ?
Nekem van olyan LED-em, ami 350mA-t is elvisel 3x, (RGB). 3V körüli feszültség esik rajtuk! Gondolom egy "rendőr" stroboszkópban hasonló teljesítményű LED kell minimum!
Az INC-ben program részeket hozol létre, olyan, mint ha a fő asm-ban írnád, csak nem. Amikor beincludeolod, akkor oda fog beszúródni. Olyan mint egy makró. Minden változó és címke közös.
Sikerült megoldanom az include al.
Mindenkinek köszönöm a gyors választ.
Először is a ledeket sorbakötöttem és a tápfesz durván 10v . ha a stab kocka után kötöm a tranzisztorok bázis ellenálását akkor szinte full fénnyel világítanak a ledek.
Helló mindenki!
Egy pic 16f628 komparátor illesztése adta fel a leckét. Az an1-an2 használnám komparátor bemenetként. An2-re gondoltam egy külső referencia feszt, an1 re pedig a "mozgó" feszt. Felfedeztem, hogy a komparátor bemeneti ellenállása nagyon kicsi (25-30 Ohm). Külső klasszikus fesz. osztót nem tudok rá méretezni, a kicsi belső ellenállás miatt. Ha teszek a lábára 1-2 kilós ellenállást, akkor működik a dolog, de akkor a komparálási feszültségek olyan 0,5 V környékén mozognak. Ha mondjuk 1V ra akarom beállítani a referencia feszt akkor olyan kicsi ellenállást kellene rátennem (100-120 ohm), hogy meglehetősen nagy áram folyna a körben(~30 mA) A dokumentációból csak annyit sikerült kibogarászni, hogy max. 10k legyen ráakasztva. Miért van ez? Most én csinálok rosszul valamit? Fel tudna homályosítani valaki? Idézet: „Most én csinálok rosszul valamit?” Valószínűleg igen, mivel az nem normális, hogy ilyen alacsony a komparátor bemeneti ellenállása. Nem állítottad véletlenül az ezekhez a lábakhoz tartozó TRIS biteket nullába?
Azt honnan veszed, hogy 25-30 ohm lenne a komparátor bemenő ellenállása? Merthogy az adatlapban én semmi ilyet nem látok, az összes I/O port bemeneti állapotára szivárgó áramokat látok csak az adatlapban, de azok ilyen +/-0.5 és +/-1 uA nagyságrendűek. Szerintem te valami kimenettel szemben próbálsz dolgozni, ha ilyen kis bemeneti ellenállást érzékelsz.
A komparátor felprogramozásáról, illetve a külső elektromos kialakításról írhatnál többet, tehetnél fel képet, programrészletet.
Heló! Beolvastattam a picet és benne van a hex fájl. a nyákrajzot is mellékeltem, de én átnéztem már vagy 3x és semmi.
Én sem találtam hibát, nem tudom mi lehet. A tranyók BC337-ek?
Hello mindenki. Most kezdtem programozni (BASIC-ben, PIC16F877a-tipusút ) és van egy olyan problémám hogy a port lábait nemtudom beállítani digitálisra. Az adatlapban találtam valami adcon1 és adcon0 parancsokat a lábkiosztásra de nem teljesen értem,de viszont ezekkel a nemtudom az d,b portokat beállítani.
Ha tudtok légyszíves segítsetek, előre is köszönöm.
Miután nem ismerem a PIC Basic-et(eszembe se jutott Basic-el kezdeni, pedig PC-n VB6-al dolgoztam), ezért csak tippelek, hogy talán el lehet érni a TRISx (x=A,B,C,D,E stb.) regisztereket, amik az adatlap szerint ha megnézed, a portok irányát állítják be.
Viszont van egy sejtésem, hogy a Basic próbál mindenféle openekkel operálni, ezért javaslom a fejlesztő környezet helpjét elolvasni ez ügyben.
A tris parancsal azt állítom hogy ki vagy bemenet, azt nem tudom hogy ha már a portot beállítottam ki/be menetre akkor hogy legyen az digitális, mert valahogy azt meg kell adni különben nem működik.megnézem a helpet köszi
Idézet: Tulajdonképpen mit akarsz beállítani? Az adatlap szerint ezek eleve digitális portok. „ezekkel a nem tudom az d,b portokat beállítani.”
1W-os, amolyan power ledek. 200mA-rel lehetne hajtani, de a biztonság kedvéért csak 100mA-et engedtem át. Láthatod a videon is, hogy így is elég rendes fénye van.
Nos, hogy így mondod meg fogom nézni holnap. Nem esküdnék meg rá, hogy nem hagytam nullán.
Onnan veszem, hogy annyit görcsöltem már az osztóval, hogy szinte minden porcikáját mértem, számoltam. Áramot, feszt, ellenállást változtattam és mindig valami 27 Ohm van a komparátor bemenete és a GND között.
A vicc az egészben, hogy a komparátor tulképpen működik. A komparátor regiszter kimenetét egy leddel láthatóvá teszem. A komp. bemeneteket a kicsi belső ellenállásra számolva illesztem és változtatom, és tökéletesen úgy működik ahogy kell. A komparátor belső Vref ellenállásai kikapcsolva, csak egy komparátor van bekapcsolva. Külső elektromos kialakítás csak egy fix ellenállás osztó lenne az egyik bemeneten a másikon meg egy poti szintén osztóként rakva. agyam elszáll már tőle...... (holnap megnézem, hogy nem-e nullán hagytam a lábakhoz tartozó TRISt, Ha igen akkor felkötöm magam)
Kösz a választ, olyat szeretnék hogy van10db komparátorom különböző referenciaszintekkel és a komparátor kimeneteinek függvényébe írja ki 7 szegmensesre az értéket. A programot nagyjából tudom csak eddig 887-es pic en dolgoztam most pedig vetttem egy saját 877-es et és ez más parancsokkal működik.
Pedig ott valami olyasmi lesz, amire potyo is utalt, és valószínűleg a kimenetet próbálod erőszakkal vezérelni kívülről. Ellenőrizd a komparátorhoz tartozó portbitek beállítását!
Fel semmiképp se akard kötni magad, főleg nem egy ilyen apróság miatt! A "vén rókákkal" is előfordulnak hasonló bakik, aztán mikor kiderül a hiba, az ember csak a homlokára csap, maximum káromkodik magában egyet.
Az A porton kell beállítani, hogy digit IO legyen, a többit nem az eleve az. Ez is benne van az adatlapban az AD résznél. Ha nem boldogulnál szólj, megmondom mit kell nézz!
|
Bejelentkezés
Hirdetés |