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   231 / 1210
(#) guga válasza Balagemann2031 hozzászólására (») Márc 30, 2012 /
 
Az LVP ki van kapcsolva, a PGM-re egy nyomogomb van kötve, de ha felkötöm vdd-re akkor is ugyanezt írja ki:S
(#) guga válasza guga hozzászólására (») Márc 30, 2012 /
 
Köszi srácok mindent!

Megvan a hiba, nem figyeltem eléggé a tervezésnél és az ICPGC és az ICPGD lábakat kötöttem be.

Nem tudjátok esetleg, hogy mi a különbség az ICPGC PGC és az ICPGD PGD között? a datasheet-ben nem találtam róla infot.
(#) icserny válasza guga hozzászólására (») Márc 30, 2012 /
 
A lábkiosztási diagramnál van egy 2-es lábjegyzet, ami elmondja, hogy a 25.9 alfejezeteben van ez leírva.
Ezek dedikált programozó/nyomkövetésre használható lábak. Az ICPRT konfigurációs bit '1'-be állítása után használhatók.

Ha ideiglenesen be tudod kötni a "normál" PGC, PGD lábakat, akkor beállíthatod az ICPRT bitet, s utána jó lehet az eredeti panel is - ha MCLR helyett a dedikált ICRST/ICVpp lábat vezetted ki az ICSP csatlakozóra (az ICPGC és ICPGD társaságában).
(#) pjg hozzászólása Márc 30, 2012 /
 
Közös anódos 7 szegmenses LED kijelzőt lehet használni PIC-kel? Közös katódos kapcsolásokat látok.
(#) Hp41C válasza pjg hozzászólására (») Márc 30, 2012 /
 
Lehet.
(#) guga válasza icserny hozzászólására (») Márc 30, 2012 /
 
Köszi szépen!
(#) AZA válasza pjg hozzászólására (») Márc 30, 2012 /
 
Üdv!
Lehet,az oldalon is találsz rá példát.
Bővebben: Link
(#) Hp41C válasza guga hozzászólására (») Márc 30, 2012 /
 
Szia!
A frissen vett kontrollerben mindig be van kapcsolva az LVP.
(#) sany válasza sany hozzászólására (») Márc 31, 2012 /
 
A CD4050 -es jó lenne szintillesztéshez? Én jónak találom.
(#) sany válasza sany hozzászólására (») Márc 31, 2012 /
 
A szintillesztést ellenállásosztókkal fogom megoldani.
De lenne egy kérdésem. Ugye az érintőképernyő kimeneteihez nem kell szintillesztés , mert a PIC tudja fogadni a jelet ( -X,+X,-Y,+Y kimenetekről)? Gondolom a kijelzőben már van érintőképernyő vezérlő beintegrálva.
(#) potyo válasza sany hozzászólására (») Márc 31, 2012 /
 
A +x, -x, +y, -y azok egy-egy analóg-digitális átalakító lábra kell, hogy menjenek (vagyis igazából csak egy-egy a koordináták közül, a másik mehet sima lábra is). Nincs semmi vezérlő, neked kell az analóg feszültségek alapján kisütni, hogy hol van nyomva a kijelző. Nézd át ezt, neked négyvezetékes az érintőpaneled.
(#) sany válasza potyo hozzászólására (») Márc 31, 2012 /
 
Köszönöm szépen .
(#) Balagemann2031 hozzászólása Ápr 1, 2012 /
 
Sziasztok! Azt szeretném kérdezni, hogy van e különbség működésben a CCP1-2 kivezetések között, mert írtam egy pwm-es tesztprogit ami a CCP2-es lábon rendesen működik, ha pedig átírom a CCPR2L, CCPR2H-t, és a CCP2CON regiszterek neveit 1-re, akkor a CCP1 kivezetésen nem azt csinálja amit elötte a 2-esen, hanem szinte az ellenkezőjét, de azt is akadozva. Nem tudom, hogy esetleg hardveres a hiba, vagy valamire nem figyeltem? (18F4550)
(#) Hp41C válasza Balagemann2031 hozzászólására (») Ápr 1, 2012 / 1
 
Szia!
Van különbség: A 18F4550 -ben és a családtagjaiban a CCP1 Enhanced, a CCP2 normál CCP modul. Ld. adatlap. Az Enhanced modul akkor működik a normállal kompatibilisen, ha a CCP1CON -be 0x00bb1100 -t írsz, amiben a bb a kitöltés alsó két bitje.
(#) Balagemann2031 válasza Hp41C hozzászólására (») Ápr 1, 2012 /
 
Köszönöm szépen!
(#) mate_x hozzászólása Ápr 1, 2012 /
 
Sziasztok!

Az miért van hogyha a config word-ben bekapcsolom a brown out resetet, akkor a program eleje végrehajtódik, de amint ahhoz a részhez ér, hogy egy memóriakártyára adatokat kell írni, újraindul a pic. Ha kikapcsolom a BOR-t, akkor mindent gond nélkül végrehajt, viszont kb 20ból egyszer hibásan kapcsol be a pic és el sem indul a program. Megmértem a feszültséget a pic tápfeszültség lábain, de semmit nem esik, amint a memóriakártyához ér.
A segítséget előre is köszi.

Üdv, mate_x
(#) icserny válasza mate_x hozzászólására (») Ápr 1, 2012 /
 
Ilyen hiányos információk alapján lehetetlen megállapítani a hiba okát. Egykapcsolási rajzból már kiderülhetne, hogy nem maradtak-e le a 100 nF-os kondenzátorok, be van-e kötve minden táp- és föld kivezetés, stb. Lehet pillanatszerű leesés, amit voltmérővel nem látsz, de a BOR már észreveszi.
(#) mate_x válasza icserny hozzászólására (») Ápr 1, 2012 /
 
Be vannak kötve a 100 nF-os kondenzátorok, de valószínűleg ez a pillanatszerű feszültségleesés lesz az. Ha jól tudom valahogy lehet szoftverből is vezérelni a BOR-t, bekapcsolás után valahogy megpróbálom kikapcsolni. Köszi.

Üdv, mate_x
(#) thomas01 hozzászólása Ápr 1, 2012 /
 
ez most lehet, hogy elég hülye kérdés lesz, (mentségemre szolgáljon, hogy még teljesen kezdő vagyok a témában): katalógusban néztem egy árlistát a picekről, de nem igazán tudom, hogy a "/" jel után lévő betűk mit is jelentenek.

PIC12F683-E/MD
PIC12F683-E/MF
PIC12F683-E/P
PIC12F683-E/SN

konkrétan ezekre lennék kíváncsi
(#) El_Pinyo válasza thomas01 hozzászólására (») Ápr 1, 2012 /
 
Az alkatrészek tokozására vonatkozó kódok. Az adatlap végén a Package Information szekció tartalmazza a szükséges információkat.
(#) El_Pinyo válasza mate_x hozzászólására (») Ápr 1, 2012 /
 
Én nem kapcsolgatnám össze-vissza a BOR-t, hanem a tápkiesés okát szüntetném meg. A tápegység, illetve a tápvezetékek hibás tervezése miatt esik le a feszültség. Próbaképpen tehetsz a memóriakártya mellé egy 10-47 µF értékű elkót, talán elegendő lesz az is.
(#) Pepebá hozzászólása Ápr 1, 2012 /
 
Üdv.
A Piccolo projektben a PCF8583 óra I2C megszólítására a támogatói függvények felhasználhatóak a LM75A hőszenzor mintájára.
Ilyen megoldással próbálkozom, de a kiolvasott adatok értelmezhetetlenek.
int pcf8583_read (uint8 addr){
i2c_start();
i2c_putc(0xA0);
i2c_putc(0x02);
i2c_rstart();
i2c_putc (0xA1);
sec=i2c_getc(1);
min=i2c_getc(1);
ora=i2c_getc(1);
i2c_stop();
return (sec,min);
}
(#) icserny válasza Pepebá hozzászólására (») Ápr 2, 2012 /
 
Figyelembe vetted, hogy a kiolvasott adatok az adatlap szerint BCD kódolásúak?
(#) Pepebá válasza icserny hozzászólására (») Ápr 2, 2012 /
 
Üdv.
Igen, azt tudom. Viszont arra gondoltam hogy a másodpercnél mégis kellene valami változást látni.
Tudnál segíteni a BCD dekódolásában kész függvénnyel?
Köszi.
(#) icserny válasza Pepebá hozzászólására (») Ápr 2, 2012 /
 
Én nem foglalkoztam BCD számábrázolással, de az Interneten találhatsz az átalakításhoz függvényeket.
Négy jegyre:
  1. unsigned int BCDtoI(unsigned int BCD){
  2. unsigned int result;
  3.     result=(BCD>>12)*1000;
  4.     result+=((BCD>>8)&0x0f)*100;
  5.     result+=((BCD>>4)&0x0f)*10;
  6.     result+=((BCD)&0x0f);
  7.     return result;
  8. }


Két jegyre:
  1. uint8 BCD2BINARY(uint8 x) {
  2. uint8 binary;
  3. binary = ((x & 0xF0 )>>4 ) * 10 + (x & 0x0F);
  4. return (binary);
  5. }
(#) trudnai válasza icserny hozzászólására (») Ápr 2, 2012 /
 
Vagy akarhany jegyre atirva:

  1. unsigned BCDtoI(unsigned BCD){
  2.     unsigned result = 0;
  3.     unsigned i;
  4.     for ( i = 1; BCD > 0; i *= 10, BCD >>= 4) {
  5.         result += (BCD & 0x0f) * i;
  6.     }
  7.     return result;
  8. }
(#) Hp41C válasza icserny hozzászólására (») Ápr 2, 2012 /
 
A pakolt BCD kódolású (10*a+b) szám hexadecimálisan felírva (16*a + b). Tehát 6*a -t, azaz a felső digit 6/10 -át, azaz 3/8 -át kell csak levonni, hogy a bináris értéket megkapjuk:

  1. uint8 BCD2BINARY(uint8 x) {
  2.     uint8 binary;
  3.     binary = x - ((x & 0xF0 )>>3 ) * 3;
  4.     return (binary);
  5.     }
(#) maestro hozzászólása Ápr 2, 2012 /
 
Üdv!
Egy egyszerű kérdésem lenne:
A PIC-eknek csak a megszakítás bemenetüket lehet beállítani fel és lefutó élre érzékeny bemenetnek vagy a sima digitális bemeneteket is?
Tehát csak azokat amelyekhez oda van írva pl. ez: "Interrupt-on-change pin".
(#) Hp41C válasza maestro hozzászólására (») Ápr 2, 2012 /
 
Szia!
Az Interrupt-on-change funkció az előző állapothoz képesti változás esetén kér megszakítást, függetlenül a változás irányától. A nem kívált változást a megszakítás kiszolgáló program ki tudja szűrni. Az újabb típusokon (Enhanced midrange) már van lehetőség az él beállítására is. Pl.: PIC16F/LF1826/1827 IOCBP, IOCBN regiszterek.
(#) _ampervadasz_ hozzászólása Ápr 2, 2012 /
 
Sziasztok.

Szeretnék kérdezni valamit.

C nyelv tanulásába szeretnék belekezdeni, de rögtön egy nagy akadályba ütköztem.

Egyértelmű, hogy a Program C nyelvben megíródik, de valahogy el kell jutni a PIC -hez is.

Csak szoftveres oldalról lenne kérdésem, hardveres része tiszta számomra.

Milyen szoftvert kell alkalmaznom amivel tudom kezdeni a programozást, majd annak a kódját letudjam fordítani, és beletudjam préselni a PIC lelkivilágába?

Van nekem egy tartalmam ami a következő névre hallgat: MPLAB 8.63 HI-TECH En 436MiB mérettel.

Ebben MPLAB -tól kezdve a HITECC -ig minden benne van, a kérdésem az, hogy hogyan tudok eljutni addig, hogy az alkalmazás működni is tudjon?

Köszönöm a segítséget.
Következő: »»   231 / 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