Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   408 / 1210
(#) szaffo555 válasza potyo hozzászólására (») Máj 13, 2013 /
 
Köszi a gyors választ. Én is így tartottam logikusnak.
(#) takeit hozzászólása Máj 13, 2013 /
 
Sziasztok,

Meg tudná valaki mondani, hogyan lehet az MPLAB-ba betenni olyan tartalmat, amit aztán a PIC EEPROM-ba szánok?

Úgy értem persze, hogy nem azzal a modszerrel, hogy megnyitom az EEPROM ablakot és kézzel szépen beirogatom a 255 byteot, hanem valahogy azt fájlból beolvasom.

Köszönöm,

L.
(#) bbalazs_ válasza takeit hozzászólására (») Máj 13, 2013 /
 
ORG-al odamesz az EEPROM kezdocimere, aztan
DE 1,2,3,4,5,6,7,8
DE 3,4,5,6,7,8
stb.
(#) Bell válasza takeit hozzászólására (») Máj 13, 2013 /
 
Az EEPROM tartalmát akár a PIC-ben lévő program is írhatja, olvashatja, de közvetlenül is megadhatod byte, word, vagy akár szöveges formában. A mód fordítótól, nyelvtől függ.
Az alkalmazott compiler leírásában érdemes keresgélni.
Pl. a PIC18-aknál assembly-ben így is lehet:

  1. #define valami "Ez itt valamilyen szöveg  @ 2013.05.13 23:50"
  2. DATAEE  ORG  0xF00000  
  3.         de valami

Bővebben: Link
A hozzászólás módosítva: Máj 13, 2013
(#) takeit válasza Bell hozzászólására (») Máj 14, 2013 /
 
Köszönöm!

Most már csak azt nem tudom, 16F690-en mi a EEPROM kezdőcime.
Amikor olvasom, akkor a 0x00 cimről olvasok. De ha azt irom az ORG-nak, akkor nem a programmemoria kezdetére fog gondolni? Vagy a DE jelenti azt, hogy azt az EEPROM területen kell értelmezni?

L.
(#) Bell válasza takeit hozzászólására (») Máj 14, 2013 /
 
Szerintem ott 0x2100 az EEPROM kezdőcíme.
De ha nem veszed elő a doksikat, 3 percenként kell feltenned 10-20 kérdést és ráadásul sosem fog összeállni a kép, hogy mi is található egy ilyen eszközben, melyek a lehetőségei és hogyan is használd azokat.
(#) takeit válasza Bell hozzászólására (») Máj 14, 2013 /
 
Köszönöm az információt.
(Meg a kioktatást is. Természetesen átnéztem a Data Sheet-ben a Memeory Organization valamint Data EEPROM and Flash Program Memory Control fejezeteket, de ezt nem találtam benne. Bocsánatot kérek, ha zavartam valakit a kérdésemmel. Azt hittem itt lehet. Sőt, hogy azért van, hogy a tapasztaltabbaktól..., meg hogy önzetlenül...., meg hogy egyszer mindenki elkezde...., stb... Még ezt a programot befejezem, aztán önkritikát gyakorolok, levonom a konzekvenciát és gondoskodom a kivégzésemről. ))))))
(#) Bell válasza takeit hozzászólására (») Máj 14, 2013 /
 
Szerintem senkit sem zavartál, ez a fórum erről szól.
Útbaigazításnak szántam az előbbieket, semmikép sem kioktatásnak.
(#) Bell válasza takeit hozzászólására (») Máj 14, 2013 /
 
A fordító doksija Bővebben: Link

eeprom.png
    
(#) takeit válasza Bell hozzászólására (») Máj 14, 2013 /
 
a 0x2100 müködött. Kösz mégegyszer!
L.
(#) liszica hozzászólása Máj 14, 2013 /
 
Sziasztok!
Még nagyon kezdő vagyok.Adva van egy PICkit 44 pines Demo Board (PIC18F45K20). Az PORTA 0. bitjére van kötve egy potenciométer és ezzel kéne a PORTD-n lévő LEDek fényerejét szabályozni.
Mindezt assemblerben. Tudna valaki segíteni?
Előre is köszönöm.
(#) Bell válasza liszica hozzászólására (») Máj 15, 2013 /
 
A Demo Board-al adtak egy DVD-t is azon vannak mintaprogramok. De megtalálod neten is. (Ezen az oldalon a lap alsó részén Bővebben: Link)
(#) icserny válasza liszica hozzászólására (») Máj 15, 2013 /
 
A kártyához adott mintapéldákban és azok leírásában (Erről az oldalról is letölthető, PICkit 3 Debug Express fájlok) mindent megtalálsz. Ha jól értelek, akkor a 7. példa C nyelvű mintaprogramjának ADC_Init és ADC_Convert függványét kell átírnod assemblybe. Nem nagy kunszt, hiszen s regiszter = valami típusú értékadások aligha okoznak gondot. Az ANSELbits.ANS0 = 1; pedig azt jelenti, hogy az ANSEL regiszter ANS0 bitját kell 1-be álítani.

Az while (ADCON0bits.GO_DONE == 1); pedig azt jelenti, hogy vizsgálni kell az ADCON0 regiszter GO_DONE bitjét, és mindaddig várakozni (visszaugrani a vizsgálathoz), amíg az '1' állapotban van.

Ez valami házi feladat?
(#) liszica válasza icserny hozzászólására (») Máj 15, 2013 /
 
Igen. Az egyik LED fényerejét kellene vele szabályozni.
(#) Prome hozzászólása Máj 15, 2013 /
 
Sziasztok.
Képes a PIC s saját programja s egyéb adatja törlésére?
Ha igen, mi ennek a funkciónak a neve?
Minden PIC képes erre vagy csak egy részük?
Tudtok adni linket magáról a folyamatról?

BASIC-ben annak idején volt ilyen szörnyű rutin.
13 IF A=1 THEN NEW
(#) Hp41C válasza Prome hozzászólására (») Máj 15, 2013 /
 
Szia!
Van lehetőség azokon a típusokon, amik rendelkeznek "Self write" lehetőséggel. Bővebben: Link
(#) Doky586 válasza Prome hozzászólására (») Máj 15, 2013 /
 
Csak tipp: ha már 2 vagy több pic van akkor ott a Low Voltage Programming (Single Supply ICSP) lehetőség hogy az egyik százlábú felprogramozza a másikat...
A hozzászólás módosítva: Máj 15, 2013
(#) Prome válasza Doky586 hozzászólására (») Máj 15, 2013 /
 
Köszi mindkettőtöknek. Úgy érted amelyiken nincs meg ez a funkció az is képes rá úgy hogy egyik PIC törli a másikat? Egész pontosan felprogramozza egy olyan programmal ami csak arra képes hogy törölje a másikat s az összes többi bájtja értéke 255? S ezután ez törli az egyiket?

Bár elmondom mire kell hátha van erre más mód is.
Azt akarom, hogy ha felnyitják a dobozt akkor törlődjön a PIC tartalma.
Bár lehet jobb ha inkább ez esetben ráadom a tápfeszt a bal lábsorra a testet a jobb sorra s előtte lesmirglizem a PICről a feliratot. Akkor meg se lehet utána állapítani mi volt korábban))

Mik a vélemények?
(#) vicsys válasza Prome hozzászólására (») Máj 15, 2013 /
 
Szerintem a brutális megoldás helyett, egy I/O-val figyeld a nyitást és a programod végezze a büntetést. Nem kell gyilkolnod a PIC-et és nem kell cserélni sem. Ha rátervezel egy külső bemenetet, akár még a felhasználó is tudja "unlock"-olni egy szoftveres vagy hardveres kulccsal. Csak egy változó kell a nyitáshoz és egy kulcs tárolásához. Még akár ugrókodot is használhatsz, hogy ne tudja többször használni a kulcsot...
(#) Johnny0004 hozzászólása Máj 15, 2013 /
 
Üdv! Lenne itt egy valamelyest PIC-es kérdésem: Bővebben: Link Köszönöm!
A hozzászólás módosítva: Máj 15, 2013
(#) potyo válasza Prome hozzászólására (») Máj 15, 2013 /
 
Kódvédelem bekapcsolása nem elég?
(#) Hp41C válasza Prome hozzászólására (») Máj 15, 2013 /
 
Szia!
Egy kissé átírt bootloader megoldaná a feladatot. Egy láb figyelésével a normál programból a boot loader -re kerül a vezérlés. Itt kell az átírás, hogy ha belép a boot loader -be, egyből törölje a "normál programot". Ezután a boot loader parancsait hajtja végre, ami között van a "normál" program betöltése és indítása. Frissen felprogramozva csinálhatja a maga dolgát. Még tesztelésre is jobb, a próbálkozásakat a boot loader segítségével letöltheted. Olyan kontrollert ajánlanék, amiben van uart és képes a self write -re (és van kész boot loader program hozzá): 16F88x, 18F420, 18F4420 stb. A boot loader az uart -tal kommunikálhat a PC -vel.

Bár így is van egy apró probléma: Tápfeszültség nélkül vizsgálja valaki. Egyből megtalálja a doboznyitás érzékelőt...
A hozzászólás módosítva: Máj 15, 2013
(#) Doky586 válasza Prome hozzászólására (») Máj 15, 2013 /
 
Programozáskor: Enable Code Protect (kódvédelem bekapcsolása)

Amint Hp41C írja:
Idézet:
„Bár így is van egy apró probléma: Tápfeszültség nélkül vizsgálja valaki. Egyből megtalálja a doboznyitás érzékelőt...”

Ki az aki bekapcsolva kezdi szétszedni...? azaz semmit se ér a doboznyitást figyelő kapcsoló.
Felesleges neked erre a célra a Selfwrite vagy LVP.
(#) Bell válasza Doky586 hozzászólására (») Máj 15, 2013 /
 
A PIC-ek hekkelése régen rutin műveletnek számított. Nem tudom mi a helyzet mostanában.
(#) vicsys válasza Doky586 hozzászólására (») Máj 15, 2013 /
 
Egy gombakku megoldja ezt is...
(#) potyo válasza Bell hozzászólására (») Máj 15, 2013 /
 
Nem lenézés vagy ilyesmi, de nem hiszem, hogy a kolléga, aki ilyen kérdéseket tesz fel, akkora értékkel bíró holmit készítene, aminek nekiállnának kiolvasni a kódját bekapcsolt kódvédelem mellett. Mert bármiből (nem csak PIC-ből) végsősoron ki lehet olvasni a kódot a chip szétszedésével és megfelelő felszereléssel, de ez azért nem minden sarkon elérhető technológia...
A hozzászólás módosítva: Máj 15, 2013
(#) vicsys válasza potyo hozzászólására (») Máj 15, 2013 /
 
Tudom, hogy valószínűleg nem erre gondoltál, de jelen esetben a doboz kinyitásán van a hangsúly és nem a PIC-en. Persze az is fontos (sőt!).
Anno én is terveztem olyan berendezést, aminek a belseje védve volt. Ott a program intézkedett, mert kiírta a kijelzőre, hogy hiba, hívja az illetékest (telefonszám). Mivel a program futása itt állt, (és el volt mentve a PIC-be ez az állapot), a reset vagy tápelvétel sem segített. Ott egy kódot kellett bebillentyűzni a feloldáshoz, ami persze szerviz díjba került. Az egyszer használt kód is be lett jegyezve az eepromba, így azt sem lehetett újra használni. 65535 kód volt a programban telepítve, így elég sok lehetőség volt.
(#) potyo válasza vicsys hozzászólására (») Máj 15, 2013 /
 
Aha, így már értem
(#) Prome hozzászólása Máj 15, 2013 /
 
Köszönöm a sok választ. Egy PIC-cel vezérelt eszközről van szó aminél bontás esetén nem kellene kiderülnie a vezérlés módjának se még a vezérlő kilétének se sőt egyáltalán a vezérlés tényenek se. Kereskedelmi forgalomba kerülő eszközt vezérel. A gombakku jó ötletnek hangzik de kérdés képes e annyira kiégetni hogy ne lehessen megismerni, pic volt. Itt elhangzott hogy kimérhető a pic kiléte, de kérdés: Kellő mennyiségű áram esetén is?
De ez csak elvi kérdés mert szerintem a gombakkuban nincs elég áram ehhez. A sima törlés a második lehetőség ez esetben valóban kimérhető hogy pic volt csak az nem hogy mit tett. Szóval egyenlőre csak hangosan gondolkozom hogy mi lenne a megfelelő megoldás. Az alap ötlet a törlés volt s másod ötlet a totális elégetés.
(#) svandras0404 hozzászólása Máj 15, 2013 /
 
Üdv mindenkinek!
Egy kis segítséget kérnék.
Real time orát szeretnék összehozni pic-el.
A PIC programozás már megy (ASM), de Real T. -al még nem volt dolgom.
SPI-vel kommunikál (MCP795W10-I/SL).
Fogalmam sincs hogy kellene hozzákezdeni.
Minden segítség jól jönne.
Előre is köszönöm.
Következő: »»   408 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem