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   153 / 1210
(#) janikukac válasza Poostmaster hozzászólására (») Okt 24, 2011 /
 
Jó, jó eltudom,de használni...
(#) szSzilard hozzászólása Okt 24, 2011 /
 
Sziasztok!

18F4550 PIC et használok 20MHz kvarccal.
Hogyan tudnák folyamatos 10ms -os időzítést beállítani a timer0 számlálón?

Köszönöm.
(#) icserny válasza szSzilard hozzászólására (») Okt 24, 2011 /
 
PIC18F4550-nél nem az számít, hogy milyen a kvarc, hanem az, hogy a belső osztásokkal és a PLL segítségével milyen utasításfrekvenciát (Fcy = Fosc/4) állítottál elő, ezt számlálja a Timer0. USB-s mikrovezérlőről lévén szó, az Fosc = 48 MHz, azaz FCY = 12 MHz a logikus választás.

Ebben az esetben Timer0-val nem lehet pontosan 10 ms-os időzítést beállítani, hanem 10,9 ms-ot.

További információ: PICCOLO projekt Számlálók, időzítők c. fejezete.
(#) kissi válasza szSzilard hozzászólására (») Okt 24, 2011 /
 
20 MHz-es órajelnél nem használhatsz PLL-t ( mert azt ha jól emlékszem csak 10 MHz-ig használhatod a max. 40 MHz-es freki miatt!), 200 ns 1 léptetési idő ( műveleti ciklus), amiből 50000 db pontosan 10 ms-ot ad! --> Feladat: TMR0 16 bites üzemmódba állít, "előreteker" ( beállít) 15536-ra és 1:1-es jellel léptetve 10 ms múlva túlcsordul...

Steve
(#) vilmosd válasza janikukac hozzászólására (») Okt 25, 2011 /
 
Tudsz mar csinalni pcb-t, tehat nem egy nagy problema kesziteni egy probapanelt. A tobbszor belinkelt konyvtaramban talalsz demo paneleket komplett dokumentacioval. Van 18, 20, 28 es 40 labas demo panel doksi, amelyeket vasalasos technikaval is meg lehet csinalni. Olcson ki lehet hozni egy ilyen panelt, es el lehet kezdeni a programozasi gyakorlatokat. Termeszetesen az elso az elektronikai ismeretek elsajatitasa, mert az adatlapok megertese elektronikai alapismeretek nelkul lehetetlen. Utana a PIC programozas ASM nyelven,(!!!) majd egy par ev utan lehetne elkezdeni a C nyelven valo programozast. Az alap PIC lehetoleg valamelyik a 16-os sorozatbol. Jo valasztas a 16F690, 16F887. Olcso, nem szukseges kulso kvarc. Majd az evek soran at lehet terni a 18F sorozatra is. A 16F sorozathoz lehet talalni a neten eszmeletlen mennyisegu irodalmat, mintapeldakat, es egyszerubb a kezelesuk mint a 18F sorozate. Persze kevesebbet is tudnak. De ez egy kezdonek meg jo is. Nem szukseges elso nekifutasra atomreaktor vezerlest csinelni, meg kell elegedni az alap demo jellegu aramkorokkel. Majd idovel fejlodhetsz a magasabb szintu feladatokhoz is. De addig sokat kell tanulni!!
(#) watt válasza vilmosd hozzászólására (») Okt 25, 2011 /
 
Hát nem tudom, szeritnem a 18F-ek programozása nagyságrendekkel egyszerűbb(16F után kész felüdülés) és nem drágábbak. Vannak kisebb lábszámú, egyszerű típusok is..
(#) icserny válasza kissi hozzászólására (») Okt 25, 2011 /
 
Idézet:
„20 MHz-es órajelnél nem használhatsz PLL-t ( mert azt ha jól emlékszem csak 10 MHz-ig használhatod a max. 40 MHz-es freki miatt!)”
PIC18F4550 esetében ez nem így van! Van bemeneti osztó, s a bemenő frekvenciát eleve le kell osztani 4 MHz-re. S nem 40, hanem 48 MHz az üzemi frekvencia.
(#) vilmosd válasza watt hozzászólására (») Okt 25, 2011 /
 
Lehet hogy Neked egyszerubb, de egy kezdo altalaban megijed a sok regiszter lattan. A Config bitek sokasagat is eleg nehez egy kezdonek megerteni. (naponta van ra pelda) Melle meg a 16-osokhoz igen sok mintapeldat (kezdoknek valot) talal a neten. En eveken keresztul csak ASM-ben programoztam 16F sorozatot, es nem talaltam neheznek. A 18-asok bevezetese sem konnyitett az ASM programozason. A C programozas viszont sokat segitett, de ez egy masik dolog.
(#) kissi válasza icserny hozzászólására (») Okt 25, 2011 /
 
Nem néztem utána, mint írtam, a kontroller valóban 48 MHz-ig megy. A bemeneti osztót viszont úgy látom, hogy az USB működtetéséhez kell feltétlenül használni, az USB-n kívüli perifériákat és a processzort szerintem lehet működtetni "hagyományosan" és annak megfelelt a leírásom.
Az eredeti felvetésben nem láttam USB-re utalást és nem használtam még 4550-est !

Steve
(#) janikukac válasza vilmosd hozzászólására (») Okt 25, 2011 /
 
Igen, a PCB már megy. Letöltöttem egy csomót a könyvtárból, épp a 40-eset valamelyik nap. Hát , ha kell el tudom akár azt is készíteni, csak ilyenkor összezavarodok .. Valaki azt mondja nem kell demó lapot csinálni, használjak dugdosós panelt. Valaki azt mondja 12 szériával, valaki a 16-ot mondja, valaki pedig a 18-at.. Ilyenkor zavarodok ám meg.. Az a gond, hogy én nem igazán tudok PIC-et beszerezni. Amit betudok az : 12F629 400.-, meg a 16F628 800.-, bár ez sok érte,ahogy nézegetem.. Ezért küldött nekem Balázs Úr egy 18F PIC-et, hogy azon tanuljak...
Na, kiderül egyszer mi lesz velem...
(#) kissi válasza kissi hozzászólására (») Okt 25, 2011 /
 
Az előbb már kifutottam az időből...
Ha a TCY= 12 MHz, akkor a 10 ms-hoz 120000-et kell számolni ( 1:1 -e osztás ) --> 1 túlcsordulás + 54464 ( 120000-65536 ) --> számlálót előreteker 11072-re ( 65536-54464 ) és a második túlcsordulásnál lényegesen közelebb lesz a 10 ms-hoz, mint 10 % !

Steve
(#) vilmosd válasza janikukac hozzászólására (») Okt 25, 2011 /
 
Mivel ezek a panelok nem 1 tipusu PIC-re keszultek nyugodtan megcsinalhatod akar mindet. A 20 labasba pl belemegy a 8, 14, es a 20 labas PIC-ek. 20 labasban van ugye a 16F690 es testverei, valamint a 18F1xK22. 8 labasok a 12F629, 675, 683. A 14 labasok pl 16F684. A 40 labasba eleg szeles valasztek van 16F es 18F sorozatban is. Azert ajanlanam ezt a demo paneleket, mert mar rajta van a tap, nyomogombok, ledek, egyeseken 7 szegmenses kijelzo is. Ezeket egy dugdosos panelon megcsinalni azert eleg maceras. Melle meg a kontakthibak, zarlatok, es mar nem is mukodik a projekt. A taplalashoz elegendo egy barmilyen 12V/0.5A dugos tapegyseg, es mar mehet is a jatek. A 18 labas kivetelevel van rajtuk ICSP csatlakozo is, tehat PK2-vel lehet programozni a panelban. A PIC tipusok kozul ajanlanam a 12F, 16F sorozatbol valasztani, mert a 18F sorozatnal sokkal tobb a Config, a regiszterek es ez egy kezdot nagyon megzavarhat. A kesobbiekben termeszetesen (ha mar jol ismered az elektronikat es a 16F sorozatu PIC-eket) lehet probalkozni a 18F sorozattal is. Ajanlanam egy 16F887 beszerzeset a 40 labas demo panelhez. Nagy sok mindent meg lehet csinalni vele, es igy meg tudsz ismerkedni a PIC-ek alap HW eszkozeivel. De a 12F683, 16F684, 16F690 is jo lehet kezdoknek. Nem dragak, es eleg sok HW eszkoz van bennuk. Melle meg a neten igen sok projektet lehet talalni ezekhez a PIC-ekhez. Persze ugye sokak szerint egyszerubb az elet a 18F, 24F sorozatokkal, de ezek az emberkek nem ma ismerkednek az elektronikaval es a PIC-ek vilagaval, tehat van eleg alapismeretuk. Viszont Neked eloszor ugye meg kell erteni a regiszterek , ki-bemenetek, AD atalakitok, ... elektronikajat is, tehat sokkal nehezebb lesz egy bonyolultabb eszkozt megerteni es programozni.
(#) janikukac válasza vilmosd hozzászólására (») Okt 25, 2011 1 /
 
Ez a leírás sokat segített. Akkor az összes panel megépítem /akár/ 12F683-am is van még , vagy 3 (már használok 1-et) , van még 16F873, 18F24J10. Nagy örömre szolgálna, ha ezeket mind használni tudnám. . . Már csak egy pontosan olyan leírást kéne találnom ami jó lenne nekem. Van a PICCOLO, PICULA, van Topinak is Assemblyje, vannak könyvek. Remélem minden sikerülni fog...
(#) doup hozzászólása Okt 25, 2011 /
 
Sziasztok, írtam egy lcd programot ami kiírna az lcd kijelzőre két sort. Az a baj hogy nem jelenik meg semmi a kijelzőn.

  1. // LCD module connections
  2. sbit LCD_RS at RD4_bit;
  3. sbit LCD_EN at RD5_bit;
  4. sbit LCD_D4 at RD0_bit;
  5. sbit LCD_D5 at RD1_bit;
  6. sbit LCD_D6 at RD2_bit;
  7. sbit LCD_D7 at RD3_bit;
  8.  
  9. sbit LCD_RS_Direction at TRISD4_bit;
  10. sbit LCD_EN_Direction at TRISD5_bit;
  11. sbit LCD_D4_Direction at TRISD0_bit;
  12. sbit LCD_D5_Direction at TRISD1_bit;
  13. sbit LCD_D6_Direction at TRISD2_bit;
  14. sbit LCD_D7_Direction at TRISD3_bit;
  15. // End LCD module connections
  16.  
  17. void initMain(){  //main initialization of SFR registers
  18.   TRISA = 0x00;
  19.   TRISB = 0x00;
  20.   TRISC = 0x00;
  21.   TRISD = 0x00;                        //PORTD is input
  22.   TRISE = 0x00;
  23.   PORTA = 0x00;
  24.   PORTB = 0x00;
  25.   PORTC = 0x00;
  26.   PORTD = 0x00;
  27.   PORTE = 0x00;
  28.   delay_ms (500);
  29. }
  30.  
  31. void main() {
  32.   initMain();                           //Main initialization
  33.   Lcd_Init();                           //Initialize LCD
  34.   Lcd_Cmd(_LCD_CLEAR);                  // Clear display
  35.   Lcd_Cmd(_LCD_CURSOR_OFF);             // Cursor off
  36.   while(1)
  37.   {
  38.       Lcd_Out(1, 1, "Key  :");              //
  39.       Lcd_Out(2, 1, "Times:");              //
  40.   }
  41.   }


Itt a kód! Mellékeltem a kapcsolási rajzt remélem tudtok segíteni. Előre is köszönöm.

16f877a.jpg
    
(#) qvasz2 válasza doup hozzászólására (») Okt 26, 2011 /
 
Az elmúlt héten kb 50 db HSZ-en keresztül magyarázták neked többen is, hogy mi az a minimum, ami a PIC működéséhet elengedhetetlen. A végén egy rajzot is kaptál:Bővebben: Link
Amit most feltettél rajzot, szerinted jó? Vagy neked teljesen kiesett az elmúlt hét, és kezdeni akarod elölről??
:banplz:
(#) potyo válasza doup hozzászólására (») Okt 26, 2011 /
 
Szerintem nem való ez neked...
(#) watt válasza doup hozzászólására (») Okt 26, 2011 /
 
Foglalkozz inkább olyan dolgokkal, amihez van képességed!
(#) Stefan válasza doup hozzászólására (») Okt 26, 2011 /
 
Van LCD Display On parancs is.
(#) vicsys válasza doup hozzászólására (») Okt 26, 2011 /
 
Miért van az LCD tápjába bekötve sorba egy áramkorlátozó ellenállás? Így nem fogja megkapni a +5V-os tápfeszt...
(#) Stefan válasza vicsys hozzászólására (») Okt 26, 2011 /
 
Én még annyit tennék hozzá, hogy legyünk már annyira igényesek hogy egy kapcsolási rajzot nem paintben rakunk össze, mert elég "trágyán" néz ki, és nehezebben is átlátható.
(#) doup válasza vicsys hozzászólására (») Okt 26, 2011 /
 
Azért mert ha nem rakok akkor a 7805 melegszik nem gyengén!
(#) Ktulu válasza doup hozzászólására (») Okt 26, 2011 /
 
Nem is csoda, mivel a kijelzo hattervilagitasat direktben 5V-rol hajtod. Csoda, hogy tulelte.
Az aramkorlatozo ellenallast oda kell tenni.
(ahogy mar emlitettek, a rajz hianyos)
(#) Poostmaster válasza doup hozzászólására (») Okt 26, 2011 /
 
A kijelzőnek nem sok az 5 V, viszont a 7805-nek durván 7 voltot kell eldisszipálnia. Csoda ha melegszik? Mit gondolsz, hova teszi a fölös energiát? Tegyél be elé egy Zenert, mondjuk 9 V környékén, mindjárt meg fog könnyebbülni.
(#) watt válasza doup hozzászólására (») Okt 26, 2011 /
 
Menj át a kezdő kédések topicjába!
(PIC kezdő nem egyenlő Elektronikai kezdővel!)
(#) pcroland válasza watt hozzászólására (») Okt 26, 2011 /
 
Én már három éve elektronikázok, de még az égetés is alig megy. Ha valaki elektronika kezdő, akkor nem egyből a PIC-kel kéne kezdeni.
(#) vicsys válasza Poostmaster hozzászólására (») Okt 26, 2011 /
 
Teljesen felesleges a zener! Ez a kapcsolás 100mA alatt vesz fel. Nem attól melegszik. Van egy gyanúm, hogy csúnya elkötés és/vagy zárlat van...
(#) vilmosd válasza vicsys hozzászólására (») Okt 26, 2011 /
 
Hattervilagitas direktben a tapon
(#) Panhard hozzászólása Okt 26, 2011 /
 
Azért vannak itt többen is, akik nyugodtan átmehetnek az Elektronika kezdőknek topicba. Tisztelet a kivételnek! Csak az utolsó tíz hozzászólást nézve. (pl: Stab.IC elé köss zenert, vagy az LCD háttérvilágítását nem szabad 5V-ra kötni.) Ha valaki nem biztos a dolgában, akkor miért osza az észt kezdőknek? Nem értem.
(#) vilmosd válasza Panhard hozzászólására (») Okt 26, 2011 /
 
Ezt szoktam en is mondani mindig. Kezdo kollega nulla (negativ) elektro ismerettel probal PIC-et programozni szinten nulla programozoi ismerettel. Es meg egyes kollegak jonnek, hogy inkabb 18F, vagy 24F tipusokkal kellene kezdeni, mert neki ez sokkal konnyebb programozni. Konyorgok!! Azt kellene eloszor megertetni ezekkel a kezdo emberkekkel, hogy hogyan kapcsolunk be egy izzolampat egy kapcsolo es egy zseblampaelem segitsegevel.
(#) doup válasza vilmosd hozzászólására (») Okt 26, 2011 /
 
Akkor ha jól értem kell az áramkorlátozó ellenállás.
Következő: »»   153 / 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