Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „mint amennyivel egyszerűbb lesz utána a dolga.” Hát ha a 100 lábúak beforrasztására gondolok, akkor nem biztos, hogy egyszerűbb... Idézet: „Szepseghibaja a megoldasnak, hogy nem tudod erzekelni ha egyszerre tobb gombot nyomtak meg.” Ha ügyesen vannak megválasztva az ellenállások, akkor ez se probléma
Bocs hogy ennyire gyanakvó vagyok, de szerintem NEKED kell ez, és csak azért mert ÉN kitaláltam!
Egyébként most komolyra fordítva a szót, mire kell nek(ed)ki az a 8 gomb. Meg ha nem kellenének azok a gombok, akkor várd meg, míg előállok az ÉN megoldásommal, és azt használnád te is. Még valami: Szerintem csináltam hozzá egy C progit, de lehet hogy tévedek. Lécci nézzétek meg ![]() ![]() ![]() ![]() ![]()
Ooppps, ez lemaradt
Hmmmm. Biztos vagy benne, hogy nem tévesztetted el a topikot? ![]() ![]()
Szerintem nem, mert 877-est akarok programozni, és a kódot a "Nyolc lábbal I: rész"-ből vettem, csak átírtam.
Mit kéne a helyére írni?
Lehet, hogy az AVR "mozaikszó" nem tetszik ?
![]() Steve
Idézet: „Mit kéne a helyére írni?” Leginkább egy olyan #include direktívát, ami nem az Atmel AVR mikrovezérlők definíciós állományait csatolja be hanem a Microchip PIC16F877 mikrovezérlőjéét. Pontos nevet nem tudok mondani, mivel még nem közölted, hogy melyik fordítóval fogod lefordítani (MikroC, CCS C, SDCC, HiTech C stb.). Mindenesetre én egy LED-del kezdeném a villogást...
Hello!
Lenne egy kérdésem. Látványterv című kép alatt van egy sematikus rajz. A közlekedési lámpák valahogy világítanak általában, kivétel az a szituáció amikor villog. Ilyen villogó szituáció a sárga villogás, valamint a zöld villogtatása. Nos ezektől az esetektől eltekintve lényegében x1-től x10-ig be van ugye kapcsolva. Ha van olyan lámpa ami piros és van olyan amelyik zöld, akkor nem fog mindegyik pirosan és zölden világítani? Ugyanis X és Y irányból is záródik az áramkör. Azaz lehet hogy full hülyeséget írok, de majd kijavítotok és okosabb leszek a válaszból legalább, de akkor egy sor zöld és egy sor piris jelenik majd meg a kimeneten. Nem? üdv! Idézet: „Nos ezektől az esetektől eltekintve lényegében x1-től x10-ig be van ugye kapcsolva.” Remélhetőleg nem, mert annak semmi értelme nem volna. Pont az a cél, hogy az adott X kimenet csak akkar legyen aktív, amikor a megfelelő "színű" Y sín aktív, egyébként pedig inaktív. De a program még ezer sebből vérzik. Előbb meg kell találni a PIC include fájlját, a kimeneti portok TRIS regiszterét, stb. Utána meg végig kell gondolni a logikáját és az ütemezéseket.
PIC kimenetéről TTL jelet szeretnék elvezetni közepes távolságra. (max 10m) Három féle meghajtó áramkör is eszembe jutott. Szerintetek melyik lenne jó ?
(az áramkör bemenetetét védő 5.1V os zenert, csak a 3. ra rajzoltam rá, de tennék a többihez is.) A PIC et, a bal oldalon látható XFG funkció generátor jelképezi. A 3. változatnál a 33ohm, rövidzár esetén védené a CMOS invertert. Nemtudom, ezek a CMOS ic-k hogy viselik a kimenetükön az esetleges rövidzárat ?
Ez a SN75176 1 TTL jelhez akkor két eret használ fel ?
Erre a kivezetett, erősített PIC jelre több TTL bemenetet kötnék rá. Így oda már nem szeretnék mindenhová illesztést tenni. Ez egy master pic hardveres uart kimenete lenne egyébként, amit több pic is venne, szintén hardveres soros porttal. De nem akarok mindenhová RS232 illesztöt tenni, ezér vinném a ttl jelet.
Szerintem nem fog így működni 10m kábelen, csak nagy szerencsével vagy igen kis sebességgel. Kénytelen leszel illesztő IC-ket használni. Egy max232 nem olyan drága, és semmivel sem nagyobb, mint egy TTL puffer IC(főleg, hogy azzal nem is jó).
Ha master-slave kommunikációs protokoll lesz, akkor pedig jobb, ha RS485(SN75176)-al oldod meg, akkor sem a távolság, sem a sebesség nem lesz gond.
Még egy lehetőség: ~10 mA-es áramhurok, ami egy optocsatoló LED-jén megy keresztül. Ez akkor jó megoldás, ha a vezérelt készülékbe be tudod építeni az optocsatolót, és a vevő oldalának tápfeszültséget tudsz adni. Így az optocsatoló galvanikus leválasztást biztosít a PIC és a vezérelt készülék között. Ez esetben nem kell Zener diódás védelem.
A PIC nem biztos, hogy szereti a 10 méteres antennát, ezért a PIC kimenetére tennék valami leválasztó fokozatot (pl. egy tranzisztor, vagy egy IC kapu, vagy egy LT1010). Az "áramhurok" egy soros áramkorlátozó ellenállással (~330 Ohm, pontos értéke a LED paramétereitől függ) elintézhető. Idézet: „Ez egy master pic hardveres uart kimenete lenne egyébként, amit több pic is venne, szintén hardveres soros porttal. De nem akarok mindenhová RS232 illesztöt tenni, ezér vinném a ttl jelet.” Kár, hogy nem ezzel kezdted! ![]()
Sziasztok.
Megépítettem ezt a frekimérőtBővebben: Link Szépen működik, 2X16-os és 4X20-as LCD kijelzővel is. Viszont 1X16-os kijelzőnél csak az első nyolc karakter jelenik meg. Több 1X16-os LCD-vel kipróbálva is, mindnél csak az első nyolc jelenik meg. Ha egy kétsorosra tervezett elektronikát dobok az egysoros LCD-re, akkor az első sor első nyolc karakterét, a 9-16 karakter helyén pedig a második sor első nyolc karakterét jeleníti meg. Ez miért van? Illetve van-e lehetőség a PIC programját úgy változtatni, hogy az 1X16 karakteres LCD-n is helyesen jelenjen meg a kijelzés?
Ha van forrásfájl, megvan az LCD adatlapja, akkor természetesen meg lehet írni. Hogy te meg tudod-e, azt nem tudom, gondolom nem arra számítasz, hogy valaki helyetted megírja?
icserny-nek igaza van, mert 10ms-onként vált másik Y ágra
Valamint a logikája meg van, de amit előtte emlegettél, arra nem tudnék válaszolni.(azt sem tudom, hogy micsoda) Idézet: „Előbb meg kell találni a PIC include fájlját, a kimeneti portok TRIS regiszterét, stb.” lécci segítsetek!!! Valamint c nyelven hogy a pitlibe lehet megoldani, hogy mondjuk: 10-szer ismételje a 6-os, a 7-es, a 8-as, és monduk a 9-es ciklust
Neked erre a feladatra, mivel PIC-ekről van szó, szerintem a Microchip LIN Transceiver lenne a legjobb ezt erre a feladatra tervezték kifejezetten.
2 vezetéken viszi át egyszerre a soros RX és TX jelét, saját belső tápja van, ha jól emlékszem kb 40m-re is elmegy. Robosztus, mindenféle védelemmel el van látva, kicsi (pl 8 lábas IC), olcsó, és CHIPCADnél kapható. pl MPC2021 Indulj el innen http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1485 vagy innen http://ww1.microchip.com/downloads/en/DeviceDoc/22018e.pdf
Jó kis IC, csak egy a baj vele, hogy kétszer drágább, mint az SN75176, és nem tudja ugyanazokat a paramétereket. Igaz nem fullduplex, de a master-slave szervezésnél erre nincs is szükség.
Idézet: „lécci segítsetek!!!” Lécci elárulni,hogy milyen fejlesztői környezetet használsz!!! Ez nem a parafenomének kongresszusa, hogy olvassuk ki a gondolataidat, és "emelje fel a jobb kezemet, aki egyetért"! Idézet: „hogy a pitlibe lehet megoldani, hogy mondjuk: 10-szer ismételje” Programciklus szervezésével (For, While, Do - ami jólesik) Kötelező olvasmányok: 1. A választott mikrovezérlő adatlapja 2. C programozás jegyzet 3. A választott fejlesztői környezet és a fordító felhasználói kézikönyve.
Igen, ez teljesen normálisnak tűnik, az 1x16-os kijelzők közül elég sok igazából 2x8-as szervezésű, csak a két "sor" egymás mellett van. Nekem volt 1x16-os és 2x8-as szervezésű, fizikailag 1x16-osnak kinéző modulom, ezért a pic-páka progiját mindkettőre felkészítettem.
A szoftverben mindenképpen külön le kell azt az esetet kezelni, amikor a 9. karakterre lép a kiírás, és pozícionáló paranccsal a "második sor elejére" vinni, nem csak annyi, hogy egy beállítást máshogy kellene pl. az init-nél csiálni.
Normál HD44780 kompatibilis LCD. Ezért nem értem, miért jeleníti meg ilyen furán a karaktereket. ASM van.
A hivatkozáson is megtalálható. Csak az a kérdés, hogy miért így jeleníti meg a szöveget...
Köszi a válaszokat, gondolkodnom kell rajtuk. Ha jól értem a dolgot, akkor az SN75176 két eret használ, adás és vétel is megy rajta, de egyszerre csak az egyik irányba használható.
Aha. Most már értem. Köszi a választ.
x1-től 10ig vannak a lámpák és y1-től 3ig a színek. Alap helyzetben ugye egy kereszteződésben minden lámpa világít valahogyan. Aztán épp az előbb beszéltem kollégával, hogy optikai csalódás szinten meg lehet ezt oldani, mert az én kicsi agyacskámmal ebbe bele se gondoltam. Tehát igazad van, ha kellő sebességgel váltogatja az ember, hogy mit akar kiírni, akkor nincs is vele gond. Csak a különböző színeket külön kell akkor ugye megjeleníteni egymást követő ciklusokban. Ez nem volt világos, mert feljebb erről ha jól láttam nem esett szó. Vagy ha igen, akkor véletlen az a rész kimaradt.
Idézet: „Ez nem volt világos, mert feljebb erről ha jól láttam nem esett szó. ” Ezt értettük multiplexelés alatt.
igen, nezz meg egy akarmilyen LED kijelzot - ha van a kornyezetedben piros vagy zold 7 szegmenses tobb digites kijelzo... Nezd meg kameraval vagy neha fenycso is jo hogy latszodjon hogy villog - szemed sarkabol jobban latszik az ilyesmi...
Amugy nem optikai csalodas, hanem egyszeruen az emberi szem lassabban reagal a gyors valtozasokra. Marmint ha egyenesen ranezel, mert oldalrol a hirtelen valtozo dolgokat veszi eszre a szem joval kevesebb reszletesseggel. A TV is igy mukodik... kb 17 Hz-et mar folyamatosnak lat a szem, de olyan 25 az optimalis.
Vagy ha shift regiszterrel csinalod (amint mar tobben javasoltuk) akkor nem kell optikai csalodassal sem foglalkozni es nem viszi el a proci idejet, hiszen csak a valtaskor kell foglalkozni a dologgal, a koztes idoben a kimenet tartja az erteket. Es direktben is meg lehet hajtani vele akar nagyfenyereju ledeket, mig a multiplex hibaja eppen a fenyero oszlasa az idoszelet miatt...
|
Bejelentkezés
Hirdetés |