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   645 / 1210
(#) ativagyok válasza Pali79 hozzászólására (») Márc 13, 2015 /
 
Ez az ADC sebessége, nekem a DAC-ra lenne szükségem.
(#) Pali79 válasza ativagyok hozzászólására (») Márc 13, 2015 /
 
Ja, bocsi! Benéztem. A 262 oldalon van egy táblázat, ott 11 us-t ír, de nem vagyok biztos benne, hogy ez ennyire egzakt lenne.
(#) ativagyok válasza Pali79 hozzászólására (») Márc 13, 2015 /
 
Semmi gond Köszönöm a segítséget.
Sajnos nem találom, a 262. oldalon szintén az ADC időit találom.
Be kellene lőnöm 5-10us-os pontossággal a DAC kimenetén lévő jelalakot. Nehezíti a dolgot, hogy C-ben írnám a programot.
(#) usane válasza Hp41C hozzászólására (») Márc 13, 2015 /
 
Ezt rakta össze. Faék, szóval vagy nem jól rakta össze, vagy valami hamis FET-eket kapott.
(#) ativagyok válasza ativagyok hozzászólására (») Márc 13, 2015 /
 
Lehetséges, hogy nem is a DAC sebességével van a gond.
A Delay_us(10); és (11) sorokkal beállított időzítések között a PIC kimenetén 50us különbség van.
32MHz-re beállított belső oszcillátort használok.
Mi lehet a gond? Egyáltalán lehetséges ilyen időzítéseket beállítani?

  1. do{
  2.    DACCON1 = 10;  
  3. Delay_us(10);
  4.    DACCON1 = 0;
  5.    Delay_us(5);
  6.    DACCON1 = 15;
  7. Delay_us(11);
  8.    DACCON1 = 0;
  9.    Delay_us(5);
  10. }while(1);
(#) Hp41C válasza ativagyok hozzászólására (») Márc 13, 2015 /
 
Megszakítás?
(#) peze hozzászólása Márc 13, 2015 /
 
Sziasztok! Egy olyan kérdésem lenne, hogy van egy Android-os tabletem,és létezik-e olyan program aminek a segítségével, a pickit2-őt használhatnám vele? Előre is köszönöm!
(#) ativagyok válasza Hp41C hozzászólására (») Márc 13, 2015 /
 
Megszakítások nélkül próbáltam. Célszerűbb lenne azzal próbálkoznom?
A hozzászólás módosítva: Márc 13, 2015
(#) don_peter válasza Hp41C hozzászólására (») Márc 13, 2015 /
 
BSS138-as. Kapcsolás képe
Legtöbb helyen ezt ajánlották illetve ezzel dolgoztak.
A hozzászólás módosítva: Márc 13, 2015
(#) Taki33 válasza don_peter hozzászólására (») Márc 13, 2015 /
 
Szia!

Ezt a szintillesztőt használtam egy SI4432 modul és 5V-os PIC között, ami tökéletesen működik. Ki is próbáltad az illesztőt élesben vagy csak méregeted a szinteket? Elvileg, ha 3.7V-ot mérsz az 5V-os ágon akkor az már magas TTL szintnek felel meg.
(#) don_peter válasza Taki33 hozzászólására (») Márc 13, 2015 /
 
Ájjjjj, nem olvastattad el amit írok...
Igen, ki is próbáltam élesben, különbem nem is kérdeztem volna be..

A kommunikációd egyirányú volt?
5v-ról 3-ra vagy oda vissza?
A hozzászólás módosítva: Márc 13, 2015
(#) Taki33 válasza don_peter hozzászólására (») Márc 13, 2015 /
 
Igen a kommunikáció kétirányú volt! A 3.3V és az 5V GND összekötötted? Jó lenne egy rajz hogy kötötted össze a PIC-et a kijelzővel. Egyébként a kijelzőnek mekkora magas szint kell?
(#) norbiv8 hozzászólása Márc 13, 2015 /
 
Sziasztok! XC8 fordító a konstans tömböt a program vagy az adat memóriába teszi?
(#) cross51 válasza norbiv8 hozzászólására (») Márc 13, 2015 / 1
 
Program.
(#) norbiv8 válasza cross51 hozzászólására (») Márc 13, 2015 /
 
Jó hír, köszi.
(#) Isti69 hozzászólása Márc 14, 2015 /
 
  1. if(SSP1STAT.S == 1){ // Ha kapott start bitet
  2.                   if(SSP1STAT.R_NOT_W == 0){         // ha írás van
  3.                         if(SSP1STAT.D_NOT_A == 0){        // ha az utolsó byte cím volt
  4.                   i2c_eszkozcim=SSP1BUF;    //eszközcím elnyelése
  5.                        while(SSP1STAT.BF == 0); // várjunk amíg megtelik újra a bufer
  6.            
  7.                           i2c_regisztercim=SSP1BUF;            // regiszter elmentése
  8.                                
  9.                         }
  10. }
  11.  
  12. }


Sziasztok! Olyan kérdésem lenne hogy hogyan tudom elnyelni az eszközcímet, s csak a regisztercímet megtartani? A kódommal az a baj hogy mindkét változóba (i2c_eszkozcim, i2c_regisztercim) az eszközcímet menti el. Hogyan tudom kiszedni belőle a regisztercímet? O.o Ha jól sejtem akkor az első byte-ot el kéne nyelni, a bufert üríteni, majd a következő byte lenne a regisztercím.
Valakinek valami ötlet?
(#) _ampervadasz_ válasza Hp41C hozzászólására (») Márc 15, 2015 /
 
Köszönöm a Segítséget Hp41C.
Hirtelen megfeletkeztem az egészről, mert bárhogy próbáltam nem jött össze. Megpróbálom ezt a lépést eljátszani aztán jelzek utána.

Napokban szétbontottam egy csomó felesleges, vagy rossz CD DVD meghajtót, csak pár valóban precíz japán beles meghajtót hagytam meg audio CD -s feladatokra.
Ezekből a kütyükből már minden használhatót kioperáltam és PIC -es tanulmányaimhoz szeretnék egy két bipoláris léptetőmotorral egybeépített szervomechanizmust felhasználni (nem jut eszembe a rendes neve) Ezekhez keresek olyan kapcsolást ahol diszkrét elemekkel hozzá tudom kapcsolni a kontrollerhez, voltaképen célIC is megfelel, csak egy megkötés van, hogy dugdosós panelre lesz bekötve kísérleti jelleggel.
Köszönöm a segítséget.
A motorok DC5V osak.
A hozzászólás módosítva: Márc 15, 2015
(#) Pali79 hozzászólása Márc 15, 2015 /
 
16F877A-val próbálkozok SPI-vel, de valamiért nem jön az RC3 lábon az órajel, csak beáll magasra és úgy marad. Meg tudná valaki mondani, hogy miért?
  1. bsf     STATUS,RP0              ; bank 1
  2.                         clrf    TRISA
  3.                         clrf    TRISB                  
  4.                         clrf    TRISC
  5.                         clrf    SSPSTAT
  6.                         bcf     STATUS,RP0              ; bank 0
  7.                         movlw   0x00
  8.                         movwf   PORTB                   ;
  9.                         movwf   PORTA
  10.                         movwf   PORTC
  11.                         movlw   0x31
  12.                         movwf   SSPCON
(#) Zsora válasza Pali79 hozzászólására (») Márc 15, 2015 /
 
Szerintem csak akkor jön ki órajel, ha van küldés/fogadás. Írj az SPI buferbe!
(Szabadonfutó módban viszont folyamatosan mennie kell.)
A hozzászólás módosítva: Márc 15, 2015
(#) Pali79 válasza Zsora hozzászólására (») Márc 15, 2015 /
 
Írok folyamatosan, az adat meg is jön a kimeneten, de órajel nincs hozzá.
(#) Pali79 hozzászólása Márc 17, 2015 /
 
Valaki el tudná nekem mondani pár mondatban, hogy a DT, DB direktívákat, hogyan kell használni? Vannak a neten programok amik képet alakítanak ilyen hexa számok sorozatává, de nem tudom miként kell kezelni.
(#) nedudgi válasza Pali79 hozzászólására (») Márc 17, 2015 /
 
A felhasználhatóság függ a kontroller típusától is.
Egy RETLW xx utasítást generálnak a paraméterként megadott értékekből. Itt xx (decimális) 0..255 közötti érték lehet.
Az MPlab súgója tertalmaz példákat is.
(#) Pali79 válasza nedudgi hozzászólására (») Márc 17, 2015 /
 
Megnéztem a súgót, de nem lettem sokkal okosabb. Jelenleg 16F628A-val dolgozom. Az nem világos teljesen, hogy egy dt vagy db után hány paraméter állhat egy sorban? Láttam olyat, hogy 12 hexa volt egy sorban és egymás alatt volt ebből 10, ránézésre mint egy táblázat. De volt olyan is ahol csak 4 sor volt, de ott vagy száz hexa volt egymás után.
(#) nedudgi válasza Pali79 hozzászólására (») Márc 17, 2015 /
 
Tökmindegy, amennyit a fordítóprogram megenged, annyi lehet egy sorban. Ez csak az olvashatóság szempontjából jelent valamit.
(#) bbazs hozzászólása Márc 17, 2015 /
 
Ha valaki tudna segíteni egy .asm program módosításában, az kérem írjon nekem egy privátot.
(#) Pali79 válasza nedudgi hozzászólására (») Márc 17, 2015 /
 
Értem! És akkor ugyanúgy kell kezelni mint egy RETLW-kből álló táblát, gondolom.
(#) nedudgi válasza Pali79 hozzászólására (») Márc 17, 2015 /
 
Igen.
(#) Pali79 válasza nedudgi hozzászólására (») Márc 17, 2015 /
 
Rendben! Köszönöm a segítséget!
(#) kissi válasza bbazs hozzászólására (») Márc 17, 2015 /
 
Már megtettem egy ideje !
(#) Pali79 válasza nedudgi hozzászólására (») Márc 17, 2015 /
 
Újabb kérdés: az eddigiekben olyan rutint használtam ami az egyes beolvasott értékek után 0x00-val xor-t csináltam és a Z bitet figyeltem, mert a tábla végén mindig egy 0x00 volt. De egy kép konverziónál több 0x00 is előfordul a kódban, ahogyan az összes többi szám is előfordulhat. Hogyan lehet így ezt kezelni?
Következő: »»   645 / 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