Indikace na vstupu do MCU

Pavel_t pavel_t@centrum.cz
Pondělí Srpen 11 21:54:33 CEST 2008


> potykam se s takovym problemem. Delal jsem pro zakaznika ridici modul, 
> kde je 5 tlacitek. Po jejich stisku se neco provede - to neni dulezite.
> 
> Dodatecne si zakaznik vzpomnel, ze by chtel indikovat ledkou tlacitko co 
> bylo naposledy stisknute. Vstup je realizovan optoclenem, ktery 
> prizemnuje pull-up odpor a tento signal je pripojen na port MCU. Jako 
> standardni indikace, ktera na desce je, je paralelne k pull-up odporu 
> LED s odporem. Funguje to tedy tak, ze v okamziku sepnuti optoclenu 
> zasviti i i LED, jak se prizemni tranzistorem v optoclenu.
> 
> Bohuzel nemam na desce volne vystupy (mam ale jen ctyri) a tak me 
> napadlo, ze v okamziku kdy je tlacitko sepnute bych prehodil konkretni 
> bit portu do log.0 a prenastavil jej ze vstupu na vystup. Tim bych LED 
> dokazal prizemnit z MCU.

Spise me napada jine reseni, na 2 volne piny pripojit nejaky posuvny 
registr jako treba 74164 nebo 4094 a seriove tomu v dobe zmeny nebo 
periodicky naposilat stav LEDek. Je to sice bastleni dalsiho brouka 
(predpokladam, ze se jedna jen o doplneni bez navrhu a vyroby nove 
desky) ale zase to prinese moznost dalsich 3 LED pokud si zakaznik opet 
na neco vzpomene, pripadne lze registry retezit a LEDek tak muze byt vice.

> Logicky to nema chybu - pokud zarucim, ze se tam neobjevi log.1 tak 
> nemuze nastat kolize s tlacitkem - maximalne se prizemni jak z optoclenu 
> tak z MCU.
> 
> Jen nedokazu odhadnout jak se na tom fyzicky podepise provedeni portu. 
> Je to PORTB na PIC16F873A.

Jak je to konkretne u tohoto PICa (ani si nevzpominam jak u jineho) 
nevim ale pokud jej lze nastavit jako Open Drain tak by nemel byt zadny 
elektricky problem. Osobne podobne veci (u eZ8) resim tak ze nastavim 
pin jako vystup typu Open Drain s Pull Upem a pouze zapisem 1 na vystup 
volim ze to bude vstup a z registru si ctu co je na vstupu, pokud na 
vystup zapisu 0 tak je na signalu 0, pokud 1 tak je tam uroven dana tim 
Pull Upem a nebo 0 dana jinym vystupem. Podminkou je samozrejme aby vse 
bylo Open Drain (Collector). Krome proudu Pull Upem ti z plusu potece 
akorat proud ruznych svodu v obvodech a ten lze zanedbat.

Pavel



Další informace o konferenci Hw-list