Fórum témák

» Több friss téma
Fórum » Modulrendszerű, grafikus PIC programozás
Lapozás: OK   3 / 177
(#) m0n hozzászólása Aug 30, 2008 /
 
Üdv Mesterek!
Tudna segíteni Parsicben, hogyan tudnám leprogramozni a következő projectet?

Proc: 16f84
Feladat: a RB portok állapotát szabvány RS232 kiküldi az RA valamelyikére.

Bármilyen infót/segítséget köszönök

(#) dcsabi válasza m0n hozzászólására (») Szept 1, 2008 /
 

Ez így nem elég konkrét, vagy inkább módosítanék rajta...
Legyen mondjuk 16f628A és mondjuk 8 bemenet ebből 2db az A-portból RA.0 és RA.1 a többi lehet a RB.port az RB.1 és RB.2 kivételével ez kb 3 perces dolog ime.
(#) mgabesz hozzászólása Szept 2, 2008 /
 
Sziasztok.

Készítettem egy prg-t ami egy ablakvezérlő elektronikában fog működni.

A parsic leszimulálja rendben, az MPLAB lefordítja rendben.

Van nekem egy másik szim. prg-m is.

Ez az Oshon software PIC Simulator Ride nevű prg-je.

Ebben viszont nem működik a szimuláció. A program a kész *.hex file-t várja.

Látom, hogy a szimuláció fut, de a portok és regiszterek változásait nem mutatja.

Próbáltam egyszerűbb prg-t írni ( PL. sima inverter), az sem megy.

Azonban amit pl microcode studioval írok az a fordítás után simán működik a szim-ben és nyomon követhetők a futás közbeni történések.

Örülnék, ha valaki ki tudna okosítani.

Még valami.
Működés:

A fel vagy le gombot folyamatosan nyomva az ablak 0,5s múlva elindul a kiválasztott irányba, a gomb elengedésére, vagy a túláram érzékelő jelére megáll.
Ha csak egy pillanatra nyomjuk meg valamelyik irány gombját akkor az ablak automatikusan elindul a kiválasztott irányba és csak végállásban, vagy bármelyik iránygomb ismételt rövid megnyomására áll meg.

Előre is köszi.

mgabesz
(#) dcsabi válasza mgabesz hozzászólására (») Szept 2, 2008 /
 
Szerintem jó lehet, ha kijavítod a képen jelölt hibákat...
Az egyik kép szerint két kis vonalvégjelző négyzet van szabadon, ezeket kösd össze, úgy látom mindkét végén ugyanaz a bit sorszám van tehát még jó...
Viszont a kimenetnél (gondolom bővítetted) a port kimenet van a kapuk közt, (2x is) ráadásul ugyanaz mint a következő kimenet, ezeket javítsd át...
A bemenetek gondolom optocsatolósak lesznek, akkor invertálni kell, szimulációban maradhat így mert nem lesz aktív...
Ki be kell égetni és kipróbálni ledekkel a kimeneten...
Még szerintem finomítani kell rajta, mert nem teljesíti amit leírtál,PL. ha folyamatosan nyomod a végállás nem tiltja le az "ablak felt" stb...
a program a pic számára akár helyes is lehet csak amit Te vársz tőle, még kell egy kicsit módosítani...
Ennek ez a szimulátora kár keverni a PIC-sim-al... ez sokszorta megbizhatóbb...

(#) mgabesz válasza dcsabi hozzászólására (») Szept 2, 2008 /
 
A szimuláció indítása után a túláramot magas szintre kell állítani. Egy komparátor kimenetéről fog " ménkűt" kapni.

A hibákat kijavítottam + tettem be még egy 1s-es késleltetést, hogy tényleg teljesen végállásig menjen az ablak.

A pic sim-et azért nem értem egészen, mert hex file-t kér és mégsem megy.

Talán az lehet a magyarázat, hogy a pic basic pro más asm file-ot csinál mint a parsic.

Így az mplab más config beállításokkal fordítja a hex-et.

Köszönöm a segítséget.

Üdv.:

mgabesz
(#) dcsabi válasza mgabesz hozzászólására (») Szept 2, 2008 /
 
Nagyon szívesen... Biztosan müködni, fog ha az áramkör helyesen lesz összerekva.
Egy apró tanácsot még adnék, ha sok időzítést teszel ezekkel az elemekkel akkor egy kicsit elmászhat a tényleges kivánt értékhez képest, itt nem sok jelentősége van talán...
Én így szoktam megoldani...régebben feltettem a harang ütem témában, abban is vannak hasonlók, jól bevált.
(#) m0n válasza dcsabi hozzászólására (») Szept 2, 2008 /
 
Köszi dcs

16f84 re átrakva hibát ad a parsic.. (UART not available...)
Nem tud ilyet a f84?

Előre is köc
(#) mgabesz válasza dcsabi hozzászólására (») Szept 3, 2008 /
 
Köszi a timers modult, valóban nagyon jól használható.

Volna még egy kérdésem.

Ha rajz részletet szeretnék bemásolni egy készülő

project-be ( pl. win2-be a timers modult ) akkor, hogyan

tudom elérni azt, hogy ne a már

meglévő elemekre helyezze a beillesztendő részt, hanem

egy üres részre. Van-e erre valami mód vagy csak egy

másik munkalapra helyezve működik a dolog?

Előre is köszi.

mgabesz
(#) dcsabi válasza mgabesz hozzászólására (») Szept 5, 2008 /
 
A parsic-ból akár több példány is futhat egyszerre, ezekből tetszőlegesen másolhatunk, -a shift lenyomott állásában az egérrel kijelöljük egy elemet, vagy keretezéssel egy részletet, vagy menüparanccsal egész oldal kijelöl, Ctrl_C majd a szokásos Ctrl_V az új oldalon.
Ott pirosan fog megjelenni az újonnan beillesztett részlet, amit a jobb egérgombbal egy elemre ráfogva tetszőleges helyre tehetjük. A bitek és Byte-ok természetesen automatikusan átszámozódnak...
Ha olyasmit másolsz amin volt oldalak közti átvezetés, azt nézd át, mert nem biztos, hogy passzolni fog, mert automatikusan sorszámoz, Te meg más szisztéma szerint tetted előtte...
(#) mgabesz válasza dcsabi hozzászólására (») Szept 5, 2008 /
 
Szia dcsabi.

Köszi az infót.

Vannak még homályos pontok a prg-ben ( pl. szubrutin létrehozása ) de megpróbálom egyedül. Ha nem méén akkor jelzem.

Szia

mgabesz
(#) dcsabi válasza mgabesz hozzászólására (») Szept 6, 2008 /
 
Ha megnézed a készülő forrásfile_t abban is néhány elem szubrutinként kerül be a progiba.
A #224537 hozzászólásomban van egy utólag ASM_ben megírt szubrutin beillesztése a Parsic-ba ( I2C-s eszköz olvasása írása...)
(#) dcsabi hozzászólása Szept 6, 2008 /
 
Uart kommunikáció két PIC között egyszerűen...
Kérték "privi_ben"...
Egyik PIC (...628A) RA.0 és RA.1 lábára kötött negatívra kapcsoló (pozitivra 4.7k-10k !) nyomógombok egy-egy változót "növelnek".
Ezen értékek a nyomógomb megnyomásakor az uarton elküldésre kerülnek.
Ezen értékek az eepromban is letárolódnak (kérték az EEpromot is...)
A vételi oldalon a szintén ...628A veszi és az előbbi pic RA.0 nyomógomb változóját az RA.0-RA.3 ig portokra kötött LEDek kijelzik az átvitt változtó, bináris kódu állapotát (0000-1111).
Az másik nyomógomb hasonlóan átvitt adatait az RB.4-RB.7 portokra kötött ledekkel tudjuk indikálni.
A pic-ekhez használjunk quartz-ot (4Mhz)
A két PIC lábait természetesen a kommunikációhoz össze kell huzalozni (1-es PIC TX>>> 2-es PIC RX)
Ez egyirányú, lehet kétirányút is természetesen.
(#) elektrorudi válasza dcsabi hozzászólására (») Szept 7, 2008 /
 
Hali dcsabi!
Eddig messze elkerültük egymást a PIC-ekkel...
De most, e progi segítségével, talán sikerül közelebb kerülnünk egymáshoz.
Végigolvastam az eddigieket, kipróbáltam a mintakapcsolások szimulációját (több-kevesebb sikerrel), de lenne egy (több) diletáns kérdésem :
- Melyik lábait kell összehuzalozni a PIC-eknek, hogy TX-RX ként működjenek ?? Melyek ezek a lábak a rajzon ?
-Két különálló kapcsolás esetén ezt hogy tudom megtenni ? Ha a LABEL-el, akkor azt hová kell csatlakoztatni a rajzon ?
Köszi.
(#) dcsabi válasza elektrorudi hozzászólására (») Szept 7, 2008 /
 
Ez az előbb említett példa két különálló kapcsolásra is vonatkozhat, vagy lehet egy panelon lévő két pic között is...
A "testet" az első esetben közösíteni kell...!
Amit nemrég példaprogit küldtem, abban mindent megemlítettem, az két 16f628(A) közé jó de a parsic_al 876-ra vagy 877-re játszva át lehet alakítani...
Tehát a "nyomógombos"PIC16f628 RB.2=TX=(8-as láb)
összeköt a másik PIC RB.1=RX=(7-es láb)
Megjegyzés: Ha az utóbbi pic-től szeretnénk adni az első felé akkor, ebbek a TX lábát kell összekötni a másik RX lábával , tehát átlózni...
Ehhez nyilván módosítani kell a programot...
ahhoz, hogy az adatok kikerüljenek az uarton (a megfelelő lábra) a Parsic_ban ezt az uartos szimbólumbam a megfelelő módon be kell állítani...
Menj rá a jobb egér gommbal mindkét szimbólúmra és láthatod, + a progi helpje is segít...
Tehát egy akármilyen másik PIC-es áramkörből így nem szedhetők le az adatok!
Lehet PC-vel is adtot adni venni a PIC-től (max232 és a megfelelő néhány alkatrész közbeiktatásával)
Erre javaslom ennek a topicnak az elején már említett (feltöltött) rs-check.exe segédprogit, ez kimondottan erre van kitalálva... A második PIC ledjeit a pc-ről be tudod vele kapcsolni, ha két "Változó mezőt" jelölsz ki, és beírsz oda 0-15 közé 1-1 számot és adás gomb megnyom és már ott is van, ilyen egyszerű...
A RS-check.exe-nél be kell állítani a port tulajdonságait: port száma a PC-n és portsebesség 9600...
Portillesztő IC (max232) nélkül két pic 1-2m távolságig köthető össze, Portillesztővel max15-20m (?)! Pc esetén is...
(#) dcsabi válasza m0n hozzászólására (») Szept 7, 2008 /
 
A 16F84-ben nincs hardware-s (belső uart) ezt egy külön rutinnal szokták megírni... Ha nem akarod az idődet fölöslegesen erre szentelni, akkor áttérsz a 628-ra f84 helyett... ez lákompatibils és sokkal többet tud... ja és olcsóbb is... sokan csak nosztalgiából, meg a fellelhető sok progi miatt használják...
Azért mondtam a multkori válaszomban elsőre, hogy egyből 16f628-cal kezdjük...ára 400ft körül van...
(#) dcsabi hozzászólása Szept 8, 2008 /
 
Hasznos segéd a már emlegetett "uartos PC-s PIC" kapcsolatokhoz...

RSCheck.zip
    
(#) Thowra hozzászólása Szept 9, 2008 /
 
Üdv!
Kísérleteztem kicsit az uarttal de valami nem ok.
A példaprogi asm lefordítva jó, viszont ha a példa pic fájlokat módosítás nélkül, lefordítom (elvileg a tartalom azonos a mellékelttel), nem működik. Csak az adó oldalon kísérleteztem, azt próbáltam módosítás nélkül is lefordítani és beégetni de valami nem ok. ami feltűnt, hogy az adónál és a vevőnél nem azonosak a bemenő és kimenő adatok nevei, adónál zv1, zv2, vevőnél adat1 és adat2 van. Ez nem egészen világos. próbáltam egységesítve is, adat1 és adat2 re átírni de nem javult. Az adónál az UART act ja nincs sehova kötve, ennek így kell lenni?
Mi lehet a probléma? A lefordított asm al megy.
Előre is köszönöm.
(#) dcsabi válasza Thowra hozzászólására (») Szept 10, 2008 /
 
Szerintem Te egy régebbi verziót használsz a parsicból. szerezd meg a 3.60-as verziót...
Nem tudom az mplab verziója befolyásol-e valamit.
A ZV1...adat1...stb az az adott progiban a változó neve, ennek nincs befolyása az átvitt byte-okra...
Az adó és vevő ismét, az RB.0 az átvitel nyugtázása (egy ledet köthetsz a detektálásához)
(#) Thowra válasza dcsabi hozzászólására (») Szept 10, 2008 /
 
Üdv!
Parsicból a 3.4.3.2.4 et használom, mplabból a 8.10 et.
A parsic full verzió.
Eddig minden ment. Az asm okat mplabbal lefordítva és azt beégetve is minden ok. Probléma csak a pic fájlok fordításánál van, azzal nem működik. A 3.6 os parsic demo megvan, de okosságot nem találok hozzá.
(#) dcsabi válasza Thowra hozzászólására (») Szept 10, 2008 /
 
Szerintem az okosság mindhez jó...
(#) Thowra válasza dcsabi hozzászólására (») Szept 10, 2008 /
 
Üdv!
Köszönöm a segítséget, összejött.
(#) m0n válasza dcsabi hozzászólására (») Szept 11, 2008 /
 
Köszi dcs
Az idea onnan jött, hogy van 16f84 a ládafiában és van egy probléma
A 'hogyan' azért foglalkoztat, mert szinte mindent megcsináltak már a fenti proccal (még kompozit jelet is )
Meggyőzél, h a megoldás a f628 lesz.

(#) mgabesz hozzászólása Szept 11, 2008 /
 
Sziasztok. Találkozott valaki már letölthető Parsic 3.6-al

a neten.

Én már régóta keresem, de eddig sikertelenül.

A www.parsic.de oldal megszűnt.

Tud valaki segíteni??

Előre is köszi.

mgabesz
(#) elektrorudi válasza dcsabi hozzászólására (») Szept 14, 2008 /
 
Nagyon köszönöm a segítséget. Minden világos.
Azért nem reagáltam eddig a válaszodra, mert egy csúnya "adatvesztéses összeomlásom" volt a gépemen...
(#) Dotomi hozzászólása Szept 15, 2008 /
 
Sziasztok!

Az lenne a kérdésem, hogy a Parsic-ban csak a
16f627, 628 , 877 szerepel. (mármint ami érdekel)
Lehet-e az A-s verziójukat alkalmazni?
Tehát a progiban kiválasztom pl. 16f628-at, de
16f628A- ba égetem. Megoldható ez?

előre is kösz.
(#) dcsabi válasza Dotomi hozzászólására (») Szept 15, 2008 /
 
szia!

Lehet, bátram merem ajánlani, jó ideje csak ( A )-t használok, és parsic-cal írom hozzájuk a progit...
Tehát csak az égetőbe kell 876A, 877A...stb beállítani...
(#) kaqkk hozzászólása Szept 17, 2008 /
 
Clean: Deleting intermediary and output files.
Clean: Done.
Couldn't locate build tool. Check tool locations.
BUILD FAILED: Wed Sep 17 15:25:13 2008

Egy kis segítséget kérnék,a Parsic-ban elkészített progit nem hajlandó az MPLAB lefordítani,hanem ezt írja állandóan.Mit rontok el?
(#) dcsabi válasza kaqkk hozzászólására (») Szept 17, 2008 /
 
az MPASMWIN.exe file elérési útját be lell állítani a Menü-ben.
Beállítások>>programok alatt.
Ha érvényes procit állítasz be, és helyes a rajzod, illetve az alkalmazott hardware elemek, vannak az adott PIC-ben, .... akkor le kell fordítania.
Ebben a topicban tettem már föl több Pic kiterjesztésü file-t mellé az asm-t is. Nyitsd meg a "pic" file-t a Parsic-al
és megnyomod az F10 billentyűt és már le is fordította.
(#) kaqkk válasza dcsabi hozzászólására (») Szept 18, 2008 /
 
Csabi: megtaláltam a hibát! A pickit2-höz kapott cd-n
levő mplab nem jó ! Letöröltem és letöltöttem a microchip
oldaláról . Az első nekifutásra lefordította
(
(#) Dotomi hozzászólása Szept 19, 2008 /
 
Sziasztok,

olyan problémám lenne, hogy vettem egy PICKIT2-t és tesztpanelon összeraktam egy probakapcsolást 877-tel
a parsic le is futtatta, lefordította a PICKIT 2.55 progival beleírtam a hexet, majd ki is írta hogy sikeres, még sem indul a program, se az égetőről táplálva, se külső tápról.
Még egy sima led kigyújtása sem indul. Próbáltam 4Mhz-s kvarccal, 1Mhz es oszcillátorral, aztán megpróbáltam ugyan ezt egy 628-sal, belső RC oszcillátorral de az se indult. Lehet, h kifelejtettem valamit? A PICKIT-hez kapott tesztpanelen lévő 690-est a mintaprogikkal simán tölti, meg futnak is.
Tudna valaki valami ötletet adni, h mit kéne másképp csinálni?


előre is köszi
Következő: »»   3 / 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