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   14 / 1210
(#) szilva válasza icserny hozzászólására (») Aug 11, 2009 /
 
Ja, hogy ez 18F, akkor persze, hogy máshogy megy. Talán érdemes a BANKSEL makrót használni, mert az - úgy emlékszem - ugyanúgy működik, mint 16F-ek esetében, ilyenformán némileg hordozható forrást is lehet írni. Ellenben a 18F eltérő címzési lehetőségei (access bank) miatt nem is biztos, hogy nagyon szükség van bankolásokra.
(#) icserny válasza zsoltee0001 hozzászólására (») Aug 11, 2009 /
 
Idézet:
„BCF STATUS,RP1
BSF STATUS,RP0 ;BANK1-be átlépünk
;PORTA Digitális I/O-vá tétel " helyett (bankváltáskor) mit kellene írni,”


Nagy valószínűséggel SEMMIT, mert a mellékelt Microchip mintaprogramban láthatóhoz hasonló módon közvetlenül jöhet az SFR regiszterek matatása.

(Most akkor mi a kapcsolás? A D porton vannak a LED-ek? Akkor nem a PORTA, hanem a PORTD játszik...)

tut452.asm
    
(#) zsoltee0001 válasza szilva hozzászólására (») Aug 11, 2009 /
 
Szia

kipróbáltam, hogy elhagytam ezeket a sorokat, így lefut hiba nélkül, meg is csinálja a HEX fájlt, amit rátöltöttem gyorsan a villogó PIC-jére, de sajna nem működik, úgyhogy holnapig pihentetem a dolgot.
üdv
(#) zsoltee0001 válasza icserny hozzászólására (») Aug 11, 2009 /
 
Szia

köszi,.... Szilva megelőzött, holnap folytatom a dolgot, mert még mindig hiba van (lehet, hogy az áramkörben)
üdv
(#) icserny válasza zsoltee0001 hozzászólására (») Aug 11, 2009 /
 
Idézet:
„holnap folytatom a dolgot, mert még mindig hiba van”

- Az analóg komparátorokat is ki kell kapcsolni (CMCON=7 beírásával)!
- A késleltetések egy kicsit hosszúnak tűnnek.

A mellékelt program nekem a szimulátorban működött.

main.asm
    
(#) zsoltee0001 válasza icserny hozzászólására (») Aug 12, 2009 /
 
Szia

Köszi, így már működik, a többi programot (nyomógombra világító LED, Nyomógombra iránytváltó kapcsolást is megcsináltam)

Az ide-oda futós program-al viszont gondban vagyok, az eleje addig lefut, hogy világit az első led, de nem megy tovább. Arra már rájöttem, hogy a RLF utasítás a 18f-nél -> RLNCF
Viszont a CLRC -t nem nagyon akarja elfogadni (warning-ot ír) rákerestem, de nem nagyon értem, hogy ez mire jó, lehet, hogy emiatt nem nem fut tovább a program?
Mellékeltem az általam átalakított asm-t.
üdv

main.asm
    
(#) potyo válasza zsoltee0001 hozzászólására (») Aug 12, 2009 /
 
Az RRF megfelelője az RLCF utasítás.

Nem az a problémája, hogy kis betűkkel írtad a CLRC-t?
(#) icserny válasza zsoltee0001 hozzászólására (») Aug 12, 2009 /
 
Ne rohanj ennyire! (Ülj rá a kezedre, ha nem tud nyugton maradni! ) Hasznosabb volna elidőzni a részleteknél.

Nem vetted észre pl. hogy a tegnap küldött programban nem 6-ot, hanem 7-et írtam az ADCON1 és CMCON regiszterekbe, így a mostani programod hibás. Nézz utána az adatlapban, hogy mi a különbség! (Annyit elárulok, hogy ADCON1-nek mindegy, hogy 6, vagy 7, COMCON esetében meg nem mindegy...)

A CLRC (ami, gondolom, BCF STATUS,C lenne) utasításra nincs szükséged, mert az RLNCF utasítás nem használja a Carry bitet. (Nézz utána, hogy mi a különbség az RLNCF és az RLCF utasítás között!)

Az RLNCF ellentettje pedig nem az RRCF, hanem az RRNCF utasítás. (Nézz utána, hogy mi a különbség köztük!)

Ha komolyan meg akarsz ismerkedni a PIC18 mikrovezérlők lelkivilágával, akkor tanulmányozd az adatlapot, s jó szívvel ajánlom az alábbi könyveket is:

1. Robert B. Reese: Microprocessors: From Assembly To C with the PIC18FXX2, Delmar Learning, 2006, ISBN 13: 9781584503781, ISBN 10: 1584503785 (a könyv alapján tartott előadások jegyzete és mintaprogramjai elérhetők Itt és Itt)

2. Han-Way Huang: PIC Microcontroller: An Introduction to Software & Hardvare Interfacing, Thomson/Delmar Learning, 2005, ISBN 10: 1-4018-3967
Letölthető mintafejezetek:
1. fejezet: Introduction to the PIC18 microcontroller
2. fejezet: PIC18 Assembly Language Programming
3. fejezet: PIC18 Development Tools

A könyv többi része csak részlegesen (nem részegesen! ) a
books.google.com gyűjteményben olvasható.
(#) zsoltee0001 válasza potyo hozzászólására (») Aug 13, 2009 /
 
Szia

Közbe leesett, hogy RRCF -et elírtam.
Project-> Build otions->Mpasm Assambler->Disable Case sensitivity be van állítva.
üdv
(#) zsoltee0001 válasza icserny hozzászólására (») Aug 13, 2009 /
 
Közbe leesett, hogy RRCF -et elírtam. És a MOVLW 0x07-el is kipróbáltam, és működött is csak nem tűnt fel mivel
" DELAY ;Delay labelje
MOVLW d'100' "

értéke túl magas volt.

" DELAY ;Delay labelje
MOVLW d'10' "
Így már megfelelően működik
Köszönöm a szakirodalom ajánlatot. mihelyst időm engedi átnézem.
üdv
(#) icserny válasza zsoltee0001 hozzászólására (») Aug 13, 2009 /
 
Azt elfelejtettem mondani, hogy írásnál, bitforgatásnál PORTD helyett LATD-t kellene írni. PIC18-nál aranyszabály: LATD-t írjuk, PORTD-t olvassuk! Ezzel elkerülhetők a read-modify-write (olvasás-módosítás-visszaírás) problémái.
(#) s_ervin hozzászólása Aug 14, 2009 /
 
Tisztelt Kollégák!
Segítséget kérek a következő feladathoz, persze, mint kezdő.
Feladat: 150 kontaktus egyidejű megjelenítése PC képernyőn.
A PIC (vagy PIC-ek) a feldolgozott bemeneteket LPT vagy COM porton küldjék a PC-nek.
A PIC programozásához PicKit2-vel rendelkezem.
PIC (-ek) kiválasztása.

Előre is köszönöm, Ervin.
(#) bbalazs_ válasza s_ervin hozzászólására (») Aug 14, 2009 /
 
Ez elsosorban parhuzamos-soros atalakitasi feladat, nem PIC-es. Barmelyik PIC megfelel, aminek van soros kimenete.
A 150 kontaktus mindegyike egyenerteku?
Milyen gyakran kell ellenorizni?

Ugy erzem, hogy itt inkabb a kontaktusok es a vezetekek fizikai elhelyezkedese, illetoleg a zavarszures lesz a nagyobb feladat.
(#) s_ervin válasza bbalazs_ hozzászólására (») Aug 14, 2009 /
 
Ezek független relékontaktusok. A beolvasásuk folyamatos, tehát mindig jelen kell lenniük a beneteken, mint a PLC-knél és egy viszonylag gyors órajelciklussal kellene beolvasni. Éppen csak olyan gyorsan, hogy a szemnek ne okozzon villogást. A gondot ott érzem, hogy én eddig max. 70 bemenetű PIC-cel találkoztam (18F8410). Ezért 1db nem elég. Túl nagy problémát azért nem okoz, mert a PC programmal el lehet intézni a 2db PIC váltott beolvasását.
(#) vicsys válasza s_ervin hozzászólására (») Aug 14, 2009 /
 
Ezt nem értem... Lehet, hogy technikailag nem hozható össze, de 4db 8bites porttal 256db lekérdezhető. (16x16=256.) Ehhez mátrixba kell kötni az érintkezőket.
Vagy nem jól gondolom?
(#) s_ervin válasza vicsys hozzászólására (») Aug 14, 2009 /
 
Ez látod, eszembe sem jutott. De most keresgélés közben találtam az I2C buszra. Még nem olvastam végig. Erről mi a véleményed?
(#) vicsys válasza s_ervin hozzászólására (») Aug 14, 2009 /
 
Mit szeretnél az I2C-vel? Ezt most nem igazán értem, hiszen az csak egy kommunikációs protokoll.
(#) s_ervin válasza vicsys hozzászólására (») Aug 14, 2009 /
 
Semmit, eljutottam a végére.

A mátrixba kapcsolás nem megoldható, mert ezeknek egymástól függetlennek kell maradniuk.
(#) icserny válasza s_ervin hozzászólására (») Aug 14, 2009 /
 
Idézet:
„A gondot ott érzem, hogy én eddig max. 70 bemenetű PIC-cel találkoztam (18F8410). Ezért 1db nem elég.”

Vannak I2C vagy SPI soros vezérlésű I/O portbővítő IC-k (MCP23017, MCP23S017), s vannak mezei shiftregiszterek is. Kis túlzással egy 8 lábú PIC is elegendő...
(#) s_ervin válasza icserny hozzászólására (») Aug 14, 2009 /
 
Köszönöm, ennek utánajárok.
(#) zoltan1107 hozzászólása Aug 29, 2009 /
 
Helló!

http://www.hobbielektronika.hu/kapcsolasok/pic_programozo_soros_por...2.html
Ezt szeretném elkészíteni magamnak, de a kapcsolásban lévő potméter rajzát nem értem. Valaki le tudná irni nekem pár sorban,h ez milyen? Addig tiszta ,h 10k Ohm.De a 'Key=A' és az '50%' -ot nem értem. Vagy akár a HE Store-bol egy link is segitene.
Előre is köszi!
(#) MPi-c válasza zoltan1107 hozzászólására (») Aug 29, 2009 /
 
Ha nem akarod magad felesleges bosszúságoknak kitenni, ezt ne építsd meg! És hogy miért ne? Bővebben: Link
(#) icserny válasza zoltan1107 hozzászólására (») Aug 29, 2009 /
 
1. Szerintem a Key=A azt jelzi, hogy lineáris (nem logaritmikus, mint a hangerőszabályozó potméterek).
2. Szerintem az 50 % azt jelenti, hogy kb. 5 kOhm-ra van állítva.
3. Szerintem se építsd meg!
(#) brato válasza zoltan1107 hozzászólására (») Aug 29, 2009 /
 
A Key =A azt jelzi, hogy a Multisim program szimulátorában az A billentyűvel lehet állítani a potit. A % pedig azt, hogy milyen állásban van.
(#) zoltan1107 hozzászólása Aug 29, 2009 /
 
Köszönöm mindenkinek a gyors és őszinte válaszát!
Ez azonban egy uj kérdést vet fel bennem. Akkor melyiket válasszam?? PIC ic-vel szeretnék probálkozni-kezdeni- de már szinte minden cikket végigböngésztem és még a PIC programozókban is van olyan IC,amit fel kell programozni..az én szemszögemböl ez a tyúk&tojás problémája. Ha pl a binális órát szeretném megépiteni, ahoz melyik az oldalon közölt PIC égetőt javasoljátok?
Köszi!!
(#) MPi-c válasza zoltan1107 hozzászólására (») Aug 29, 2009 /
 
Hát, ha minden cikket végig böngésztél, akkor ezt biztos kihagytad...
(#) webinas hozzászólása Aug 29, 2009 /
 
Sziasztok!

Gondoltam, belevágok a PIC tanulásba, hogy ne csak más dolgait tudjam megépíteni, hanem esetleg bele is tudjak "nyúlni" a programba, ne adj isten magam tudjak írni egyet. Beszereztem egy rakás anyagot, olvasgatom, és úgy tűnik, nem reménytelen a dolog. Legalábbis ez idáig azt hittem.

Egyszerűbb dolgokkal, a LED-ekkel kezdtem.
Csatoltam egy asm-et benne két programmal.

Az első, az egy egyszerű 6 ledes oda-vissza futófény.
Azzal semmi gondom nincs, nagyjából értem is, hogy mi miért történik.

Viszont a második az egy mátrixos "fényújság" lenne, aminek a programja teljesen más mint az első, így lövésem sincs, hogy mit kezdjek vele. Ebben szeretetném a segítségeteket kérni, hogy valaki elmondaná e nekem, hogy mi micsoda a programban?! Legalább nagy vonalakban.

A másik gondom vele, hogy amikor lefut a szöveg, akkor valami kriksz-kraksz jelenik meg, amit nem tudok kiszedni a programból. (mivel nem értem, hogy mi micsoda)

Segítségetek előre is megköszönöm.

matrix.asm
    
(#) watt válasza webinas hozzászólására (») Aug 29, 2009 /
 
Azt tudod, hogy a mátrix vezérlés hogyan működik elektronikailag? Ha igen, próbáld meg leírni, hogy lássuk, mennyire érted a lényegét!
(#) webinas válasza watt hozzászólására (») Aug 29, 2009 /
 
Nem, a vezérlését nem ismerem.
(#) webinas hozzászólása Aug 29, 2009 /
 
Pontosabban az elvét ismerem, de gyakorlatilag még soha nem foglalkoztam vele.
Következő: »»   14 / 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