Fórum témák
» Több friss téma |
Hello! Szeretnék egy PIC16F84-et 16 szegmenses kijelzőre kötni. A programot meg tudom irni, a hardwer részben kellene segitség. Egy 74164-et IC-t kell hozzá használni, mert a PIC-en kevés a kivezetés, de nem tudom hogy lehet ezeket a dolgokat összekapcsolni. Ebben kéne segiteni. Ha valaki tud légyszi irjon! Köszi előre!
Ezzel a 74164-el csak 8 szegmenst tudsz vezérelni.
Szerintem neked a 74154 kéne mivel ez egy 4/16 demultiplexer. A 4 adatbementére kiadod a megfelelő szegmens címét akkor az a szegmens világítani fog. Majd a következő szegmens címét és így tovább. Igaz gyorsan kell csinálni, mert egy időben csak egy szegmens világít. Ennek a 74154-nek van negát kimenetű változata is. Nem tudom, hogy neked melyik lesz a jó.
Hát nem tudom de 74164-el kell megcsinálni. Állitólag azzal tuti megy.
Igaz ez "kínai" de a bekötés látszik...
[link=http://www.etime.net.cn/news/20041108/4899103.htm]http://www.etime.net.cn/news/20041108/4899103.htm[/link] ua [link=http://www.zymcu.com/pic_file/application.htm]http://www.zymcu.com/pic_file/application.htm[/link]
Ez jó csak nem értek belőle semmit. És 7 szegmensesre hogy lehetre rákötni?
Érdekes...
De azok csak 7 szegmenses kijelzők voltak és nem 16 szegmenses. Valahogy az órajel ütemével belépteti az adatot ami ez után megjelenik az ic kimenetén és végül bekapcsolja a megfelelő szegmenseket. Nézd meg az ic adatlapját.
Találtam neten hozzá fejlesztőpanelt, ebben benne is van a szegmenses része, de nem tudom leegyszerűsiteni csak arra ami kell. Ha jól látom akkor a szgmenses kijelző és a pic között vannak ledek. Na nekem már az a rész se kellene. Ott az RB0-ás lábról menő vezeték átmegy vmilyen dolgon amit nem tudok hogy mi és onnan megy a kijelzőre. Ha azt a dolgot kihagyom amit nem tudom hogy mi akkor ugy is jó? Bocs a nem szakszerű kifejezésekért.
Ha jól gondolom akkor az egy "selector", tehát azzal tudnám kiválasztani azt hogy épp milyen módban működjön, tehát gondolom ha kihagyom akkor az se lesz baj. Tehát az egész kapcsolás csak annyi lesz hogy a B port összes lábára rákötöm a szegmenses kijelzőt egy védőellenálláson keresztül és kész. Jól mondtam?
Tőkéletes!
A kijelző összes lábát rákötőd a picre és kész is! A ledeket elhagyhatod, de valami ellenállást iktassál azért közbe. Értéke 100...1000 ohm ami kéznél van. Legfeljebb halványabban világít.
Most akkor mi lett ebből az ügyből???
Nem látom át...ha egy 16 szegmenses kijelzőt szeretnél rákötni egyetlen 8 bites portra, akkor az úgy nem lesz jó...16 lábat nem köthetsz rá 8-ra...vagy hogy is akarjátok??? Szerintem kellene 2 db 8 bites tároló IC. Az egyik tároló IC-re lenne kötve az első 8 szegmens, a másik tárolóra pedig a maradék 8 szegmens. Mindkét tárolóra kapcsolódna a B (8 bites) port. És a PIC-nek még 2 lábát kellene felhasználni, amelyik közül az egyikkel egyszer az egyik tárolót címzi meg, és kimegy az odaillő információ, egy következő pillanatban meg átvált a másik tároló kezelésére, és oda írja be a megfelelő bitsorozatot. És ezt kellőképpen gyorsan, felváltva irogatni a tárolókba, könnyen megoldható lenne a feladat...én így csinálnám, ha csak egy 16F84 állna rendelkezésre (aminek közismerten nem sok lába van).
Norberto!
[pic]http://img.hc360.com/ec/Info/images/img2/110823.jpg[/pic] Ha megnézed a képet talán te is észreveszed, hogy a controllerből csak 2 "lábat" kell felhasználni... (persze a rajz csak irányadó, de megoldható)
Ahha. Köszi. Azt hiszem, mostmár értem
(Úgy gondoltad, hogy az alsó 74164-es IC kimenetei is a másik 8 szegmensre mennek?)
Azért ha vki meg tudja oldani hogy hogyan kell a 16 szegmenses kijelzőt PIC-re kötni akkor azt szivesen várom. De jó lenne ha ábrát is mellékelne mert vizuális embertipus vagyok. Köszi!
Én erre a megoldásra jutottam a 74164-gyel kapcsolatban. Mellékl...
EWB-n leszimuláltam, lesszmit programozni ha ezt választod, de a többinél is. De ha már soros kommunikációt kell alkalmazni, akkor egy I2C vagy SPP-SPI buszos történet jobban mutatna!? Alkalmazhatnád az MCP23016-ot. Ez az chip I2C felületre illeszthető és 16 Be - Kinemetet tud lekezelni + van TNI (megszakítás) kimenete is...
MCP2316 -adatlap. MCP23016 - PIC16F877A, AN245 alkalmazási segétlet [off]és barátunk a Google![/off:]
Remélem nem gond, de lenne egy kérdésem nekem is.
Van egy pic-es kis kapcsolásom 3db 7szegmenses kijelzővel amit én 3+7 lábbal oldaottam meg multiplexelve, tehát mindig csak az egyik 7sz. kijelző aktív. Az a gondom, hogy így sajna nem vmi fényesen világítanak, mert ugye a "duty cycle"-jük csak 33,33.% Ilyenkor megoldható, hogy a gyárilag javasolt 270 ohmos ellenállás helyett (jóval) kisebbet használok? Hosszútávon kibirják a ledek? mert olyat láttam, hogy villogó (38kHz, 50%dutycycle)) infra led elé 39ohm volt bekötve és kapta az 5V-ot. (mi magyarul a duty cycle? )
Szerintem nyugodtan megpróbálhatod 100ohm-al 5V-ról. Az infra ledek nagyobb áramot képesek elviselni ha jól tudom, mint a sima ledek.
duty cicle = kitöltési tényező.
De azt, hogy a sima ledeknek mekkora a felső tűréshatáruk (mekkora lehet a max. impulzusáramuk,) csak az alkatrész adatlapjából, vagy kísérletileg tudod meghatározni. :csodalk: Impulzusüzemben a meghajtóáram jóval nagyobb lehet, mint a normál meghajtás setén. DE elegendő időt kell hagyni a kristály lehűlésére, mert különben a LED túlmelegszik és visszaadja a lelkét az alkotójának.
Nekem például az IRDA kontrolként használt ledek, főleg a vevőoldalon, 10R (ohmos) ellenállással adtak csak megfelelő fényerőt. A LED-ek víztiszták nagyfényerejűek és vezérlőáramkör 5Volt táplálást kapott. :felkialtas: Ja! Meghibásodás esetén a túlpörgetett ledek sinte mindíg tönkremennek!!! :felkialtas:
arról nem is beszélve, hogy az egyébként normál fényerővel működő impulzusüzemű ledek - mivel nagyobb áramot kapnak - elkezdenek veszíteni a fényerejükből, és ha sok van belőle, ahány annyi féleképpen csökkenti a fényerejét.
És mi lenne akkor ha csökkentené a frekvenciát amit a kijelzők közötti váltásra használ. Nem muszáj sok sok kilóhertzel meghajtani. bővel elég az 50-60 esetleg 100Hz is.
Ez attól fögg, mennyi ledje van s milyenek azok. az én esetmben 5×5mmes kb. 5mcd fényerejű ledeket kellett 12×12es mátrixban hajtani. Namost ugye a 12 sort egy mp alatt 100szor kell végig darálni, hogy a teljes kép ne vibráljon. Egy led(sor)ra jutó idő reciproka 1200Hz lesz...
természetesen a 3×7es mátrixhoz kisebb frekvenczia is elegendő. :yes:
Csak 3db 7szegmenses kijelzője van nem pedig ledmatrix. ahoz meg bőven elég a 50-60Hz szerintem.
Én kisérleteztem, hogy mekkora freki kellene, hogy ne tűnjön villogósnak, és végül olyan 100Hz az már jó volt. Igaz az én cuccom 8 drb 7 szegmensűből áll, így végül 1ms-os megszakítást lőttem, be a pic-nek. 50Hz az még simán villog, az ilyen 330nF-on keresztül 230V-ra kötött led azért elég zavaróan vibrál. A tönkremenésre meg az a legjobb, ha csak az áramkör teljes elkészülte után teszel be kisebb áramkorlátozó ellenállásokat.
Látom, már rég nem írtak a témában, de lenne egy elképzelésem. Meg lehetne oldani úgy is, hogy ahány szegmens van, annyi sorbakötött shift-regiszter kellene. Négy láb elég a kezeléséhez, és nem kell multiplexelni se.
Tehát ha van 2 szegmensem, akkor van 2 shift regiszterem. Az első digit állapotát elküldöm, majd utánna a másodikat is, ami az első digit állapotát áttolja a második shift regiszterbe és csak ezután engedélyezném a latch kiíratását a LED-ekre. Ebben az esetben egyszerre világít mindegyik szegmens és csak érték változásnál kellene frissíteni a regiszterek tartalmát.
Ez szerintem jó ötlet, és I2C -vel kellene vezérelni, mert ez csak 2 lábat használ, és címezhető. (Minden szegmensnek van saját címe.)
Csak kellene keresni megfelelő ic-t.
Jé, ilyet még nem is láttam! Én 4094-et használok, korlátozó ellenállás nélkül (áramgen.a kimenete) 5V-on. 3vezeték elég neki.
Van néhány darab 74hc595 öm , amint lesz egy kis időm kipróbálom. Annak elég csak 3 vezték.
Hello! Egy olyan megoldást szeretnék megalkotni hogy lenne 3 db 16 szegmenses kijelző. Ezeknek az azonos szegmenshez tartozó lábait felfűzöm párhuzamosan, és az így kapott 16 lábat rákötném egy PIC 2 portjára ami ugye 2x8 láb. A maradék 3 lábat ami közös anód vagy közös katód, szintén elhasználnék 3 lábat a 3. portból. A negyedik portot bemenetként használnám, ahová 4 biten érkezne az információ bináris számok formájában 1 től 12 ig. A picben el lenne tárolva 12 szubrutin amiben a kijelzők multiplexelve lennének és mindig az adott bináris számnak megfelelő hónap nevének első 3 betűjét írná ki, pl kijön binárisan hogy 0101 tehát 5 a kiírandó szöveg pedig MAY. A program multiplex részével talán még el is lennék viszont nem tudom hogyan oldjam meg a ha kapcsolatot, hogy mindig a bináris kódnak megfelelő szubrutinhoz ugorjon a program. Ja és mindehhez egy PIC16F887 est szeretnék használni ami kellően sok be/ki menettel rendelkezik, és szerintem egy ekkora programnak el is kellene férnie benne, de javítsatok ki ha tévedek!
A hozzászólás módosítva: Dec 10, 2014
|
Bejelentkezés
Hirdetés |