Fórum témák

» Több friss téma
Fórum » Modulrendszerű, grafikus PIC programozás
 
Témaindító: kokok, idő: Feb 17, 2007
Témakörök:
Lapozás: OK   175 / 177
(#) kaqkk válasza kontár hozzászólására (») Aug 17, 2020 / 1
 
A pasicnak egy "átka" van pontos időzítést nem (vagy csak nagyon körülményesen) lehet vele csinálni . Régebben próbáltam órát készíteni LCD vel de akármit csináltam vele vagy sietett vagy késett éppen a kijelző vezérlés és a többi "rejtett" nop miatt , ezért váltottam fejlesztő programot ,és nem bántam meg ...
A hozzászólás módosítva: Aug 17, 2020
(#) GERI 159 hozzászólása Aug 28, 2020 /
 
Üdv.
7 szegmenses multi-plexeléssel van gondom. Sikerült az átcsúszásokat kicsipegetni, viszont 2ms es Clock-al is vibrálnak a szegmensek, így hogy már eléggé meg van pakolva. Ha kiveszem a funkciók felét akkor sokkal simább, szinte alig látható. 4MHz-es kvarc van benne. Azzal is próbálkoztam, hogy csak kevesebbet állítok be neki, de még rosszabb lett a helyzet. Nagyobb kvarca segítene rajta? Vagy valami külső hardveres megoldás? 8bites RS flip flopon gondolkodtam, ami letárolja az adott szegmens állást, és világítva tartja frissítésig. Ezáltal nem az lenne, hogy 1 világít addig a többi sötét, és az alacsony frissítési ciklus miatt vibrál. Szerintetek ? Köszönöm előre is!
(#) GERI 159 válasza kaqkk hozzászólására (») Aug 28, 2020 /
 
Ne haragudj azóta se jártam erre. Egy asztalos barátomnak magasság állításához kellet a dolog. Elmenteni több méretet, és vissza tudja hívni. Nagyon prímán leprogramoztam, csináltam egy bemutató eszközt is amin működött, de nem lett megvalósítva, mivel a gép mechanikai átépítése nagy falat lett volna. :/
Viszont most a kijelzős dologhoz felhasználom, egy "bomba" hatástalanítós játékban, 4db számjegyet megadása, majd azt vissza kéri, ott is remekül működik.
(#) kaqkk válasza GERI 159 hozzászólására (») Aug 29, 2020 /
 
Ezt a megoldást próbáld ki

dig4.pic
    
(#) GERI 159 válasza kaqkk hozzászólására (») Aug 29, 2020 /
 
Kipróbáltam, de ránézésre is sejtettem,hogy nem lesz jó. Az a gond, hogy teljes ciklusidő van 2 szegmens közt, vagyis még lassabb lett a kijelzés.

A képen lévő megoldás több óra matekozás eredménye.(+ a te Szegmens oldalad) Ez volt a legjobb.
A számlálón azért van Bit-Byte átalakítás, hogy ne kelljen resetelni. Ez így 4 szegmensre pont jó. Valamiért a resetnél az utolsó számjegy elcsúszott, hiába van Mono-Flop 1ms, azaz 1 számjegy akkor is átcsúszott.
Szegmens vezérlést, én máshogy csináltam, azt átemeltem köszi
Viszont a megoldást a 8bites Shift-Registerben látom amit fentebb írtak. Ezzel minden gond megoldódik. Ha 1mp alatt 5x kiírom az is bőven elég. Nem kell aggódni, hogy pakolom a programot még, és még jobban lassul a kijelzés. 877A-t használok én.
(#) kaqkk válasza GERI 159 hozzászólására (») Aug 30, 2020 /
 
A shiftregiszteres meghajtás villogásmentes lesz az tuti ....
(#) kaqkk válasza GERI 159 hozzászólására (») Aug 30, 2020 /
 
De kipróbálhatod ezt is ,itt nincs időzítés de valószínűleg a ciklusidő ezt is befolyásolja

dig4xx.pic
    
(#) kaqkk válasza kaqkk hozzászólására (») Aug 30, 2020 /
 
És itt van egy aminél nincs kioltás a kijelzések közt (viszont 2*gyorsabb ) de lehet hogy szellemképes ....

digyy.pic
    
(#) kaqkk válasza GERI 159 hozzászólására (») Aug 30, 2020 /
 
Összedobtam valamit a shiftregiszterhez ... Akár még működhet is
A hozzászólás módosítva: Aug 30, 2020

shift.pic
    
(#) GERI 159 válasza kaqkk hozzászólására (») Aug 30, 2020 /
 
Nem próbáltam ki, de valószínűleg ugyan azt eredményezi mint a 1db kapu negáltan vissza kötve saját magában, A másiknál a szellemképesség az 100%

A Shiftes jónak tűnik, még nem próbálgattam csak fejben gondolkodtam, hogy kéne.
Megveszem az alkatrészeket és neki ugrok.
Elméletben ott tartok, hogy a Byte-ot le kell kódolnom szegmensekre, (ami már adott) aztán azokat 2ms-es clockal végig léptetni a registerben. Ha jól értelmeztem a belső logikai leírását, kell egy jel amire letárolja a belső pufferba a dolgokat, és akkor teszi ki a kimenetekre. (és persze a kimenet is engedélyezve van, de mivel mentéskor jelenik meg az új adat azt nem is kell lekapcsolnom, így villanni sose fog.) Az "anod jelet" ez a láb kapja az andok pedig fixen tápon. Mindig beírja mind a 4 registerbe az összes adatot, de csak azzal tároltatom le, amelyikhez tartozik a szám. Annyit kell még beledobni, hogy ha elkezdte a Byte szegmenseit a regiszterbe tolni, akkor az a szám nem változhat. Ha pont akkor vált akkor elméletileg max 8*4*2ms-et "csúszik" az idő kijelzése az 64ms ha a programban a leterheltség miatt nem tud 500Hz-et kipréselni akkor is max 100ms re nő, vagyis 1mp alatt kb 10x frissíti a kijelzést. Ez annyira nem vészes. És csak akkor, ha pont akkor szeretne váltani, mikor már az "A" szegmenst elkezdte beírni a registerbe. Azzal tudnék időt nyerni, ha bináriban hagynám a számot, és akkor elég lenne 4-Bites Register, ekkor fele ciklussal át bírom küldeni a számjegyet, csak kell egy 7447 kikódolni a szegmenst.

https://lomex.hu/pdf/ti7hc595.pdf
A hozzászólás módosítva: Aug 30, 2020
(#) GERI 159 hozzászólása Szept 20, 2020 /
 
Szereztem egy kütyüt és rápróbáltam a picre. Nem lepődtem meg az eredményen. A program csak ezt tartalmazza semmi mást. Ha több minden lenne benne sanszosan még nagyobb eltérés lenne...
A letárolgatós módszer nagyon prímán működik.

A grafikonon a 7-ről 0-ára billenés látszik, illetve 1-ről 2-re.
Sajnosan ezt nem szereti a multiplex.
1 és 2 közt van egy kis 0 is... 7 és 0 közt meg minden ami belefér.
A hozzászólás módosítva: Szept 20, 2020
(#) kaqkk válasza GERI 159 hozzászólására (») Szept 20, 2020 /
 
Idézet:
„Szereztem egy kütyüt és rápróbáltam a picre. Nem lepődtem meg az eredményen”
Ez nem mond sokat senkinek ...
(#) GERI 159 válasza kaqkk hozzászólására (») Szept 20, 2020 /
 
Az csinálta a grafikont, nincs közvetlen jelentősége. De ha érdekel egy ilyen:

https://www.aliexpress.com/item/4000755596172.html?spm=a2g0o.produc...01603_
(#) kaqkk válasza GERI 159 hozzászólására (») Szept 20, 2020 /
 
Ha azt írod az első hozzászólásodban hogy logikai analizátor (a kütyü helyett) akkor semmi meglepő nem lett volna a hozzászólásodban , így viszont teljesen értelmetlen volt az egész .
Idézet:
„Az csinálta a grafikont, nincs közvetlen jelentősége”
akkor miért is keletkezett a hozzászólás ?
(#) Bakman válasza kaqkk hozzászólására (») Szept 20, 2020 / 1
 
Gondolom azért, hogy bemutassa, a képen látható módszer (ZV1, legyen ez bármi is) használatával milyen szép "szinkronban" váltanak a kimenetek állapotot.

Pl. 0b111 -> 0b000 kb. 8 µs úgy, hogy a kimenetek nem egyszerre váltanak.
A hozzászólás módosítva: Szept 20, 2020
(#) kaqkk válasza Bakman hozzászólására (») Szept 20, 2020 /
 
Idézet:
„(ZV1, legyen ez bármi is)”
Ez egy 8 bites számláló , ráadásul reset nélkül tehát a 255. impulzusnál nulláz viszont 3 kimenetet figyel csak a "kütyü" Viszont Geri nem lepődött meg ....
(#) kontár válasza proli007 hozzászólására (») Szept 20, 2020 /
 
Lett annyi technikai eszközöm. Kipróbáltam! Az RD.0-ra 15KHz jön ki .Nem stabil 15-16KHz között ugrál. Utána betettem egy 2ms impulzust RD.1 kimenetre .Az RD.1 stabilan 500Hz lett.
De ekkor az RD.0 9-10KHz-re csökkent ! /Ennyit jelent ez a kicsi "leterhelés"/
PIC16F877A 4MHz HS
A hozzászólás módosítva: Szept 20, 2020

freki.png
    
(#) dcsabi hozzászólása Szept 22, 2020 /
 
Sziasztok, a kicsit fentebb levő adattologatás és tárolgatáshoz fűznék hozzá egy gondolatot. Anno nekem is sokszor okozott meglepetést a random modul kötözgetés. Aztán vettem a fáradtságot és a szerény A "ASM" programozói tudásommal újragondoltam sok megoldást. A Parsic sok mindent elbír a "Rajz tekintetében", de a processzorok képességeit és tulajdonságait nem lehet így feltúrbózni. A már többször emlegetett Timer(ek), az a bizonyos 2ms(!) tudja-e itt mindenki, hogy mennyi az és mi szükség rá?
Adott esetben egy egy feladat vagy szubrutin, vagy egy programreszlet, nem is fut le ilyen gyorsan, valami történni fog! "Szimulációban biztosan" meg kellene barátkozni a 10-20 vagy 100 ms használatával! Egy-két bosszúság elkerülhető! A program működik, le is fordul, csak nem azt fogja csinálni amit szeretnénk. A multiplex ledes kijelzőknél, adat tárolásnál, adat tologatásnál, figyeljünk ilyesmire, vagy szükség esetén használjunk 20Mhz-s Quartzot, de sem old meg mindent a fentebb említettek közül. Nem beszélve a belső oszcillátoros megoldásokról, amik hatványozottan gyűjtik az ilyen jelenségeket. Ezeket már régebben megjegyeztem, ebben a topicban. Ha nem jönne le így, akkor most segítségnek újra itt van, Nem beszélve az "Aszinkron kommunikáció" (RS232) esetleges hibáiról és csúszásairól! Adatsebesség, adat kimaradás, adat elcsúszás... A Quartz itt is "létfontosságú"!
(#) Bakman válasza dcsabi hozzászólására (») Szept 22, 2020 /
 
Idézet:
„A program működik, le is fordul, csak nem azt fogja csinálni amit szeretnénk.”
Nem csoda, ha a feljesztőkörnyezet eleve homlokegyenest más logikát használ, mint ahogy a program fut a kontrollerben.
(#) dcsabi válasza Bakman hozzászólására (») Szept 24, 2020 /
 
Igazad van, hogy a alap koncepció és moduláris "összefűzögetés "módszere más logikát használ. Ez így igaz, de még nem fagyott le egy programom sem. Aztán, nem egy alkalommal, egy beigért kütyüvel, ha megcsúsztam időben, a program megírása rendszerint 10-20 percet vett igénybe a helyszínen a "nagy hardwerrel". Tanulni is lehet vele, ha elfogadjuk, vagy felismerjük azt a strukturát, vagy hasonlót amit a fejlesztő használ. Egy feladatot, több féle képpen meg lehet oldani, ez ilyen. Gyors, nem fagy le, az egyedi attraktív megoldások egy kis fejtöréssel mennek csak vele, Kónya Imre mikrokontrolleres könyvében, többször leszögezi ezt, Továbbá, a programozás mindemellett "művészet" ! Van egy szerzői szabadság benne!. Pl A Parsic kijelző kezelése memóriafaló, de, hiba mentesen lehet vele dolgozni, és gyorsan!
(#) Bakman válasza dcsabi hozzászólására (») Szept 24, 2020 /
 
Természetesen mindenki abban írja a programokat, amiben tudja/akarja. Mindössze arra utaltam, hogy mi lehet a szimuláció hibáinak hátterében. Elnézést ha félreérthető voltam, nem sértésnek szántam, mindössze a fejlesztőkörnyezet szimulációját minősítettem kicsit. Az is igaz, hogy kb. mindenhol ez van.
A hozzászólás módosítva: Szept 24, 2020
(#) kontár hozzászólása Szept 24, 2020 /
 
Két hete megjött a Parsic V4. Minden nagyon jó csak hogy lehet frissíteni új verzióra ?
Ha esetleg valaki tudja.....
(#) dcsabi válasza kontár hozzászólására (») Szept 25, 2020 /
 
Ha ügyesek vagyunk, akkor elcsíphetjük a legújabbat, egy hőnapja frissítették valamivel.
Ha kézzel gépeljük, sokadik variációra jön be... Itt a link...Upd_P4 ...Ha jól értelmeztem wifi access kezelés vagy példa(?) is van már.
A hozzászólás módosítva: Szept 25, 2020
(#) kontár válasza dcsabi hozzászólására (») Szept 25, 2020 /
 
dcsabi ! Ezt a linket ismerem,de ha ezt feltelepítem akármelyik mappába egy "új" verzió lesz,de azt nem tudom használni dongle-val sem
(#) kontár válasza kontár hozzászólására (») Szept 25, 2020 /
 
Sikerült! OK !
(#) kontár hozzászólása Okt 16, 2020 /
 
Ilyen nagy frekvenciánál hogy kell interruptot csinálni a RD.0 bemenetre ?

pice.PNG
    
(#) kaqkk válasza kontár hozzászólására (») Okt 16, 2020 /
 
A kép alapján nem értem az interrupt megfogalmazást ... A bemenet számolja a bejövő impulzusokat , az interrupt az megszakítás , mit szeretnél megszakítani -nullázni-resetelni-indítani azon a bemeneten ?
(#) sanyo08 hozzászólása Nov 7, 2020 / 1
 
Üdv.

Ha érdekel valakit,itt van a 128x64 es grafikus kijelző progija nekem szépen müködik ,mint tv scanner sorok egymás után irja ki az adatokat ,16 megás kristályt használtam 4x multipleddel és 250khz PRE beálításal a ha a 2ms 500hz nek felel meg 4x multipled 2000hz ,16 megát osztjuk 250khz vel 64x2000 128khz a 2ms ,a 2ms 4 progi lépés nem jött ki a sor rendesen ezért 4 ms ot használtam 64khz n

Jó szórakozást !
(#) mezga hozzászólása Jan 11, 2021 /
 
Sziasztok,

Lehet hogy olyat kérdezek ami már megvolt , de eddig hiába kerestem a megoldást.
Szóva egy műszert építenék, ami néhány sort jelez ki , és egy léptető motort hajt meg.
Arduino nano val próbáltam ée egy 4x16 os LCD vel. Amíg a 6 vezetékes bekötéssel működött , tudtam 2-500 Hz-es step jelet levenni róla a motor vezérlőnek.
Áttettem I2 C re a kijelzőt és azóta ötödére lassult a program. 50Hz nél nem tudok gyorsabbat csinálni, a beállítások ugyanazok. Egyértelműen az I2c lassítja be.( PIC16F 876)
Áttértem a Parsicra, eddig többet is tud akár 500 Hz et is, kijelzővel. De át akartam tenni az I2c -s LCD konverterre, de itt nem tudom hogyan kell beállítani. A sok példában sem találom, hogyan tudom az i2c data modulba bekötni a TEXt modulokat. Vagy nem is így kell? Aztán jutott eszembe, hogy a Parsicban van-e ilyen egyáltalán? Vagy használta már valaki így ?
Köszi a segítséget előre is !
(#) kaqkk válasza mezga hozzászólására (») Jan 11, 2021 /
 
Csinál még mást is a pic ? A 28 lábú jószágnál miért kell a kijelzőt I2c -n használni ? Egyébként a parsic 4 már tudja ezt a kommunikációt de csak ezért megvenni nagyon kár .
A hozzászólás módosítva: Jan 11, 2021
Következő: »»   175 / 177
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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