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   857 / 1210
(#) pajti2 válasza kriszrap hozzászólására (») Okt 2, 2016 /
 
Idézet:
„..de doksi áhhh”
Hát pedig mi itt mind időt és türelmet áldozunk rá, hogy a doksikkal és az adatlapokkal barátkozzunk. Abból tanulunk meg mindent. Lehet fizetni pénzzel is mindent, mert akad professzionális segítség is. Melyiket szeretnéd inkább használni?
(#) kriszrap válasza pajti2 hozzászólására (») Okt 3, 2016 /
 
Köszönöm az információkat.

Kicsi villogtatás kérdésem lenne
kapcsolás
Jobb alul 555 ic -vel lehet fényerőt álltani.
Hány ms érdemes villogtatni??
Minnél töbször villogtatom annál fényesebb???
Shitregiszterem Blink lábra raknék rá egy ilyet.
(#) Elektro.on válasza kriszrap hozzászólására (») Okt 3, 2016 /
 
Nem. Minél nagyobb a kitöltési tényező annál fényesebb.
(#) Hp41C válasza kriszrap hozzászólására (») Okt 3, 2016 /
 
Idézet:
„Jobb alul 555 ic -vel lehet fényerőt álltani.Hány ms érdemes villogtatni??”

50.. 100 Hz villogtatási frekvencia elég, de lehet még ennél is nagyobb.
Nem a frekvencia a meghatározó, hanem a kitöltés. Azaz az idő mekkora részénem aktív a kioltás. Ha rövidebb a kioltási idő, a kijelzés fényesebb és fordítva.
Idézet:
„Shitregiszterem Blink lábra raknék rá egy ilyet.”

A 74(xxx)595 -nél az OE lábbal lehet ilyen funkciót elérni, de fordított szintekkel. Alacsony OE esetén van "jel" a kimeneten.
(#) kriszrap válasza Hp41C hozzászólására (») Okt 3, 2016 /
 
Idézet:
„A 74(xxx)595 -nél az OE lábbal lehet ilyen funkciót elérni, de fordított szintekkel. Alacsony OE esetén van "jel" a kimeneten.”


Akkor azzal a kapcsolással jó???
Még annyit 10nf om van akkor mennyi az ellen állások értéke??
A hozzászólás módosítva: Okt 3, 2016
(#) Hp41C válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
(#) kriszrap válasza Hp41C hozzászólására (») Okt 4, 2016 /
 
"Kitöltés:
97%" a lényeg??
A hozzászólás módosítva: Okt 4, 2016
(#) Hp41C válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Nézd meg a következő eseteket:
C = 0.001uF, R1 = 15k, R2 = 15k --> 32kHz, 67%
C = 0.001uF, R1 = 15k + 470k, R2 = 15k --> 32kHz, 97%

C = 0.010uF, R1 = 15k, R2 = 15k --> 3.2kHz, 67%
C = 0.010uF, R1 = 15k + 470k, R2 = 15k --> 3.2kHz, 97%

A fentiekből a frekvencia kb mindegy, hiszen mindkettő elég magas.
A kitöltés 67 és 97 % között állítható, ami megfelel a CD4543 -nak, de nem lesz jó a 74xx595 -nek.

Egy inverter kell az 555 kimenete és a 74xx595 OE bemenete közé.
(#) kriszrap válasza Hp41C hozzászólására (») Okt 4, 2016 /
 
Hogy néz ki ez az inverter???
Tudsz róla valamit küldeni???
(#) kriszrap válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Megoldva!!!!
(#) kriszrap válasza Elektro.on hozzászólására (») Okt 4, 2016 /
 
Idézet:
„[Az ADC nem százalékot mér, ha neked százalékban kell az eredmény azt neked kell egy számoltatnod.
[quote]ANSELA.RA5=1;/quote]
Ez hogy jött össze? Van ANSEL és van ANSELH .Ez két 8 bites regiszter. Da egy regiszternek nincs RA5 ös lába ahohy a kódodból sejthető.
ANSELA regiszterről én nem tudok...
Korábban csatoltam egy pascal minta kódot.
De te MikroC -t használsz. A fejlestő környezetedben nyomsz egyF1 et, és a súgóban előkeresed az ADC lib leírását. példakóddal , bekötéssel együt. Neked csak át kell ültetni a konfigot a saját PIC típusodra.”




ANSEL be akkor mit kell megadni???
ANSEL.RA5=0; // javítva

ANSEL t úgy értelmezem hogy kiválasztom a lábat amint természetes van analog bemenet

Így: ANSEL.RA5=0; és a nulla vagy egy pedig bemenet vagy kimenet.

ADC_Read(4) itt pedig azt hogy AN1......AN5 (megjelölt láb) itt AN4 van beállitva

És még azt akartam tudni Hogy mivel lehet azt beállitani hogy pl 3v legyen 1023 bit.
A hozzászólás módosítva: Okt 4, 2016
(#) Hp41C válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Idézet:
„ANSEL.RA5=0; // javítva”

Az adatlap szerint az ANSELx bitjeit ANSxy néven adják meg:
  1. ANSELA.ANSA5 = 0;
(#) eSDi válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Üdv!

Ránéztem az ADC library-ra a mikroC háza táján. A következők okozhatnak még gondot:
Idézet:
„Initializes PIC’s internal ADC module to work with RC clock.”

Idézet:
„This function doesn't work with the external voltage reference source, only with the internal voltage reference.”


Először is a kívánt lábakat digitális bemenetté kell tenni a TRISx regiszterek segítségével.
Ezután, mint ahogy írták is már, az ANSELx.ANSxy regiszterekkel ezeket analóg bemenetre kell állítani. Majd be kell állítani az ADC modult az ADCON0-2 regiszterekkel.
Ezután jöhet csak az ADC_Read(x).
Viszont, ami az idézetből látszik az ADC library csak az RC oszcillátort használja. Ez még annyira nem nagy baj, nem mindig kell gyorsnak lenni. Viszont az, hogy csak a belső referenciát tudja használni, az már okozhat gondot. Főleg a te esetedben, mivel neked 3V-os referenciafeszültség kellene. A PIC belül Vdd, 1.024V, 2.048V és 4.096V referenciafeszt tud beállítani. Szóval, lehet mindent neked kell megírni a library-t kikerülve, ha külső 3V-os referenciát szeretnél.
Mondjuk én javasolnám inkább a 4.096V-os belsőt, mert azzal könnyebb számolni. Innentől kezdve a referencia adott, a felbontás adott és a kapott ADC értékből vissza lehet számolni, hogy az valójában hány Volt. Százalékot, meg csak tudsz számolni.
(#) kriszrap válasza Hp41C hozzászólására (») Okt 4, 2016 /
 
Idézet:
„ANSELA.ANSA5 = 0;”

Felettébb érdekes.
Amikor a nyomogombot csináltam nyomogomoboknak ezt ellitottam "ANSEL.RA5=0;" és müködött. Mert ha ezt nem írtam be nem csinált semmitse.

Beállitásaim így néznek ki:
  1. OSCCON.IRCF0=1;///Internal Oscillator Frequency Select bits, 16MHz
  2.     OSCCON.IRCF1=1;
  3.     OSCCON.IRCF2=1;
  4.     OSCTUNE.PLLEN=1; // 4x PLL
  5.     TRISA = 0;
  6.     TRISB = 0;
  7.     TRISC = 0;
  8.     TRISD = 0;
  9.     TRISE = 0;
  10.  
  11.     LATA = 0;
  12.     LATB = 0;
  13.     LATC = 0;
  14.     LATD = 0;
  15.     LATE = 0;
  16.     LATC.RC1=1;
  17.     ANSELE.RE1=0;// gomb jobb bemenet
  18.     ANSELE.RE2=0;// gomb ball bemenet
  19. ANSEL.RA5=0;
A hozzászólás módosítva: Okt 4, 2016
(#) eSDi válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Üdv!

Tényleg felettébb érdekes! Főleg úgy, hogy semelyik port, semelyik lába nincs bemenetnek állítva.
Az ANSEL és ANSELx-nek nincsenek ilyen (RE1, RE2, RA5, stb.) bitjei. Ha ezt ilyen formában le engedte fordítani a mikroC, akkor ezt a fordítót nagyon gyorsan el kell dobni.
(#) kriszrap válasza eSDi hozzászólására (») Okt 4, 2016 /
 
akkor kitudod nekem helyesen javítani hamár a mikroC nem figyelmesztettet???
ANSxy ott melyikkel a láb név(RE1, RE2, RA5) vagy az analog (id) AN1 AN2........?
Hát öööööö.... Mindegyiket elfogadja.....
A hozzászólás módosítva: Okt 4, 2016
(#) eSDi válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Nem ismerem a mikroC-t, mint írtam csak ránéztem a library-ra. Másrészt nem is C-ben programozok, de ezek a lépések 99%-ban megegyeznek minden magas szintű nyelvben. Amik pedig az adatlapban találhatókkal egyeznek meg. Szóval a mikroC példaprogramok és az adatlap segítségével kell megértened az összefüggéseket, mert így az én kijavításom után sem biztos, hogy fog menni. Ráadásul, már le is írtuk:
Idézet:
„ANSELA.ANSA5”

lásd gyári adatlap 301. oldal TABLE 17-2: REGISTERS ASSOCIATED WITH A/D OPERATION
Részletesebben a 149-151. oldalon és 295-298. oldalon találsz róla infót.
(#) eSDi válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Idézet:
„ANSxy ott melyikkel a láb név(RE1, RE2, RA5) vagy az analog (id) AN1 AN2........?
Hát öööööö.... Mindegyiket elfogadja.....


ANSELA esetén a ANSA5, ANSA3, ANSA2, ANSA1, ANSA0-án kívül nem fogadhatna el mást, mert másnak nincs értelme. Szintaktikai hibát kellene okozzon. Ha mégis így tesz akkor egy vacak az egész és nagyon nem éri meg a $249.00 USD-t.
(#) kriszrap válasza eSDi hozzászólására (») Okt 4, 2016 /
 
ANSELx.ANSxy használom köszönöm.

Kicsit eltérek a tárgytól Müverösitö és a piclába közé kell ellenállás max 4.8v jön ki rajta???
Védelem szempontjából
(#) eSDi válasza kriszrap hozzászólására (») Okt 4, 2016 / 1
 
Mondjuk 100 Ohm, mert nagyobb már jelentősen befolyásolhatja a mérést. De szerintem nem feltétlenül kell.
(#) Bakman válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Mivel igen kevés áram folyik a PIC felé, csak nagyon nagy ellenállás ér valamit védelem szempontjából, a mérés pontosságát viszont jelentősen rontja.
(#) kriszrap válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Még annyit ANSELx.ANSxy mit kell beírni hogy AN7 használja igy??
ANSELA.ANSA7.????
(#) cross51 hozzászólása Okt 4, 2016 / 1
 
Sziasztok!

Ma takarítottam a Visual Studios projektjeimet és találtam egy még az assembly mániás koromhoz írt delay calaculatort. decfsz-el számol simulatorban a 100ms kereken 100.
És láttam még sokan assembly-znek ez egyszer egyszer megkönnyítheti a feladatot.
Bővebben: Link
(#) eSDi válasza kriszrap hozzászólására (») Okt 4, 2016 /
 
Igen, de ez még csak azt a lábat állítja analógra, amin az AN7 csücsül.
(#) kriszrap válasza eSDi hozzászólására (») Okt 5, 2016 /
 
Annyit még hogy ANSELA.ANSA7 = 0; 0 azt jelenti hogy aktív vagy bemenet állitom????

Ha beállítotam ezt utánna mehet ADC_read() nem??
A hozzászólás módosítva: Okt 5, 2016
(#) eSDi válasza kriszrap hozzászólására (») Okt 5, 2016 /
 
Légy szíves barátkozz meg az adatlappal, mert így nagyon nehéz lesz. Esetleg térj vissza egy 16F-es kicsi PIC-re, az jóval egyszerűbb. Ha azon mennek ezek a dolgok, és elsajátítottad az adatlap használatát, akkor jöhet a nagy tesó.
Tegnap este már benéztem én is, ANSA7 nincs.
Adatlap 8. oldal TABLE 3: PIC18(L)F4XK22 PIN SUMMARY (CONTINUED)
Gondolom PDIP-es a PIC-ed, tehát az AN7 a 10-es lábon van, ami pedig az RE2.
Szóval ANSELE.ANSE2 = 1-et kell beállítanod mivel ezzel a digitális bemenetet tiltod.
Idézet:
„ANSE<2:0>: RE<2:0> Analog Select bit
1 = Digital input buffer disabled
0 = Digital input buffer enabled”

Ha ez után minden rendesen be van állítva, akkor mehet az ADC_read(7).
(#) attika hozzászólása Okt 5, 2016 /
 
Sziasztok.
A mellékelt kapcsolásnál teljesen mindegy, hogy az RB7-et kimenetnek vagy bemenetnek állítom mert mind a két esetben működik a kapcsolás és semmi hibát nem produkál.
Ezt mivel lehet magyarázni? Ha így állítom be akkor is jó.
  1. TRISA = 0b00111100;            
  2.   TRISB = 0b00000000;

És ha így akkor is.
  1. TRISA = 0b00111100;            
  2.   TRISB = 0b00000001;

Az LCD-nek miért mindegy, hogy a 14-es lába ki vagy be menetre van kötve?
(#) eSDi válasza attika hozzászólására (») Okt 5, 2016 /
 
Üdv!

Szerintem te az RB0-t állítod és nem pedig az RB7-et. Legalábbis gondolom, hogy minden nyelvben a bal szélső az MSB, a jobb szélső pedig az LSB.
(#) attika válasza eSDi hozzászólására (») Okt 5, 2016 /
 
Tehát akkor a bal szélső a felső helyiérték lenne.
TRISB = 0b1 akkor így állítom az RB7-et bemenetre?
TRISB = 0b11 akkor így az RB7-6 bemenet??
Vagy valamit nagyon nem jól értelmezek?

Igaz elírtam, nem figyeltem,javítottam is.
Köszönöm.
A hozzászólás módosítva: Okt 5, 2016
(#) eSDi válasza attika hozzászólására (») Okt 5, 2016 /
 
Igen, így van, de a TRISB-vel.
Következő: »»   857 / 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