Hallo!
Hardware-Beispiel: http://extremeelectronics.co.in/avr-...-avr-tutorial/ . ASM sollte mit vorhandener "Cäh" Code simpel sein.
Hallo,
Mikrocontroller at89c5131
ich muss für die Schule ein Codeschloss programmieren.
Und es geht wirklich fast alles, bis auf die Einlesung meiner MatrixTastatur, bitte bitte helft mir.
http://www.mikrocontroller.net/topic/336187#3697671
Da steht schon was darüber.
Wie muss ich es anschließen und wie schreibe ich den Code damit es geht?
Oder kann mir jemand seine Email geben der sich damit auskennt, dann würde ich meinen ganzen COde senden?
Beste grüße
Geändert von julian_92 (21.06.2014 um 00:43 Uhr)
Hallo!
Hardware-Beispiel: http://extremeelectronics.co.in/avr-...-avr-tutorial/ . ASM sollte mit vorhandener "Cäh" Code simpel sein.
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Hier mein Programm zur Einlesung:
; scan key matrix 3 * 4
; p2.3 .. p2.0 = row 3 .. 0
; p2.6 .. p2.4 = column 2 .. 0
; output: A = key code: key pressed, A = 0: no key pressed
keyscan:
mov r7, #12 ; 1. key number
mov a, #0FEh ; prepare 1. row = low
_keysc1:
mov p2, a ; set p2 with selected row, columns with pullups
rl a ; prepare next row = low
jnb p2.4, _keysc2 ; check column 0
dec r7 ; count down key number
jnb p2.5, _keysc2 ; check column 1
dec r7
jnb p2.6, _keysc2 ; check column 2
djnz r7, _keysc1 ; next row
clr a
ret ; A = 0: no key found
_keysc2:
mov a, r7
movc a, @a+pc ; convert 1 .. 12 to key code
ret
db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ; key code LUT
Jedoch spinnt jetzt das Display total?
Kann mir jemand helfen?
Um ASCII Zeichen angezeigt zu bekommen mache ich einfach das:
db '1', '2', '3', '4', '5', '6'
db '7', '8', '9', 'A', 'B', 'C' ; key code LUT
aber die LCD spinnt grade und macht Hieroglyphen, HILFE
gruß
- - - Aktualisiert - - -
Ich habe wirklich schon sehr viel Code der funktioniert.
Das einzige was noch fehlt ist das mit der Tastatur.
Das gepostete Programm ging am Anfang, als ich es dann jedoch in ASCII ausgeben wollte fing auf einmal an die LCD komische Sachen auszuspucken und jetzt reagiert sie nicht mehr und sendet keine Nullen mehr wie am Anfang.
Also so komische Hieroglyphen nur noch.
Kann mir jemand bitte bitte ein kleines Programm schreiben wo ich eine Taste drücke und diese dann in einer Variablen, zB in 30h gespeichert wird und dann ausgibt an die LCD, BITTE.
Falls es möglich wäre mit Kommentaren
Gruß
Arbeite auch am Keyprojekt, aber in Arduino-C geschrieben...mit asm möchte ich nicht wieder befassen "müssen".
Aber vielleicht hilft es bei den Gedankengängen zur Realisierung. HIER der Code, nur für 4x4 Tasten
Gerhard
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Lesezeichen