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   299 / 1210
(#) n_yálastrubadúr válasza Kovabe hozzászólására (») Szept 4, 2012 /
 
Ebből szerintem senki sem értett semmit. De valószínűleg egybenyitottak a fetek. Ha nagy áramokkal kisérletezel és nem vagy biztos a dolgokban, vagy egy 20Ohmos 5wattos ellenállással vagy biztosítékkal védd az áramköröd. Ha a fetet kiveszed tesztelheted, hogy megy-e, de még ekkor sem biztos hogy nem károsodott.ez nem pices téma
A hozzászólás módosítva: Szept 4, 2012
(#) Kovabe válasza n_yálastrubadúr hozzászólására (») Szept 4, 2012 /
 
Igazábol a kérdés az az hogy lehetséges e hogy a pic programozhato de nem fut mig egy másik ugyan ugy programozva illetve ugyan oda beforrasztva pedig megy.
(#) menyus válasza Hp41C hozzászólására (») Szept 4, 2012 /
 
Sziasztok!

Igen köszönöm, értem már. Azért nem fordul le mert van egyéb hiba is a kódban aminek viszont tudom az okát. De ez a 305 ös üzenet új volt nekem. Köszönöm mindkettőtöknek a fejtágítót.

Az oldallal kapcsolatban...: A témát ugyan figyelésre jelöltem, de nem jött email pedig ketten is reagáltak a hozzászólásomra.... Most én bénáztam el valamit vagy valamiért nem működik ez a figyelős dolog?

A hozzászólás módosítva: Szept 4, 2012
(#) n_yálastrubadúr válasza Kovabe hozzászólására (») Szept 4, 2012 /
 
Akkor előfordulhat. Ha Pickit2- vel programozol akkor azt megpróbálhatod a Tools > OSCCAL > Auto Regenerate. Ha azután sem lesz jó, akkor passz!
(#) Balagemann2031 válasza bbalazs_ hozzászólására (») Szept 4, 2012 /
 
Hello! Bocsánat, nem voltam gépnél. Amúgy a táblázatot a programmemóriában tárolom, és használom is a TBLRD utasításokat, csak valamiért nem akart lefordulni egy progi és azt hittem lapozni kell a programmemóriát, de rájöttem hogy ez 18as széria, és csak az adatmemóriát kell... Azért köszönöm a segítségeket!
(#) Kovabe hozzászólása Szept 4, 2012 /
 
Sziasztok végre sikerült uj pic-et szerezni és ezzel már müködik a kapcsolásom ugyhogy bebizonyosodott hogy ugy is meg tud halni egy pic, hogy programozni lehet de nem futtat semmit.
(#) Hp41C válasza Kovabe hozzászólására (») Szept 4, 2012 /
 
Bármelíik típusba egy ilyen programot beprogramozva bármikor előállítható ez a jelenség:
  1. org 0
  2. goto 0

Ne dobd még ki, egy led villogtató programmal meg kellene járatni és megmérni a kimeneteit...
A hozzászólás módosítva: Szept 4, 2012
(#) djhua hozzászólása Szept 4, 2012 /
 
Szep jo estet mindenkienk ! Az en problmam az lenne hogy , nem sikerul sehogy sem beprogramozni egy Pic-et(12F629) . A programozot kicsit alakitotam , mivel olyan diodakat nem kaptam es nagyon dragak is egyben , szoval tetem a D1-D5 ig 1N4148 -at ( a tobbi mind maradt ). A program amivel ajanlottak hogy programozuk az IC-Prog 1.06 , de van egy problemam nem tudom hogy kell a progit bealitani pl. Oscillator , Fuses , Hardware (Interface: Direct.. vagy Windows..) , Bandgap . Mikor beolvastatjuk a picet akkor mindenhol csak 0000 van , miert van ez ?
(#) mate_x válasza djhua hozzászólására (») Szept 4, 2012 / 1
 
Szia!

Úgy látom, hogy ez egy JDM programozó: http://www.wattmep.tvn.hu/JDM_Ne/JDM_problemak.html . Ha egyszerű programozót szeretnél, akkor használd ezt például: http://www.oshonsoft.com/picprog.html .

Üdv, mate_x
(#) djhua válasza mate_x hozzászólására (») Szept 4, 2012 /
 
Oky koszonom szepen , de ezt en mar megcsinaltam es ezzel nem lehetne ? Vagyis szerintem csak a bealitason mulik , mivel atneztem a kapcsolast tobbszor is , vagy azok a diodak nagyion fontosak ?
(#) kaqkk válasza djhua hozzászólására (») Szept 4, 2012 /
 
Nem ismerem a jdm et , de nem lehet hogy be van állítva az olvasásvédelem ? code protect
all protect ? Ha ezek aktívak akkor csak 00-kat tudsz kiolvasni a beégetett picből
A hozzászólás módosítva: Szept 4, 2012
(#) Kovabe válasza Hp41C hozzászólására (») Szept 5, 2012 /
 
Köszi majd megprobálom
(#) matheattila válasza djhua hozzászólására (») Szept 5, 2012 /
 
Szia!
Valamikor olvastam, hogy nem minden számítógépen működik a JDM programozó, mert nem biztos, hogy kellően nagy feszültségek vannak a soros porton (+/-15V).
Én is megépítettem egy ilyen típusú programozót és működött tökéletesen csak külső táp is kellett neki és a soros port miatt egy kicsit macerásabb is (pl. laptopon nincs) és nem támogat sok PIC típust ezért elkészítettem a szilva féle PICkit2-es klónt (USB-s) és azzal már többszázszor programoztam gond nélkül és majdnem minden típust támogat.
(#) Balagemann2031 hozzászólása Szept 6, 2012 /
 
Sziasztok! Adott egy 18F4550es pic bootloaderrel. I2C kommunikációt szeretnék használni, de a baud rate-t nem tudom miből számítsam, mert nem vagyok biztos a cpu órajelében. Az lenne a kérdésem, hogy ha 20Mhz-es kvarcot használok, akkor a PLL ek és a többi konfiguráció, mennyiben módosítja? csatolom a konfigurációt. Köszönöm
  1. config PLLDIV   = 5         ; PLL osztó 20 MHz-es kristályhoz
  2.          config CPUDIV   = OSC1_PLL2 ; CPU órajel forrása a 96MHz PLL/2
  3.          config USBDIV   = 2         ; USB órajel forrása a 96MHz PLL/2
  4.          config FOSC     = HSPLL_HS  ; HS oszcillátor és PLL a jelforrás
(#) icserny válasza Balagemann2031 hozzászólására (») Szept 6, 2012 / 1
 
48 MHz lesz a CPU frekvenciája, s a FCy = Fosc/4 összefüggés miatt 12 MHz lesz az utasításciklusok frekvenciája (ezt számlálják a timerek belső órajel esetén).

Az i2c_init(100); függvényhívás 100 kHz-es I2C buszfrekvenciát állít be.

  1. #include "piccolo_config.h"
  2. #include "piccolo_i2c.h"
  3.  
  4. /** Az I2C modul konfigurálása és engedélyezése a bitrate_kHz
  5.  * paraméter által megadott adatsebességgel.
  6.  * \param bitrate_kHz a kHz egységekben megadott adatátviteli sebesség
  7.  */
  8. void i2c_init(unsigned int bitrate_kHz) {
  9.   #define clk_tmp CLOCK_FREQ/4000L
  10.   SSPADD = clk_tmp/bitrate_kHz -1;
  11.   SSPSTAT = SLEW_OFF | SMBUS_DISABLE;
  12.   SSPCON1 = MASTER;
  13.   SSPCON2 = 0x00;
  14.   I2C_SCL = 1;
  15.   I2C_SDA = 1;
  16.   SSPCON1 |= SSPENB;                    // az MSSP egység engedélyezése
  17. }
A hozzászólás módosítva: Szept 6, 2012
(#) Balagemann2031 válasza icserny hozzászólására (») Szept 6, 2012 /
 
Köszönöm szépen! Egyébként assemblyben próbálkozom
(#) trudnai válasza matheattila hozzászólására (») Szept 6, 2012 /
 
Nem csupan a feszultseg szintjen mulik ez! Sok USB-soros port atalakitonal a kontroll jelek (RTS/CTS/DTR/DSR) nem vezerelhetoek megfelelo sebessegel ill idozitessel, vagy egyaltalan nem vezerelhetoek felhasznaloi programbol. A JDM pedig ezeket a jeleket billegteti (bit-bang-nek is nevezett technikaval).
(#) silent15 hozzászólása Szept 6, 2012 /
 
Sziasztok, bele akarok kezdeni egy nagy 34x8 ledes kijelző megvalósításába , és ehhez szeretném felhasználni ezt http://www.hestore.hu/prod_10022097.html a IC-t, azt szeretném kérdezni , hogy ezt lehet e használni PIC hez?

Köszi!
(#) csapeter válasza silent15 hozzászólására (») Szept 7, 2012 /
 
Szia! Szerintem használhatod PIC-hez, az adatlapja alapján.
(#) n_yálastrubadúr hozzászólása Szept 7, 2012 /
 
Jó reggelt!

Kikisérleteztem, kiterveztem a nyáklapom a legújabb toy rc autómhoz. Az aztalon rendesen ment a belő oszcillátoráról a 16f887. De most hogy miniatürizáltam qfn tokban már egyáltalán nem jó. 8Mhz-en 9,9, 4Mhz-en 4,9és így tovább. Az OSCTUNE regiszterben pedig hiába állítgatom semmit sem változik az órajel.
[/code] banksel OSCCON
movlw b'01110000'
movwf OSCCON
movlw b'00000000'
movwf OSCTUNE[/code]

Ja és ez van a konfig sorban :&_INTOSCIO
A hozzászólás módosítva: Szept 7, 2012
(#) n_yálastrubadúr hozzászólása Szept 7, 2012 /
 
Megnéztem, a jelalak is ilyen. Csak ha 8Mhz-re állítom lesz szabályos. De érdekes mert a kristályé
sem teljesen szabályos..

osc.JPG
    
(#) icserny válasza n_yálastrubadúr hozzászólására (») Szept 7, 2012 /
 
A jelalak "szabályossága" attól is függhet, hogy a jel és a mintavételezés frekvenciája hogyan interferál.
(#) n_yálastrubadúr válasza icserny hozzászólására (») Szept 7, 2012 /
 
A látható Digitrace-vel dolgozom, erre nem gondoltam, hogy a mitavétel interferál. De elromlott a frekimérőm így csak a uS-ból tudok frekvenciát számolni. Ami így akkor elég téves.
(#) n_yálastrubadúr hozzászólása Szept 7, 2012 /
 
Olyan létezhet, hogy a pic belső órajele szakadozik, vagy az megint a mintavételemnek köszönhető? Újraszámoltam 9,9mhz- re az értékeimet, de az is azt mutatja hogy jó a dekódolás de darabos, így mintha ez lenne a hiba.
(#) n_yálastrubadúr hozzászólása Szept 7, 2012 /
 
A problémámat megoldottam, egy 20Mhz-es kristályról megy. Jött egy másik probléma. RF-en keresztül az eddig küldött 8-bit, amivel a CCPR1L regisztert töltöttem a vevő oldalon, most azt csinálja, hogy ha tolom a potit az adónál a felénél már maximum és
aztán jön a második fele ami szintén egy egész azaz 8-bit. Csak a kristály változott eddig 4Mhz-en ment.
(#) n_yálastrubadúr hozzászólása Szept 8, 2012 /
 
Sziasztok!

Érdekes kérdés: hogyan lehet az hogy az egyik analog csatornán lehet szabályozni teljesenn 0-1024 .ig még egy másiknál akkor sem lesz 0- ha direkt földre kötöm. Mindig a legkevesebb 5 amit mutat. A Tad be van tartva. Köszi!
(#) janikukac hozzászólása Szept 8, 2012 /
 
Sziasztok!

PK2-s demo boardot akarom életre kelteni C-ben. A komolyabb fajta van meg nekem a 16F887-es.

Vicsys C kurzusa alapján akarom életre kelteni egy LED villogtatásra. Valamiért nem sikerül az egész. Folyton van valami hiba. Az RD3-as pin-en lévő ledet szeretném villogtatni. A programom így néz ki:
  1. #include "D:\PIC Programozásaim\demoboard+pic16f887\demoled2.h"
  2.  
  3.  
  4. void main()
  5. {
  6.  
  7.    setup_adc_ports(NO_ANALOGS|VSS_VDD);
  8.    setup_adc(ADC_OFF);
  9.    setup_spi(FALSE);
  10.    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
  11.    setup_timer_1(T1_DISABLED);
  12.    setup_timer_2(T2_DISABLED,0,1);
  13.    setup_comparator(NC_NC_NC_NC);// This device COMP currently not supported by the PICWizard
  14.    setup_oscillator(False);
  15.  
  16.    // TODO: USER CODE!!
  17.  
  18. while(1)
  19. {
  20. Output_High (PIN_D3);
  21. Delay_ms (500);
  22. Output_Low (PIN_D3);
  23. Delay_ms(500);
  24. }
  25. }


Mi lehet a gond?? Ha beégetem a HEX-et akkor egyszer világít a led, ha kikapcsolom és újra be, akkor néha nem, néha igen. Össze vissza. Villogni viszont egyáltalán nem villog.
A hozzászólás módosítva: Szept 8, 2012
(#) vicsys válasza janikukac hozzászólására (») Szept 8, 2012 /
 
MCLR felhúzva? HVP kikapcsolva? (a demoled2.h tartalmát is látni kéne) 100nF a táplábakon?
(#) janikukac válasza vicsys hozzászólására (») Szept 8, 2012 /
 
Gyári demopanel, minden elektronikai dolog be kell hogy legyen kötve. MCLR-t nem húztam fel. Hogyan tegyem? HVP micsoda? Nem az a gond 4MHz-n megy? Most 20MHz-t próbálok, akkor is csak világít.

Itt a H file:
  1. #include <16F887.h>
  2. #device adc=8
  3.  
  4. #FUSES NOWDT                    //No Watch Dog Timer
  5. #FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
  6. #FUSES NOPUT                    //No Power Up Timer
  7. #FUSES NOMCLR                   //Master Clear pin used for I/O
  8. #FUSES NOPROTECT                //Code not protected from reading
  9. #FUSES NOCPD                    //No EE protection
  10. #FUSES BROWNOUT                 //Reset when brownout detected
  11. #FUSES IESO                     //Internal External Switch Over mode enabled
  12. #FUSES FCMEN                    //Fail-safe clock monitor enabled
  13. #FUSES LVP                      //Low Voltage Programming on B3(PIC16) or B5(PIC18)
  14. #FUSES NODEBUG                  //No Debug mode for ICD
  15. #FUSES NOWRT                    //Program memory not write protected
  16. #FUSES BORV40                   //Brownout reset at 4.0V
  17.  
  18. #use delay(clock=4000000)
(#) vicsys válasza janikukac hozzászólására (») Szept 8, 2012 /
 
Bocs elírtam nem HVp, hanem LVP. Azaz Low Voltage Programming. Ez nálad be van kapcsolva, ezért nem jó.
13. #FUSES LVP //Low Voltage Programming
sort javítsd
#FUSES NOLVP
A belső oszcit nézd meg az adatlapon! Ha 4MHz-en próbálod az jó lesz, de 20MHz-en (belső oszcival) nem fog menni, mert ha jól emlékszem, max 8MHz lehet.
Következő: »»   299 / 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