Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Helló!
A makrókkal kapcsolatban szeretnék segítséget kérni. Nézelődtem mindenfelé, de nem jártam sikerrel. OSSZEAD 0x33 OSSZEAD MACRO SZAM MOVLW SZAM ADDWF ERTEK,F ENDM Én azt hámoztam ki dologból, hogy így nem lehet beírni egy számot, csak azt nem tudom hogyan Előreis köszi!
Szia!
Egy szimbólumnak csak egyféle értéke lehet: az OSSZEAD így egy számot és egy macro-t is azonosít.
Inkább így:
Sziasztok!
Nem tudom, h jo helyen jarok-e, de azert megkerdezem. A szanitogepem ra van kotve a HD-s plazma tvemre es egy kicsit darabos a kep film nezes kozben. Egy ismerosom azt mondta,h grafikus kartya hianyzik a gepbol, ami igaz mert nincs benne. A kerdes a kovetkezo lenne: Mindegy h milyen grafikus kartyat teszek a gepbe vagy vannak kikotesek? A gep egy Intel Pentium 4 CPU 2.80GHz, Intel la crosse D865GLC (3PCI, 1AGP,4DIMM,audio,video,lan), rendszer memoria 512mb, BIOStipusa:AMI(06/22/04) Video kartya: szabvanyos VGA grafikus adapter(16192KB), a HDD-k egy 40GB a programoknak es 250GB a tobbi dolognak IDE-s. Lenne meg egy kerdesem, h a RAM-ot mindegy h milyet vagy ott is van esetleg kikotes? Remelem jol el tudtam mondani mindent es lesz megfelelo valaszotok... Elore is koszonom.. XFX ATI Radeon HD 4650 1GB GDDR2 PCI-E Graphics Card. Ez megfelelo lene?
Igen tudom! A gondom az hogyha megváltoztatom a CGRAM tartalmát akkor ezzel egyben a kijelző is törlődik! Tehát mondjuk kiíratok 4db egyedi karaktert a CGAM-ból, majd módosítom a CGRAM összes karakterét és kiíratok abból mondjuk 6db-ot. Akkor én csak az utolsó 6db-ot fogom látni, mert a CGRAM második feltöltésével törlődik a kijelző.
Nem, nem jó helyen jársz. Ez nem számtek fórum.
Amúgy meg AGP platformos videokártya jár bele, nem az általad kiválasztott PCI E-es. DDR 400-as RAM modulig fogad memóriát. No áldás békesség, keress egy számtek fórumot.
koszonom az utbaigazitast
Célszerű olyan csoportokat létrehozni, ahol is a felhasznált szimbólomok között átfedés van. Tehát, ha van 1-1 db. á-é-ű-ő-ö-ü-ú betűd és még 4-5 spéci karaktered, akkor az adott készletet (amit majd akkor éppen inicializálsz), tartalmazza az éppen kiíratandó karaktereket. Ez csak (megjelenítési) szervezés kérdése. Gondolom, hogy nem egy képen akarod egyszerre használni mind a 10-12db. spéci karaktert..? Nálam a spéci karakterek+ékezetesből 1-2 a működés közben, a menüben meg csak az összes ékezetes betű karakteres van definiálva. Ha belépek a menübe, akkor úgyis törölni kell és gyorsan újradefiniálom a kar. készletet. Visszalépéskor (a normál üzembe), pedig az előző táblát töltöm vissza. Tény az, hogy egy GLCD-vel ez sokkal egyszerűbb.
Üdvözletem!
Már az elején szeretném letisztázni,még nincs olyan nagy tapasztalatom a PIC-eknél. Szóval adott egy ötlet:Van ugye az a fajta karácsonyfa izzósor,ami meghatározott ütemben,variációban villant fel LED-eket össze-vissza.Ezt szeretném én kivitelezni PIC-el.(Márha lehetséges)Arra gondoltam,hogy lenne mondjuk 20 led és ezeket villogtatá egy mikrokontroller tranzisztorokon kereszül.Ugye a PIC-nek nincs nagyon sok szabadon felhasználható lába,tehát valahogy speciálisan kellene kapcsolni a LED-eket.Várnék minen irányú segítséget a kapcsolási rajztól a programig! Előre is köszönöm:Máté. :worship: Idézet: Ha a 80 vagy 100 lábú PIC is kevés, akkor használhatsz soros meghajtású periféria bővítő IC-t, vagy shift regisztereket, vagy 8 bites párhuzamos buszra pakolt latch regisztereket, vagy használhatsz időmultiplexelt meghajtást (mátrixba kötve a LED-eket).„Ugye a PIC-nek nincs nagyon sok szabadon felhasználható lába” Szerintem a LED cube projekteket nézd meg kiindulási alapként! Idézet: Moziba ne vigyünk? „Várnék minden irányú segítséget a kapcsolási rajztól a programig!”
Köszönöm!
Persze vannak 100 lábúak is,de én valami kisebb.gyakoribbra fondoltam pl 16F... .A mátrixba kötésre én is gondoltam,de nem tudon hogyan lássak neki.Ezért írtam ide. Máté [OFF]U.I.:Ha gondolod...
Közven kiegészítettem az előző beírásomat a LED cube projektekre való hivatkozással. Egy ilyen effekt sorozat karácsonyfán is jól mutathat (bár lehet, hogy idegesítő a rohangászó fény).
Van az oldalamon egy 150 LED-es(vagy lámpás) kapcsolás, forrással.
Ha engem elvinnél, az jó lenne. Az üvegtigrisre vedd meg a jegyet légyszi. Ha pattogatott kukoricát és egy nagy kólát is kapok, esküszöm egész nap apának foglak szólítani!
Sziasztok!
A suliban használom a mellékelt PIC fejlesztő eszközt ( a PIC18F452-es típussal ) és az a probléma, hogy mostanában több (2-3 db ) is tönkrement és nem tudom, hogy miért!? A srácok "normálisak" , PK2-t használunk, az RB6, RB7 lábakat csak a programozáshoz használjuk és úgy látom, a fórumon beszélt dolgoknak megfelel a kapcsolás, most mégis elkezdtek meghibásodni ( kb. 1 hónapon belül ). Korábban 16F874-ekkel használtam, több éven keresztül, ott nem tapasztaltam ilyen problémát... Hátha van valakinek ötlete A hibás PIC-eket már nem ismeri fel az égető, pedig a minimális égetési lehetőséget ( 10K-nak láttam ) még biztosan nem értük el! Előre is köszönöm az ötleteket! Steve
A/D converter programot szeretnék írni 16F877 re. A programmal szerintem nem sok gondom lesz, de a dokumentációt olvasgatva a következő kérdések merültek fel bennem:
Én 4 MHz -es oszcillátort használva a ADCS1:0 val 8*Toszc -ot állítanék be. Ez ugye: 2 usec -ot jelent. Mivel a konverzió idejét a lehető legrövidebbre kell venni, de minimum Tad = 1,6 usec, ezért a fenti optimális választás lehet. Amit nem tudok, hogy egy bemenetváltás után, illetve 2 mérés között szoftveresen kell-e 1-2 Tad idejű várakozó ciklust beiktatni. Vagy mint az adatlap FIGURE 11-3 -jéből látszik a Go bit bebillentése után a késleltetés magától megvalósul. A problémám az, hogy némely leírásban elvárják a szovtveres késleltetést például itt a 36. oldalon máshol pedig nem mint az itt is látható programban . Most akkor kell várakozni vagy nem ?
Kis pontosítást adnék a korábbi hozzászólásomhoz: A Wait példák a 7, 8 és 18. oldalon találhatóak meg. Kissé zavaró volt, hogy az anyag maga is belinkelt képeket tartalmaz, amelyen látható egy más logikájú lapszámozás is.
Szia!
A 16F877(A) esetében kell a várakozás, az órajel kiválasztás jó lesz. Idézet: „1. Configure the A/D module: • Configure analog pins / voltage reference / and digital I/O (ADCON1) • Select A/D input channel (ADCON0) • Select A/D conversion clock (ADCON0) • Turn on A/D module (ADCON0) 2. Configure A/D interrupt (if desired): • Clear the ADIF bit • Set the ADIE bit • Set the GIE bit 3. Wait the required acquisition time. 4. Start conversion: • Set the GO/DONE bit (ADCON0) 5. Wait for A/D conversion to complete, by either: • Polling for the GO/DONE bit to be cleared OR • Waiting for the A/D interrupt 6. Read A/D Result register (ADRES), clear the ADIF bit, if required. 7. For next conversion, go to step 1 or step 2 as required. The A/D conversion time per bit is defined as TAD. A minimum wait of 2TAD is required before next acquisition starts.” A fenti szerint kell tehát eljárni 16F esetén. Lehet buta a kérdés, de akkor minek állítom Tad értékét, ha nem használom, helyette mindent időzítgetve állítok be. Ráadásul így már a 3. pontban említett időt is ki kell számolni a következő módon: Idézet: „TACQ = Amplifier Settling Time + Holding Capacitor Charging Time + Temperature Coefficient = TAMP + TC + TCOFF” Ez pedig a PICmicro Mid-Range MCU Family Reference Manual -jában átlagos adatokkal egy példában 12 usec re jön ki. Aztán a 7. pontban ismét várni kell de most Tad ideig, ami már korábban kiszámolt 2 us (min 1,6 usec), ami egy másik időzítést kíván. Ja és akkor mellesleg a korábbi linken szereplő példaprogram, amely 16F et használ időzítés nélkül az hibás?
Szia!
Az alkalmazott "successive approximation / fokozatos közelítéses" A/D átalakító és a beépített mintavevő tartó áramkörök tulajdonsága. - A csatorna kiválasztás módosítása után azért kell várni, hogy a mintavevő-tartó kondenzátora feltöltődjön. A mérendő jel forrásimpedanciájának is azért van megadva maximuma, hogy a kondenzátor feszültsége megfelelően beálljon a 0.1% -os pontossághoz. - Az A/D átalakítás úgy működik, hogy egy regisztert nullázunk, majd a magasabb helyiéttéktől kezdve a biteket 1 -ra állítjuk. Megvárjuk, amíg a regiszter kimenetére csatlakozó D/A áramkör és a komparátor, ami a D/A kimenő a mintavevő-tartó kimenő feszültségét hasonlítja össze, beálljon. A komparátor kimenetének szinte alapján az aktuális bitet 1-ben hagyjuk, ha a mintavevő-tartó kimenő feszültsége a nagyobb, vagy töröljük, ha a mintavevő-tartó kimenő feszültsége az alacsonyabb. Ezután a következő helyiértékkel folytatódik az átalakítás, a 10. bit után elkészül. A helyes működés érdekében meg kell várni a D/A és a komparátor beállását. Az A/D órajelének kiválsztásánál ezért van előírva maximális órajel frekvencia. A várakozás sokféle módon megvalósítható: - Alacsony órajel frekvenciánál már az amúgy is szükséges műveletek ideje is kiteszik az időt (pl. 4MHz -en két utasítás ideje 2uS). - Programmal való várakozás: nop -ok (4MHz -en 1 us/nop), goto $+1 (4MHz -en 2 us/goto), egy return utasítás hívása call-lal meghívása (4MHz -en 4 us/call), várakozási hurokkal, stb... - Ha nem lehet várakozni, akkor egy állapotgép / state machine, ami a fázisokat (csatorna váltás, S/H várakozás, A/D indítás, ...) lekezeli. Az állapotgép valamelyik timer megszakítás segítségével méri az időt... Ha nem várjuk ki a megadott időt, az átalakított érték nem lesz pontos, a kiolvasott érték több alsó bitje változhat állandó bemeneti feszültségnél, súlyosabb esetben (A/D órajel túl rövid) teljesen rossz kódokat is eredményezhet.
Üdv!
Égetővel kapcsolatban lenne pár kérdésem: (http://wattmep.tvn.hu/W_LPT_Vpp_Mini/WLPT_Vpp_mini.html szeretném elkészíteni, mégpedig a külső tápos verziót. Azt szeretném kérdezni, hogy a C8 és C9 kondenzátorok hány voltosak legyenek, illetve hogy a printerport 18-25 lábait szükséges e földelni? A tápellátásra egy 12V-os adaptert gondoltam amiből feszültség osztással előállítanám a szükséges 5V-ot is (Hangfal adapter), Ez az ötlet életképes? Illetve még nem tudtam választani a PIC arzenálból, a következő jó választás pl egy futófény elkészítéséhez? http://www.hestore.hu/prod_10024638.html Amennyiben ez a változat nem megfelelő javasoljatok egy kezdőbarát lehetőséget
Köszi a választ, igaz nekem a A/D átalakítás elve lényegében ismert volt. Abban neked teljesen igazad van, hogy 4MHz oszcillátorfrekvencia esetén már az egy ciklusidejű utasítás is lényegében 1 usec késleltetést jelent. Tehát összemérhető a megkívánt időzítésekkel.
Azonban előző kérdésemből arra még nem kaptam választ, hogy a GO bit beállítása előtt az a bizonyos Acquisition Time (TACQ) idő (amely alatt feltöltődik a tartó kondi és a doksiban példaként is kiszámolt értéke - lásd fent képletet - 12-20 usec között van), egyedül ez kíván -e külön időzítő rutint. Elméletem szerint erre az időzítésre az első és két egymás utáni mérés között van szükség. Ezután indítunk Go val. Hatására leválasztódik a tartó kondi (Tcy to Tad), majd megkezdődik az A/D konverzió (Tad). Imételt Tad idő után előáll bit9, majd újabb Tad idő után bit8, stb. Tehát a Tad idő ADCON0 val való beállítása csupán azt szolgálja, hogy eléggé kicsi lehessen az az idő, amely a tartó kondiról történő leválasztás és a digitalizásás megkezdése között eltelik (gondolom, hogy ne eshessen a feszültség a kondin jelentősen). Tehát, ha a fentiek igazak nekem egyedül a TACQ időt kell időzítésben programoznom. És mivel mértéke 20 us is lehet, nem lehet a véletlenre bízni, az utasítások ciklusidejére, mert az egy nagyságrenddel kisebb már 4MHz nél is. Mindezt a ww1.microchip.com/downloads/en/devicedoc/33023a.pdf Figure 23-2 és Figure 23-4 alapján gondolom. De egyáltalán nem vagyok biztos mindebben, ezért kérlek benneteket, hogy pontosítsátok a fentieket! Idézet: „a C8 és C9 kondenzátorok hány voltosak legyenek” Ezek a kondik általában minimum 50V-osak, bármelyik kerámia 100n jó ide. De ha ragaszkodsz egy értékhez, minimum 16V. Idézet: „a printerport 18-25 lábait szükséges e földelni” Földelni a halottakat szokták meg a villanyszerelésben használatos fogalom, egyébként a testet rá kell kötni mindre, miután a rajzon is így van. Idézet: „A tápellátásra egy 12V-os adaptert gondoltam amiből feszültség osztással előállítanám a szükséges 5V-ot is” Az adapterek a legritkább esetbe nbiztosítanak szűrt és stabil 12V-ot. Ha a tiéd ilyen, akkor nem szóltam. Futófényhez bármelyik PIC jó aminek van annyi lába, esetleg van belső oszcillátora. Pl. 16F690, vagy 16F628A, esetleg 18F 1320, 2321, stb. attól függően mekkora futófényt akarsz és milyen hosszú fényjátékokat akarsz letárolni a PIC-ben.
Köszönöm a segítséget és egy újabb kérdés, honnét szedjek stabil szűrt 12V-ot Vagy lehet jobb megkérdezni hogy ajánlatosabb lenne a külső táp nélküli megoldásra koncentrálni? Juteszemba a PC-böl a veszek a tápról 12V-ot az oké?
Igen, a két regulátoros kell neked.
Egyébként elolvastad, hogy nem mindegyik LPT porton működik? A másik verzió, amiben IC-is van, az jobban ajánlható, bár ezt is érdemes előtte összelógatni, mert lehet, hogy működik...
Köszönöm a gyors választ, bevásárolok és majd írok hogy mire jutottam
Ez a fajta IC jó bele: http://www.hestore.hu/prod_10024269.html ? És a 14..20V -ot akkor a gép tápjáról leakasztom, vagy ennél a változatnál nemkell hogy stabil szűrt 14V-ot kapjon? Nem nagyon értek hozzá gondolom már maga is rájött
Egyrészt itt mindenki tegez mindenkit, mert különben baj lesz!
Máskülönben igen, rájöttem. A 7805 és 7812 állítja elő a szűrt stabil tápot, ha ilyen van a kapcsolásban ,akkor a 14..20V nem kell, hogy szűrt és stabil legyen, azaz a 12V-os dugasztáp pont jó lesz rá ezután. A gépről nem kell levegyél semmilyen feszültséget, abból csak baj lenne egyelőre. Majd később erre is rátérhetsz, ha már tudod a módját! Javaslom, hogy olvass kicsit utána(előtte), pl. a PIC kezdőknek topicban is, (ezek a kérdések is oda illenének inkább), és a PIC égetési kérdések topicban is. Az oldalamon gondolom az égetők élesztése cikket már olvastad, ha nem akkor azt is érdemes. Sok sikert!
Köszönöm a válaszod, igen olvastam az égetők élesztését, amúgy jó az oldal sok információt szereztem róla, további szép napot!
Sziasztok!
Olyan problémám lenne, hogy egy PIC16F84A -val szeretnék meghajtani egy 74HC595 S.reg-et, de sehogy se megy. Ma 50x égettem a PIC-et. CCS-ben programoztam, de itt a hardware-es bekötés: PIC: 4MHz | MCLR -> 10K keresztül +5V PIC A4 74HC595 14.láb DS PIC A3 74HC595 11.láb SH_CP Shift Clk In PIC A2 74HC595 12.láb ST_CP Storage Clk In (74HC595 /OE -> GND /MR -> +5V ) A programom:
de az eredetivel sem akar menni, nem hiszem, hogy mind a két 595-ös ic rossz lenne... külön-külön próbáltam őket. az eredeti CCS függvény hívása, és a függvény:
Kérlek szépen, segítsetek rajtam, mert már nagyon kezdi elvenni a kedvemet. Előre is köszönöm mindenkinek! |
Bejelentkezés
Hirdetés |