Fórum témák
» Több friss téma |
A helyzet az, hogy néhány ms alatt el kell végeznie jónéhány műveletet, ami nekünk csak egy két modul behúzása. Nemrég egy programban egy ventilátor fordulatát PWM-el szabályoztam. Az analóg bemenetről vettem hozzá a jelet (hőmérséklet). Nagyon precízre akartam, raktam oda jónéhány matematikai műveletet. Az eredmény hasonló volt mint nálad. A ventilátor fordulat szépen sétát, sőt ugrált is néha. Az analóg bemenetre rátettem egy 4 digites műszert, úgy állt fixen mint a szeg... Azért ne feledkezzünk meg róla, a rajz mindent elbír, sőt a proci végre is hajtja, viszont idő is kell hozzá néha... Az igazi kijelzési ciklus az olyan, hogy adddig a proci nem csinál semmit ez párszáz mikroszekundum, vagy esetleg 1-2ms. Parsicban több mindennel együtt kell működnie ehhez. Ne bánjunk felelőtlenül az eszköztár összes elemével még ha a rajz mindent el is bír. Azért (halkan megjegyzem) egy adott modul mögött álló állomány, más "környezetben egy egész project" vagy legalábbis jelentős része mikrokontrollerre. Éppen ezért ott egy kicsit több idő is szükségeltetik hozzá. Itt meg leteszek 3-4 modult, és kész a progi, ja és a háttérben "valaki megírta már" 3-400 sort. Nekem is időnek kellett eltelnie hozzá míg rájöttem, ez egy nagyon jó lehetőség is, hogy tanuljam vele az "asm-ben" való programozást. Ezért jeleztem, hogy megszakítás kezelés kell az igazi Multiplex kijelzéshez. Most írok egy nagyobb programot egy kicsit nagyobb PIC-be és ott kellett szembesülnöm keményebb dolgokkal 30Kb környékén, asm sor 35.000-nél jár. A projektet nyílván nem, de az ott szerzett tapasztalatokat nyílván megosztom, még minden hibamentes és csak 4Mhz-n járatom a PIC-et. Esetleg gondolkozz el azon, hogy egy feladatot több módon is meg lehet oldani, vagy fogalmazd újra, lehetséges egy másik megoldás eredményesebb lesz. Próbáld meg a fentebb említett BCF INTCON,GIE és "párját" használni. esetleg a 2ms-ot vebb hagyobbra...
A hozzászólás módosítva: Feb 5, 2014
Köszi szépen! Már nekem is volt olyan projektem ahol az LCD kijelzésnél nem volt mindegy hogy milyen sorrendbe rakom le a modulokat. Többször át kellett sorszámoztatnom az egész programot. Egyszerűen nem volt hajlandó elfogadni az LCD modult. Még törpölök a progin hátha jön valami ötlet. csao
Üdv. A kérdésem az lenne, hogy lehetséges-e a parsicban olyan RS tároló megvalósítása (vagy olyan egység létrehozása ami ugyanezt csinálja) aminek van trigger bemenete? Tehát egy impulzusra H szintű lenne a kimenet, a következő impulzusra L szintű... Köszönöm előre is.
Hello!
- RS tároló van a modulok között. De amit Te írsz, az nem RS tároló, mert annak két bemenete van, Set-Reset. Azért "RS".. - Viszont ott van a ZR (Simple Counter) számláló modul, aminek bináris kimenetihez hozzáférsz. Ott a Q0 kimenet pont azt teszi, amit szeretnél. üdv!
Köszönöm mindkettőtöknek.
Sziasztok!
Egy kis segítséget kérnék,bár biztos én bénázok valamit. Akarok majd csinálni LM 35-el hőmérőt és az lcd kijelzővel nem bírok. Pontosabban az mitől van,hogy a kijelzett érték az előtte lévő két karaktert is használja,úgy hogy az ott lévő karakterek,ha van írva bele valami,akkor vibrálnak. Pontosabban hiába teszem a megfelelő helyre a karaktert,mégis kettővel el van csúszva. Ez mitől lehet? Mellékelem a progit. U.i.: Tudom,hogy az lm35-nek csak 0,5 fokos a felbontása,így felesleges a tized fokos kijelzés. Jelen esetben csak a tizedes kezelésre vagyok kíváncsi lcd kijelzőn. Segítségeteket előre is köszönöm.
Szia!
Az "LCD OUT" modulban pipáld ki a "constant length"-et. Így tudatod a programmal hogy hány karaktert tartson fent a kijelzendő számnak.
Alig tettél bele hibát ! A számítások mind hibádztak , a számok alatt volt egy felesleges szöveg , a szám text ként volt kezelve , ez remélem jó lesz..
A hozzászólás módosítva: Feb 17, 2014
Köszönöm mindkettőtök segítségét. Ismét tanultam valamit.
Üdv. Peti
Szívesen ! Ha odafigyelsz és átgondolod mit hogyan szeretnél menni fog .
Sziasztok!
Készítettem egy kulcsot illetve hármat. Az adó egy pic ami egy jel sorozatot ad ki. A beolvasását így oldottam meg de nem üzem biztos van mikor nem jó olvas. Kifogytam az ötletek böl van valakinek valami ötlette, hogy lehetne stabillá tenni?
Kicsit belepillantotam. Néhány kérdés: melyik Parsic-al írtad? A valóságban hogyan próbáltad ki? Esetleg a kimeneti jelsorozatot megnézted "valamivel"? Mi a tényleges cél? Illetve a tervezett feladat vázlata? Továbbá az időzítések és késleltetések lehetőleg egy modul forrásból származzanak. Az alkalmazás elbírna egy qurtzot is... Példa idő alapu modulok alkalmazására és helyettesítésére (ezek jel pillanatban is működnek több példányban) az ÜTEM1 egy másik oldalon az alap pulza. 10 vagy 100ms stb...
Melyik Parsic-al írtad? Parcic v3.4 A valóságban hogyan próbáltad ki? Kimenetét meg néztem szkopal is és Saleae Logic 1.1.14, kimenet minden olvasásnál meg egyezik. Mi a tényleges cél?
Cél azonosítás lenne jack dugóba építve . Három féle kulcs van, be kel azonosítani melyik az a kulcs, ami használva van.
Az RB2 key-nél lévő 5db modul kombinációja nem biztos, hogy stabil möködést produkál, vagy éppen azt csinálja, amit gondolsz hogy csinálni fog. Quart nélkül nagyobb a hiba lehetőség. Régebben csináltam ehhez hasonló dolgot egy kicsit hosszabb időkkel, aztán nem igen akart "szót fogadni". Quartz és egy idő pulza leosztva minden feladathoz...-megoldódott.
Kulcsok mindig egyforma kimenetet adnak még egyszer sem fordult elő. hogy tévedt volna. Ezért gondolom, hogy a vevő oldalon kellene a problémát orvosolni. 10 próbálkozásból 7 jó de ez nem jó arány .
A vevőben az RB2 bemenetre érkező jelek 3 feladatot indítanak és mindhárom idő alapú. Ezek műkődése nincs elég "szigorú" kényszerben egymással. Sokat szívtam a DS18B20 szenzor kiolvasásával. Egy ASM részletel kellett írnom és a rutint megszakítástiltások közé kellett zárnom. Megnyítottam az Mplabot és miután lefordítottam belejavítottam. Más esetben az INC részletbe tettem bele az említett parancsot...stb. Valami szinkronnak kellene lennie a rendszerben. Miért nem adod ki uarton a jelsorozatot? Ez nem téved. A quartz oda is elkelne.
Az adó PIC felől csak az 5V negatív és a PIC Tx vonal kell (kettő vezeték) A vevő felől az 5V negatív és az RX vonal kell. 0V összekütve 0V-al, Tx összekötve RX-el. ez uart esetén ... Az adott és vett byte-ok száma egyezzen meg. A gyári példa kis módosítással megfelel a feladatra.
A hozzászólás módosítva: Feb 23, 2014
Igen most már rémlik a probléma 12f508 van az adó oldalába és azzal nem letet megoldani és ezért indultam el ebbe az irányba
Használj 16F628A-t. Ha mindenképpen 8 lábúban gondolkodsz az Oshon basic-ban van "szoftveres" Uart. Ha nincs meg akkor a demo is alkalmas erre a feladatra, egy -két sor csak...régebben használtam 8-10 byte átviteléhez 12F675-nél.
Köszi az ötleteket az a gond, hogy a jack dugóba nem fér el csak 8 lábú ezért gondoltam 12F508 ra mert az elfér benne. parsicba nincs a 12f675.
Ha van kéznél ...675 akkor ezek a soros kimenetű kulcsok elvileg használhatóak az általad elmondottak alapján. Quarz nincs, int 4MHz,MCLR nincs kivezetve. Adatsebesség 9600.
100ms -onként ad egy adatot egy számot, ami a hex file nevének vége. 53,55,57. Vétel Parsic uart modullal egyetlen adatként, adatforrás 8bites adat neve pl ADAT1. Ezt be kell húzni a vételi modulba vételhez. az ADAT1 modult összehasonlítod 3 IF modullal... A hozzászólás módosítva: Feb 23, 2014
Sajnos nem tudom kipróbálni mert nincs itthon 12F675.
Kerítek majd egyet és ki próbálom . Mindenesetre, köszi, szépen!
Még egy kérdés parsic ban, hogy lehet megoldani, hogy be menet is és ki meneti is legyen ugyan az a láb.
A hozzászólás módosítva: Feb 25, 2014
Hello! Leginkább sehogy. Mert a program a legelején beállítja az irányregisztert, és az a futás során már nem változik. üdv!
Hello! Több pic nél is találkoztam már olyan kapcsolással ahol a ic lába bemenet is és kimenet is volt egyszerre! Akkor azt , hogy oldották meg? Köszi!
Nem azzal van a gond, hogy nem oldható meg, hanem a PARSIC így működik.
Sziasztok!
Jól mondja "proli007": Idézet: „Nem azzal van a gond, hogy nem oldható meg, hanem a PARSIC így működik.” Aki ezt a progit használja, el kell fogadnia a korlátait. Nem kritizálni hanem elfogadni, hogy volt egy "Őrült" aki köznyelven és az egyszerű halandók számára is érthetően lehetővé tette a PIC programozást. Üdv: Zsolt A hozzászólás módosítva: Feb 25, 2014
|
Bejelentkezés
Hirdetés |