Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

ATmega32 in tipke povezane v matriko 11*4(zgled)

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Samogradnje
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
gregor001
Mojster


Pridružen/-a: Pet Okt 2006 7:08
Prispevkov: 43

PrispevekObjavljeno: Pon Mar 05, 2007 10:45 pm    Naslov sporočila: ATmega32 in tipke povezane v matriko 11*4(zgled) Odgovori s citatom

zdravo
a bi kdo mogoče na pamet vedu, kaj bi lahko bilo narobe v tem programu?
tipke se kar same pritiskajo ... mah, debounce če povečam na ful npr 35ms je pol okej, se ne pritiskajo same, sam pol trajajo zakasnitve po par sekund. jst, newem too.... to neb smel bit tko počas. kvar mam taprau. hmm
je kdo naletel na podoben problem?
--------------------------------------------------------------
$regfile = "m32def.dat"

$crystal = 11059200

Ddra = &B11111111 'postavitev smernega registra za port A
'Ddrb = &B01010001 'postavitev smernega registra za port B
Ddrc = &B11000000 'postavitev smernega registra za port C
Ddrd = &B00000000 'postavitev smernega registra za port D

'UPORABA PINOV:
'Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6
'a0-3 so uporabljeni pri matrični tipkovnici
'd0=RXD
'd1=TXD
'd2-7 tipkovnica (11)
'c0-4 tipkovnica (11)
'****************************************************************************************************


Config Scl = Porta.0 'PORTB.7 is the SDA line
Config Sda = Porta.1 'PORTB.7 is the SDA line

'$sim 'pri simulaciji ta ukaz pohitri wait ukaze
'-/++++++++++++++++++++++++++++++++++++/-
' / PROGRAM: Neimenovan
' / REV: 1.01
' / AUTHOR: Glab()
' / DATE: nov 2006
' /
'-/++++++++++++++++++++++++++++++++++++/-

'Lcd Chr(7) ... Š
'Lcd Chr(5) ... Č
'Lcd Chr(6) ... Ž
'Lcd Chr(4) ...
'Lcd Chr(3) ...
'Lcd Chr(2) ...


Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6
Config Lcd = 16 * 2

Vrstica1 Alias Porta.0
Vrstica2 Alias Porta.1
Vrstica3 Alias Porta.2
Vrstica4 Alias Porta.3


'vhodi na katerih preverjamo 0
Stolpec1 Alias Pind.2
Stolpec2 Alias Pind.3
Stolpec3 Alias Pind.4
Stolpec4 Alias Pind.5
Stolpec5 Alias Pind.6
Stolpec6 Alias Pind.7
Stolpec7 Alias Pinc.0
Stolpec8 Alias Pinc.1
Stolpec9 Alias Pinc.2
Stolpec10 Alias Pinc.3
Stolpec11 Alias Pinc.4


Config Debounce = 25

Dim I As Integer
I = 0

Lcd "Glab TEST"
Lowerline
Lcd "V1.0"

Waitms 250
For I = 0 To 17 Step 1
Shiftlcd Right
Waitms 10
Next I
Cls


Lcd "Vrsta 1=1"
Vrstica1 = 1
Vrstica2 = 1
Vrstica3 = 0
Vrstica4 = 0

'//////////////////////////////////////////////////////////////////////////////////////////////////////

Getch:
Do
Vrstica1 = 0
Vrstica2 = 1
Vrstica3 = 1
Vrstica4 = 1

Debounce Stolpec1 , 0 , Tipka_q , Sub
Debounce Stolpec2 , 0 , Tipka_w , Sub
Debounce Stolpec3 , 0 , Tipka_e , Sub
Debounce Stolpec4 , 0 , Tipka_r , Sub
Debounce Stolpec5 , 0 , Tipka_t , Sub
Debounce Stolpec6 , 0 , Tipka_z , Sub
Debounce Stolpec7 , 0 , Tipka_u , Sub
Debounce Stolpec8 , 0 , Tipka_i , Sub
Debounce Stolpec9 , 0 , Tipka_o , Sub
Debounce Stolpec10 , 0 , Tipka_p , Sub
Debounce Stolpec11 , 0 , Tipka_sh , Sub
Waitms 30
Vrstica1 = 1
Vrstica2 = 0
Vrstica3 = 1
Vrstica4 = 1

Debounce Stolpec1 , 0 , Tipka_a , Sub
Debounce Stolpec2 , 0 , Tipka_s , Sub
Debounce Stolpec3 , 0 , Tipka_d , Sub
Debounce Stolpec4 , 0 , Tipka_f , Sub
Debounce Stolpec5 , 0 , Tipka_g , Sub
Debounce Stolpec6 , 0 , Tipka_h , Sub
Debounce Stolpec7 , 0 , Tipka_j , Sub
Debounce Stolpec8 , 0 , Tipka_k , Sub
Debounce Stolpec9 , 0 , Tipka_l , Sub
Debounce Stolpec10 , 0 , Tipka_č , Sub
Debounce Stolpec11 , 0 , Tipka_ž , Sub
Waitms 30

Vrstica1 = 1
Vrstica2 = 1
Vrstica3 = 0
Vrstica4 = 1

