Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
- 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   429 / 429
(#) Hp41C válasza pajti2 hozzászólására (») Hé, 21:33 /
 
Hova van kötve a LED másik kivezetése? Nem alacsony szint kiadásakor világítana?
(#) mrobi válasza mrobi hozzászólására (») Hé, 21:57 /
 
Még mindig fenn áll ez a probléma. Ha így csinálom akkor nincs baj:
  1. movlw    b'00000011'
  2. movwf     GPIO

Ilyenkor világít mind a két led. De amint egy bsf, vagy bcf-et használok elszáll az egész és csak az adott láb változik. A többit kikapcsolja.

Mind a két kimeneten egy-egy FET található 470 Ω-os előtéttel.
A hozzászólás módosítva: Hé, 21:59
(#) pajti2 válasza Hp41C hozzászólására (») Hé, 22:22 /
 
Az a kódrészlet egy működő programból lett kinyisszantva. Egészen konkrétan a HardwareProfile.h-ból. Biztosan nincsen baja. Egyéb iránt ez volt az eredeti formája:
  1. #define mInitAllLEDs() LATB&=0xFBFF;TRISB&=0xFBFF;LATD&=0xFFF9;TRISD&=0xFFF9
  2.   #define mLED_1              LATBbits.LATB10
  3.   #define mLED_2              LATDbits.LATD1
  4.   #define mLED_3              LATDbits.LATD2
  5.   #define mGetLED_1()         mLED_1
  6.   #define mGetLED_2()         mLED_2
  7.   #define mGetLED_3()         mLED_3
  8.   #define mLED_1_On()         mLED_1 = 1
  9.   #define mLED_2_On()         mLED_2 = 1
  10.   #define mLED_3_On()         mLED_3 = 1
  11.   #define mLED_1_Off()        mLED_1 = 0
  12.   #define mLED_2_Off()        mLED_2 = 0
  13.   #define mLED_3_Off()        mLED_3 = 0
  14.   #define mLED_1_Toggle()     mLED_1 = !mLED_1
  15.   #define mLED_2_Toggle()     mLED_2 = !mLED_2
  16.   #define mLED_3_Toggle()     mLED_3 = !mLED_3


Azzal a programmal valamiért az az érzésem van, hogy egyáltalán el sem indul, vagy nem tudom. A config biteket is a működő hwprofile-ból nyisszantottam ki, azok sem lehetnek elszúrva. Más meg egyáltalán nincs is a programban.
(#) Szpisti hozzászólása Kedd, 9:48 1 /
 
Elnézést hogy itt is felteszem a kérdést, de az Eprom programozós topic amiben tegnap kérdeztem, kezd elsüllyedni. Na meg gyanítom , ha lenne aki tud válaszolni, azt itt találnám meg először. Tehát:

Egészen véletlenül nincs valakinek Ilyen programozója ?
Egyik ismerősömnek kellene egy E28F800B5B flash ROM-ot programozni 48 lábú TSOP tokban.
Állítólag ez a TL866 tudja írni/olvasni.
(#) Hilo hozzászólása Kedd, 10:01 /
 
Sziasztok,
most kezdek csak gyakorlatban PIC-ezni, sok hülye kérdésem lesz, előre is elnézést értük.
Mire kell figyelnem ha egy PIC lábaira tesztnek ledeket szeretnék kötni.
Ha jól tudom lehet simán előtét ellenállással kötni. konkrétan 12f683-al kísérletezgetnék. Ha stabil 5V a tápfeszültség akkor logikai kimeneten is 5V lesz vagy valamivel kevesebb? Ha jól tudom max 25mA-t bír lábanként ez a PIC, akkor ha az előtét ellenállást a ledhez úgy számolom hogy 10mA legyen az rendben van elvileg? Mire kell figyelnem?
Előre is köszönöm!
(#) Buvarruha válasza Hilo hozzászólására (») Kedd, 10:45 / 1
 
Valamivel kevesebb lesz, mint 5V, de nem sokkal és a PIC kimeneteire nyugodtan lehet kötni ledet előtétellenállással.
(#) Hilo válasza Buvarruha hozzászólására (») Kedd, 11:23 /
 
Köszönöm, akkor ha jól értem csak arra figyeljek hogy a PIC lábán a max mA alatt maradjak!?
(#) Buvarruha válasza Hilo hozzászólására (») Kedd, 11:50 /
 
Így van.
(#) pajti2 válasza Hilo hozzászólására (») Kedd, 13:09 /
 
Aztán az a max mA igazából peremfeltételek mellett értendő. Például kikábelezel valamit 10 méterre, és amikor feszültséget váltanál rajta, "visszarúg" a kábel (parazita induktivitás). Nem sokat, nem is fog tőle kisülni a pic, éppen csak egy koporsószög a kimeneti meghajtónak piff beverve

Igazából nem túl nagy baj, ha a max áram felébe bele tudsz férni.
A hozzászólás módosítva: Kedd, 13:10
(#) Hilo válasza pajti2 hozzászólására (») Kedd, 13:18 /
 
Köszönöm, ha jól emlékszem 12f683 nak 25mA a maximuma (majd megnézem az adatlapján biztos ami biztos).
10mA-re lőttem be az ellenállás mértékét, ahhoz bőven elég hogy a programot teszteljem és lássam amit kell. Köszönök minden segítséget!
(#) mrobi hozzászólása Kedd, 17:40 /
 
Ezt nem értem még mindig. Bekapcsolok BSF utasítással egy portlábat. Fel is kapcsolja. Ha utána bekapcsolok egy másik lábat BSF utasítással akkor az előtte bekapcsoltat kikapcsolja. Mit rontok el? Felrakom az forrást!

Ezt a programot lefordítva és beégetve azt érem el hogy a két led felváltva villog. Pedig nem azt kellene csinálnia.
A hozzászólás módosítva: Kedd, 17:48

demo.asm
    
(#) nedudgi válasza mrobi hozzászólására (») Kedd, 18:03 /
 
Tárold az port képét egy memóriacellában, módosítsd, és azt írd ki.
  1. ....
  2.  bsf    arnyek,0,f
  3.  movf   arnyek,w
  4.  movwf  GPIO
  5.  call   Delay
  6.  bsf    arnyek,1,f
  7.  movf   arnyek,w
  8.  movwf  GPIO
  9. ....

A bsf utasítás bolvassa a GPIO-t, módosítja a tartalmát, és visszaírja. Valami (=terhelés) miatt a 0 bitet 0-nak látja a kontroller.
A hozzászólás módosítva: Kedd, 18:08
(#) Balagemann2031 hozzászólása Kedd, 19:10 /
 
Sziasztok! Van egy I2C soros eprom IC-m amivel kísérletezek! A típusa 24C16WP . A kérdésem az lenne hogy lehet-e adattokkal feltölteni pickit2-vagy 3 mal? A Pickit3 manual select-nél csak 24LC típusokat találtam... Van jelentős különbség C és LC típusok között?
(#) mrobi válasza nedudgi hozzászólására (») Kedd, 19:50 /
 
Köszi. Így már jó.
Hallottam már erről de még soha nem tapasztaltam ilyet. Sőt. Idáig tökéletesen működött. Egyszer csak megbolondult. Azt hittem hogy a programban van a hiba. Azért is butítottam le ennyire, hogy lássam hogy mi a gond.
(#) Hp41C válasza Balagemann2031 hozzászólására (») 8:56 /
 
Lehet, az SDA lábat a Vdd -re kell húzni 2k7 ellenállással. 24LC16 beállítással programozható.
A hozzászólás módosítva: 8:56
Következő: »»   429 / 429
Bejelentkezés

Belépés

Hirdetés
Frissek
2013. Jún, 19. Sze
12:11:17
Jelenleg 434 fő olvassa az oldalt
Online tagok:
Lapoda.hu     XDT.hu     HEStore.hu