Pozdrav elektronicari, kako napraviti da na jednom pin-u(mikrokontolera) imam dvije funkcije. Inace mikrac ima na portovima P1 i P3 na svim pin-ovima duple funkcije. One se mijenjaju sa jednim bitom u registrima. I sad bi ja htio jer nemam dovoljno linja, na neke pinove ugradit po dvije funkcije, npr. da mi pin P3.7 koristi kako obican pin, preko kojeg cu paliti i gastiti jedan MOS tran., a druga (nakon setiranja bit-a u registru) funcija bi bila RD memorije...ali kako to odijeliti....kako da vanjski krug zna da sam ja promijeno stanje u registrima?? Kako to rjesavate?
Mikrokontroler (dvije funkcije pin-a)
Oct 08, 2006
17 Replies
Mozes pokusati koristiti demultipleksor sa nekakvim vanjskim latchem.
Uspjesne regije, tvrtke, muskarci i zene znaju da je uvijek bolje biti
prvorazredna verzija sebe nego drugorazredna verzija nekog drugog.
Inace
dovoljno
koristi
druga
kako to
Recimo CD4099B. 4 izlaza porta vodi na ulaze 4099B, a iz njega dobiva 8 neovisnih izlaza..
CD4099B Koliko ja ku¾im ovaj radi na principu, na DATA dovedem signal (bit), i ovisno o kombinaciji signala na A0, A1, A2 taj se bit u Latch-u smje¹ta na pravu poziciju, samo me interesira gdje je tablica kombinacija koje treba ostvariti da bi bit sjeo na to i to mjesto?
Hvala
"Vaso" je napisao u poruci interesnoj grupi:egc1kg$qkt$ snipped-for-privacy@news1.xnet.hr...
Adrese A2, A1 i A0 odreðuju koji æe se izlaz postaviti:
000 je za Q0, 001 za Q1 itd...
Inace
dovoljno
koristi
to
Puno bolji nacin je koristenje adresnog dekodera i data busa (memorijske sabirnice), na ovaj nacin mozes spojiti masu I/O periferija a pristupas im kao i vanjskoj memoriji.Primjer za AT89S8252 (kompatibilno i s drugim 8051) imas na binsima.
Ne mo¾e, A16 linija memorije i upravljaèki ulaz 4099B moraju biti posebni signali. A16 mo¾e biti neki pin P2 porta ili jedan izlaz 4099B.
ovo ba¹ nisam sku¾io.....
P2 u svakom slucaju ti je zauzet adresnom sabirnicim ako koristis vanjsku memoriju. Ako spajas vise od 64KB memorije potrebno je generirati jos adresnih linija (po jednu za svakih 128kB) i to koristenjem pinova porta P3 (u ovom slucaju pristupas 64kB segmentima) ili koristenjem latcha na postojecim adresnim linijama (segmenti 32 ili 64kb ovisno o upravljanju latchem). Isti latch moze sluziti i kao izlaz. Sta se 4099 tice problem bi se mogao rjesiti citanjem sa adrese (DPTR) koja odgovara zeljenom stanju na izlazu 4099 prije svakog upisivanja stanja 4099 sto je sporo. Brze rjesenje (i jednostavnije za programiranje) bilo bi koristenje 74573 i 4555 cime bi dobio 6 izlaza, adresiranje 128 kb memorije i dmogucnost prikljucivanja LCD-a na data bus bez koristenja P1 i dodatnih pinova P3.
CD4099B...samo
Ispravka lapsusa: A16 mo¾e biti neki pin P3 PORTA ili ...
RS232
(jedan
Nije 4099B pogodan za to! Lak¹e bi bilo s nekim shift-registrom. Meðutim, ako komunikaciju tra¾i uvijek samo uC, bolje i lak¹e je izvesti s preklapanjem linija preko stanja jednog dodatnog izlaza? Za to treba¹ 4 digitalne preklopke i invertor.
Zasto nebi bilo pogodno...vrijeme odziva odgovara , naponske razine odgovaraju...Branko neznam zasto mislis da nebi bilo u redu? Princip bi bio ovaj:
-Kad ide transmit prije nego se posalje podatak na TxD postavi se adresa na dresni dio 4099...
-Kad ide recive , nakon ucitanog podatka (interupt) idem projerit adresni dio i prema tome zakljucim sa kojeg porta je stigao podatak. Po mome na ovaj nacin bi mogao spojit 8 Serijskih komunikacija (RS232)
Pozdrav
na
RS232 komunikacija je niz jedinica i nula, ne radi se o pojedinaènim bitovima. Teoretski, ako je uC MASTER i ako ima¹ 'pametne' periferije na RS232 koje prepoznaju svoju adresu i odgovaraju 'samo kada ih se pita', TxD liniju spoji na sve periferije, a RxD spoji u ILI funkciju prema procu i tako ih mo¾e¹ spojiti i 20....
©ta ovo znaèi- uC MASTER?
"Vaso" je napisao u poruci interesnoj grupi:egmnap$m6s$ snipped-for-privacy@news1.xnet.hr...
Komunikaciju mo¾e¹ tako organizirati da svaka periferija ima svoju 'adresu' i stalno je na 'slu¹anju', a prima/¹alje podatke samo ako glavni(Master) sistem to zatra¾i od nje.
Tako funkcionira I2C znam...ali kod RS232 nije tako...osim ako ne komunicira¹ sa nekakvim ureðajima kojima oprt sam pi¹e¹ program...ali u mom sluèaju su to BAR-CODE(standardna oprema) èitaèi i oni nemaju adresu (mislim)!? Ali da postoji nekakv èip koji mo¾e slièno funkcionirat kao 4099 bilo bi super...
"Vaso" je napisao u poruci interesnoj grupi:ego0ll$ski$ snipped-for-privacy@news1.xnet.hr...
mom
4099Najjednostavnije ti je uz postojeæi RxD/TxD mikraæa potro¹iti jo¹ dvije linije i dodati MAX232...
I sloziti software UART?
Kako se veæina sistema s mikraæima spaja na PC preko serijskog porta, nije problem na Netu naæi dovoljno podataka i gotovih rutina za to. Meðutim, sla¾em se s tvojom primjedbom jer za svaki RS232 treba¹ tro¹iti po jedan Timer.....
Drugi pristup je preko namjenskih sklopova za RS232 komunikaciju. Npr. ima to i Z80 proc, a za 8085 je to bio 28-pinski 8251. Treba mu dovesti CLK,
8-data linija i neke kontrolne linije. On prima cijeli niz bitova, uoblièi ga u 8-bitni podatak i po¹alje ga na Data. Pri slanju je obrnuto....Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required