een vraagje voor alle Bascom specialisten,
Er zijn honderden voorbeeldprogramma's op het net te vinden voor een 3 X 4 of een 4 X 4 klaviertje, maar hoe zit het dan als je een groter klavier hebt waar je twee poorten voor nodig hebt?
gewoonlijk wordt in bascomAVR "getkbd()) gebruikt, maar kan dat ook als je op twee poorten werkt? vb D.0 tot D.6 = kol 1 tot 7 / C.0 tot C.2 = row 1 tot 3 (in mijn geval) ik heb een klaviertje 3X7 ???
om het kort te maken, ik wil dat klaviertje inlezen, ik heb poort D(8bits) en poort C (7bits) ter beschikking op een Atmega 88 (168).
De keuze voor deze µP is omdat alle pinnen kunnen gebruikt worden als interrupt. Weet niet of dat belangrijk is. heb ook nog enkele Atmega 16 en 32 op voorraad (Waar ik meestal mee werk).
Kan iemand mij een beetje op weg helpen aub, liefst met een voorbeeldprogrammatje want van echt zelf programmeren heb ik nog niet zoveel verstand. Ik probeer de voorbeeld programmatjes te begrijpen en te doorgronden maar om er dan zelf op eigen houtje iets anders van te maken lukt me nog niet. oefening baart kunst zegt men wel maar een klein handje hulp kan wonderen doen soms.
voor een 4X4 keypad gebruik ik volgende;
$regfile88def.dat
$crystal 8000000
$hwstach = 32
$swstack = 10
$framesize = 40
config lcdpin = pin, DB4=port B2,DB5=port B3,DB6=port B4,DB7=port B5,e=portB1,rs=port B0
config lcdbus = 4
config lcd = 16*1
cursor off
config Kbd = port D
Dim B as byte
do
B = Getkbd()
locate 1,1
lcd B
loop
end
Hartelijk dank bij voorbaat,
Geert