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   583 / 1210
(#) don_peter válasza cross51 hozzászólására (») Okt 24, 2014 /
 
48MHz-re állítottam be így 77 került a SPBRG regiszterbe..
Csak a baj, hogy hülyeségeket ír ki amikor e vagy k esetleg t karaktereket küldök..
Eredménynek meg ezek jönnek, legalább is ezt olvassa vissza:
e karakterre= 2, ha nem küldök semmit akkor= -2, ha k-t küldök= N jön vissza, ha t küdök= - (kötőjel) érkezik.
LCD-n folyamatosan kiíratom az olvasott karaktekerek..
  1. #pragma config PLLDIV   = 5         // PLL osztó 20 MHz-es kristályhoz
  2. #pragma config CPUDIV   = OSC1_PLL2  
  3. #pragma config USBDIV   = 2         // órajel forrása a 96MHz PLL/2
  4. #pragma config FOSC     = HSPLL_HS  // HS oszcillátor és PLL az USB-hez is
  5. #pragma config FCMEN    = OFF       // Fail Safe Clock Monitor tiltása
  6. #pragma config IESO     = OFF       // Belső/külső oszcillátor tiltása
  7. #pragma config PWRT     = ON        // Bekapcsoláskor 62 ms várakozás
  8. #pragma config BOR      = ON        // Brown our Reset engedélyezve
  9. #pragma config BORV     = 2         // Reset szint = 2,7 V
  10. #pragma config VREGEN   = ON        // VUSB belső stabilizátorról megy
  11. #pragma config WDT      = OFF       // Watchdog timer letiltva
  12. #pragma config WDTPS    = 256       // Watchdog utószámláló beállítása
  13. #pragma config MCLRE    = ON        // MCLR (reset) bemenet engedélyezve
  14. #pragma config LPT1OSC  = OFF       // T1OSC nagyobb teljesítményű üzemmód
  15. #pragma config PBADEN   = OFF       // PORTB<4:0> digitális I/O-ként inicializálódik
  16. #pragma config CCP2MX   = ON        // RC1 legyen a CCP2 kimenet
  17. #pragma config STVREN   = ON        // A verem túlcsordulása RESET-et okoz
  18. #pragma config LVP      = OFF       // Alacsonyfeszültségű programozás letiltva
  19. #pragma config ICPRT    = OFF       // Dedikált programozói kivezetés nincs
  20. #pragma config XINST    = OFF       // Extended Instruction Set
  21. #pragma config DEBUG    = OFF       // Háttér nyomkövetés letiltva, RB6/7 normál I/O
  22. #pragma config CP0      = OFF       // Kódvédelem kikapcsolva
  23. #pragma config CP1      = OFF
  24. #pragma config CP2      = OFF
  25. #pragma config CP3      = OFF
  26. #if defined(MCHPUSB_BOOTLOADER)     // A Boot blokkba csak ez a bootloader fér bele!
  27.         #pragma config CPB      = ON    // Boot Blokk kódvédelem bekapcsolva
  28. #else
  29.          #pragma config CPB      = OFF   // Boot Blokk kódvédelem kikapcsolva
  30. #endif
  31. #pragma config CPD      = OFF
  32. #pragma config WRT0     = OFF       // Írásvédelem kikapcsolva
  33. #pragma config WRT1     = OFF
  34. #pragma config WRT2     = OFF
  35. #pragma config WRT3     = OFF
  36. #if defined(MCHPUSB_BOOTLOADER)
  37.         #pragma config WRTB     = ON    // Boot Blokk írásvédelem bekapcsolva
  38. #else
  39.         #pragma config WRTB     = OFF   // Boot Blokk írásvédelem kikapcsolva
  40. #endif
  41. #pragma config WRTC     = OFF
  42. #pragma config WRTD     = OFF
  43. #pragma config EBTR0    = OFF       // Táblázatolvasás ne legyen letiltva
  44. #pragma config EBTR1    = OFF
  45. #pragma config EBTR2    = OFF
  46. #pragma config EBTR3    = OFF
  47. #pragma config EBTRB    = OFF       //Boot blokk táblaolvasás ne legyen letiltva
  48. #define CLOCK_FREQ 48000000
A hozzászólás módosítva: Okt 24, 2014

usart3.JPG
    
(#) cross51 válasza don_peter hozzászólására (») Okt 24, 2014 / 1
 
FOSC = 48MHz
FOSC / (BAUD*16)-1
Nekem 9600-as baud-al számolva 311.5 jött ki próbáld ki 312-vel és 311-el nem tudom melyik lesz a pontosabb.
A hozzászólás módosítva: Okt 24, 2014
(#) don_peter válasza cross51 hozzászólására (») Okt 24, 2014 /
 
Akkor itt már át kell állítani 16bit-esre mert eddig 8bit-esen volt.
Kipróbálom..
(#) cross51 válasza don_peter hozzászólására (») Okt 24, 2014 / 1
 
De ott vigyázz vagy a BRGH = 0; és a BRG16 = 1; vagy, ha mindkettő 1 akkor 48MHz/(9600*4)-1 ezzel kell számolni.
(#) don_peter válasza cross51 hozzászólására (») Okt 24, 2014 /
 
Köszönöm ezzel megoldódott a dolog:
TXSTAbits.SYNC = 0; // EUSART Mode Select bit
TXSTAbits.BRGH = 0; // High Baud Rate Select bit
BAUDCONbits.BRG16 = 0; // 16-Bit Baud Rate Register Enable bit
SPBRG = 31;

((20MHz/9600)/64)-1 == 31
Köszi..
(#) Pali79 válasza Hp41C hozzászólására (») Okt 24, 2014 /
 
A töréspontnál a debugger "Run"-nak is meg kell állnia? Nekem csak az "Animate" üzemmódban áll meg.
(#) Hp41C válasza Pali79 hozzászólására (») Okt 24, 2014 /
 
A jó régi Mplab még megállt, ha régebben tettél töréspontot a forrásba. Aztán jött a 8.8x és gyakran elfelejtette a töréspontokat. Ugyan láttad a forrásban, de - ha úgy gondolta - nem állt meg rajtuk. Ha törlöd és újra beteszed, akkor újra életre kel. Aztán jött a 8.90 és a 8.92, de ezen (és még egy sor) problémán nem javítottak... Arccal az MpLabX felé...
Pl. Miért nem lehet egy programozó a PICKit2 vagy PICkit3 mellett aktivizálni az MpLab Sim -et? Régen lehetett. Ha egy öt éves projectet betöltök, még működik is. Miért csak egy példány MpLab futatható egyszerre?

Egy szó, mint száz: A törésponton a Run módnak is meg kell állnia.
A hozzászólás módosítva: Okt 24, 2014
(#) anemo hozzászólása Okt 25, 2014 /
 
Sziasztok!

Egy kis segítséget kérnék. Két PIC között szeretnék adatokat áramoltatni UART-tal (RX, TX lábakon át). Működhet úgy, hogy a két PICnek nem ugyanaz a tápegysége? A tápokat összeföldelve nem alakulna ki földhurok vagy más zavartatás?
(#) cross51 válasza anemo hozzászólására (») Okt 25, 2014 /
 
A földhurok zavarhatásban nem tudok segíteni de az fontos, ha az egyik PIC tápja 5V a másiké meg 3.3V akkor illesztés kell közéjük, ha a két külön táp 5V-os akkor ez nem lényeges.
(#) anemo válasza cross51 hozzászólására (») Okt 25, 2014 /
 
Mindkettőn 7805 van, csak maga a fesz.szab IC-k kapnak más trafókról villanyt.
(#) anemo válasza anemo hozzászólására (») Okt 25, 2014 /
 
Közben találtam egy teljesen optós megoldást, valószínűsítem ez a megoldás megfelel nekem.

uart_opto.png
    
(#) don_peter hozzászólása Okt 25, 2014 /
 
No végre elindult az USART..
Köszönöm a sok segítséget cross51-nak és persze Hp41C-nek..
Itt egy kis videó: Bővebben: Link
2 gond volt végül a projekttel amiért nem akart menni a dolog.
1. USB-s serial átalakítót használok, ez még nem is gond, de az már az volt, hogy a kütyü fordított jel polaritással működik..
2. nem közös testet (GND) használtam a teszteknél és ezért nem működött az éles kapcsolás
Köszi még egyszer..
(#) Pali79 hozzászólása Okt 25, 2014 /
 
Urak!
Egy kis segítséget kérnék, mert megint belegabalyodtam a matekba. A Timer1 túlcsordulásait számolom egy változóba (T1), a CCP modul működik, a pic-et egy 4 MHz-es kavics hajtja. Egy adott pillanatban a CCP2 okozta megszakítás hatására a regiszterekben az alábbi értékek vannak: CCPR2H: 0xD6; CCPR2L: 0x94; T1: 0x3B. Ez esetben (ha valamennyi regiszter értéke előtte nulla volt) az eltel idő: 3,917401 sec.
Én úgy számoltam, hogy a két CCP regiszter értékéhez hozzáadtam a T1×65535-öt (50836+59×65535).
Ez így helyes?
(#) foxi63 válasza Pali79 hozzászólására (») Okt 25, 2014 /
 
majdnem...
3.921556 Az első szám t1*65536 a második 54932
(PC számológép tudományos nézet hex <->dec)
A timer 0 ról indul és 0kor csordul túl, nem 0xffff értéken.
A hozzászólás módosítva: Okt 25, 2014
(#) zenetom válasza anemo hozzászólására (») Okt 26, 2014 /
 
Szia!
Attól függ, milyen környezetben használod őket. Egyébként szerintem ha nem kritikus nagyon a működés (tehát nem ipari vagy orvosi ), akkor mehet leválasztás nélkül is.
Közben megjegyzem, hogy a PIC-ek a legstrapább aktív alkatrészek, amikkel eddig találkoztam
(#) Pali79 válasza foxi63 hozzászólására (») Okt 26, 2014 /
 
Értem, köszönöm! Ekkora tévedés belefér a részemről!
(#) anemo válasza zenetom hozzászólására (») Okt 26, 2014 /
 
Hello!
Rendben, köszönöm! Az optós leválasztás mellett döntöttem végül, kiegészítve két tranyóval.
(#) Pic7 hozzászólása Okt 27, 2014 /
 
Sziasztok építettem egy pic kit 2 clont és kiszeretném próbálni.
Vettem egy pic12f629-et és ehhez szeretnék kérni egy ledvillogtató asm kódot.
(#) Pali79 válasza Pic7 hozzászólására (») Okt 27, 2014 /
 
Vicsys elektronikus dobókockája
Pont ilyen pic-re épül, nem egy bonyolult kapcsolás.
(#) McAdams hozzászólása Okt 27, 2014 /
 
Üdv Ismét! Nemrégiben Vilmosd-től kaptam egy kis inspirációt PIC fejlesztői alaplaphoz. Meg is vettem a kijelzőt amit majd szeretnék használni, de hol 4bit-en hol 8bit-en használják. A kijelző a egy EW20400YLY a kérdés ezzel kapcsolatban:
Kell-e ellenállás a háttérvilágitásához?
Hány biten használjam?
Adatlap a kijelzőhöz.
(#) don_peter válasza McAdams hozzászólására (») Okt 27, 2014 /
 
Idézet:
„Kell-e ellenállás a háttérvilágításához?”
Tegyél, igen.
Idézet:
„Hány biten használjam?”
Kezdésnek 4bit-en használd.
A hozzászólás módosítva: Okt 27, 2014
(#) Pali79 válasza McAdams hozzászólására (») Okt 27, 2014 /
 
Szia! Kell ellenállás, mert leddel világít. Az adatlapban benne van, hogy 3-6,8 ohm közti az ajánlott. Nyilván az alacsonyabb értékű ellenállás nagyobb fényerővel és nagyobb fogyasztással társul.
Mindkét módban használható, mindkettőnek megvannak az előnyei-hátrányai. A 4 bites módhoz csak 4 adatvezeték kell, tehát spórolsz 4 I/O lábat, cserébe viszont picit bonyolultabb a program.
A 8 bites módban egyszerűbb a program, de kell mind a 8 vezeték is.
Én a 4 bitest preferálom, mert az I/O-ból sose elég!
(#) McAdams válasza don_peter hozzászólására (») Okt 27, 2014 /
 
Köszönöm! Nézegettem a kapcsolásokat van ahol a D0-D3 egyszerűen nincs bekötve, van ahol meg le van hozva a 0-ra.
A háttérvilágításnál jól értelmezem az adatlapot, 8V kell a világításhoz? Ha igen gondolom akkor 12V-ról egy tranzisztorral oldjam meg...(persze ha jól gondolkodok)
(#) Pali79 válasza McAdams hozzászólására (») Okt 27, 2014 /
 
Idézet:
„Nézegettem a kapcsolásokat van ahol a D0-D3 egyszerűen nincs bekötve, van ahol meg le van hozva a 0-ra.”
Működik így is, úgy is.
Idézet:
„A háttérvilágításnál jól értelmezem az adatlapot, 8V kell a világításhoz? Ha igen gondolom akkor 12V-ról egy tranzisztorral oldjam meg...(persze ha jól gondolkodok)”

Akkor te nem azt adatlapot nézed amit belinkeltél? Mert annak az utolsó oldalán ott van, hogy +5V a LED is és a Vdd is.
(#) McAdams válasza Pali79 hozzászólására (») Okt 27, 2014 /
 
No igen! Az utolsó oldal....tényleg az vhogy kimaradt
(#) McAdams válasza Pali79 hozzászólására (») Okt 27, 2014 /
 
No akkor még egy kérdés. Ugyanott vettem egy 4×7-es szegmenskijelzőt (CA56-11GWA) amelyben van két dp középen mint egy órában. Létezik hogy kivezetése nincs ?
(#) vicsys válasza McAdams hozzászólására (») Okt 27, 2014 /
 
Igen.
(#) Pali79 válasza McAdams hozzászólására (») Okt 27, 2014 /
 
Igen, sajnos annak nincs kivezetése, csak a számjegyek utániaknak (tizedespont).
(#) McAdams válasza Pali79 hozzászólására (») Okt 27, 2014 /
 
Köszi! Akkor ezt buktam.... valahogy sejtettem
(#) icserny válasza McAdams hozzászólására (») Okt 27, 2014 /
 
Vásárlás előtt ellenőrizni kell a bekötést, vagy figyelni kell, hogy "Clock display" szerepel-e a megnevezésben. Lásd pl. itt...
Következő: »»   583 / 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