Fórum témák

» Több friss téma
Fórum » Modulrendszerű, grafikus PIC programozás
Lapozás: OK   109 / 177
(#) vilmosd válasza proli007 hozzászólására (») Aug 5, 2011 /
 
Jaja Csak Te irtad a 5.12 tapot. Erre kontraztam.
(#) proli007 válasza vilmosd hozzászólására (») Aug 5, 2011 /
 
Hello!
A Pasic nem tudja kezelni a külső referenciát, így újabb "problémák keletkeznek". (persze nem nálam) De ezért írtam inkább a tápot.
üdv! proli007
(#) vilmosd válasza proli007 hozzászólására (») Aug 5, 2011 /
 
Tudod a velemenyem.
(#) Hp41C válasza vilmosd hozzászólására (») Aug 5, 2011 /
 
A 16F87x(A) adatlapjában nincs benne, de a 16F88x -éban benne van: ld. TABLE 17-10 @ DS41291F-page 263
Ahhoz, hogy az A/D átalakító felbontása biztosan megmaradjon 1 LSB, a referencia feszültségének minimum 2.7V -nak kell lennie...
(#) vilmosd válasza Hp41C hozzászólására (») Aug 5, 2011 /
 
Benne van az : DS39582B.PDF page 208. De ennek itt ebben a topikban nincs jelentosege mert 1. nem lehet kulso Vref-et beprogramozni, 2. nem ismer AD-s PIC-et csak a 16F87x, es a 16F87xA tipusokat. A hiba azert nem olyan nagy 2.56 voltnal, viszont sokkal egyszerubb a kalkulacio, mint 5 voltnal, es a felbontas is nagyobb. Egy homeros kapcsolasnal ennek nem sok jelentosege van. Igaz a kollegak szeretnek a szoba homersekletet 0.1 C pontossaggal megmerni (minek?), de ehhez ugyis mas utat kell valasztani.
(#) vilmosd válasza vilmosd hozzászólására (») Aug 5, 2011 /
 
Ja es a 16F684-690 tipusoknal ez az ertek 2.5 V, mig a 16F1823-nal 1.8 V.
(#) Johnycorp hozzászólása Aug 7, 2011 /
 
Sziasztok!

Olyan kérdésem lenne, hogy MUX/DEMUX áramkört mikrokontroller és Parsic segítségével meg tudnék-e valósítani. Jelenleg 28db állapotjel átvitelét valósítom meg 4 csatornás rádiós átjelzőkkel. Sajnos a környezet leárnyékoltsága és a jelek bővülése miatt ez a megoldás már nem megfelelő. 2db CAT5 UTP kábel van a jelek forrása és a kijelzési pontok között melyeket használhatnék. Ezért gondoltam a MUX áramköri megoldásra. Csak digitális állapotjelek, nem analóg amiket megjeleníteni szeretnék. Végső megoldásként kb 60-70 jelet kellene majd átjeleznem. Jelenleg az instabilan működő rendszert szeretném kiváltani, bővíthetően. Gondoltam már RS485 jelátvitelre is. Ötleteket és tanácsot várnék, merre induljak el. Igazán úgy tanulnám meg jól, ha egyedül boldogulnék vele, de még igencsak kezdő vagyok a témában.
Köszönöm.
(#) vilmosd válasza Johnycorp hozzászólására (») Aug 7, 2011 /
 
Otlet gyanant esetleg a 74HC595 hasznalata. 8 bites, kaszkadba kotheto, 3 szalon vezerelheto, viszont zajos kornyezetbe a soros atvitel miatt serulekeny az adatatvitel.
(#) vilmosd válasza vilmosd hozzászólására (») Aug 7, 2011 /
 
Itt egy pelda a '595 hasznalatara, es a MPLAB projekt ASM kezelessel.
(#) qvasz2 hozzászólása Aug 7, 2011 /
 
Sziasztok. Elkezdtem bűvészkedni a parsic-al. Csináltam egy kütyüt több mindent csinál, először LCD-re, mert az könnyebb itt. Az megy is szépen. Viszont ahol használnám, ott az LCD nem látszik. (Kicsi is és fénye sincs elég) Ezért próbálom LED kijelzősre átgyúrni. Mivel óra is van benne, ezért 6 db kijelzőt kéne multiplex hajtani. Egy csomót szenvedtem vele, talán az összes itt található, meg még a német helpben lévőt is próbáltam, de egy se jó. Mind villog, és a nem használt szegmensek halványabban ugyan, de égnek. ("parázslik") Próbáltam többet átalakítani, ez lett a legjobb, de még ez is vibrál picit. (elég zavaró).
Segítsetek!
És miért nem tudok 2 ms-nál gyorsabb timert beállítani?? (A kvarccal nem akarnék bűvészkedni, pont az óra miatt, az jó lenne, ha maradna 4MHz)
Ezt a parázslást úgy tudtam kiiktatni, hogy szüneteket tettem a digitek kiírása közé. Ezt asm-ben gondolom hatékonyabban is meg lehetne oldani, és akkor lehet, hogy már a 2 ms is jó lenne.

kij-uj.PIC
    
(#) Panhard válasza qvasz2 hozzászólására (») Aug 7, 2011 /
 
Hétszegmenses kijelzőt így lehet vezérelni: Bővebben: Link
(#) qvasz2 válasza Panhard hozzászólására (») Aug 7, 2011 /
 
Köszi, próbálom megérteni . . .
(#) kaqkk válasza qvasz2 hozzászólására (») Aug 7, 2011 /
 
A hétszegmenses kijelző kezelésére én is tettem fel működő kipróbált programot régebben , talán az 50. oldal körül lehet
(#) qvasz2 válasza kaqkk hozzászólására (») Aug 8, 2011 /
 
Igen, azokról beszéltem: egyik sem jó sajnos. Amint átírtam 6 kijelzőre, de volt, ami 4-el sem. Mondjuk nálam is eléggé tele van a proci, lehet, hogy azért.
(#) qvasz2 válasza Panhard hozzászólására (») Aug 8, 2011 /
 
Valami nyűgje van, azzal a kisebbikkel, amit az end of init-be kell tenni:
KIJELZO_.INC 6 : Register in operand not in bank 0. Ensure that bank bits are correct.
KIJELZO_.INC 9 : Register in operand not in bank 0. Ensure that bank bits are correct.

kijelzo_.INC
    
(#) Panhard válasza qvasz2 hozzászólására (») Aug 8, 2011 /
 
Szerintem azt csak figyelmeztetésként írja, nem? Ugye a kimeneteket meg a portokat átírtad a te kapcsolásodnak megfelelően? Milyen PIC-et használsz?
Amit linkeltél (kijelzo_.inc), ott a kimeneteknél kell 0-át írni.
(#) qvasz2 válasza Panhard hozzászólására (») Aug 11, 2011 /
 
A saját gépemen le se fordította. Most egy másik gépen küzdök, itt már csak figyelmeztetésnek írja és lefordul.
Viszont ha csak magában van a kijelző meghajtás, akkor szépen megy. De amint hozzáteszem a főprogramomhoz, nem csinál semmit. Még akkor sem, ha egészben, változtatás nélkül átmásolom bele. (a 4. oldalon van a kijelzős rész)
(#) Panhard válasza qvasz2 hozzászólására (») Aug 11, 2011 /
 
Hello, az lehet a hiba, hogy amikor létrehoztad parsicban az egy, kettő három, négy, öt, hat, temp bájtokat, azt a parsic Bank1-be tette, mert ott volt hely. Ezért a kijelzo.inc-ben is bankot kell váltani.
A másik dolog, hogy program szerint a kijelző akkor világít, ha a szegmens kimenet és a kijelző kimenet is 1-es. Neked is így van a hardver? Ha nem, akkor módosítani kell ezt is programban.
A Bank és Pageváltásos figyelmeztetéseket ki tudod kapcsolni, (a parsic az include fájloknál direkt bekapcsolja) ha beírod az Include fájlok elejére ezt:
ERRORLEVEL -302
ERRORLEVEL -306
(#) qvasz2 válasza Panhard hozzászólására (») Aug 11, 2011 /
 
Idézet:
„az lehet a hiba, hogy amikor létrehoztad parsicban az egy, kettő három, négy, öt, hat, temp bájtokat, azt a parsic Bank1-be tette”

Akkor ezért nincs kijelzés? Mert ha csak ez a kijelzős rész van, és semmi más, akkor is pampog, de működik.
A hardver ilyen, azért van így vezérelve.
Hogyan kell az inc-ba a bankváltást beleírni? És kell mindkettőbe? Egyáltalán jól értettem, kell mind a két inc ?
Az jó, hogy a figyelmeztetést ki lehet kapcsolni, de az gáz, ha a miatt nem működik, amire figyelmeztet.
Köszi, hogy bajlódsz velem
(#) Panhard válasza qvasz2 hozzászólására (») Aug 11, 2011 /
 
Azért működik csak a kijelzős rész önállóan, mert ott kevés változó van és minden Bank0-ban van. Csináld úgy, hogy a kijelző.inc-be minden változó elé írd be a banksel utasítást, és utána a változó nevét.
Így:
Idézet:

-----------második kijelző----------------------
MASODIK
BANKSEL TEMP
BSF TEMP,1
BANKSEL PORTC
BCF PORTC,0

BANKSEL KETTO
MOVFW KETTO
BANKSEL PORTB
MOVWF PORTB
BANKSEL PORTB
BCF PORTB,7
BANKSEL PORTC
BSF PORTC,1

GOTO VEGE

Ez annyit csinál, hogy a fordító majd tudni fogja, hogy bankot kell váltani és vált is automatikusan.

Vagy lehet a bankkiválasztó bitekkel is váltani, de akkor neked kell megnézni, hogy mi hol található. (pic adatlapja, és a parsic által generált asm eleje)
Azt sem árt még megnézni, hogy a parsic hol hívja az include fájlt, és hogy ott melyik bank van kiválasztva, mert úgy is kell visszatérni a főprogramba.
(#) qvasz2 válasza Panhard hozzászólására (») Aug 11, 2011 /
 
Az egyik szemem sír a másik nevet:
működik az inc. betoldás, de még jobban vibrál a kijelzés, mint amit én tákoltam csak parsic-al.
Önállóan, csak a kijelzős rész jól ment, nem villogott, de így együtt az egész borzalmas.
Úgyhogy, most, x nap után ugyan ott tartok: nem jó a kijelző vezérlés.
Ötlet?
(#) Panhard válasza qvasz2 hozzászólására (») Aug 11, 2011 /
 
Hát igen, ennél számít a pontos ciklusidő. Ha vibrál, akkor az a sok Timer megszakítás miatt van. Azokat minnél jobban kerülni kell ennél. Ki kellene próbálni, hogy ezt az kijelzö.inc-t nem mainprogramként hívogatni, hanem szubrutinként meghívni timer0 megszakítással. Akkor elvileg mindig ugyanakkor hívódna meg, és nem villogna.
(#) qvasz2 válasza Panhard hozzászólására (») Aug 11, 2011 /
 
Ez így totál kínai. Magyarul is el tudod mondani? Vagy inkább konkrétan, mint az első esetben.
Visszatérve a legelső kérdésemre, még nem jött válasz: miért nem tudok 2ms-nál gyorsabb timert beállítani? És hogyan lehet esetleg mégis?
(#) kaqkk válasza qvasz2 hozzászólására (») Aug 11, 2011 /
 
Ezt most "írtam " kipróbálod ?

6dig7.PIC
    
(#) qvasz2 válasza kaqkk hozzászólására (») Aug 11, 2011 /
 
Igen, ki fogom, köszi. Esetleg erre: miért nem tudok 2 ms-nál gyorsabb timert beállítani?
(#) kaqkk válasza qvasz2 hozzászólására (») Aug 11, 2011 /
 
Ennyit tud a parsic
(#) Panhard válasza qvasz2 hozzászólására (») Aug 11, 2011 /
 
Igen, jól mondja kaqkk, ennyit tud. Mint ahogy kijelzőt sem tud kezelni.
Azt lehetne csinálni, hogy a főprogram megszakítási területéről hívni a kijelző.inc-t. (A megszakítási területre ha jól számoltam kb:500 mikroszekundumonként fut a program 1:256-os timer0 előosztás esetén, 4Mhz kvarcal. Ezt a parsic így állította be a programodban.)
Majd kipróbálom mert nem vagyok biztos benne, hogy jó lenne így. Végül is csak egy sort kell áthelyezni a főprogramban máshova.
(#) qvasz2 válasza kaqkk hozzászólására (») Aug 12, 2011 /
 
Kipróbáltam. Önállóan hibátlan, de beillesztve a progimba nem vibrál, vagy villog, hanem inkább csak futófény
Panhard : az inc dobozkát átraktam main-ról subrutinra, de azt a timer0 megszakítást nem tudom hol kéne megadni. Így megint nincs kijelzés.
(#) Panhard válasza qvasz2 hozzászólására (») Aug 12, 2011 /
 
Ehhez a parsic már kevés, Ezt úgy kell, hogy a Parsic által generált asm-et és a két inc fájlt megnyitni MPLAB-al, és ott módosítani, és MPLAB-al újra lefordítani.
(#) Panhard válasza Panhard hozzászólására (») Aug 12, 2011 /
 
A másik megoldás, hogy nem használsz a programban Timereket (TRx) és Monoflop, Delay-t (MFx). Akkor nincs endedélyezve megszakítás.
Próbáld ki, hogy ezeket kitörlöd, akkor milyen lesz a kijelzés.
Következő: »»   109 / 177
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