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   401 / 1210
(#) tom75 válasza vicsys hozzászólására (») Ápr 13, 2013 /
 
köszönöm
A hozzászólás módosítva: Ápr 13, 2013
(#) takeit hozzászólása Ápr 13, 2013 /
 
SZIASZTOK,

Póbálnék a data memórába irni (16F690) de nem sikerül, legalábbis debug módban nem látok változást, ill. a bairt értéket az EEPROM ablakban.

A nullás cimre szeretném beirni a nulla értéket.

Tudna valaki segiteni, mi lehet a baj, az alabbi koddal?

movlw 0
banksel EEADR
movwf EEADR
movlw digit_0
movwf EEDAT
banksel EECON1
bsf EECON1,WR
banksel PIR2
g_eeif_0 btfss PIR2,EEIF
goto g_eeif_0

Köszönöm szépen!

Laci
(#) Hp41C válasza takeit hozzászólására (») Ápr 13, 2013 /
 
Szia!
A 16F690 adatlap (DS41262E) Example 10-2 ábráján látható a megoldás...
(#) bbalazs_ válasza tom75 hozzászólására (») Ápr 13, 2013 /
 
Bocsanat, led-nek olvastam az lcd-t. Igy sajnos semmis a hozzaszolasom, az LED-ree vonatkozott.
(#) takeit válasza Hp41C hozzászólására (») Ápr 14, 2013 /
 
Köszönöm.
(#) Hp41C válasza tom75 hozzászólására (») Ápr 14, 2013 /
 
Hosszú élettertemhoz a szegmensek és a közös elektróha polaritását sűrűn cserélgetni kell, az LCD -re ne jusson DC komponens.
(#) tom75 válasza Hp41C hozzászólására (») Ápr 14, 2013 /
 
Hogy tudom azt elérni, hogy gyakran változzon a kivezetések polaritása?
Hogy lehet azt kiküszöbölni, hogy ne jusson a kivezetésekre DC komponens? Tegyek minden lábhoz egy 100nf kondit?
A hozzászólás módosítva: Ápr 14, 2013
(#) vicsys válasza tom75 hozzászólására (») Ápr 14, 2013 /
 
Nem akarom Zsolti mestert megcáfolni, mert igaza van, de nálam ment egy óra 4 évig folyamatosan és nem lett látható baja. A hosszú távon azt jelenti, hogy a gyártó által megadott üzemidőn belül ne haljon meg, - szerintem.
Szerintem egy pwm kimenettel elég lenne meghajtani a backplane-t. Persze ilyenkor is jut rá DC, de ha a szegmenseket gyorsan ki/be kapcsolod ellenfázisban, az is bőven elég.
(#) qbit hozzászólása Ápr 14, 2013 /
 
Sziasztok! 18F4550-nél a 0. ADC-ről rendesen megkapom a (potméteres feszültségosztón beállított) mért értékeket (read_adc). Ezt megszorzom 5-tel és elosztom 1024-gyel. A kijelzett érték mégis nagyon eltér a potira akasztott DVM-ek által mutatotttól. Mert, hogy több műszert is próbáltam. A DVM pl. 1,83V-ot mutat, míg az ADC csak 1,21-et. Ha állítom a potit, akkor persze együtt változnak a mutatott értékek, csak sosem "egyeznek" még kissé sem... Találkozott már valaki ilyennel?

20MHz a kvarc, C18-ban írtam a programot és minden mérés közt 60us szünet van (pollozva). USB-ről megy az áramkör. A kijelzés a timer2-vel van megoldva. Mindenhol van kondi, ahol illik lennie.
A hozzászólás módosítva: Ápr 14, 2013
(#) Hp41C válasza vicsys hozzászólására (») Ápr 14, 2013 /
 
A PIC a kijelzőt egy CD4543 -nal vezérelje, a digit közös elektródáját pedig egy 50% -os négyszögjellel kell modiulálni, ugyan ez a négyzögjel mehet a CD4543 PHI bemenetére. Az a digit fog látszani, ahol a két vezérlés ellenfázisú. A digit vezérléseket egy egy XOR kapuval lehet megcsinálni. A XOR egyik bemenete a digit kiválasztás a másik a négszögjel.
(#) Hp41C válasza qbit hozzászólására (») Ápr 14, 2013 /
 
Töltsd fel a programrészletet.
(#) Stefan válasza qbit hozzászólására (») Ápr 14, 2013 /
 
Írasd ki a regiszterek értékét közvetlenül, és Te számold át, ha jó az eredmény akkor a kód számol rosszul valahol.
(#) korni.papp válasza bbalazs_ hozzászólására (») Ápr 14, 2013 /
 
Majd ha megyek a könyvtárba a könyvtárosnő szerintem nézni fog egy nagyot, hogy miről hablatyolok neki. Mindegy remélem sikerrel járok.
A hozzászólás módosítva: Ápr 14, 2013
(#) bbalazs_ válasza korni.papp hozzászólására (») Ápr 14, 2013 /
 
A konyvtarosannek az a dolga, hogy ajanljon neked valamit, ha kered.
Ha kozetekrol akarsz olvasni vagy akar Atilla sirjat keresned, esetleg bujdoso nyelvemlekeinkre vagy kivancsi, akkor is a rendelkezesedre all.
Mondjuk o beuti a computerbe, hogy BASIC nyelv es egybol kiad mondjuk ot konyvet, abbol egy eppen nincs bent, de a tobbibol valogathatsz. Ha kikered mindegyiket, akkor azt vidd el, amiben a legtobb pelda talalhato.
De szerintem a neten is talasz eleg peldat.
(#) korni.papp válasza bbalazs_ hozzászólására (») Ápr 14, 2013 /
 
Oké értem.
(#) Dokikaa hozzászólása Ápr 14, 2013 /
 
ÜDV!

PIC18F242-t próbálok programozni pickit2 vel. A panel itthon épített, a kapcsolást alul linkeltem. Valaki esetleg eltudná mondani h mi lehet a probléma? Az R6 ellenállás az MCLR és a VSS láb között van, 60 ohm értékű, nemtudom h ennek esetleg valami köze van a működéshez/programozáshoz?
A program amit írtam rá:

  1. LIST P=18F242          
  2. #include <P18F242.INC
  3.  
  4.  
  5. ORG     0X0000;reset vector
  6. GOTO    START
  7.  
  8. START
  9.         ORG     0X0040
  10.         MOVLW   0X00
  11.         MOVWF   TRISC
  12.         MOVLW   0X0F
  13.         MOVWF   PORTC
  14.         GOTO $
  15.         END


Elvileg a portc-n felvillantja a ledeket.

A segítséget nagyon megköszönném!
A hozzászólás módosítva: Ápr 15, 2013

pic.png
    
(#) potyo válasza Dokikaa hozzászólására (») Ápr 14, 2013 /
 
Első blikkre rossz a lábak sorrendje a pickit2 csatlakozásánál. Valamint van két dolog a téma fejlécében leírva, ami hiányzik/nem megfelelően van az áramkörben.
(#) mps válasza Dokikaa hozzászólására (») Ápr 14, 2013 /
 
Az a 60Ohm igen kevés, nem visít a pickit, hogy alacsony a vpp? Ráadásul ha engedélyezve van az mclr akkor folyamatosan resetben van az mc. Inkább egy 10K-al kellene vdd-re húzni! A tápra pedig a pichez közel egy 100nF kondi.
A hozzászólás módosítva: Ápr 14, 2013
(#) Dokikaa válasza potyo hozzászólására (») Ápr 14, 2013 /
 
Esetleg kicsit bővebben letudnád írni?
(#) Dokikaa válasza mps hozzászólására (») Ápr 14, 2013 /
 
Annak az ellenállásnak mi a szerepe? folyamatosan bent kéne hogy legyen, vagy elég csak programozásnál? De kiirja az MPLAB, hogy alacsony. MCLR folyamatosan engedélyezve van?
Bocsi, nekem ezek újak, esetleg megtudnád magyarázni? Köszönöm.

Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.Most olvasom felül, hogy ennek így kell lennie.

Aha, most értelmezem, hogy akkor 10k-st kell programozás közben, majd ha felprogramozta, akkor ki kell szedni, hogy ne legyen folyamatos resetbe.
A hozzászólás módosítva: Ápr 14, 2013
(#) mps válasza Dokikaa hozzászólására (») Ápr 14, 2013 /
 
Az MCLR a reset bemenete, de ha nincs rá szükség akkor használhatod mint digitális bemenetet. Ezt a config bitek közt lehet beállítani, nézd meg az adatlapon, hogyan. Ha engedélyezve van akkor amikor testre húzod akkor fogja resettelni a procit, addig el sem indul a program amíg nem húzod Vdd-re. Amúgy minek oda az a pici ellenállás? Ja és amit potyo mondott az icsp bekötéséről, azt is szívleld meg.
(#) Dokikaa válasza mps hozzászólására (») Ápr 14, 2013 /
 
Már kicseréltem 5k-sra az ellenállást, viszont az az icsp-s dolgot nem értem. Kitudnál ebben még segíteni? Köszi.

Akkor Programozás közben nincs sehová kötve az ellenállás, ha végzett, rárakom a Vdd-re, hogy elinduljon a program?
A hozzászólás módosítva: Ápr 14, 2013
(#) mps válasza Dokikaa hozzászólására (») Ápr 14, 2013 /
 
Mégegyszer: minek oda a test felé ellenállás? Tedd be a 10K a vdd felé, és hagyd is ott! A csatlakozód bekötése nem jó, amivel a pickit2-höz kötöd. Mit ír ki az mplab amikor programozni akarod?
Bár ha a rajzodon lévő számozás nem egyezik meg a valós bekötéssel, akár jó is lehet, csak a pickit csatlakozónak nem ez a kiosztása, itt a 13. oldalon lévő rajzon láthatod:Bővebben: Link
(#) Dokikaa válasza mps hozzászólására (») Ápr 14, 2013 /
 
Rossz helyre kötöttem a kapcsoláson, a vdd felé van az ellenállás kötve, bocsi.
Ja persze, az nem valós, tudom, a neve a lényeg.

Elnéztem először, az mp labnak fixált vddre kötött ellenállással a következő problémája van:

PKWarn0003: Unexpected device ID: Please verify that a PIC18F242 is correctly installed in the application. (Expected ID = 0x480, ID Read = 0xFF80)

A pickit bekötését többször leelenőriztem, az ellenállás szerepét nem értettem, de már tudom(ne legyen resetbe a pic).
A hozzászólás módosítva: Ápr 14, 2013
(#) tom75 hozzászólása Ápr 14, 2013 /
 
mikro c-ben írtam egy kis progit, de nem egészen azt csinálja amit szeretnék

Lcd_Out(1,3,Message1);
delay_ms(500);

Lcd_Chr(2,10,'V');

részlet a programból, azt szeretném hogy ha a messega1 változóban tárolt szöveg 500ms ideig ki lenne íratva és utáns irná ki a volt értéket.

Köszi
A hozzászólás módosítva: Ápr 14, 2013
(#) mps válasza Dokikaa hozzászólására (») Ápr 14, 2013 /
 
Ennyi az egész programod? Ebből hiányzik a teljes konfiguráló rész.
(#) Dokikaa válasza mps hozzászólására (») Ápr 14, 2013 /
 
  1. LIST P=18F242  
  2. #include <P18F242.INC
  3.  
  4.  
  5. ORG 0X0000;reset vector
  6. GOTO START
  7.  
  8. START
  9. ORG 0X0040
  10. MOVLW   0X00
  11. MOVWF   TRISC
  12. MOVLW   0X0F
  13. MOVWF   PORTC
  14. GOTO $
  15. END


ez a program, de ha alapból nem konfidurálok, annyi lesz a probléma, hogy nemmegy a külső oszcillátor nem?

Visszatérve a hibakiirásra, kipróbáltam a kombinációkat mindenhogy hibát ír ki, ki és bekötött ellenállásal is(előbb még jó volt..):
PKWarn0003: Unexpected device ID: Please verify that a PIC18F242 is correctly installed in the application. (Expected ID = 0x480, ID Read = 0xFF80)
A hozzászólás módosítva: Ápr 15, 2013
(#) mps válasza Dokikaa hozzászólására (») Ápr 14, 2013 /
 
Nézd át az áramköröd. Nem ismeri fel a pic-et. Végülis először hová volt téve az a 60Ohm? Mert ha a Vpp-Vdd közé, akkor a 12V akár a picet is elküldhette az örök bitmezőkre.
Ha nem konfigurálsz nem csak a külső oszci nem megy, de a belső sem. Az analóg bemeneteket is le kell tiltani, olvasd át alaposan ezt és ezt a sorozatot.
(#) Dokikaa válasza mps hozzászólására (») Ápr 14, 2013 /
 
Köszönöm a segítséget.
(#) Pali79 hozzászólása Ápr 15, 2013 /
 
Sziasztok!
Most kezdtem tanulgatni a PIC programozást, egyenlőre csak gépen, mert nincs demo panelem. Az MPLAB csomagban lévő "picsimulatoride"-val kísérletezve egy 8 ledes panelt hozzáadva próbáltam a futófény lelkivilágát megérteni, de pármilyen "kész" programmal (pl. ez) is próbáltam mindig csak a 7-es led világít egyfolytában. Annyit kiderítettem, hogy a késleltető rutinnal van baja, mert ha az kiveszem belőle és lelassítom a futás sebességét akkor megy, de egyébként nem. Én csinálok valamit rosszúl vagy a program nem működik rendesen?
Következő: »»   401 / 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