Ich find im ganzen Web keine Beschreibung zu der Konfiguration eines Keyboard. Kann mir da bitte jemand helfen?
Ich habe ein Keyboard 4x4 Matrix an Portb.
Danke schon mal im Vorraus!
Gibts die Hilfe au in deutsch???
Ich versteh die Zahlen nicht 16 bei nichts und 19... Keine Ahnung!
Mein Programm sicht z.Zt so aus:
Code:'####################ALARMANLAGEV1.0####################' 'Copyright: Tobias Hocke || 05.07.2005 - 06.07.2005 ' '#######################################################' $regfile = "m8def.dat" 'ATmega8 $crystal = 10000000 '10 MHz Config Portb = Input 'Keyboard Config Portd = Input 'Sensoren bei Alarm Aktoren Config Lcdpin = Pin , E = Portc.0 , E2 = Portc.1 , Rs = Portc.2 , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portc.6 Config Lcd = 16 * 2 Config Kbd = Portb Declare Sub Pause(byval D As Word) Declare Sub Tastatur() Declare Sub Funktion_taste() Dim Akttaste As Word Dim ___lcdno As Bit Dim B As Byte Deflcdchar 0 , 4 , 14 , 14 , 14 , 14 , 14 , 31 , 4 Deflcdchar 1 , 32 , 32 , 1 , 2 , 20 , 8 , 32 , 32 Deflcdchar 2 , 32 , 17 , 27 , 14 , 14 , 27 , 17 , 32 Deflcdchar 3 , 4 , 14 , 31 , 14 , 4 , 12 , 4 , 28 'Hauptprogramm Do B = Getkbd() Print B Call Tastatur() Call Funktion_taste() Lcd Akttaste Lcd 0 Lcd 1 Lcd 2 Lcd 3 Lcd B Lcd "geht" Call Pause(10) Loop 'Prozeduren Sub Pause(byval D As Word) Dim I As Word For I = 0 To D nop Next I End Sub
Hallo, Ich hatte mal in Bascom eine 3x4 matrix ansteuerung selbst geschrieben, ich kann mal schauen, wo ich den code hin habe aber im prinzip ging es so:
x1-4 ->Portb (output)
y1-4 ->portd (input)
(du kannst die ports natürlich auch anders belegen zb portb0-3 in und portb4-7 output - whatever)
die input ports ziehst du mit 10k gegen masse
dann setzt du alle ausgänge auf high und fragst die eingangsports regelmäßig auf high status ab. ist einer der vier eingänge high dann springst du in eine keyboard-sub wo du folgendes machst:
x1 high x2,x3,x4 auf low
wenn y1=1 dann button=1
wenn y1=2 dann button=4
wenn y1=3 dann button=7
wenn y1=4 dann button=*
danach X2 high alle andern low
wenn y1=1 dann button=2
wenn y1=2 dann button=5
wenn y1=3 dann button=8
wenn y1=4 dann button=0
und so weiter.
am ende wartest du noch bis die taste losgelassen wird, so daß du nicht immer fortlaufend die zahlen bekommst...
Falls Bascom sowas schon haben sollte, dann kannst du das natürlich vergessen!
ja sowas hab ich auch geschrieben if.....
aber das geht mit Bascom auch ohne soo verschachtlungen...
aber wie man dann den Satus ausliest keine Ahnung!
vorher alias festlegen
y1 alias pind.0
und dann if y1=1 or y2=1 or y3=1 or y4=1 then gosub keyboardread
und ich bin leider [nicht sehr erfahrenb und progremmiere erst seit einer Woche BASCOM]
Wo legt man diesen Alias fest?
MMHH. also im deklarationsteil, wo du auch deine variablen festlegst...
der genaue syntax ist auch in der hilfe von Bascom nochmal näher erläutert
leider nur in englisch. gibts des net au in deutsch???
Lesezeichen