Mikrokontroler (dvije funkcije pin-a)

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?

Reply to
Bojan
Loading thread data ...

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.
Reply to
Davorin Vlahovic

Inace

dovoljno

koristi

druga

kako to

Recimo CD4099B. 4 izlaza porta vodi na ulaze 4099B, a iz njega dobiva 8 neovisnih izlaza..

Reply to
Vaso

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...

Reply to
inz

Adrese A2, A1 i A0 odreðuju koji æe se izlaz postaviti:

000 je za Q0, 001 za Q1 itd...
Reply to
Vaso

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.

Reply to
megamusic

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.....

Reply to
Vaso

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.

Reply to
megamusic

CD4099B...samo

Ispravka lapsusa: A16 mo¾e biti neki pin P3 PORTA ili ...

Reply to
Vaso

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.

Reply to
Vaso

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

Reply to
Bojan

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....

Reply to
Vaso
©ta ovo znaèi- uC MASTER?

"Vaso" je napisao u poruci interesnoj grupi:egmnap$m6s$ snipped-for-privacy@news1.xnet.hr...

Reply to
inz

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.

Reply to
Vaso

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...

Reply to
inz

mom

4099

Najjednostavnije ti je uz postojeæi RxD/TxD mikraæa potro¹iti jo¹ dvije linije i dodati MAX232...

Reply to
Vaso

I sloziti software UART?

Reply to
Bojan

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....
Reply to
Vaso

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.