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   188 / 1211
(#) ndavid87 válasza Hp41C hozzászólására (») Dec 28, 2011 /
 
Igen, pickit2-t használok, ha sikerül újra működőképessé tennem a kapcsolást, akkor megpróbálom.
A csatolt programban találtál valamit, amit nem jól csinálok (spi író/olvasó rutin vagy ilyesmi)?
(#) Hp41C válasza ndavid87 hozzászólására (») Dec 28, 2011 /
 
Inkább arra gondoltam, hogy pl. az SPI írás és olvasás jelalakjait felvéve rá lehetne jönni a hibára. Lehet, hogy már az írás nem jó, ha az LCD rá van kapcsolva. Az LCD jelbemeneteinak kapacitása terheli a kontroller SCK és SDO kimeneteit. Nincs ezeken valahol egy szakadás vagy elvékonyodás? Ha már a beírt adat nem jó, a kiolvasott sem lesz jó. Az LCD -re sikerül valamit kiírni? És a kiírni szándékozott adat jelenik meg rajta?

Megnézted már: 18F45K20 errata
(#) ndavid87 válasza Hp41C hozzászólására (») Dec 28, 2011 /
 
Az lcd jó, egy szöveget írattam ki vele, ami mindig hiánytalanul megjelent még akkor is, amikor más ic-t nem olvasott rendesen a pic.
De nem csak az lcd okozza a hibát, hanem akármilyen másik spi buszos ic, amik külön-külön mind rendesen működtek.
Ez előtt pic16f877a-t használtam, ami gond nélkül beszélgetett több perifériával is, de mivel a 18f családban több lehetőséget látok, szeretnék inkább azokkal dolgozni.
Most csak egy sram van bekötve, a program ugyan az.
Így, hogy a pickit is rajta van a b'10101010' helyett folyton b'00000011'-t olvas a pic. Csatoltam az ábrát.

01.jpg
    
(#) ndavid87 válasza ndavid87 hozzászólására (») Dec 28, 2011 /
 
Valamiért nem sikerült szerkesztenem az előző hozzászólásomat.
Ha leakasztom a pickit2-t, működik.
Az errata-t nem olvastam (köszönöm a linket), a18fxxk22-ét néztem ,abban nem írt problémát az ssp modullal kapcsolatban, és az is ugyan így viselkedik.
(#) Hp41C válasza ndavid87 hozzászólására (») Dec 29, 2011 /
 
A PICKit2 logikai analizátor használatánál vedd figyelembe, hogy a CH1 és CH2 csatornát maga a PICKit2 4k7 ellenállással a földre húzza.
(#) speedbump hozzászólása Dec 29, 2011 /
 
Sziasztok,

A lenti áramkört terveztem, megköszönném ha "PIC-es" szemmel átnézné valaki. (gondolom 1-2 perc maximum, mert nagyon primitív az áramkör)

Amúgy nincs valakinek 1-2db működőképes 12F675 otthon elfekvőben? Csak ezért nem akarok a hestore-ról rendelni.

köszönöm

sch1.jpg
    
(#) icserny válasza speedbump hozzászólására (») Dec 29, 2011 / 1
 
Ugye, nem akarod az USB adatvezetékeket a földre kötni?
(#) speedbump válasza icserny hozzászólására (») Dec 29, 2011 /
 
De igen. Azt nem említettem, hogy a digitális rész egy USB-s fali csatlakozóból kapná a delejt. (és csak a delejt, adatforgalom nincs)

Viszont az igaz, hogy ha így csinálom, akkor szg-ről esélytelen táplálni, pedig az azért jól jöhetne néhányszor.

Mit lenne a megoldás? 10k-s ellenállásokkal a földre működőképes lehet?
(#) potyo válasza speedbump hozzászólására (») Dec 29, 2011 / 1
 
Egyszerűen ne kösd sehová az USB adatvezetékeket.
(#) El_Pinyo válasza speedbump hozzászólására (») Dec 29, 2011 / 1
 
Hagyd szabadon, nem kell bekötni. A host oldalon tartalmaz lehúzó ellenállásokat a D+ és D- vonal. C2 nem kell a reléhez, valamint, ha hálózati 230 V~ feszültséget kapcsolgatsz, akkor a fázist és nullát is illik megszakítani.
(#) speedbump válasza El_Pinyo hozzászólására (») Dec 29, 2011 /
 
Elég logikus, hogy ne kössem be Akkor a C2-t kiveszem. A fázis ÉS nulla megszakítását már többen mondták, úgyhogy az is tervben van.

Köszönöm mindenkinek a hozzászólást és ha van még valami akkor ne kiméljetek.
(#) bancsi15 hozzászólása Dec 29, 2011 /
 
Sziasztok!

Tudnátok javasolni pár oldalt, linket ahonnan egy kezdő neki tudna indulni a pic-ek világának?

Köszi
(#) morzsa15 válasza bancsi15 hozzászólására (») Dec 29, 2011 /
 
Vicsys weblapja
(#) ndavid87 válasza Hp41C hozzászólására (») Dec 29, 2011 /
 
Átkötötem a pic SI lábát a CH3-ra, de így is ugyan az a helyzet.
Csináltam egy másik mérést, ahol az sram SO lába csak a pickit2-re van kötve (meg egy 10k-s lehúzó ellenállásra).
Csatoltam róla épet.
Nem lehet, hogy valami belezavar a pic SI lábának működésébe? Valami belső periféria?

Más ötletem nincs. Kapcsolásban nem lehet nagyot bakizni, csak össze kell kötni a pic si,so,sclk lábait a többi ic so,si,sclk lábaival, a nem használt perifériák 'cs' lábát H-ra kell állítani. Ha ez mind megvan, akkor már csak valami program hiba lehet, nem?

05-2.jpg
    
(#) icserny válasza bancsi15 hozzászólására (») Dec 29, 2011 /
 
Idézet:
„Tudnátok javasolni pár oldalt, linket ahonnan egy kezdő neki tudna indulni a pic-ek világának?”
Google barátod mit mondott a "PIC kezdőknek" varázsigére? Bővebben: Link
(#) speedbump hozzászólása Dec 29, 2011 /
 
Sziasztok,

TMR2-vel kapcsolatban szeretném megtudni, hogy igaz-e az, hogy tényleg mindig törlődik a pre és a postscaler ha írom a TMR2 vagy a T2CON regisztert? Ha igen akkor mi az oka? Itt olvastam (egyébként nagyon jó leírás, ajánlom minden kezdőnek)

1, Both prescaler and postscaler are cleared by writing to the TMR2 register.
2, Both prescaler and postscaler are cleared by writing to the T2CON register.
(#) Hp41C válasza speedbump hozzászólására (») Dec 29, 2011 /
 
Szia!

Nem a prescaler és a postscaler beállítását törlik az írások, hanem a számlálók aktuális tartalmát. A timer2 -nek az az előnye, hogy egyszer beállítod az osztásokat, aztán nem kell írni a regiszterekbe, csak periodikusan jön a megszakításkérés...
(#) speedbump válasza Hp41C hozzászólására (») Dec 29, 2011 /
 
hmm... Namost ezt nem biztos, hogy értem, hogy miért van így (a lenti angol mondatok függvényében), de ha így van akkor szuper.

Az lenne a cél, hogy pontosan 1mp-ként kapjak megszakítást és ehhez a TMR2 tünik a legjobb választásnak (nem csak a kettő hatványaival tud dolgozni, hanem be tudok állítani)

Meg is irtam a kodot, ami termeszetesen nem mukodik. (az kulon erdekes, hogy debug modban latom, hogy a TMR2IF magasba billen, de a megszakitasi rutint nem hivja meg.)

  1. #include<htc.h>
  2. #include<pic.h>
  3.  
  4. #define _XTAL_FREQ 4000000
  5.  
  6. __CONFIG (DEBUG_ON & LVP_OFF & FCMEN_OFF & IESO_OFF &
  7.     CPD_OFF & CP_OFF & MCLRE_OFF & WDTE_OFF & FOSC_INTRC_NOCLKOUT);
  8.  
  9. int szamlalo = 0;
  10.  
  11. void interrupt ISR()
  12. {
  13. if (TMR2IF && TMR2IE)//Ha TMR2 okozta a megszakitast
  14. {
  15. TMR2IF = 0;//Interrupt flag torlese
  16. szamlalo++;
  17. if (szamlalo == 1000)
  18. {
  19. szamlalo = 0;
  20. PORTD ^= 0xFF;//PORTD invertalasa
  21. }
  22. }
  23. }
  24.  
  25.  
  26. void main(void)
  27. {
  28.  
  29. ANSEL = ANSELH =0x00;//Minden port digitalis
  30. TRISD = 0x00;//PORTD kimenet
  31. PORTD = 0xFF;//PORTD-n minden LED vilagit
  32.  
  33. GIE = 0;//Megszakitasok letiltva
  34.  
  35. TMR2ON = 0;//TMR2 KI
  36. TMR2 = 0x00;//TMR2 nullazas
  37.  
  38. PR2 = 100;  
  39.  
  40.  
  41. TOUTPS3= TOUTPS0 = 1;//10-es postscaler. A PR2 miatt 0.001 mp-kent jon megszakitas.
  42. TOUTPS2= TOUTPS1 = 0;
  43.  
  44. T2CKPS1= T2CKPS0 = 0; //nincs prescaler
  45.  
  46. TMR2IF = 0;//Interrupt flag torlese
  47.  
  48. TMR2ON = 1;//TMR2 BE
  49. TMR2IE = 1;//TMR2 megszakítás engedelyezes
  50. GIE = 1;//Megszakitasok engedelyezve
  51.  
  52. while(1){};
  53.  
  54. }
(#) icserny válasza speedbump hozzászólására (») Dec 29, 2011 /
 
Idézet:
„debug modban latom, hogy a TMR2IF magasba billen, de a megszakitasi rutint nem hivja meg.”

Az általad idézett helyen így írják:
  1. PIE1.TMR2IE = 1;    // Enable interrupt
  2.     INTCON = 0xC0;      // Set bits GIE and PEIE
Szerintem kihagytad a PEIE bit beállítását.
(#) speedbump válasza icserny hozzászólására (») Dec 29, 2011 /
 
Abszolút igazad van!

Nem látom még át pontosan, hogy mi micsoda, ezért nem is gondoltam erre. Viszont bravó, mindenképpen megemlékezem rólatok a köszönőbeszédemben mikor átveszem a pic programozásért járó nobel díjat.

A lenti kód tökéletesen működik ha még hozzáadjuk a PEIE = 1; sort!

köszönöm a segítséget!
(#) tomcsibacsi hozzászólása Dec 30, 2011 /
 
Sziasztok!

Most tervezem megismerkedni a PIC-ek világával. A kérdésem az lenne, h elég ha egy PICkit2-es programozót veszek, vagy a debug expressre van szükségem? Hol találhatok írásos, akár angol nyelvű segédletet is a témához?

Üdv,
Tamás
(#) Norberto válasza tomcsibacsi hozzászólására (») Dec 30, 2011 /
 
Hali!

Idézet:
„Hol találhatok írásos, akár angol nyelvű segédletet is a témához?”


Szerintem itt a topikban szerepel már egy pár "segítő" link, amely a PIC-ek világában való eligazodáshoz nyújt kezdő lökést... :lookaround:
(#) Hp41C válasza tomcsibacsi hozzászólására (») Dec 30, 2011 /
 
A gyártó és a PICKit2honnlapján
(#) icserny válasza tomcsibacsi hozzászólására (») Dec 30, 2011 / 1
 
Idézet:
„elég ha egy PICkit2-es programozót veszek, vagy a debug expressre van szükségem?”
A Debug Express a PICkit2 mellett egy demó panelt tartalmaz. Azzal is el lehet kezdeni, de nem biztos, hogy az a legalkalmasabb az induláshoz. Én szívesebben használok tanuláshoz DIP tokozású mikrovezérlőt ami szükség esetén cserélhető (akár nagyobb tudású lábkompatibilis vezérlőre).
(#) Amjad hozzászólása Dec 30, 2011 /
 
Helo!
Megnézné valaki, hogy mit szúrok el ebben a kis programban? Azt szeretném, hogy gombnyomás után megszakítás, majd T0-val várakozás, és csak utána "interruptoljon újra" a gombnyomásra, a késleltetés alatt ne. Nem müxik sajnos.
Köszönöm előre is!

program.asm
    
(#) speedbump válasza tomcsibacsi hozzászólására (») Dec 30, 2011 / 2
 
Szia,

nekem pickit2 debug express van a hozzá tartozó demo kártyával. Szerintem arra nagyon jó, hogy az alapokat gyorsan elsajátítsd (Digitális I/O, ADC, megszakítások, számláló/időzítő modulok), viszont az is igaz, hogy nehezen bővíthető, ilyen szempontból jobb a DIP-tokos változat. A demo kártya mellett szól még, hogy egyszerű felépítésű, teljesen le van dokumentálva és emiatt az indulás alatt nem kell azon törni a fejed, hogy a HW pontosan hogy működik hanem tényleg a programozásra tudsz koncentrálni.

Egy nagyon jó könyv van itt: Bővebben: Link. Több fejezetből áll, főleg a harmadikat fogod majd használni ahol a regiszterekről írnak. Sokan az assembly mellett törnek pálcát, én hitech c-ben programozom.
(#) tomcsibacsi válasza speedbump hozzászólására (») Dec 30, 2011 /
 
Köszönöm az eddigi segítséget!

Még érdekelne, hogy hol tudnék olcsón beszerezni egy PICkit programozót, illetve hogy kezdőként mennyire felel meg egy PICkit3 klón? Esetleg tudtok-e próbapanelhez kapcsolási rajzot adni?

Ha én szeretném megépíteni a PICkit2 klónt (sajnos nem találok beszerzési lehetőséget a közelemben), akkor ez a kapcsolás használható-e a klón programozó PIC-ének programozására, vagy inkább keresgéljek tovább már kész után?

Köszi,

Tamás
(#) speedbump válasza tomcsibacsi hozzászólására (») Dec 30, 2011 / 2
 
Idézet:
„- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.”


pickit2-ből eddig csak az eredeti mikrochip-eshez volt szerencsém. A klónok állítólag ugyanazt tudják, de szerintem nem olyan nagyon összeg, úgyhogy maradnék a helyedben az eredetinél. (garantáltan kitesztelt, nem kell azon fájjon a fejed, hogy ha valami nem működik akkor okozhatja-e az égető)

Az ebay-en postával együtt kb 15eFt a (demo panel is jár hozzá). Ha jártas vagy az elektronikában, akkor te is készíthetsz hozzá panelt, nem olyan nagy ördöngősség.

Ha a demo board nem kell, akkor magát az égetőt sokkal olcsóbban is megkapod.
(#) Hp41C válasza tomcsibacsi hozzászólására (») Dec 30, 2011 / 2
 
Szia!

- Egyrészt a PICKit2 a ChipC@d -nál kapható, január 5. -ig akció is van...
- A PICkit2 kifutott típus, ha veszel, megfontolandó a PICKit3 vásárlása.
- A klónok nem mind tudják ugyan azt, mint az eredeti: A Szilva féle klón nem szabályozza a Vdd -t és nincs meg az EEProm a Program & Go funkcióhoz, a Watt szabályozza a Vdd-t, de nincs rajta EEProm, a furatszerelt egyenértékű a gyárival, még a gyárilag ajánlott (és még további) bővítést is biztosítja.
- Egy saját készítésű klón egyszerűbben javítható - beszerezhető alkatrészere épül.
- Az ebay -en is sokféle, különböző tudású klón kapható.
- A JDM programozót ne építsd meg.
- A fórumról a Watt féle LPT - Mini programzót ajánlom a felprogramozáshoz. Ehhez egy olyan gép kell, amin alaplapi vagy bővítőkártyás LPT port van. USB - LPT konverterrel nem működnek a programozók. Watt oldalán még egy csomó LPT portos programozó található.
(#) tomcsibacsi válasza Hp41C hozzászólására (») Dec 30, 2011 /
 
Akkor azt javasoljátok, hogy ruházzak be most egy PICKit3-ra az akció keretében, és azzal akkor egy biztosan működő programozót kapok?
Gondolom ez kompatibilis a PICKit2-vel programozható PIC-ekkel.

Még azt akartam kérdezni, hogy a programozás ezzel úgy történik, hogy a programozó kimeneteit a programozni kívánt PIC dokumentációjából kinézett lábakkal összekötöm, és már mehet is az "égetés"?
Következő: »»   188 / 1211
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