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   642 / 1210
(#) killbill válasza benjami hozzászólására (») Márc 7, 2015 /
 
Idézet:
„Azért annak a timer-nak összhangban kell lennie a proci utasításciklusidejével. Kicsit sarkítva: ha a 100MHz-es timer értékeit egy 1MHz-es processzorral olvasol ki, csak a 100 egész számú többszörösét tudod majd kiolvasni.”
Igen, ez igaz, de meg 1MHz is eleg gyors a 30..100ms hosszu gombnyomashoz kepest. Mellesleg az emlitett peldaben egy 100MHz-es Cortex-M3 processzorrol van szo.
(#) killbill válasza sonajkniz hozzászólására (») Márc 7, 2015 /
 
Idézet:
„Nem ált szándékomban senkit megbántani.”
Nem bantottal meg.
Idézet:
„Csak attól válik véletlenszerűvé, hogy mikor kapcsolod be.”
Az en esetemben igen. De nincs is ezzel semmi baj. Masik pelda: ket teljesen egyforma routert bekapcsolsz, es megis mas ertekre all be a random generatoruk. Ezt megoldjak ugy, hogy minden kikapcsolaskor elmentik a random state-et, igy bekapcsolaskor onnan folytatja, ahol kikapcsolaskor abbahagyta. Termeszetesen a legelso bekapcsolaskor meg mondjuk a sajat MAC-jevel seed-eli a generatort.
Idézet:
„Az eredmény egy véletlen szám, de nem a számítógép teremtette!”
Igen, a kezdo erteket valahonnan venni kell, de utana mar meglehetosen jo eloszlasu veletlenszamokat kapsz egy jo generatorbol. Ezert az a kijelentes, hogy a szamitastechnikaban nincs veletlenszam, igy onmagaban nem allja meg a helyét. Mellesleg vannak olyan HW veletlenszamgeneratorok is, amik analog zajgeneratorral, szabadonfuto RC oszcillatorral es hasonlo elveken mukodnek.
(#) benjami válasza killbill hozzászólására (») Márc 7, 2015 /
 
Sejtettem, hogy nem a 8 bites PIC-et használod 100MHz-en (egyébként nekem is itt van a 120MHz-es STM32-esem valódi analóg véletlenszám generátorral). A lényeg, hogy ha túl gyorsan járatod a véletlenszám előállításra szolgáló számlálód, előfordulhat, hogy bizonyos értékeket egyszerűen sosem fogsz tudni belőle kiolvasni, mert azokat az értékeket csak a lehetséges kiolvasási időpontok között fogja tartalmazni. Ezért az eloszlásban lyukak lesznek.
A hozzászólás módosítva: Márc 7, 2015
(#) sonajkniz válasza killbill hozzászólására (») Márc 7, 2015 /
 
Idézet:
„Mellesleg vannak olyan HW veletlenszamgeneratorok is, amik analog zajgeneratorral, szabadonfuto RC oszcillatorral es hasonlo elveken mukodnek.”

Valóban. A COMMODORE64-esnek volt egy fehérzaj generátora, és azt használta véletlengenerátornak. Az valós véletlenszám. Ahogy egy R/C oszcilátorból nyert is az.
(#) killbill válasza benjami hozzászólására (») Márc 7, 2015 /
 
Ez igy igaz. Eppen ezert nem is hasznalom veletlenszamnak, csak seed-nek. Annak azert eleg jo. Mert ha mondjuk 121 orajelenkent vizsgalom a gombot es olvasom ki a timer-t, akkor meg mindig 2^32 / 121 ertek kozul kapok valamit. Sot, ennel tobbet, mert a 2^32 nem oszthato 121-gyel, igy nem ugyanazokat a szamokat jarja vegig. Bar 100ms alatt a 100MHz timer nem is jar korbe. Ha 128 orajel lenne a lekerdezes surusege, akkor valoban elvesztek 7 bitet a 32-bol.
(#) matheattila válasza killbill hozzászólására (») Márc 7, 2015 /
 
Szerintem véletlenszámhoz lehetne használni egy ADC bemenetet is, csak úgy a levegőben hagyni, hogy aztan szedjen össze valamilyen zajt, s az így kapott kezdőértékből már lehetne generálni véletlenszámokat. Igaz még nem próbáltam, de elvileg működhet
(#) sonajkniz válasza matheattila hozzászólására (») Márc 7, 2015 /
 
Valami ehhez hasonló elven működik a fehérzaj generátor is, bár ha jól emlékszem, ott egy tranzisztor emmiterlába lóg a levegőben.
(#) Bell válasza sonajkniz hozzászólására (») Márc 7, 2015 /
 
Én egy regisztert számláltatnék lefelé hattól nulláig a lehető legnagyobb sebességgel.
Ha nulla, akkor ismét hatot írok bele.
Ekkor minden érték azonos valószínűséggel fordul elő másodpercenként akár milliószor.
A gurulást timer, a gombnyomást külső megszakítással, a pergésmentesítést egyszerű időzítéssel oldanám meg. A sorsolás után már lényegtelen a gomb állapota.
Csak kijelzés van és indulhat minden az elejéről.
(#) sonajkniz válasza Bell hozzászólására (») Márc 7, 2015 /
 
Persze. Így is lehet. Csak akkor meg a gurulásnak kell külön rutin, ahogy írtad. De ettől függetlenül jónak tűnik.
(#) jonatani01 hozzászólása Márc 8, 2015 /
 
Sziasztok!
Most próbálok meg először a laptopommal kommunikálni. Tudnátok ajánlani jópofa kis hyperterminal programokat?
Köszönöm, Jonatán!
(#) jonatani01 hozzászólása Márc 8, 2015 /
 
Lehet hogy hülyeség így ez a kérdés?
(#) Hp41C válasza jonatani01 hozzászólására (») Márc 8, 2015 / 1
 
(#) jonatani01 válasza Hp41C hozzászólására (») Márc 8, 2015 /
 
Köszönöm szépen!
A hozzászólás módosítva: Márc 8, 2015
(#) peze hozzászólása Márc 8, 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? Előre is köszönöm!
(#) jdani hozzászólása Márc 8, 2015 /
 
Hali. A motoromra csináltam egy PICes hőmérőt. Szerintem most mindegy milyen a kapcsolása, egy 16F628A van benne használva. A rajzot most nem találom. Műszerfalba beépítettem, ha ráfordítom a kulcsot, mutatja a hőt. (igaz hogy a program elég gagyi, kicsit villódzik a kijelzés, mert ugye multiplex. Ez még nem is lenne gond, annyira nem zavaró. Amint begyújtom a motort, megkergül, bolondozik a kijelzés. Hol egyik digit, hol a másik alszik ki, vibrál, kikapcsolgat, vagy nem is világít. Bezavar neki ha begyujtom a motort, de mi zavar neki olyankor? Mit lehet tenni ellene? Olyan spécin betettem, SMD alaktrészekből, nem akarnám kivenni, és másra cserélni.
Bővebben: Link
A video elején, amikor nincs begyújtva, akkor is villog, kicsi volt az expozició, nagy záridő, azért látszik hogy villog, de olyankor jó.
A hozzászólás módosítva: Márc 8, 2015
(#) bbalazs_ válasza jdani hozzászólására (») Márc 8, 2015 /
 
A kapcsolast nem talalod. A programrol fogalmunk sincs. Igy nehez segiteni.

Latatlanban a zavarok okozzak, amik a gyujtasbol erednek. Valoszinuleg a tapon terjednek be a cuccodba. Probald kulon taprol, akkurol vagy elemrol jaratni. Ha ott nem csinalja, nyertem.
Nem tudom, a multiplex hogyan van megoldva, ha megszakitassal, akkor pl kulso megszakitas be van-e kapcsolva, a PIC-en uresen hagyott labak vannak-e.
A program elejere tegyel be egy kesleltetest, hogy nem-e ujraindulas. A resetet vedd kemenyebbre. A vezetekeket vedd a leheto legrovidebbre es probald egy konzervdobozzal arnyekolni a cuccot. Az arnyekolast foldeld le. Ha a homeronek hosszu a vezeteke, azt csereld le arnyekoltra es az arnyekolas mindket veget foldeld le.
(#) -Bandi- válasza sonajkniz hozzászólására (») Márc 8, 2015 /
 
Köszönöm a fáradozásodat, hálás vagyok érte, de ha jól látom ez assembly. Nekem C-ben kellene, mert azt tanultam és az MPLAB-on is abban programozunk.
De még egyszer köszönöm !!
(#) jdani válasza bbalazs_ hozzászólására (») Márc 8, 2015 /
 
Bővebben: Link
Keresgettem, megtaláltam. Itthon labortápról ment, semmi baja nem volt.
(#) Isti69 hozzászólása Márc 8, 2015 /
 
Sziasztok! Lenne egy problémám amire nem jövök rá. A téma I2C 2 PIC között (2db PIC16F1824). A Master PIC-em elküldi a regisztercímet és az adatot a Slave PIC-nek. Ezt fel is dolgozom, elraktam a címet és az adatot is, egy-egy változóba. Na de ezek után hogyan tudom beleírni abba a regiszterbe az adott adatot? MikroC-ben programozok, s van valamilyen olyan parancssor hogy megadom a regisztercímet és az adatot, majd beleírja. Vagy ezt hogy lehet megtenni?
(#) bbalazs_ válasza jdani hozzászólására (») Márc 8, 2015 /
 
A gorogtudasom kisse megkopott az evek alatt, a letoltes meg 4 perc alatt 45kB-ig jutott el a masfel megabol.
Tehat nem te irtad a programot es a kapcsolas sem sajat. Egyebkent milyen nyelven van?

De a tanacsom nem valtozott, amiket irtam, probald ki. A tapra tenni egy diodat (valoszinuleg telik a 14V-bol), ferritet, pufferkondit, kis soros ellenallast.
(#) sonajkniz válasza -Bandi- hozzászólására (») Márc 8, 2015 /
 
C-ben nem tudok segíteni. Én azért programozok assemlyben, mert nem elégszem meg azzal, hogy "Oké, ez egy villanymotor." Azt is érteni akarom, hogy mitől forog. Korábbi kérdéseid arra utaltak, hogy te is érteni szeretnéd. Egyébbként úgy tudom, a C programba beépíthetők assemblerben írt rutinok. Így adott részeket felhasználhatsz a programodhoz.
(#) Pali79 hozzászólása Márc 9, 2015 /
 
Sziasztok!
LCD-t szeretnék vezérelni SPI-n keresztül 16F628A-val, amibe nincs SPI. A Kónya-féle könyvben olvastam az alábbi kódrészletet:
  1. Xmit    movlw   08h
  2.                 movfw   bit_count
  3.                
  4. Xm_loop bcf             PORTB,0         ;adat láb
  5.                 bcf             PORTB,1         ;clock láb
  6.                 rrf             xdata           ;xdata=küldendő adat
  7.                 btfsc   status,c
  8.                 bsf             PORTB,0
  9.                 bsf             PORTb,1
  10.                 decfsz  bit_count
  11.                 goto    Xm_loop
  12.                 bcf             PORTB,1

Használt már valaki hasonlót? Mennyire működőképes?
(#) jdani válasza bbalazs_ hozzászólására (») Márc 9, 2015 /
 
Puffer és az ellenállás értéke mennyi legyen? Vannak itthon tekercseim, olyan hengerre ratekerve, sorosan a tápra az nem jó ferrit helyett?
(#) killbill válasza bbalazs_ hozzászólására (») Márc 9, 2015 /
 
Idézet:
„Ha a homeronek hosszu a vezeteke, azt csereld le arnyekoltra es az arnyekolas mindket veget foldeld le.”
Az arnyekolasnak csak azt a veget szabad foldelni, ahol a fogado oldal van, jelen esetben az elektronika. Az arnyekolason nem folyhat aram.
(#) jdani válasza killbill hozzászólására (») Márc 9, 2015 /
 
30centi az sok egy 18b20nak?
(#) kissi válasza jdani hozzászólására (») Márc 9, 2015 /
 
Nem, ott még simán megy !
(#) don_peter hozzászólása Márc 9, 2015 /
 
Srácok egy olyan programban kérném a segítségeteket ami egy megadott kereten belül véletlenszerűen választana ki számokat.
Találtam jó néhány programot, de egyik sem volt számomra megfelelő és nem igazán tudom merre induljak el.
Pl:
A programnak 2 és 6 között kellene véletlenszerű számot kisorsolnia időközönként.
Tehát itt a következő számokból választhat: 2,3,4,5 és 6.
Tudom nem egy nagy szám a dolog, de most nem pörög az agyam..
Előre is köszi..


Ja majdnem lemaradt, hogy Hi-Tech C és 12-es PIC-re kellene.
(#) spgabor válasza don_peter hozzászólására (») Márc 9, 2015 / 1
 
Szia!

esetleg próbáld ezt:
  1. rand() % 6 + 2;


Üdv:
spgabor
(#) killbill válasza spgabor hozzászólására (») Márc 9, 2015 / 1
 
rand() % 5 + 2;
(#) don_peter hozzászólása Márc 9, 2015 /
 
Köszi srácok
Le vagyok most blokkolva..

Ez lett a vége:
  1. unsigned int random_szam(unsigned int mettol, unsigned int meddig){
  2.      return rand() % (meddig-1) + mettol;
  3. }
A hozzászólás módosítva: Márc 9, 2015
Következő: »»   642 / 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