Debounce Stolpec1 , 0 , Tipka_clear_my_word , Sub
Debounce Stolpec2 , 0 , Tipka_y , Sub
Debounce Stolpec3 , 0 , Tipka_x , Sub
Debounce Stolpec4 , 0 , Tipka_c , Sub
Debounce Stolpec5 , 0 , Tipka_v , Sub
Debounce Stolpec6 , 0 , Tipka_b , Sub
Debounce Stolpec7 , 0 , Tipka_n , Sub
Debounce Stolpec8 , 0 , Tipka_m , Sub
Debounce Stolpec9 , 0 , Tipka_levo , Sub
Debounce Stolpec10 , 0 , Tipka_desno , Sub
Debounce Stolpec11 , 0 , Tipka_3rd , Sub
Waitms 30
Vrstica1 = 1
Vrstica2 = 1
Vrstica3 = 1
Vrstica4 = 0

Debounce Stolpec1 , 0 , Tipka_edit , Sub
Debounce Stolpec2 , 0 , Tipka_m1 , Sub
Debounce Stolpec3 , 0 , Tipka_m2 , Sub
Debounce Stolpec4 , 0 , Tipka_m3 , Sub
Debounce Stolpec5 , 0 , Tipka_m4 , Sub
Debounce Stolpec6 , 0 , Tipka_m5 , Sub
Debounce Stolpec7 , 0 , Tipka_m6 , Sub
Debounce Stolpec8 , 0 , Tipka_m7 , Sub
Debounce Stolpec9 , 0 , Tipka_gor , Sub
Debounce Stolpec10 , 0 , Tipka_dol , Sub
Debounce Stolpec11 , 0 , Tipka_enter , Sub

Waitms 30
Loop
Return

'***************************************************************************************************

'//////////////////////////////////////////////////////////////////////////////////////////////////////

'***** TIPKE (keys)****


Tipka_q:
Lcd "q"
Return

Tipka_w:
Lcd "w"
Return


Tipka_e:
Lcd "e"
Return


Tipka_r:
Lcd "r"
Return


Tipka_t:
Lcd "t"
Return


Tipka_z:
Lcd "z"
Return


Tipka_u:
Lcd "u"
Return


Tipka_i:
Lcd "i"
Return


Tipka_o:
Lcd "o"
Return


Tipka_p:
Lcd "p"
Return


Tipka_sh:
Lcd "š"
Return


Tipka_a:
Lcd "a"
Return


Tipka_s:
Lcd "s"
Return


Tipka_d:
Lcd "d"
Return


Tipka_f:
Lcd "f"
Return


Tipka_g:
Lcd "g"
Return


Tipka_h:
Lcd "h"
Return


Tipka_j:
Lcd "j"
Return


Tipka_k:
Lcd "k"
Return


Tipka_l:
Lcd "l"
Return


Tipka_č:
Lcd "č"
Return


Tipka_ž:
Lcd "ć"
Return


Tipka_clear_my_word:
Cls
Return


Tipka_y:
Lcd "y"
Return


Tipka_x:
Lcd "x"
Return


Tipka_c:
Lcd "c"
Return



Tipka_v:
Lcd "v"
Return


Tipka_b:
Lcd "b"
Return


Tipka_n:
Lcd "n"
Return


Tipka_m:
Lcd "m"
Return


Tipka_levo:
Lcd "<"
Return


Tipka_desno:
Lcd ">"
Return


Tipka_3rd:
Lcd "3rd"
Return


Tipka_edit:

Lcd "EDT"
Return


Tipka_m1:
Cls
Lcd "M1"
Return


Tipka_m2:
Cls
Lcd "M2"
Return


Tipka_m3:
Cls
Lcd "M3"
Return


Tipka_m4:
Cls
Lcd "M4"
Return


Tipka_m5:
Cls
Lcd "M5"
Return


Tipka_m6:
Cls
Lcd "M6"
Return


Tipka_m7:
Cls
Lcd "M7"
Return


Tipka_gor:
Cls
Lcd "gor"
Return


Tipka_dol:
Cls
Lcd "dol"
Return


Tipka_enter:
Cls
Lcd "ENTER"
Return
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
igo
Profesionalec


Pridružen/-a: Sre Okt 2006 17:57
Prispevkov: 85
Kraj: Krško

PrispevekObjavljeno: Pon Mar 05, 2007 11:22 pm    Naslov sporočila: Odgovori s citatom

Ali imaš "PULL-UP" Upore na vhodih?

LP,
Igor

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
gepro
Začetnik


Pridružen/-a: Pet Nov 2005 12:04
Prispevkov: 19

PrispevekObjavljeno: Tor Mar 06, 2007 12:29 am    Naslov sporočila: Odgovori s citatom

Koda:
Ddra = &B11111111 'postavitev smernega registra za port A
'Ddrb = &B01010001 'postavitev smernega registra za port B
Ddrc = &B11000000 'postavitev smernega registra za port C
Ddrd = &B00000000 'postavitev smernega registra za port D


a tisti znak pred ddrb mora biti tam?

Pa pulup vklopi: npr portd = &B11111111
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 556
Kraj: Ljubljana

PrispevekObjavljeno: Tor Mar 06, 2007 8:19 am    Naslov sporočila: ATmega32 in tipke povezane v matriko Odgovori s citatom

V primeru da ukaz Waitms traja predolgo, obstaja možnost da tvoj procesor deluje z notranjim oscilatorjem! Preveri Lock bite.
Prav tako vzrok za proženje tipke lahko iščeš v predolgi povezavi med tipkami in procesorjem.
Priporočam vgradnjo zunanjih pull up uporov manjše vrednosti (4K7 ali pa celo 1K).
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Samogradnje Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group