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   423 / 1210
(#) icserny válasza cross51 hozzászólására (») Jún 12, 2013 /
 
(#) cross51 válasza icserny hozzászólására (») Jún 12, 2013 /
 
Köszi én is ezt szoktam használni de nem az alap időt szeretném állítani hanem azt hogy a potit mikor kitekerem az egyik irányba ne jelenjen meg a túlcsordulásos efeketus, hogy nagyon gyorsan villog aztán meg hirtelen az alap időre vissza ugrik mikor túltekerem a potit
(#) rogers hozzászólása Jún 12, 2013 /
 
Helló.

Szeretném megkérdezni hogy van egy kapcsolásom ami müködik rendesen két nyomogomb bemenettel 10k ellenállás a bemeneten negtivra lehuzva.

A nyomógombok a paneltól kb 10m-re vannak.

Azt szeretném kérdezni hogy ha felkapcsolják a fénycső villágitást a helységbe bezavarja Pic-et és elindul mintha megnyomták a gombot.
Mivel kellenne megszürni?
Kondi? pl.
(#) kissi válasza rogers hozzászólására (») Jún 12, 2013 / 1
 
Szia!
Szoftveresen: ha észleled a gombnál az aktív szintet, akkor annak pl.0,1 másodpercig meg kell lennie ( folyamatosan, az utolsó aktív éltől ! ), különben hamis !
A hozzászólás módosítva: Jún 12, 2013
(#) icserny válasza cross51 hozzászólására (») Jún 13, 2013 /
 
Idézet:
„ne jelenjen meg a túlcsordulásos effektus”
Inkább alulcsordulásnak tűnik, amit mondasz. Ha lemegy nullára, adj hozzá egyet!
(#) vicsys válasza rogers hozzászólására (») Jún 13, 2013 /
 
Próbáld ki 2k2-os lehúzóval és akár egy 100nF-os kondit is tehetsz parallel a kapcsolóval, hidegítés gyanánt (ha a kapcsoló/kapcsolás megengedi.)
(#) cross51 válasza icserny hozzászólására (») Jún 13, 2013 /
 
Köszönöm szépen működik a dolog, már csak annyit próbálnék megoldani, hogyha csak szimplán hozzá adok egyet INCF paranccsal akkor működik de mikor letekerem nullára a potit eszmélet gyorsan villog úgy hogy már nem is futófény hanem csak szimplán világit az összes led ezt hogyan lehetne megoldani hogy a potit mondjuk ne 0-ig olvassa hanem csak 10-ig mondjuk ?
(#) Hp41C válasza cross51 hozzászólására (») Jún 13, 2013 /
 
HW: egy kis ellenállás a potenciométer "alsó" vége és a föld közé.
SW: Ha a mért eredmény kisebb, mint 10, a D2 legyen 10.
(#) cross51 válasza Hp41C hozzászólására (») Jún 13, 2013 /
 
Az SW-és megoldást CPFSEQ, CPFSGT, CPFSLT parancsokkal kéne vagy hogyan lehetne.
Itt a program részlete ezek a kódok nélkül mert nem tudom hogy őket hogyan kéne próbálkoztam velük de nem jött össze.
  1. ADC:
  2.     BSF     ADCON0, GO
  3. ADCWAIT:
  4.     BTFSC   ADCON0, GO
  5.     GOTO    ADCWAIT
  6.     RETURN
  7.  
  8.  
  9. IDO:
  10.     MOVLW   D'65'
  11.     MOVWF   D1
  12.     CALL    ADC
  13.     INCF    ADRESH
  14.      
  15. Loop1:
  16.     DECFSZ  D1, F
  17.     GOTO    Loop1
  18.     DECFSZ  ADRESH, F
  19.     GOTO    Loop1
  20.     RETURN
(#) Buvarruha hozzászólása Jún 14, 2013 /
 
Tisztelt egybegyűltek!

Beszereztem, egy PGA2311-es hangerőszabályzó IC-t és PIC-el szeretném vezérelni. Amivel gondban vagyok az a serial port, ugyanis nemegészen világos, hogy miképpen kellene összekötni az IC-t a PIC-el, ehhez kérnék tanácsot. Az I2C-ről találtam mindent az megy is, de jelen esetben azt sem tudom, hogy mit keressek. Köszi.

PIC 16F877-el lenne vezérelve, a PGA doksiját mellékeltem.

3134.pdf
    
(#) Buvarruha válasza (Felhasználó 15355) hozzászólására (») Jún 14, 2013 /
 
Tehát akkor ez az SPI. Annyira nem volt világos, hogy még megkérdezni sem tudtam normálisan, döbbenet.

Köszi, innentől már megvan, illetve ezekre a lábakra kell fel, vagy lehúzó ellneállás, mint az I2C-nél, vagy így, ahogy van összekötöm és megy?
(#) kissi válasza Buvarruha hozzászólására (») Jún 14, 2013 /
 
Szia !
Doksi 5-ös ábra ( de ez persze függ a kontrollertől, pl. Siemens 80535-nél kellene felhúzóellenállás , a PIC lábai általában tudják fel-lehúzni, csak az adatirányra figyelj, meg az RA4 "nyitott voltára" ! ! ).
(#) Buvarruha válasza kissi hozzászólására (») Jún 14, 2013 /
 
Rosszul kérdeztem. A PGA vezérlése mi, hogyan az megvan, a PIC-en nem tiszta még valami. Nem tudom, hogy a PIC oldaláról mit is használjak CS-nek, mert a CS láb a doksiban meg sincs említve az SPI résznél... Az RA4-et nem tervezem használni, így abból nem lesz gond.
(#) Buvarruha válasza (Felhasználó 15355) hozzászólására (») Jún 14, 2013 /
 
Ha jól értem, akkor a CS állítgatását magamnak kell beleírnom a programba, hogy adatküldés előtt alacsony legyen, majd utána vissza magas szintre?
(#) Buvarruha válasza (Felhasználó 15355) hozzászólására (») Jún 14, 2013 /
 
Én is így terveztem, akkor világos, köszönöm a segítséget!
(#) pajti2 hozzászólása Jún 14, 2013 /
 
Pic32 SPI gondom van.

Akadt már bele valaki olyanba, hogy MC demo projectben pic32-höz kellett használnia spi 3-as buszt ilyen féle define-ok révén?

  1. #define putcSPI             putcSPI3
  2.     #define getcSPI             getcSPI3
  3.     #define OpenSPI(config1, config2)   OpenSPI3(config1, config2)


Ugyanis nincs ilyen support pic32-höz, noha spi-ből elvileg 4 is van, de support csak közvetlenül drótozott van spi1 és spi2-höz. A legacy-ban találtam putc függvény forrás kódot, és a getc gondolom nem több egy sima regiszter olvasásnál, de az OpenSPI-nek is csak a fejlécét találtam meg, forráskódot nem. Binárisban meg a bánat tudja merre találom. Ha forráskód lenne hozzá, legalább valamelyik buszhoz, hogy lássam, mi mindenre kell ott gondolnom, amire az MC is gondolt, onnét már nem lenne nehéz dolgom, de nem sikerült olyat felkutatnom.

Amit magam találtam, az ilyesmi:

  1. #define putcSPI(data) SpiChnPutC(SPI_CHANNEL3, data)
  2.   #define getcSPI()     SpiChnGetC(SPI_CHANNEL3)
  3.   #define OpenSPI(config1, config2)  SpiChnOpen(SPI_CHANNEL3, config1, config2)


Aminek működnie kellene, de nem működik. Ha ki is megy a cucc (azt nem tudom ellenőrizni a boardon), vissza egészen biztosan nem jön akkor sem semmi értelmes.

Ha valaki találkozott már szemközt a problémával, és oldotta már meg működőképesre (vagy talált forrás kódot a fenti témában valahol), most sokat tudna segíteni. Köszönöm.
A hozzászólás módosítva: Jún 14, 2013
(#) cmdnetwizard hozzászólása Jún 14, 2013 /
 
Sziasztok!

Már rég PIC-eztem, és most nem vagyok formában, ezért néhány alapvető kérdésem lenne...
A mellékleten van egy vázlatos kapcsolási rajz, és ellenőrzést szeretnék kérni erre, hogy minden megvan-e...

Belső oscillátort szeretnék használni,
A tápfeszültség 5 V,
És az RA0-ra egy megszakítást szeretnék. Bár van egy olyan sejtésem, hogy az RA0 nem a megfelelő bemenet a megszakításhoz, csak a nyákon egyszerűbb az RB portot használni a LEDekhez

Ez a felállás kivitelezhető, vagy kéne még valamit módosítanom?

A válaszokat előre is köszönöm!

GyLLL.PNG
    
(#) mrobi válasza cmdnetwizard hozzászólására (») Jún 14, 2013 /
 
Ami nekem így eszembe jut elsőre:
- 100nF-od kondi a táplábakra
- Felhúzó ellenállás az MCLR lábon
- A gomb és a portláb közé én még tennék egy 500ohm körüli ellenállást
- Az RA0 láb tényleg nem használható megszakításnak
A hozzászólás módosítva: Jún 14, 2013
(#) cmdnetwizard válasza mrobi hozzászólására (») Jún 14, 2013 /
 
- 100nF megvan a panel-tervben
- A felhúzó ellenállás mekkora legyen, 10K elég?
- Ellenállást - most, hogy mondtad - beraktam
- És akkor programból milyen módokon lehet csinálni "állmegszakítást"?

Köszi!!
(#) mrobi válasza cmdnetwizard hozzászólására (») Jún 14, 2013 /
 
Nem tudom milyen gyorsan kapcsolgatod a LED-eket. Főprogramban nem lehet megoldani? Esetleg TMR0 megszakításban figyelni a gombot és kapcsolni egy jelző bitet, amit a főprogramban lekezelsz.

10K jó lesz.
Amúgy fent van egy sárga rész. Abban ezek egy része le van írva.
A hozzászólás módosítva: Jún 14, 2013
(#) cmdnetwizard válasza mrobi hozzászólására (») Jún 14, 2013 /
 
Nem rossz ötlet, a gombot meg funkcióváltáshoz fogom használni, és a gomb hatására egy változót fogok átállítani eggyel nagyobbra, vagy épp 0-ra...
És a 10K elég az MCLR-re?
(#) mrobi válasza cmdnetwizard hozzászólására (») Jún 14, 2013 /
 
Igen elég a 10K az MCLR-re.
(#) cmdnetwizard válasza mrobi hozzászólására (») Jún 14, 2013 /
 
Köszönöm! További szép estét...
(#) mrobi hozzászólása Jún 16, 2013 /
 
Sziasztok!
Ilyet még nem tapasztaltam. Itt ez a kódrészlet:
  1. bsf     GPIO,0
  2.         call    Delay
  3.         bsf     GPIO,1
  4.         call    Delay
  5.         bsf     GPIO,2
  6.         call    Delay

Ugye ennek azt kellene csinálnia hogy bekapcsolja a 0-ás lábat majd az 1-es és a 2-est és ezek állapotát meg is tartja. De ez valamiért nem így van. Bekapcsol a 0 majd kikapcsol. Utána bekapcsol az 1-es majd kikapcsol. Utána pedig a harmadik is.
A hozzászólás módosítva: Jún 16, 2013
(#) Beles válasza mrobi hozzászólására (») Jún 16, 2013 /
 
Nincsenek túlterhelve a PIC lábai? Nekem akkor csinált ilyeneket, mikor túl sok ledet kötöttem rá direktbe.
(#) mrobi válasza Beles hozzászólására (») Jún 16, 2013 /
 
470ohm-os ellenállásokon keresztül vannak rákötve a ledek. Nem hiszem hogy ez lenne a probléma.
(#) Buvarruha válasza (Felhasználó 15355) hozzászólására (») Jún 16, 2013 /
 
Valóban ilyen egyszerű, elsőre működött. CCS-ben még az init, meg uninit sem kell.

Ennyi az egész, azért van kétszer küldve, mert mindkét oldalnak az értékét el kell küldeni, balanszzal, meg nem szórakozok.

  1. output_low(PIN_c0);
  2.        spi_write(matek);
  3.        spi_write(matek);
  4.        output_high(PIN_c0);


Köszi a segítséget!
(#) Buvarruha válasza Buvarruha hozzászólására (») Jún 17, 2013 /
 
Most ott tart a dolog, hogy a kijelzőhöz kellene programot kreálni, ami SPI-n fogadná az adatot, de a mintaprogramokat, meg a netet kutatva nem találtam számomra érthető dolgot. Ebben tudna valaki segíteni?
(#) proksa1 hozzászólása Jún 17, 2013 /
 
(#) rubosbence hozzászólása Jún 17, 2013 /
 
Hello!
Itt egy kis segédprogram, időzítések számolásához.
Hátha jól jön valakinek!

PicDly.zip
    
Következő: »»   423 / 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