4x4 matrixtasztatura bemenetre is lehet
4x4 matrixtasztatura bemenetre is lehet
Sziasztok
Van egy áramköröm aminél kifogytam a lábakból (atmega m16), és szeretném a billentyű mátrix lábait másra is használni a programban később, mert amúgy azt csak a menüben használom később már nem. A Getkbd() parancsot használom a menuben ,eddig a program elejére írtam Config Kbd = Portd , Debounce = 10 ,ezt irhatom-e a menurészben Getkbd() parancs élé közvetlenül. A billentyűzet az D porton van .
Köszönettel Dani
Van egy áramköröm aminél kifogytam a lábakból (atmega m16), és szeretném a billentyű mátrix lábait másra is használni a programban később, mert amúgy azt csak a menüben használom később már nem. A Getkbd() parancsot használom a menuben ,eddig a program elejére írtam Config Kbd = Portd , Debounce = 10 ,ezt irhatom-e a menurészben Getkbd() parancs élé közvetlenül. A billentyűzet az D porton van .
Köszönettel Dani
Re: 4x4 matrixtasztatura bemenetre is lehet
Lehet!
De rakjál soros áram korlátozó ellenállásokat a tasztatura kimeneteire! (220ohm)
Mert ha valaki hozzá nem értő rosszkór nyomkodja a gombokat?
Zárlatot okozhat és tönkremegy a meghajtó kimeneti áramköre.
De rakjál soros áram korlátozó ellenállásokat a tasztatura kimeneteire! (220ohm)
Mert ha valaki hozzá nem értő rosszkór nyomkodja a gombokat?
Zárlatot okozhat és tönkremegy a meghajtó kimeneti áramköre.
Re: 4x4 matrixtasztatura bemenetre is lehet
Köszönöm a választ, vannak rajta 680ohnos ellenállások,de a fő kérdés hogy a
"Config Kbd = Portd"
sornak a program elején kell-e lennie vagy bárhol lehet csak megelőzze a
"getkbd "
utasítást ?
Illetve a többi " config " sor is bárhol lehet, csak megelőzze a használatot ebben nem vagyok biztos hogy ez igaz.
Köszi Dani
"Config Kbd = Portd"
sornak a program elején kell-e lennie vagy bárhol lehet csak megelőzze a
"getkbd "
utasítást ?
Illetve a többi " config " sor is bárhol lehet, csak megelőzze a használatot ebben nem vagyok biztos hogy ez igaz.
Köszi Dani
- ampervadasz
- Bitmanipulátor
- Hozzászólások: 119
- Csatlakozott: 2008. január 19. szombat, 7:00
Re: 4x4 matrixtasztatura bemenetre is lehet
Szervusz Dani!
Amikor szükségét érzed, akkor kell a config sorokat ebben a feladatban alkalmaznod.
Ha bemenetként szeretnéd figyelni, akkor
"Config Kbd = Portd"
"getkbd "
Viszont ha kimenetként szeretnéd alkalmazni a mátrixot, akkor külön külön kell beállítani az adott port állapotát "input, output".
Ezeket a programodban bárhol és a feladatnak megfelelően bármikor megteheted.
Amikor szükségét érzed, akkor kell a config sorokat ebben a feladatban alkalmaznod.
Ha bemenetként szeretnéd figyelni, akkor
"Config Kbd = Portd"
"getkbd "
Viszont ha kimenetként szeretnéd alkalmazni a mátrixot, akkor külön külön kell beállítani az adott port állapotát "input, output".
Ezeket a programodban bárhol és a feladatnak megfelelően bármikor megteheted.
Re: 4x4 matrixtasztatura bemenetre is lehet
Vagy még tipp: A getkbd kódot magad használod és a lábállapotokat is magad állítgatod.
Ekkor tuti minden a kezedben van....
De kérdés: I2C buszod nincs? Arra egy PCF8574 és arra a gombmátrix. Felszabadul így 8 lábad a főprocesszoron....
Vagy ha ez az első I2C, akkor a 8 láb helyett 2 megy I2C-nek és a maradék hat szabad....
Vagy több I2C bővítő (MCP23017, PCF8574), esetleg célprocesszor a gombok+LCD kezelésre és I2C-n a központira?
Ekkor tuti minden a kezedben van....
De kérdés: I2C buszod nincs? Arra egy PCF8574 és arra a gombmátrix. Felszabadul így 8 lábad a főprocesszoron....
Vagy ha ez az első I2C, akkor a 8 láb helyett 2 megy I2C-nek és a maradék hat szabad....
Vagy több I2C bővítő (MCP23017, PCF8574), esetleg célprocesszor a gombok+LCD kezelésre és I2C-n a központira?
- ampervadasz
- Bitmanipulátor
- Hozzászólások: 119
- Csatlakozott: 2008. január 19. szombat, 7:00
Re: 4x4 matrixtasztatura bemenetre is lehet
Szervusz Dani!
Egyet kell értenem Robert mesterünkkel. Csináltam már hasonló projektet a te variációddal, de azt kell mondanom, hogy nagy odafigyelést igényel mind hardver, mind szoftver szempontjából.
Javaslat. I2C busz. 1db PCF8574 a kimenetnek, egy másik PCF8574 a bemeneteknek. (természetesen más címen). Így kapsz plusz 2db teljes értékű portot. Ezen portokat be tudod állítani input-ra, illetve output-ra (a mátrix miatt). Ezt egy szubrutinnal tudod lekezelni, amikor a PCF8574 megszakítást küld a kontrollernek.
Az egész rendszer 5 vezetékkel csatlakozik a procihoz. (+5V, GND, SDA, SCL, INT).
Valahogy így gondoltam:
http://www.mikrocontroller.net/attachme ... /board.png
Egyet kell értenem Robert mesterünkkel. Csináltam már hasonló projektet a te variációddal, de azt kell mondanom, hogy nagy odafigyelést igényel mind hardver, mind szoftver szempontjából.
Javaslat. I2C busz. 1db PCF8574 a kimenetnek, egy másik PCF8574 a bemeneteknek. (természetesen más címen). Így kapsz plusz 2db teljes értékű portot. Ezen portokat be tudod állítani input-ra, illetve output-ra (a mátrix miatt). Ezt egy szubrutinnal tudod lekezelni, amikor a PCF8574 megszakítást küld a kontrollernek.
Az egész rendszer 5 vezetékkel csatlakozik a procihoz. (+5V, GND, SDA, SCL, INT).
Valahogy így gondoltam:
http://www.mikrocontroller.net/attachme ... /board.png
Re: 4x4 matrixtasztatura bemenetre is lehet
Köszönöm a válaszokat. de már kész van a program csak kellet még egy bemenet. Portbővítőt vetten a Robitól de ahhoz eléggé szét kellene túrnom a programot, meg i2c használatában nincs gyakorlatom még.A tasztatúrát csak alapértékek beállításában használom amit elmentek eepromba utána Goto &H00 ujraindítom a programot és nem használom a tasztaturát a program futása alatt így felszabadul 8 láb.Még az is kérdéses számomra hogy az lcd adat lábait piszkálhatom-e a program közben amikor nem írok ki rá (használhatom-e kimenetnek természetesen egy másik lábbal együtt akár tárolóval)
- ampervadasz
- Bitmanipulátor
- Hozzászólások: 119
- Csatlakozott: 2008. január 19. szombat, 7:00
Re: 4x4 matrixtasztatura bemenetre is lehet
Szervusz Dani!
A "Goto &H00" -át nem tartom valami szerencsésnek! Szerintem a főprogramot Do - LOOP közé építsd fel és szubrutinokkal ugorj ki belőle.
A "Goto &H00" -át nem tartom valami szerencsésnek! Szerintem a főprogramot Do - LOOP közé építsd fel és szubrutinokkal ugorj ki belőle.
Re: 4x4 matrixtasztatura bemenetre is lehet
Az LCD kezelhető így, DE:
- csak az adatlábak, az RW és az E nem.
- csak az adatlábak, az RW és az E nem.
Re: 4x4 matrixtasztatura bemenetre is lehet
Sziasztok Köszönöm a válaszokat.
Mivel a gép amire készül az elektronika nincs nálam és szelep időzítések később fognak kiderülni, a beállítás után eepromba mentem az adatokat és elvileg többet nem használom, és a beállítások után újra szeretném indítani az egész programot amikor is a beállító rész nem fut át ugrom nem foglal változóknak helyet.
Mi a probléma a "Goto &H00" ugrással, miért nem ajánlod a használatát. Ez nem ugyanaz mintha kikapcsolnám a tápot és utána be ? Szerintem törli a változókat minden alaphelyzetbe állít,vagy nem?
Üdv Dani
Mivel a gép amire készül az elektronika nincs nálam és szelep időzítések később fognak kiderülni, a beállítás után eepromba mentem az adatokat és elvileg többet nem használom, és a beállítások után újra szeretném indítani az egész programot amikor is a beállító rész nem fut át ugrom nem foglal változóknak helyet.
Mi a probléma a "Goto &H00" ugrással, miért nem ajánlod a használatát. Ez nem ugyanaz mintha kikapcsolnám a tápot és utána be ? Szerintem törli a változókat minden alaphelyzetbe állít,vagy nem?
Üdv Dani
Re: 4x4 matrixtasztatura bemenetre is lehet
Bootloaderes program esetén nem működik. A bootloader címe változik. Ha _korrekt_ újraindítást akarsz: a Watchdog járjon le és indítsa újra a chipet.
De korrekten nem a chip újraindításával is megoldható a változók módosítása. A chip újraindulása alatt minden láb bemenet. Ez a szelepvezérlők lekezelik? Azaz mintha nem lenne benn a processzor. Lebegnek a vezérlőlábak...
De korrekten nem a chip újraindításával is megoldható a változók módosítása. A chip újraindulása alatt minden láb bemenet. Ez a szelepvezérlők lekezelik? Azaz mintha nem lenne benn a processzor. Lebegnek a vezérlőlábak...
Re: 4x4 matrixtasztatura bemenetre is lehet
Szia Robi
A tőled származó 4 relés panelt használom a kimeneteken nem vettem észre hogy induláskor gondot okozna hogy a relépanel bemenetei lebegnek.
Ha a Watchdog jár le akkor is ez a helyzet nem?
Köszi
A tőled származó 4 relés panelt használom a kimeneteken nem vettem észre hogy induláskor gondot okozna hogy a relépanel bemenetei lebegnek.
Ha a Watchdog jár le akkor is ez a helyzet nem?
Köszi
Re: 4x4 matrixtasztatura bemenetre is lehet
A relépanel bemeneten LED van. Azt nem hajtod meg ekkor, de gondot nem okoz.
Azonban a Solt melletti rádióadónál, hosszú vezeték esetén simán begyújtana a LED lebegő kimenet esetén... (a térerőből nyert energiával világíthatsz)
Azonban a Solt melletti rádióadónál, hosszú vezeték esetén simán begyújtana a LED lebegő kimenet esetén... (a térerőből nyert energiával világíthatsz)