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