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   610 / 1210
(#) killbill válasza usane hozzászólására (») Dec 23, 2014 /
 
Dioda mindenkeppen kell, mert kulonben a rele tekercsen kikapcsolaskor irto magas feszultsegimpulzus jelenik meg. Ezt a legegyszerubb egy diodaval elnyeletni. Az optora mint zavarszuro elemra mondtam, hogy felesleges. A meghajtas meg egy kulon dolog. Nyilvan, ha a rele 10mA-es, akkor a PIC-is meghajtja, de ha pl. 50mA-es, akkor mar kelleni fog egy tranzisztor vagy valami mas meghajto.
(#) clyde hozzászólása Dec 23, 2014 /
 
Üdv!
Totálisan kezdő vagyok PIC területen. Keresnék valakit aki rendelkezik elég türelemmel, hogy az alapoktól elmagyarázza nekem az egész dolgot. LED fényfüzéreket szeretnék villogtatni különböző módokon, ezt szeretném "kitanulni". Ha valaki ebben segítene az kérem dobjon egy üzit. Előre is hálás köszönet!!!
(#) benjami válasza clyde hozzászólására (») Dec 23, 2014 /
 
Ha van némi elektronikai ismereted, akkor javaslom icserny cikkeit:
PICCOLO projekt
PICula projekt
A hozzászólás módosítva: Dec 23, 2014
(#) spgabor válasza don_peter hozzászólására (») Dec 24, 2014 /
 
Egy gyors kérdés a kristály és a PIC sebesség beállítással. Ha az kristály 4 MHz-es, akkor mindkettőn négyet állítsak be a Proteusban? Mert nagyon gyorsan számol vissza és nem tudom, hogy hibásan állítom, vagy ez proteus sajátosság?
(#) clyde válasza benjami hozzászólására (») Dec 24, 2014 /
 
Szia! Nekem igazából arra lenne szükségem,hogy valaki szájbarágosan elmagyarázza, hogy a programozás során mikor hova mit írjak, hogy pl. felvillanjon az első sor, 5mp után a következő és így tovább... Gyorsan tanulok, hamar belejövök a dolgokba, csak amit eddig találtam, túl száraz és bonyolult volt nekem. Szóval ehhez kérnék némi segítséget.
(#) vicsys válasza clyde hozzászólására (») Dec 24, 2014 /
 
Bővebben: Link Sajnos nincs időm folytatni, de kiindulásnak talán jó lehet...
(#) nyekk hozzászólása Dec 24, 2014 /
 
Üdv.
Egy frekvencia mérőt(fent van a cikkek között) készülök összehozni,az EW 162G0GLY2 LCD kijelzőt helyetesíthetem DEM 16217SYH kijelzővel?Mi a kettő közt a külömbség ? Eddig nem nagyon foglalkoztam LCD kijelzőkkel,ezért előre is kösz segítségeteket!
(#) don_peter válasza spgabor hozzászólására (») Dec 24, 2014 /
 
Igen, mind kettőre 4MHz-t állíts, ha annyin használod.
(#) Bakman válasza nyekk hozzászólására (») Dec 24, 2014 /
 
Elvileg igen. Egy trükk van, a helyettesítésre szánt kijelzőn a háttérvilágítás nem ott van, mint a másikon, így az összes láb el van csúsztetva kettővel. Ha erre figyelsz, nem lehet nagy gond.
(#) nyekk válasza Bakman hozzászólására (») Dec 24, 2014 /
 
Kösz! Akkor, ezt illő lessz megjegyeznem,de majd előtte még tüzetesen átnézem az adatlapját.Valamint a nyákot is ez szerint kell akkor tervezni.
(#) mark.budai hozzászólása Dec 25, 2014 /
 
Sziasztok! A múltkori problémámat sikerült megoldanom, feltelepítettem egy újabb verziót, ez sajnos csak demo, de majd megoldjuk..
Az a problémám van, hogy a Delay_ms parancsot nem akarja elfogadni, a Complie után mindig ide jelez hibát. Írtam ennél egy picivel bonyolultabb programot (egy közlekedési lámpa programját), mert annak már ha nem is sok, de legalább van egy kis értelme. Viszont mivel nem működött (ugyan ez volt a hiba), gondoltam megcsinálom ezt a kis egyszerűt.
Miért nem fogadja el ezt a parancsot? Próbáltam a zárójel előtt szóközzel és anélkül is. Nekem a fő függvény alatt miért nincs az a pár sor, amit elég sok helyen látok? (setup-pal kezdődnek)
A hozzászólás módosítva: Dec 25, 2014

hiba.png
    
(#) mate_x válasza mark.budai hozzászólására (») Dec 25, 2014 / 1
 
Nem tettél utána pontos vesszőt.
(#) spgabor válasza don_peter hozzászólására (») Dec 25, 2014 /
 
Először is Boldog Karácsonyt Mindenkinek!
Akkor jól állítottam be, mégis a proteus nem olyan sebességgel számol mint kellene, mert beállítok az idozitoben pl két percet es ez szimulálva csak másodpercekig tart. Pedig már javítottam a kódomat is.
Bár a proteus néha érdekesen működik, mert gyakran kifagy és a szimulàció közben is szokott furcsaságok at csinálni.
(#) mark.budai válasza mate_x hozzászólására (») Dec 25, 2014 /
 
Köszi Máté, ez valahogy elkerülte a figyelmemet, így már a rendőrlámpa is működik rendesen!
(#) Loncos hozzászólása Dec 26, 2014 /
 
Sziasztok!
Az lenne a kérdésem hogy, 12f683-at szeretném programozni, de a PG0; PG1-et nem tudom változtatni se kimenetként programozva, se bemenetként programozva.
Tudna valaki segíteni?

elöre is köszi

Az .asm file:

  1. #include <p12F683.inc>
  2.      __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _IESO_OFF & _FCMEN_OFF)
  3.      cblock 0x20
  4. Delay1                    ;
  5. Delay2                    ;
  6.      endc
  7.  
  8.      org 0                ;
  9. Start:
  10.  
  11. ;----------Frekvencia beállítása Bank 1-be-----------
  12.         bsf    STATUS,RP0    ;Bank 1
  13.         movlw  0x70
  14.         movwf  OSCCON        ; 8 Mhz belső frekvencia
  15.  
  16. ;----------Kimenet, Bemenet beállítása Bank 1-be-----------
  17.  
  18.  
  19.         clrf    TRISIO          ;
  20.         clrf    ANSEL           ; az összes port digitális I/O
  21.         clrf    CMCON0                  ;
  22.  
  23.         movlw   B'00111111'             ; KIMENET 0 kivéve a 4.bit GP3
  24.                                                         ; BEMENET 1    
  25.         MOVWF   TRISIO                  ;
  26.  
  27. ;----------Bank 0-------BCF----
  28.    
  29.  
  30.         BCF             STATUS,RP0              ;Bank 0
  31.         CLRF    GPIO                    ;
  32. MainLoop:
  33.        
  34.  
  35.         movlw  B'00111111'
  36.         movwf  GPIO
  37.  
  38.  
  39.      call   Delay         ; Call Delay Subroutine
  40.      clrf    GPIO         ; Clear GP2 Output To Low     kimenet
  41.      call   Delay         ; Call Delay Subroutine
  42.      nop                  ; No Operation
  43.      goto   MainLoop      ; Goto MainLoop
  44. Delay:
  45.      movlw  0x1
  46.      movwf  Delay2
  47. DelayLoop1:
  48.      movlw  0x1
  49.      movwf  Delay1
  50. DelayLoop2:
  51.      decfsz Delay1,f      ; Decrease Delay1, If zero skip the next instruction
  52.      goto   DelayLoop2    ; Not zero goto DelayLoop2
  53.      decfsz Delay2,f      ; Decrease Delay2, If zero skip the next instruction
  54.      goto   DelayLoop1    ; Not zero goto DelayLoop1
  55.      return               ; Return to the Caller
  56.      end


Használd a kód gombot!
-moderátor-
A hozzászólás módosítva: Dec 26, 2014
(#) Pali79 válasza Loncos hozzászólására (») Dec 26, 2014 /
 
Az asm tartalmának beszúrásához használd a Kód gombot, nem fog így szét csúszni. Kérj moderációt és helyeztesd át ezt a bejegyzést a PIC kezdőknek topicba, oda való. Ott majd folytatjuk...
(#) zenetom válasza Loncos hozzászólására (») Dec 26, 2014 /
 
Szia!
Előző hozzászólásomat kitöröltem, mert csak átrohantam a programon, és butaságot írtam.
Szóval úgylátom, hogy az AD periféria nincs rendesen kikapcsolva. Illetve nem tudjuk, mit is akarsz konkrétan.
De ezt a részt írd át:
  1. clrf    TRISIO ;
  2. clrf    ANSEL ; az összes port digitális I/O
  3. clrf    CMCON0  ;
  4.  
  5. movlw   B'00111111'     ; KIMENET 0 kivéve a 4.bit GP3
  6. ; BEMENET 1    
  7. MOVWF   TRISIO  ;


Így:

  1. banksel trisio
  2. clrf    TRISIO ;
  3. clrf    ANSEL ; az összes port digitális I/O
  4. banksel CMCON0
  5. movlw b'00000111'
  6. movwf CMCON0    ;
  7. clrf ADCON0


Ez a rész nem kell, hiszen ez bemenetbe állítja a lábakat:
  1. movlw B'00111111'
  2. movwf GPIO


Illetve ellenőrizd, hogy jó bankban van-e mindig a program!
Az adatlapban a "Data Memory Organization" résznél meg tudod nézni, hogy melyik regiszter melyik bankban van.

Szerk.: ez a hsz. is menjen a PIC-es totyikba!
A hozzászólás módosítva: Dec 26, 2014
(#) Loncos válasza zenetom hozzászólására (») Dec 26, 2014 /
 
Köszönöm a segítségedet sikerült és most már működik ahogy szeretném

Azért elmagyarázhatnád mit nem csináltam jól.

GP0;GP1;GP2;GP3 Bemenet
GP4;GP5 Kimenet

a jó ASM:

Próba.asm
    
(#) zenetom válasza Loncos hozzászólására (») Dec 26, 2014 /
 
Szuper.
Közben az előző hsz-emben észrevettem mégegy hibát.
Idézet:
„Ez a rész nem kell, hiszen ez bemenetbe állítja a lábakat:
movlw B'00111111'
movwf GPIO

Ez elírás, valamiért a GPIO helyett a TRISIO-ra gondoltam..

De a hiba az volt, hogy a CMCON értékét te törölted, azaz 0-ra állítottad, így komparátorként működnek a lábak, nem pedig digitális lábként. Aztán az ADCON0-t is érdemes törölni, mert az kapcsolja ki az AD modult. Továbbá, a TRISIO-ban mindenki bemenet volt. És végül, a bankváltás sem volt jó (azért raktam bele a "banksel" utasítást néhol).
(#) Loncos válasza zenetom hozzászólására (») Dec 26, 2014 /
 
Nagyon szépen köszönőm a segítséged és remélem másnak is sokat fog

köszönöm:
Loncos
(#) morzsa15 hozzászólása Dec 27, 2014 /
 
Sziasztok!

Segítségetekre lenne szükségem van egy c forrás kódú fájlom amit át szeretnék konvertálni hexbe de nem tudom hogy kezdjek neki valaki tudna nekem adni egy részletes leírást hogy csináljam? Előre is nagyon szépen köszönöm!
(#) vicsys válasza morzsa15 hozzászólására (») Dec 27, 2014 /
 
Milyen szoftverrel lett írva? A gyártók általában felteszik a demó verziót, amivel lehet fordítani.
(#) morzsa15 válasza vicsys hozzászólására (») Dec 27, 2014 /
 
Fogalmam sincs ennyi van az elejében
Idézet:
„/*
Project: Diode and Transistor Tester
Internal Oscillator @ 4MHz, MCLR Enabled, PWRT Enabled, WDT OFF
Copyright @ Rajendra Bhatt
November 9, 2010
*/”
(#) vicsys válasza morzsa15 hozzászólására (») Dec 27, 2014 /
 
Ennyi erővel, akár linkelhetnéd az oldalt, hátha oda van írva...
(#) morzsa15 válasza vicsys hozzászólására (») Dec 27, 2014 /
 
Itt lenne tudom hogy fent van a hex fájl de le szeretném magyarosítani.
(#) morzsa15 válasza (Felhasználó 15355) hozzászólására (») Dec 27, 2014 /
 
És azzal hogy kell átkonvertálni hexbe?
(#) vicsys válasza morzsa15 hozzászólására (») Dec 27, 2014 /
 
Bővebben: Link
Hozzáteszem, az ékezetes betűknél nem lesz elég átírni a szöveget...
A hozzászólás módosítva: Dec 27, 2014
(#) morzsa15 válasza vicsys hozzászólására (») Dec 27, 2014 /
 
Igen tudom.. Na sikerül is valamennyire minden féle fájlt konvertál csak hexet nem :@
(#) morzsa15 válasza vicsys hozzászólására (») Dec 27, 2014 /
 
Sikerült ! Köszönöm a segítséget!
(#) morzsa15 hozzászólása Dec 27, 2014 /
 
Olyan kérdésem lenne még hogy ékezetet hogy lehet bele rakni?
Kicsit sok lesz már :S
Következő: »»   610 / 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