Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „Vagy talan ehez valami kulon progi kell?” Azt kellene tudnod, hogy melyik basic fordítóra készült a programod és azzal kellene lefordítani, majd a PIC-be írni.
Sajnos azt nem tudom hogy milyen progival keszult es az oldalon sem emliti.Ilyenkor van valami mas lehetoseg?
Magában a fájlban nincs benne megjegyzésként? Ha nincs, akkor sorbapróbálod a basic fordítókat, szinte biztos, hogy nem fogják egymásét megenni, úgyhogy előbb-utóbb rátalálsz a megfelelőre... De biztos megéri vele szenvedni?
Hát sajnos, ha itt esetleg nem ismer rá senki, akkor a keresgetés marad. Ez valami török oldalról van. Ott valahol, esetleg másik projektnél, nem utalnak rá, hogy milyen fordítót használtak?
Hat talan Pic Basic Pro. Legalabis a linkekbol itelve.
http://home.no/fsan/projects/index.htm
Viszont a Pic Basic Pro-nak a proba verzioja csak 72 sort engedelyez es nem talalok hoza semi fele okosagot.
Készitettem egy programozó adapter 18F97J60-hoz, mivel az eredeti helyén nem sikerült felprogramoznom.
Még szerencse hogy a PIC-et eleve egy kis panelra forrasztottam fel és egy tüskesorra csatalakozott a főpanelon , igy könyebb bánni vele. A meglepetés akkor ért , amikor a kis adapterrel , amin csak a VDD,VSS,MCR,PGC,PGD lábak vannak bekötve, nem ismerte meg a PICKiT2 PIC-et. Az áramkörben legalább felismerte csak a programozás nem ment. A VCAP lábakra több féle kondi értéket próbáltam 470nF től 10µF -ig, de semelyikkel nem mükdött a dolog.Az MCLR lábat is próbáltam 10k val felhuzva és felhúzás nélkül is. Most akkor valamit még rosszul csinálok , vagy mondhatni hogy ez a PIC már meghalt ?
Egy csipogós multiméterrel mérd ki a vezetékeket a PIC lábától az ICSP csati lábáig! Érdemes még a beforrasztott PIC egymás melletti lábait is kicsipogtatni, hogy nincs-e zárlat valamelyik két láb között. Lehet, hogy valamelyik láb nincs rendesen megforrasztva, vagy pl. egy szomszédos lábbal zárlatos.
Ezeknél az SMD chipeknél sokkal nagyobb az esélye az ilyen jellegű hibáknak, mint a DIP tokozásúaknál, és még az is lehet, hogy szemmel/nagyítóval nem látsz semmit. A csipogós szakadásvizsgálat nem okozhat kárt a PIC-ben, azzal nyugodtan lehet méricskélni. Apropó: a Vdd és GND lábak mind be vannak kötve? 100nF körüli hidegítőkondi(k) vannak a Vdd/GND lábak között, minél közelebb a PIC-hez?
Mindegyik táp be van kötve, és 100nF kondik is vannak betéve mindegyik láb közelébe, a képen látható módon van megoldva.
A lábakat mértem a csipptől a tüskéig ,mindegyik láb rendben volt és az ICSP is, de akkor délután véigmérem az egymás melletieket is egymáshoz képest. Idézet: „100nF kondik is vannak betéve mindegyik láb közelébe, a képen látható módon van megoldva.” A paneleden en csak a programozo headeren latok kondikat. Utana meg viszonylag hosszuak a vezetekek + a csatlakozo sor a PIC labaig, ott meg nyugodtan ossze szedhet zajokat.
Egy amatőr kérdés:
A PIC24F A/D konvertere mekkora feszültségtartományban dolgozik? Ugyanakkora mint a PIC? Mert az adatlapon nem találtam meg...
Pedig benne van az, Voltage on any combined analog and digital pin and MCLR, with respect to VSS, illetve az AD01 és azt követő paramétereket nézd az electrical specifications részben.
Üdv Mindenkinek!
Lenne egy kérdésem. Elég kezdő vagyok még programozásban. Ha írok egy programot asm-ben 16F84-re, azt 16F628-ba vagy 818-ba írva működik? MpLabban írnám asm-ben, egyszerű progi, csak figyel pár bemenetet és ennek hatására kapcsol néhány kimenetet időzítve. Semmi megszakítás, timer, stb. 16F84-re írtam már. Elég ha átírom a prg elején a pic azonosítóját? Az adott prg még nincs meg. Természetesen azért szeretném, mert az adott pic-ek olcsóbbak. Köszi Tomi
Köszi Megtaláltam.
AD11 VIN Absolute Input Voltage Min:AVSS- 0.3, Max: AVDD + 0.3 V Idézet: „Lenne egy kérdésem. Elég kezdő vagyok még programozásban. Ha írok egy programot asm-ben 16F84-re, azt 16F628-ba vagy 818-ba írva működik?” Valasz egy szoban: Nem. Ket szoban: Nem valoszinu. Harom szoban: Valtoztatas nelkul nem. Hosszabban: Az MCU (Micro Controller Unit) az nem szamitogep, hanem egy elektronikai alkatresz. A benne levo programot kozvetlen a hardveren fut igy ha a hardver mas akkor a firmware-t is modositani kell ennek megfeleloen. A jo hir viszont, hogy a forrasod megvan, van a regi es az uj adatlap, es igy ezek alapjan at tudod irni a programot.
Szia!
Közvetlenül nem, a forrás írásánál oda kell figyelni a különbségekre. Az okok: - A 16F84 -ben a ram 0x0C -től kezdődik, a többiben 0x20 -tól. - A 16F628(A) analóg komparátorai miatt a PORTA reset után analóg. Programból át kell átállítani. - A 16F818 -ban az A/D miatt a PORTA reset után analóg. Programból át kell átállítani. - Az adat EEProm kezelése a 16F818-ban más lapon (Bank 2,3) van. - A16F628-ban az adat EEProm ugyan azon a lapon van, mint a 16F84-ben, de más címen - a fordító tudni fogja. A processzor leírásának megadását feltételesen kell elvégezni. Az MPlab a beállított kontroller típusát a egy szimbólumban elérhetővé teszi (pl. 16F84 esetén a __16F84 definiált, 16F818-nál pedig a __16F818). Feltételes fordítási direktívák alkalmazásával a fenti problémák megoldhatók.
Üdv!
Köszi a válaszokat! Az adatlapok már megvannak, csak még nem tanulmányoztam. Csak azért gondoltam, mert egy meglévő programot írtam át, és F10-el lefordítva nem ír hibát. Ez az eleje: LIST P=16F818 #INCLUDE "P16F818.INC" __CONFIG _XT_OSC &_CP_OFF &_WDT_OFF &_PWRTE_OFF ERRORLEVEL-302 ;Port definiciók #DEFINE be_nya PORTB,0 #DEFINE be_z PORTB,1 #DEFINE be_ny PORTB,2 #DEFINE be_nycs PORTB,3 #DEFINE ki_nya PORTA,1 #DEFINE ki_za PORTA,2 #DEFINE ki_la PORTA,0 #DEFINE ki_nycs PORTB,5 #DEFINE ki_lcs PORTB,6 ;változók definicioja _I1 EQU 0x30 ;idő változói _I2 EQU 0x31 _I3 EQU 0x32 ;Ports Iniciálás konf: clrf PORTA clrf PORTB banksel TRISA movlw 0x00 ;mind kimenet movwf TRISA movlw B'00001111' ;rb0,1,2,3,-bemenet a többi ki movwf TRISB banksel PORTB movlw 0x00 movwf INTCON bcf ki_nya ;a kimenetek indulásból 0-ra bcf ki_za bcf ki_la bcf ki_nycs bcf li_lcs goto indul utána jön a progi. Igaz nem szimuláltam le, arra nem volt még időm. Nem lenne benne semmi eeprom, A/D, megszakítás. Csak be, ill kimenetek és időzítés egyszerű számolással, nem timerrel. A prg elején írtam át az első két sorban a pic típusát. Szóval akkor nem ilyen egyszerű a dolog. (nem egyészen így néz ki a progi, csak beszúrás után nincsenek szóközök!) Idézet: „Köszi a válaszokat! Az adatlapok már megvannak, csak még nem tanulmányoztam. Csak azért gondoltam, mert egy meglévő programot írtam át, és F10-el lefordítva nem ír hibát.” Tehat syntaktikailag helyes a programod Most mar csak szemantikailag kell helyesnek lennie...
Még nincs meg a progi, egy másikkal próbáltam, ami működött 16F84-en. Azt hittem, ha hibátlanul lefordítja, akkor jó is. Értem, nem ilyen egyszerű a dolog.
Akkor elő kell vennem az adatlapokat. Csak annyira nem értek még hozzá. Meg lenne több időm. Köszi a válaszokat! Sziasztok Tomi
A lábakat kimértem ujra , mindegyik vezet és nem zárlatolnak egymással, a 100nf kondikat feltettem a 18F97J60-as panelra, kb 2cm távolságra vanna a procitól.
A VDDCORE/VCAP lábon 10µF kondi pozitív sarka a PIC fele, a másik oldala a GNDre rakva. Sajnos így sem ismeri meg. Ha rossz a PIC , akkor az áramkörben mért ismeri fel a PICKIT2 ?( igaz felproramozni ott sem tudtam )
Hello!
Most, hogy végre jó az égetőm, lehetne vele valamit építeni is. Én egy egyszerű órát szeretnék építeni 7szegmenses kijelzővel, olyat, ami ha lehet mutatja a másodpercet is, de azt nem muszáj. Pic16f84 -gyel kéne megoldani, valaki esetleg nem tud egy kapcsolást és egy forráskódot hozzá? A választ előre is kösz. üdv: mate_x
Miért nem keresel a neten? :google:
Bepötyögöd hogy pl: "clock with pic16f84" és szemezgetsz...
Szia!
Hiányzik még az analóg funkciók kikapcsolása a PORTA-n. Ha a "Kód" gombot használod, megmarad a formázás...
Sziasztok!
Adott egy PIC18F szériás MCU, aminek a Timer1 moduljához szeretnék egy 32768kHz-es órajeloszcillátort bekötni. Az adatlapból kinéztem, hogy ezt két db 27 vagy 33pF-os kondival tehetem meg. A gond ott van, hogy nem tudtam ilyet beszerezni. Itthon csak 22pF meg 15pF-os van. Ha két 22pF-os kondit használok, akkor megfelelően fog működni a számláló? Vagy próbálkozzak párhuzamos kötéssel, és akkor négy 15pF-osból csinálok két 30pF-osat? Köszi a segítséget! Üdv!
Elkezdtem megírni a táblázatot a hőfokmérőhöz de gondok vannak.
A PCL mérete ugye 8bit ami 256 érték tárolására alkalmas. Az excell táblából amin számoltam kiderül hogy az AD sokkkal többet változik ennél. A 256 értékkel nem tudom átfogni az egész mérési tartományt. Toldjak a szenzorhoz meg az áramgenerátorhoz egy feszosztót hogy ne legyen ekkora mértékű a változás? Vagy valaki említett itt egy végig rohanós módszert. Az gondolom úgy működne hogy az AD értéke összehasonlítódna a táblába foglalt értékkel és ha nincs benne akkor marad az előző érték a kijelzőn, ha benne van akkor a táblában talált új érték íródik ki. Ez jó lenne akkor ha el lehetne tárolni egy AD értékhez tartozóhőfok értéket és mindezt egymás után így csak 150 érték lenne. Talán fel kéne cserélnem a dolgokat és a hőfokértékek lennének a címek és a retlw utáni rész az AD érték? De akkor is csak 8bites érték lehet a retlw után. Jól bele bonyolodtam pedig azt hittem a hőfokmérés lesz a legegyszerűbb része ennek a műszernek. Idézet: „Itthon csak 22pF meg 15pF-os van. Ha két 22pF-os kondit használok, akkor megfelelően fog működni a számláló? Vagy próbálkozzak párhuzamos kötéssel, és akkor négy 15pF-osból csinálok két 30pF-osat?” Szerintem mennie kell 22pF-essel is -- Igazandibol a kristaly adatlapjarol lehetne ezeket kiolvasni. Ha nem megy meg mindig kiprobalhatod a 2x15pF elkepzelesedet... Idézet: „A PCL mérete ugye 8bit ami 256 érték tárolására alkalmas. Az excell táblából amin számoltam kiderül hogy az AD sokkkal többet változik ennél. A 256 értékkel nem tudom átfogni az egész mérési tartományt.” Nezd meg a PCLATH es PCLATU (ha van ilyen a PIC-edben) regisztereket! Keress vissza itt a forumon, hogy hogyan kell laphatar fuggetlen szamitott goto-t csinalni -- en is irtam ilyen peldat szoval biztos, hogy van, csak hasznalni kellene a keresot
Kerestem de nincs eredmény. Keresőbe írtam a PCLATH kifejezést és a hozzászólásokat állítottam be keresési helynek de egyik hozzászólásban sem találam.
Megpróbálom mégegyzser. Jah és mégegy ötlet: Mi lenne ha 4el osztanám az AD értékeit? Akkor a 0 és 150 közti AD érték különbség is a negyedére csökkenne. Aztán kivonnék annyit mindegyikból hogy a 0fok a nulladik címre essen (PCL szerint nulla) Aztán feltölteném a táblázatot a negyedelt értékeknek megfelelően. Amikor megkapom az AD értékét akkor elosztom 4el ( 2 db jobbra shift ha minden igaz) és kivonom belőle azt a bizonyos értéket aztán megnézem hogy a táblázatban benne van e az érték úgy hogy a tábla legnagyobb címének megfelelő értékből kivonom az AD értéket és ha nincs CARRY akkor nem lépte túl ha van akkor mát a táblán kívülre esik. Szerintetek?
Szia!
Azt nem is tudom hogyan kell. Mármint az analóg funkciókat kikapcsolni. Olyan a 16F84-ben nem volt. Ezt gondolom elég a program elején egyszer kikapcsolni, ugye? A kód gombot még nem használtam, na ezt is tudom! Idézet: „Kerestem de nincs eredmény. Keresőbe írtam a PCLATH kifejezést és a hozzászólásokat állítottam be keresési helynek de egyik hozzászólásban sem találam.” Itt van: #245473 Ja es nem csak az a baj, hogy hosszu a table, hanem ugy altalanossagban, hogy lap hatart atlep. Tehat hiaba van 150-es tablad, ha a 100. elemtol kezdodoen a tabla tobbi resze masik lapra esik... |
Bejelentkezés
Hirdetés |