Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Az még semmi, hogy nincs soros ellenállás(én 1K-t ajánlanék inkább), de semmi védelem nin a bemenete túlfesz ellen. Ha tényleg 10V kerül az akku csatlakozójára, mikor nincs benn a cella, akkor előbb utóbb tönre fog menni a PIC!
Ezért ajánlottam a 10k vagy afeletti soros ellenállást, a clamp diódával az már egy (elég elítélhető, de működőképes) védelmet fog adni. 10k-nál és 10V bemenetnél 500uA áram fog keletkezni, amit "felzabál" a többi áramköri részlet, nem fog megemelkedni a tápfeszültség. A gond egyébként csak 1 cellára jumperet osztóláncnál jelentkezik, bárhova máshova kerül a jumper már a javasolt 10-20k-nál jóval nagyobb forrásimpedanciával fogja az RA0 lábat meghajtani.
Persze, hogy korrektebb lenne egy soros R és egy Zener az I/O lábra, de mivel annak sincs a panelon hely kialakítva, az már két plusz alkatrész a fólián utólag patchelve. Egyébként nem kritikus a soros ellenállás, főleg, ha a pártíz nF a bemeneten ott van, az elég kis dinamikuks impedanciát képvisel a mérések idejére - ráadásul itt nem lényeges a gyors mintavételezési lehetőség sem. Az biztos, hogy az eredeti kialakítás nem gondolt arra, hogy valaki 1 cellára is teheti a jumpert.
Szia!
Nem hardware gondom van vele. Fel akartam tenni a pp4u nevű programozó softwaret, erre feltételül szabott valami másik file-t amit le kellene tölteni. Most vagy elbénázok valamit, vagy az a file 321MB Leírnád hogy tetted fel a pp4u programot? Köszi! Mot megpróbálta újra. Azt mondja, hogy szüksége van a .NET framevork version 1.1.4322-re Azt te hol találtad meg?
Felraktam ide amivel nekem ment: dotnetfx.zip
Csak 23MB.
Szerintem Windowsupdate-tel fel kell tenni a .NET fw 1.1-et, utána lehet, hogy talál még hozzá service pack-ot vagy egyéb javítást.
Köszi!
Letöltöm, próbálom... Holnap úgyis legyalulom az egész nyamvadt Windows-t Így most semmi sem drága
Inst(all)álom allássan, hogy van az az MPLAB felrakva? Nekem nincs szürke gomb!!!
Mellesleg az a 4csatakkutoltoPIC18F2320.asm fájlnév mit keres a projektlistán?! Nekem csak azt kellett kivenni.
Köszi!
Teljes siker! Írom, olvasom törlöm a 12F508-akat. Igaz a műhelygépen 98 alatt keres 1 dll filet, ott nem megy, de itt a nagygépen (minden vírus ellenére) jól működik. Holnap win legyalul, és újra felrak, és automatikusan ez a program is felkerül.
Jóestét mindenkinek!
Van egy kis problémám c30+GraphicLibrary programozásban.Nekem egy BTN_MSG_PRESSED kéne, mert újrakéne rajzolnom 1 gombot.Én ezt írtam, de nagyonnem működik: if (objMsg == WND_MSG_TITLE){ if(pMsg->uiEvent == EVENT_PRESS){ color=GetPixel(x,y); col->Color0=color; BtnTranslateMsg(pBtnCol, pMsg= EVENT_PRESS); } } Ebből a BtnTranslateMsg(pBtnCol, pMsg= EVENT_PRESS);-es rész nem működik, ha kiveszem és nyomkodom a gombot akkor frankón változik a színe.Valakinek valami ötlet?Ez egy nagyon basic vektorgrafikai program lesz.Ha kell valakinek, eltudom küldeni a kódot. Előreis köszönöm:Katona Ábel
Basszus a tieddel működik!
Ami azonnal feltűnt, hogy neked csak az ASM van a projectben. Én mindíg felveszem a projectbe az .LKR-t és az .INC-et is... Linker scriptre nincs szükség??? Mert a INC végülis include-olva van.
A kettonek semmi koze egymashoz. Az INC-ben csupan definialva vannak az SFR-ek es par mas, az adott MCU-ra jellemzo dolgok, mig az LKR az a linker script, azaz nem a forditonak hanem a linkernek szol. Az akkor kell ha un. relokativ modban programozol. Ha abszolut modban akkor az oda nem kell. Valoszinuleg a forditaskor vannak uzenetek amiket nem vettel figyelembe es amibl a problemara mar reg feny derult volna, ezert irtam, hogy meg kellene nezni miket ir ki a forditaskor.
Egyéb fájlokhoz tettem fel, néztem rajta valamit...
Milyen technikával lehet a legegyszerűbb eldönteni egy 10 bites A/D konverzió eredménye kisebb vagy nagyobb egy küszöbértéknél?
Jelen esetben, figyelném a lámpa akku feszültségét (1/3-os fesz osztón kapja a jelet a PIC) szertném mérni, hogy ne essen 10,5 Volt alá. A hozzá tartozó ADRES érték 2CDh vagy 717 decimálisan. Tehát hogyan tudom kezelni a legegysezrűbben a 2 bájtos összehasonlítást?
Ha a H'2CC' meg elfogadhato, akkor egyszeruen 2-vel el shifteled es ossza hasonlitod H'B3'-al...
Amugy meg nem bonyas egy 2 byte-os osszahasonlitas sem: eloszor ossze hasonlitod a felso helyierteket (2-t), ha nagyobb akkor nem is kell tovabb hasonlitgatni, a szam nagyobb, ugyszinten ha kisebb.... ha pedig egyenlo akkor megnezed az also helyierteket is... Kivonas, status bit vizsgalata hogy nagyobb-e, status vizsgalata, hogy kisebb-e... Lehet ezer trukkot is csinalni ha nagyon ki kell hegyezni (mint pl amit fent leirtam) de nem erdemes, a lenyeg ertheto legyen a kod es kesobb ha kell konnyu legyen latoztatni rajta.
Hozzá kell adni a mért értékhez -2CD -t, azaz FD33-at 16 bitesen, majd az eredmény felső bytejának legfelső bitje szerint lehet elágazni.
Én kivonással szoktam. 2 byte esetén a felsővel kell kezdeni, ha abból az egyik nagyobb, már kész is; ha egyenlőek, akkor meg kivonás az alsón is. Az eredményt a Carry bit állapota adja meg.
Viszont ha balra igazítva kapnád a konverzió eredményét, és elhanyagolod a két legalsó bitet (ami 5 V-os referencia mellett kb. 15 mV tévedést jelentene), akkor egyetlen kivonás elég, szerintem el is hanyagolható ebben az esetben. Ehhez persze a küszöbérték felső 8 bitjét kell csak használni.
Igazad van ez a legjobb! Mármint, hogy rendezzem balra.
A/D beállításoknál be lehet állítani, hogy jobbra, vagy balra legyen rendezve az érték az ADRES H és L-ben.(A/D RESULT JUSTIFICATION, adatlap, ADFM bit...).
Idézet: „Milyen technikával lehet a legegyszerűbb eldönteni egy 10 bites A/D konverzió eredménye kisebb vagy nagyobb egy küszöbértéknél?” Pl. ha ADC helyett a komparátort használod....
Hello
PIC16f628-at hányszor lehet felprogramozni? Én kb. 50x programoztam fel már, de most beadta a kulcsot. Eddig működött jól, bár 2 bit a B porton már eddigis használhatatlan volt. Próbálom IC-Proggal törölni és utána beolvasni a tartalmát, de mindenféle szemét van csak a programmemóriájában. Üdv.
Hat kb 8 pint guinness utan nem egeszen vilagos mi is a kerdes Milyen programozorol van szo? Milyen feszultsegeket mertel a Vdd es Vpp vezetekeken iras kozben? Hol a kapcsolas?
Sziasztok!
Már majdnem kész vagyok az áramkörrel,így gondoltam teszek egy próbát és felprogramozom a pic 16f876-ot mplabbal(életemben elöször) úgy csináltam mindent ahogy itt le van irva,a program fel is ismerte a pickit2-t és a 16f876ot is, aztán new project,asm-t hozzáadom source files-hoz, utána f10 és egy rakat error meg warning jelenik meg. Főleg ilyenek:" Argument out of range. Least significant bits used" és ilyenek[/b]: "Symbol not previously defined". Ez utóbbit azért nem értem mert ez elvilg egy kész progi és hogy ne lenne deklarálva ... Ha valaki érti ezeket a hibákat az segítene nekem egy kicsit légyszi? Vagy jó úton indultam el egyáltalán? Csatolom a progit is.
Az asm legelejére tedd ezeket be:
Azt a "program files/microchip..."-es include file nem kell, vedd ki, vagy tegyél elé pontvesszőt (komment). Az MPLAB configure/select device menüpontjában válaszd ki a PIC16F876A-t, és máris gond nélkül le fog fordulni. Egyetlen figyelmeztetést kell kapnod: Message[305] D:\DOWNLOADS\BUGFIX.ASM 269 : Using default destination of 1 (file). Ez azt jelenti, hogy abban a sorban lehagytad az utasítás végéről azt a részt, ami meghatározza, hogy az eredmény hova kerüljön (,w vagy ,f) és az alapértelmezettet használja (,f). Tehát így már lefordul a progi, hogy helyesen fog-e működni, az már egy más kérdés. Ja és még egy apróság: úgy látszik, hogy 16F876A-ra készült a kód, nem sima 876-ra, simát kiválasztva (MPLAB és a file elejé az include) egy-két hibát írt, máshogy hívnak egy-két dolgot a simánál. Javaslom, hogy igazítsd a forrást a saját PIC-edhez, ha sima van és nem A-s, akkor inkább javítsd ki azokon a helyeken, amikre panaszkodik a fordító!
Köszönöm szépen a gyors és szakszerű segítségnyújtást,
valóban hiba nélkül lefordult így a program. Remélem délután már a "Ki mit épített?" rovatba írhatok! Üdv!
Hello
A probléma az, hogy eddig működött jól az égető meg a PIC is, de amikor változtattam a programján(még kezdő vagyok e téren), és azt akartam beleégetni, már nem lehetett. Az égetőm JDM, külső tápos, de eddig kifogástalanul működött. Megmértem a foglalatján, a tápfesz 5V, a MCLR lábon pedig 13,2V van. Szóval akkor a PIC romolhatott el? És hányszor lehet égetni a PIC-et? Eddig már kb 40-50x biztos égettem rá programot. Üdv.
Helló
Még én is kezdő vagyok, de 40-50-nél biztossan többször lehet programozni. Én 18F4320-nak készítettem egy próbapanelt és már nagyon sokszor írtam rá. A 18F4320-nál ez van az adatlapban: • 100,000 erase/write cycle Enhanced Flash program memory typical • 1,000,000 erase/write cycle Data EEPROM memory typical
Ne vedd zokon, de miért kérdezel olyan dolgokat, amik le vannak írva az adatlapban? Az adatlap használata elengedhetetlen, nélküle semmi értelme PIC-el foglalkozni, ez olyan, mint ha kormány nélkül akarnál autót vezetni!
A JDM-ről írtam néhány sort az oldalamon, olvasd el kérlek! A JDM-nél alattomosabb szerkezetet nem találtak még ki(még akkor is, ha netán most nem az okozta a bajd, de akkor mi más?) Jut eszembe, miért használsz ilyen trágyát, ha van ICD2-tőd? (még annyit kérnék, hogy ne bizonygasd, hogy eddig milyen jól működött, ezzel tele van a padlás.)
kb 30 másodpercet szeretnék időzíteni.
18f1320 belső 8Mhz órával Timer0, 16biten, 1:256. Jól számolom, hogy: Timer tulcsorduás= 8000000/256/65536=0,4 1/0.4= kb 2mp. Tehát ez így 2mp-ként fog megszakítást kiváltani? Mert akkor gondolom, növelgetni kell egy pl: timer_db nevű 0-ról induló változót, és amikor 15 az értéke akkor van meg a 30mp. Jól gondolom? Mert ha igen akkor nem értem mért nem ennyi a valóságban... |
Bejelentkezés
Hirdetés |