Fórum témák
» Több friss téma |
Én ezt álmodtam meg, ascii-ben küldi, csak nekem nehézkesnek tűnik. Ha van egyszerűbb megoldás én is szívesen venném a tanácsot.
Sziasztok!
Olyan problémám van hogy soros adatátvitelt szeretnék megvalósítani a PIC és egy másik eszköz között. Az órajel felfutó éle írná be az adatot, tehát az adatkimenetnek ekkor már a megfelelő állapotban kellene lennie. Ha teszek az órajelbe egy késleltetést akkor ez szépen működne is a szimuláció szerint. De a valóságban logikai analizátorral nézve a PIC kimenetét, a mikrovezérlő néha egyszerűen nem ad ki órajelet. Ami kihagyás teljesen véletlenszerű, a kimenő adatot ismételve néha itt néha ott. Ha kiveszem a késleltetést az órajelből akkor megjelenik minden impulzus csak éppen nem jó helyen az adathoz képest. A programban direkt kerültem a többszörös órajeleket és késleltetéseket, csak egyetlen órajelem van és ez az egy késleltetés lenne. A program több oldalból áll, csak a problémához kapcsolódót tettem fel, de a teljes program is csak ~30%-át foglalja a 16F877-esnek. Ti hogy oldanátok meg ezt a problémát?
Én biztosan úgy alakítanám a feladatot, hogy lehessen használni a programban az uart modult.
Ez adni-venni tudja a beállított byte-okat vannak rá példák a topic elején 3-10 oldal környékén... Vagy a triac5.pic és a füt.pic párosítás szintén ezen topicban (ez egy kicsit bonyolultabb, de a feleóadat benne van)
Sajnos UART-ot nem használhatok mert a vezérelt IC nem ismeri. Viszont sikerült valamelyest javítanom a helyzeten úgy hogy mialatt az adatokat küldi a PIC lehetőleg ne nagyon csináljon mást. Tehát azokat a számlálókat melyek ez idő alatt is mentek töröltem, valamint az LCD kijelző frissítését is minimalizáltam.
Talán megoldást jelenthetne ha a számláló órajelét 2ms-ról megnövelném, így a holtidőben lenne kapacitása a PIC-nek a többi művelet elvégzésére és így azok nem ütnék egymást. De még ezt a 2ms-ot is sokallom, mert így egy 21bites adat kiküldése 44ms ideig tart, ami rettenetesen sok. Ezt úgy próbálom orvosolni hogy a Parsicban alacsonyabb órajelet adok meg mint amilyen kvarcot a valóságban használok. Persze ezt is csak addig húzhatom ameddig az LCD késleltetési ideje megengedi, bár átállítottam 3x-os delayre.
Helló Mindenkinek.Az elejétől figyelemmel követem a fórumot és nagyon sokat tanultam belőle.Végigolvastam az elejétől a végéig és a Parsic használatát is innen "lestem" el.Mivel javító elektronikai műszerész vagyok már 3 évtizede a kivitelezés nem gond de a PIC "öntudatának" a felébresztése a Parsic segítségével nekem "emberbarátibb".Volna egy kérésem,hátha tud segíteni valaki.Adva van egy soros vonalon komunikáló eszköz ami csak a következőket tudja(nem lehet változtatni rajtuk programozassal):
* Baud Rate - 9600 * Duplex - Half Duplex * Character Format:1 start and 1 stop bit 7 data bits (Bits 0 = sent first (LSB) 1 Parity Bit (Bit 7, Even Parity) NRZ Format (Non-Return to Zero) Szeretném ha ez a herkentyü irható/olvasható volna egy 16F628-as PIC segítségével de nem jöttem rá mit kell a TXSTA és a RCSTA regiszterekbe irni,hogy 7 biten,páros paritással müködjön! Számítógép RS232-es vonalára kapcsolva a SerialMonitorral tökéletesen irható vagy olvasható de ha 8 bites komunikáciora teszem akkor már nem! Remélem valaki tud segíteni. Előre is köszönöm mindenkine aki időt fordit rá!További jó PicEzéSt!
Ha megnyítod a parsicban a forrástext-et is egy üres oldalra, -lehuzod az uart szimbólumot, meglátod mi változik...
Hogy mi az amin változtatni kell, és mit,...- azt talán itt megtalálod PIC-Uart-Link
Helló!Köszi az ötletet de úgy néz ki,hogy a 16F628 nem tud 7 biten társalogni főleg paritás bittel.Információim szerint létezik valami spéci sorozat (dsPIC30F) aminek 16 bitesek a vezérlőregiszterei és ez tudna.Szerencsére nem szoktam feladni és sikerült "becsapni" a "herkentyüt" úgy,hogy amit küldök azok csak vezérlések és azokba nincs használva a D0,D1 és így simán 1 START,8 ADAT,1 STOP bittel lenyeli.Amit töle kapok az csak 8db. bináris szám aminek a felső 4 bitje mindig 0.Elcsusztattam balra 1-el így ki tudom szűrni az alsó bit vátozását is és ez nekem pont elég.Már csak az a megoldandó feledatom,hogy pl. a 81h kiadjon 1 impulzust a 82h 5-öt,a 83h 10-et,84h 50-et...(stb),amiket egy el.mekanikus számláló szépen kiír. (Remélem !!!)
További jó PicEzéSt és mégegyszer !
Én is arra a következtetésre jutottam, hogy a beépített hardware-s uart az 8 bit-esre van csinálva.
Viszont szoftware-sen is lehet kommunikációt írni, Pl azon az oldalon, ott 16f84-re van írva. Ha ilyen hasonlót találsz és bele tudsz turni, akkor szubrutinként (Asm formátumban) beilleszthető a Parsic rendszerbe... Tettem fel példát I2c-eszköz kezelésére (pCF8583) , azt én is úgy ollóztam össze...
Sziasztok! Tudna nekem valaki segíteni DS1821+ digitális hőmérőszenzorral való hőmérö készítésében? Annyi kellene, hogy lcd-re szeretném kiírni az aktuális hőmérsékletet, de fogalmam sincs, hogy komunikál a pic- meg a senzor. Előre is köszi a segítséget!!!
Sziasztok Én azt vettem a fejembe hogy megoldom egy
7szegmenses 8 digites kijelző kezelését 1 portról Szerintetek működőképes lehet ez a megoldás ? Elvileg 15 kimenet kéne multiplex -ben a 8 digitnek a 7 szegmens meghajtó illetve a 8 digitmeghajtó ezt két külön ic vel leredukálom 6 kimenetre így használhatok 628 as picet és még bőven marad bemeneti port is (a program csak kisérlet még közel sincs befejezve )
Szerintem működni fog, csak nem 4051-el, hanem 4511-es a dekókoláshoz (a 4051 nem ledmeghajtó), és lehet kell majd egy 2003-as a digit meghajtáshoz. Mellékelek egy bevált kapcsolást, igaz ez 7 kimenetet használ, de hátha érdekel.
A meghajtó tipusszámát én írtam el köszi
hogy figyelmeztettél , a rajzot is köszönöm ha az én ötletem nem válik be ezt is megpróbálom
Sziasztok!
Most kezdtem el a parcsic programmal foglalkozni és már sikerült is saját működő programot a 628a picbe írnom. Én is szívtam a fórum elején található 3.4 verzióval,csak a 3.56 működik! Sajnos programozni én sem tudok csak a parsiccal sikerült életre keltenem a picet.Nagyon az elején járok az egésznek de a célom egy 16 ledes knight rider villogó változtatható sebességgel 16f628a-ra. Kezdetnek két sebességre egy példa 5 leddel.Hogyan lehetne folyamatosan változtatni a sebességet illetve pl 3x6 csoportba meghajtania ledeket?
Nézz be a futófény témába ! Oda tettem fel egy 14 ledes
7 effektes parsic programot , vagy ha ott nem találod akkor itt http://www.mickey5.fw.hu/knight_rider.htm
Hazudtam : a pic file nincs fent sehol csak a hex és az asm de most felteszem ide hátha találsz benne
valami használható részletet
tettem fel a topic elején 5-15 oldal, olyan példát ahol egy gyors időalapot két számlálóval és schmitt triggerrel kombinálok, itt nyomógombbal, állítom a sebességet, de lehet analóg bemenettel (poti) ha olyan PIC-et választasz...
a téma harang ütem vezérlésről szólt ( H.U.T. Pic ) vagy hasonló...
Pontosabban a 4-es oldal alján... ha01. p címen,
ez egy kicsit bonyolultabb, de van benne sok jó, bevált megoldás, többször bizonyított....
Digitális hőmérőre senkinek semmi ötlete?
Köszi qaqkk,dcabi!
Dcsabi ötletéből átalakítva 5 sebességes futófény,egy gombbal változik a sebesség leglasabb után ujrakezdi. A sebesség eltárolódik epromba. Mostmár csak a 16 ledre kellene rágyúrni.A 16f628 a0-a5 bemeneteit lehet használni kimenetnek?Akkor lenne kb 11 kimenet.kétfele szedve az már 22 led.
Ja,a program:
A kötéseket pontosan rajzod meg a progiban, ha nem akarsz meglepetéseket. (négyzetek ne maradjanak a bemeneteken, egy rácspontot hagyjál puszban a kanyarodáskor)
Az eeprom bemenetét invertáltra állítsd.(gombóc) A ZV Fd változót nem kell bejelölni tárolásra. A többi jó... Ha kevés a "láb" használj 16f876A-t, + quartz jobban jársz.
Parsic-al nem tudod direktben kiolvastatni...
kell írni egy asm rutint (ezt az INC modullal lehet a parsicba illeszteni) és a kiolvasott byte-okat már a parsic-ban tetszölegesen kényelmesen használhatod kijelzésre, ..stb erre tettem fel példát a topic elején, I2C olvasásához az elv hasonló,
Sziasztok!
Egy 2x16 soros lcd-t hogyan kössem a 16f628-ra,hogy láthassam az alábbi program szerint a szöveget? A kijelzőn 14 láb van,a pic melyik lábára melyik megy? Köszi a segítséget előre is.
ott van a helpjében ugyanugy kötöd be mint ott a baloldalit csak ott kettö van párhuzamossan,a kijelzödröl meg keresel egy adatlapot
Megnéztem a helpjét és tényleg ott van a rajz.
Köszi a segítséged. Mindjárt ki is próbálom.
Köszi a választ! Hát sajna nem lettem okosabb, mert nem értek az asm. progihoz, pic-re is csak a parsic-al tudok progit írni. Esetleg téged nem kérhetnélek meg rá? Meg is hálálnám, nem kérném ingyen. Előre is köszi a választ!
http://www.mickey5.fw.hu/knight_rider.htm
Itt van fent próbapanel a 628 hoz lcd csatlakozóval Én vagy fél évig azon fejlesztgettem a parsic progikat !
Nekem nem a panellel van bajom, hanem a progival!
|
Bejelentkezés
Hirdetés |