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   620 / 1210
(#) vilmosd válasza Justo hozzászólására (») Jan 14, 2015 /
 
Talam a MPLAB 8.92-vel jobban jarnal.
Talalsz egy par dolgot ezen a linken, ami elosegithet a PIC tanulasahoz.
(#) usane válasza icserny hozzászólására (») Jan 14, 2015 /
 
Igen, erre is gondoltam, mert akkor ezt csak oda kellene illesztenem a ws2812b LED-éhez, de az Adafruiton kívül nem találtam hozzá más beszerzési forrást.
(#) don_peter válasza usane hozzászólására (») Jan 14, 2015 /
 
Na igen, ebbe ennyire nem mélyedtem bele noha láttam, hogy fordított lehet az egész..
Az Enabledet egyből kiszúrtam..
(#) icserny válasza usane hozzászólására (») Jan 14, 2015 /
 
Idézet:
„Adafruiton kívül nem találtam hozzá más beszerzési forrást.”

E-bay, Aliexpress (utóbbi helyen panelre szerelve is) árukínálatában láttam.

Idézet:
„ezt csak oda kellene illesztenem a ws2812b LED-éhez”

Tévedés lesz, mert a WS2811 sima RGB LED-hez való. ( A ws2812b LED pedig már beépítve tartalmazza a vezérlőt is)
(#) usane válasza icserny hozzászólására (») Jan 14, 2015 /
 
Igen tudom. Úgy értettem, hogy ugyanazt a kommunikációt tudja használni. Nem kell módosítanom semmit a WS2812B-nek szánt áramkörön, csak utána biggyeszteni a LEDeket.
E-bayt, Alie-t áttúrom. Meglátom mit találok, köszönöm.
(#) Hp41C válasza usane hozzászólására (») Jan 14, 2015 /
 
Majdnem ugyan az a kommunikáció, csak az időzítés és a bitek sorrendje más...
A hozzászólás módosítva: Jan 14, 2015
(#) usane válasza Hp41C hozzászólására (») Jan 14, 2015 /
 
Igen, de csak szoftvert kell módosítani. Firmware frissítés és megy ezzel a LEDdel is.
(#) Kapagerenda hozzászólása Jan 14, 2015 /
 
Hello,
A következő program gombnyomás hatására kezelné a mask.c file-ban lévő eseteket. Az else ágban van valami gond nem engedi ez miatt futni a programot. Amennyiben kihagyom az else ágat lefut a program ( persze csak ami az if ágban van).
Hogyan kellene áttírni a programot, hogy az else ág is működjön? Kösz!

  1. nsigned short mask(unsigned short num);
  2. unsigned short digit_no, digit10, digit1, digit, i;
  3.  
  4. void main() {
  5.  
  6. ANSEL = 0;
  7. ANSELH = 0;
  8.  
  9. PORTB = 0;
  10. TRISB = 0XFF;
  11. PORTD = 0;
  12. TRISD = 0;
  13.  
  14. while(1){
  15.   if (PORTB = 1)
  16.   digit = 1;
  17.   digit = mask(digit);
  18.   PORTD = digit;
  19.   else
  20.   digit = 8;
  21.   digit = mask(digit);
  22.   PORTD = digit;
  23.   }
  24.  
  25. }

  1. /*Header******************************************************/
  2. unsigned short mask(unsigned short num) {
  3. switch (num) {
  4. case 0 : return 0x3F;
  5. case 1 : return 0x06;
  6. case 2 : return 0x5B;
  7. case 3 : return 0x4F;
  8. case 4 : return 0x66;
  9. case 5 : return 0x6D;
  10. case 6 : return 0x7D;
  11. case 7 : return 0x07;
  12. case 8 : return 0x7F;
  13. case 9 : return 0x6F;
  14. }
  15. }
(#) spgabor válasza don_peter hozzászólására (») Jan 14, 2015 /
 
Csináltam egy kapcsolási rajzot a kijelzőről. Remélem jól csipogtattam vissza. A rajz minőségéért elnézést kérek, kicsit mórickás lett. Ha nem átlátható, akkor lerajzolom normálisan is. A két kondik értékét egyenlőre nem tudtam megállapítani, ezért nem is írtam be, valamint a digit kijelzők lábait nem rajzoltam mind be, mert akkor nagyon kusza lenne.
(#) vilmosd válasza Kapagerenda hozzászólására (») Jan 15, 2015 / 2
 
  1. if (PORTB = 1)

helyett
  1. if (PORTB == 1)
(#) Fricu válasza spgabor hozzászólására (») Jan 15, 2015 / 1
 
Az elko 10µF 25V-os tantál elko, a másik 10nF-os kerámia kondi (max fesz értéke nem fontos, biztos nagyobb 5-12 V-nál).
Tápfeszt szűrik, alacsony illetve nagyfesz zavarok ellen.
Az elko kis panelon elég egyszer, a 10-100nF IC-nként kell (illik), közel az IC tápfesz lábaihoz.
Kötelező tartozékok gyakorlatilag, de a logikai működésre nincs hatásuk-nem kell velük számolni.
Persze el sem hagyhatók (titokzatos zavarok, hibák, instabilitás, gerjedés léphet fel)
(#) Hp41C válasza spgabor hozzászólására (») Jan 15, 2015 / 1
 
A rajzod szerint a kiléptetett minta vezérli a kijelzőket, ahogy tippeltem.
Mivel nem rajzoltad meg a szegmensek bekötését csak az alábbit tudtam kihámozni:
A LED8 kimenet vezérli a 2. és 4. kijelző közös elektoódáját, a LED9 pedig az 1. és 3. -ét.
A kiléptetett minta 16 bitet tartalmaz:
7 db szegmens vezérlő bit, 2. és 4. kijelző kiválasztás, 1. és 3. kijelző kiválasztás, 7 darab szegmens vezérlés.
Egy szegmens akkor van bekapcsolva, ha a hozzá tartozó bit értéke 1.
Egy kijelző csopot akkor van kiválasztva, ha a hozzá tartozó bit értéke 1.
A vezérlés:
Ki kell küldeni a 2. és 4. kijelző szegmens vezérlését és 1 -et a 2. és 4. kijelző kiválasztásra, 0 -t az 1. és 3. kijelző kiválasztásra. várakozni kb. 10ms -et.
Ki kell küldeni a 1. és 3. kijelző szegmens vezérlését és 0 -et a 2. és 4. kijelző kiválasztásra, 1 -t az 1. és 3. kijelző kiválasztásra. várakozni kb. 10ms -et.
Hogy a léptetés ne látszon a léptetés megkezdése előtt a Blanking jellel ki kell oltani a kijelzőt, a léptetés végén be kell kapcsolni.
(#) spgabor válasza Fricu hozzászólására (») Jan 15, 2015 /
 
A funkcióját, azt tudtam, hogy a szűrés miatt van, de köszönöm, hogy az értékeket leírtad.
(#) don_peter válasza Kapagerenda hozzászólására (») Jan 15, 2015 / 1
 
else ágat tedd kapcsosba és próbáld ki ...
Tehát:
  1. if( feltétel ){ esemény1 }else{ esemény2 }

És arra is figyelj, hogy az egy (=) egyenlőség jel az érték adást, a 2 (==) az összehasonlítás jeletni.. (és van egy 3mas (===) is ami az abszolút értéket vizsgálja )
(#) spgabor válasza Hp41C hozzászólására (») Jan 15, 2015 /
 
Csinálok majd róla rendes rajzot, csak ezt tegnap gyorsan kézzel firkáltam össze és nagyon kusza lenne, ha belerajzolom az összes kijelző láb bekötést. A blank lábat akkor be kell kötnöm a csatlakozóra, mert az nincs is kötve sehová jelenleg. A többit átrágom még párszor, mert a leírtakat értem, de az még a megvalósítástól messze van.
A végén a blanking jel szerepe még nem állt össze.
(#) don_peter válasza spgabor hozzászólására (») Jan 15, 2015 /
 
Nem tudok okosabbat mondani mint amit Hp41C is elmondott és ismételni sem akarom.
Szimulátorban ha összedobod a kapcsolást könnyebb lesz majd megírnod rá a vezérlést.
A hozzászólás módosítva: Jan 15, 2015
(#) Hp41C válasza spgabor hozzászólására (») Jan 15, 2015 /
 
A jeleket el is nevezheted, hogy ne legyen olyan kusza az ábra:
1. és 3. kijelző szegmensei: a13, b13,...g13
2. és 4. kijelző szegmensei: a24, b24,...g24
A neveket írd a sda2131 és a kijelzők kivezetései mellé.
(#) spgabor válasza Hp41C hozzászólására (») Jan 15, 2015 /
 
Oké, köszönöm. Szerintem a hétvégén nekifekszem..
(#) csiberaptor hozzászólása Jan 16, 2015 /
 
Sziasztok!
Eddig 5V-on dolgoztam a 18f4520-asommal, de most sd kártyát szeretnék kezelni, így hogy ne kelljen szintillesztőt használnom, a VDD-t szeretném levinni 3.3-ra. A mikrovezérlő a datasheet alapján eldöcög ennyivel. A klónommal nem lehet állítani, így külső tápról táplálnám. LD33V-re kapcsolok 9V-ot.
A pickit 2 vdd,vss lábait lógni hagyom, a helyükre a 3.3-at kötöm. A pickit2 program felismeri a picet, de íráskor kidobja, hogy "no device detected". 5V-ról továbbra is jó. Én rontok el valamit a 3.3-as külső táplálásnál?
(#) eSDi válasza csiberaptor hozzászólására (») Jan 16, 2015 /
 
Üdv!

Idézet:
„A pickit 2 vdd,vss lábait lógni hagyom”


A Vss nélkül nem fog menni.
(#) Hp41C válasza csiberaptor hozzászólására (») Jan 16, 2015 /
 
Idézet:
„A klónommal nem lehet állítan”

Van itt egy kis probléma. A klónról nemcsak a Vdd állítást hagyták el, hanem a GCD, PGC és AUX jelek megfogó áramköreit is. Ha így csatlakoztatod, akkor a PGC és PGD magas szintje 5V lesz, de a programozandó kontroller tápfeszültsége csak 3.3V. Ezeken a lábakon levő belső diódák kinyitnak, az 5V rákerülhet a 3.3V -os Vdd -re...
Nem hiába írom, hogy mai kontroller (és egyéb áramkör) kínálat mellett ne építsünk Szilva féle és más csak 5V -ot kiadni képes klónt.
(#) csiberaptor válasza Hp41C hozzászólására (») Jan 16, 2015 /
 
Nem én építettem. Amikor még egyáltalán nem értettem hozzá, szerencsésen ilyet sikerült beszereznem...
Tervben van egy watt-félének a megépítése, de egyelőre nincs rá idő. Viszont így, hogy írtad, hogy ezzel több gond is van, valószínű, hogy minél előbb beiktatom ezt. Közben csak sikerült a külső táplálás, de akkor úgy látom jobb, ha ilyen formában ezt nem erőltetem.
A hozzászólás módosítva: Jan 16, 2015
(#) djhans hozzászólása Jan 16, 2015 /
 
Sziasztok! PIC12F675-tel akadt gondom. Megépítettem vele a tv játékot. Fel akartam programozni a PIC-et de nem megy. 16F628-at és 16F84-et már programoztam ezzel a pickit 2-vel. Itt most invalid OSCAL-t ír ki. Auto generate se működik vele.
(#) Hp41C válasza djhans hozzászólására (») Jan 16, 2015 /
 
Szia!
- Már a File / Import hex előtt csatlakoztasd a kontrollert. Ekkor kiolvassa az OSCCAL értékét és az utolsó memória címre betöltött értéket átírja vele.
- Mivel a TV játék quartz -ról megy, az OSCCAL értéke nem is érdekes. A program nem is kezeli.
(#) djhans válasza Hp41C hozzászólására (») Jan 16, 2015 /
 
Úgy csináltam. De 3FFF van ott és mindenhol. Így fel se programozza ha betöltöm a hex-et és nyomok egy write-ot. Hiába azt írja hogy sikerült. Beolvasásnál üres a PIC. Ha VDD-t 5V-ra állítom akkor csak 4,7V van az okozhat gondot?
(#) Hp41C válasza djhans hozzászólására (») Jan 16, 2015 /
 
Volt már valamilyen program a PIC -ben? Próbáltad már a "Use Vpp fist programming entry" módot?
(#) djhans válasza Hp41C hozzászólására (») Jan 16, 2015 /
 
Még nem volt benne. Sikerült felprogramozni bár az OSCAl nem lett jó megy a gépezet. Az volt a baj hogy bezártam a pickit 2 programot mielőtt lehúztam volna az ICSP-t. Tehát felprogramoztam lehúztam az ICSP-t és jó lett. Nem törlődott ki a program. 16F84A és 16F628-nál nem kellett így trükközni. Azért köszi.
A hozzászólás módosítva: Jan 16, 2015
(#) kiskata hozzászólása Jan 17, 2015 /
 
Kedves Hozzáértők!
Meg tudom hajtani az 5V-os LCD displayt egy 3.3V-on működő PIC-el?
Hogyan?
(#) icserny válasza kiskata hozzászólására (») Jan 17, 2015 /
 
Igen. Adj az LCD-nek 5V-os tápfeszültséget, a digitális bemeneteknek pedig elég lesz a 3.3V-os jelszint. Olvasásra ne állítsd (célszerű az R/W lábat földre kötni).
(#) kiskata válasza icserny hozzászólására (») Jan 17, 2015 /
 
Köszönöm a gyors választ.
Következő: »»   620 / 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