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   255 / 1216
(#) dkarcsi73 válasza kissi hozzászólására (») Máj 13, 2012 /
 
Igen, 16f648A.
Az érdekessége az: hogyha lefordítom 16f628A-ba akkor nincs semmi baj vele és még épp-hogy de elfér a 2k-ba.
De valószínűleg bővítve lesz jó néhány sorral a program ezért gondoltam kipróbálom nagyobb PIC-el a dolgot.
Köszönöm, elolvasom az idevágó írásokat.
Szerinted érdemes a lapzási nyűglődések elkerülése végett 18f-es sorozatra váltani?
Trial verziós fordító idézhet elő olyat, hogy hiába állítom az oscillátort 4MHz-re akkor is a kissebb értéken futtatja?
(#) Hp41C válasza dkarcsi73 hozzászólására (») Máj 13, 2012 / 1
 
Nem olyan bonyolult az a lapozás: Bővebben
(#) Gabó hozzászólása Máj 13, 2012 /
 
Nekem olyan kérdésem lenne, hogy létezik e olyan program PIChez mint pl a tina. Amibe megtervezem az áramkört és megírom a PICbe a programot és letudom tesztelni számítógépen.
(#) vilmosd válasza Gabó hozzászólására (») Máj 13, 2012 /
 
Elvileg a tina8, a proteus, es a PICSimulatorIDE tud ilyeneket.
(#) Hp41C válasza Gabó hozzászólására (») Máj 13, 2012 /
 
Szia!

Ha a fentebb említettekre nincs lehetőséged:
Az MpLab -ban a pic kivezetéseit egy logikai analizátorra viheted, a bemeneteihez stimulust rendelhetsz. A stimulus által szolgáltatott jelváltásokra, regiszter tartalom váltásra adott válasz a logikai analizátoron kiértékelhető. Az uart bemenetéhez állomány rendelhető, a kimenetét az output ablakba vagy állományba írja.

Nem szimulálható többek között a SPI, I2C felület, a T1 külső órajele, a komparátor.
SCL nyelven megírt stimulussal ezek is megoldhatók
(#) mate_x válasza Hp41C hozzászólására (») Máj 13, 2012 /
 
Köszi, erről már olvastam, de itt lesz az ideje normálisan elolvasom és megértenem . Szerinted is az user ID miatt változtatta meg az oshon a hex fájlt?
(#) Lozsa hozzászólása Máj 13, 2012 /
 
ELőszedtem a jó fél éve nem használt ICD2-t és egy másik gépre (a régi elhalélozott) feltelepítettem z MPLAB 8.x verzióját.

Legyártottam egy áramkört (olat amilyen már régebben is használtam). Egy PIC 12f683 van benne.
Minden nélkül (külső I/O-k bekötése, saját táp nélkül) az icsp lábak ki vannak vezetve és azon keresztül megpróbáltam beleégetni azt a programot amit még régebben ezekben használtam.

Nem megy

Állandóan az a gond, hogy azt mondja nem ismeri fel (vagy talán nem látja?) a procit.
Az ICD2 öntesztje lefut jól , de azzal a hibaüzivel elakad, hogy 'invalid device 0x23 expected, 0x00' van helyette.
A tápot az ICD2 adja (ICD2 9V-ról meghajtva)

Az icsp csatlakozótól a pic közvetlen lábáig van kontaktus, kisípoltam zárlat nincs köztük, bekötési sorrend is jó.
Építettem meg egyet az áramkörből, hátha elcsesztem valamit, de azzal sem lett jobb a helyzet.

Azt tudni kell, hogy az 5 lábú tüskesort amit az icsp -hez kivezettem azt fordítva dugtam fel először, amitöl a ICD2 vad piros villódzásba kezdett.

Mi lehet a gond? Ez régen működött!

Ha másképp nem megy valaki a XV ker környékén vállalná, hogy felprogramozza nekem?
(#) bandita18 hozzászólása Máj 15, 2012 /
 
Sziasztok!

Az alábbi If-es parancsnak hogy kéne kinézni Mplab assemblyben?

IF TEMP>=FELSO
call hutesbe
ENDIF

IF TEMP<=ALSO
call huteski
ENDIF

Segítségetek előre is köszönöm!
(#) bbalazs_ válasza bandita18 hozzászólására (») Máj 15, 2012 /
 
Ehhez tudni kellene, hogy a szamok (TEMP) hany bitesek valamint a FELSO/ALSO az egy memoriacim, ahol az erteket tarolod vagy pedig maga a konstans ertek.
Azon kivul, hogy melyik mikrovezerlot hasznalod.

Ha csak egybyteos, akkor a 18F-eseknel lehet hasznalni a hasonlito utasitast, a 16F-eseknel kivonas es statusbitek ellenorzese marad. Talan a 16-os sorozat vege fele mar vannak valami bovitett utasitasok...
(#) bandita18 válasza bbalazs_ hozzászólására (») Máj 15, 2012 /
 
16F886

FELSO,ALSO, TEMP:
-egyszerű 8 bites változók
-A/D-ról beolvasott értékek vannak benne
(#) vilmosd válasza bandita18 hozzászólására (») Máj 15, 2012 / 1
 
PicList eleg sok ASM peldat tartalmaz. Tobbek kozott ezt is.
(#) Pepebá hozzászólása Máj 15, 2012 /
 
Üdv!
Ismételt értetlenkedésem, amire választ szeretnék kapni az LCD írással kapcsolatos:
4x20 soros HD44780 LCD-t használok, printf utasítással.
Tudtommal az írás 2 sorra történik, tulajdonképpen 1 sor 2x20 karakter amiből a 2. 20 sor a 3. illetve a 4. sorban jelenik meg.
Amennyiben megtelik a 80 karakter (illetve több 80-nál) akkor kezdi elölről és felülírja az 1 sor aktuális pozícióban lévő karaktereit.
Problémám az, hogy amennyiben változó hosszúságú
karaktereket íratok ki, vagy túlcsordul és át kerül a következő sorra, vagy ott maradnak az előző kiírás karakterei.
Kérdésem: van ennél jobb megoldás? esetleg soronkénti kiírás vagy pozícióra írás....
(#) Lozsa válasza Lozsa hozzászólására (») Máj 15, 2012 /
 
Senkinek sincs semmi javaslata a programozási gondomra?
Legalább valaki elvállalja a felprogramozást?
(#) icserny válasza Pepebá hozzászólására (») Máj 15, 2012 / 1
 
Idézet:
„esetleg soronkénti kiírás vagy pozícióra írás...”
Mindkettő lehetséges, a feladat dönti el, hogy melyik a célszerűbb.

A soronkénti kiírás például így megy:
  1. //-- Ezek a  makrók a Hantronix 20x4 LCD-hez kellenek
  2. #define GOTO_LINE1() writeLCD(0x80,0,1,1)
  3. #define GOTO_LINE2() writeLCD(0xC0,0,1,1)
  4. #define GOTO_LINE3() writeLCD(0x94,0,1,1)
  5. #define GOTO_LINE4() writeLCD(0xD4,0,1,1)


... a főprogramban így használom:

  1. GOTO_LINE1();                // kurzor az 1. sor elejére
  2.   outStringLCD("Line 1");
  3.   GOTO_LINE2();                // kurzor a 2. sor elejére
  4.   outStringLCD("Line 2");
  5.   GOTO_LINE3();                // kurzor a 3. sor elejére
  6.   outStringLCD("Line 3");
  7.   GOTO_LINE4();                // kurzor a 4. sor elejére
  8.   outStringLCD("Line 4");


Ez nem a PICCOLO projektből vett példa, tehát a kiíró függvények neve eltérhet.
(#) Balagemann2031 válasza Lozsa hozzászólására (») Máj 15, 2012 /
 
Szia! Csatolok egy jólbevált bekötést programozásra! Az hogy fordítva dugtad rá, szerintem nem feltétlenül rontja el a picet, nálam is előfordúlt párszor.
(#) Zsora válasza Lozsa hozzászólására (») Máj 15, 2012 /
 
Programozáskor az ICD2 tényleg kiadja a tápfeszt a PIC-nek? És a programozó feszültséget? Nem tudnád pontosan kimásolni a kapott hibaüzenetet?
(#) Lozsa válasza Zsora hozzászólására (») Máj 15, 2012 /
 
A MCLR és a VDD lábon ott van a +5V a GND-hez képest (mindet közvetlen a pic lábon mérve)
A másik két lábon nem tudom mit mérhetnék.
(#) Lozsa válasza Balagemann2031 hozzászólására (») Máj 15, 2012 /
 
A bekötés pont úgy van ahogy a rajzon...
Csak a rest gonm hiányzik, de arra nincs szükségem.
(#) Lozsa válasza Lozsa hozzászólására (») Máj 15, 2012 /
 
Most építettem egy nyákra egy db szűz picet és most megy...
De akkor mi a fene lehet, hogy a kész áramkörben nem ismeri meg?

Lehet, hogy mégis tönkremegy a pic ha fordítva van rákötve az icsp port?

Az áramkörben valami elviszi a feszt???
Csatoltam az áramkört.

DriverV4.pdf
    
(#) potyo válasza Lozsa hozzászólására (») Máj 15, 2012 / 1
 
Azt a 0.1µF-ot vedd onnan ki a pic 7-8 lába közül és úgy próbáld.
(#) Lozsa válasza potyo hozzászólására (») Máj 15, 2012 /
 
Király vagy POTYÓ!!!
Az életben soha nem jöttem volna rá.
Nyilván a kommunikációt a kondi bezavarta.
(#) Zsora válasza Lozsa hozzászólására (») Máj 15, 2012 /
 
Érdemes megszívlelni a Microchip ajánlását.
A kondikon kívül még a felhúzó ellenállásokkal, ill. feszültségosztókkal is gond lehet.

PIC_progr.JPG
    
(#) Lozsa válasza Zsora hozzászólására (») Máj 15, 2012 /
 
Igazad van, ma sem keltem fel hiába
(#) giskard hozzászólása Máj 16, 2012 /
 
Sziasztok. hőmérséklet mérés 16f676, kty83, 0-102,3 C. Ha a két vége pontos 50 fokon 5,7 celsius az eltérés, mivel az érzékelő nem lineáris. Gondoltam szoftveres korrekcióra, táblázattal, de ha pontos akarok lenni az közel 1000 mem. cella, van erre valamilyen bevett gyakorlat? Kösz.
(#) Pepebá válasza icserny hozzászólására (») Máj 16, 2012 /
 
Üdv.
Köszönöm a gyors választ és tanácsot.
Nem tudtam a 3. és 4. sor címét (0x94,0xD4), így már boldogulok. Bár még így is van az első sorral gondom, amennyiben a 4. túlcsordul, beleír az első sor elejébe.
Idő hiányában nem tudtam még teljesen körbejárni a témát.
Gondolom pozicionálásnál a 'writeLCD(0x80,0,1,1) ' kell megadni az oszlop számát.
(#) icserny válasza Pepebá hozzászólására (») Máj 16, 2012 / 1
 
Idézet:
„Gondolom pozicionálásnál a 'writeLCD(0x80,0,1,1) ' kell megadni az oszlop számát.”
Az elárás neve és paraméterezése attól függ, hogy melyik programról van szó. Az lcd_4bit.c programban pl. lcd_write(0x94,0,1,1); a harmadik sor eleje.
Idézet:
„Bár még így is van az első sorral gondom, amennyiben a 4. túlcsordul, beleír az első sor elejébe.”
Bármelyik sor túlcsordulása beleír a "következő" sorba. Ez a hardver tulajdonságaiból következik.
(#) mps hozzászólása Máj 16, 2012 /
 
Sziasztok!
Egy 16F1825-öt próbálok működésre bírni. A gondom az, hogy úgy tűnik mintha a config biteteket nem akarná az mplab beletenni a hexbe.
A forrás:
  1. __CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF &
  2. CP_OFF & CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF &
  3. WRT_OFF & PLLEN_OFF & STVREN_OFF & BORV_25 & LVP_OFF);

A beállítást a kódból kellene, hogy szedje.
Ilyenkor mit tehetek? Előre is köszönöm a válaszokat!
(#) Hp41C válasza mps hozzászólására (») Máj 16, 2012 /
 
Szia!

Két konfigurációs szóval rendelkezik:

  1. __config config1, (FOSC_INTOSC & DTE_OFF & PWRTE_OFF & MCLRE_OFF & CP_OFF & CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF)
  2. __config config1, (WRT_OFF & PLLEN_OFF & STVREN_OFF & BORV_25 & LVP_OFF)
(#) mps válasza Hp41C hozzászólására (») Máj 16, 2012 /
 
Köszönöm szépen!
(#) Hp41C válasza mps hozzászólására (») Máj 16, 2012 /
 
Szívesen, de a nagy igyekezetben a 2. sort elírtam __config config2,...
Következő: »»   255 / 1216
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