|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
gregor001 Mojster
Pridružen/-a: Pet Okt 2006 7:08 Prispevkov: 43
|
Objavljeno: Pon Mar 05, 2007 10:45 pm Naslov sporočila: ATmega32 in tipke povezane v matriko 11*4(zgled) |
|
|
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 |
|
|
igo Profesionalec
Pridružen/-a: Sre Okt 2006 17:57 Prispevkov: 85 Kraj: Krško
|
Objavljeno: Pon Mar 05, 2007 11:22 pm Naslov sporočila: |
|
|
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 |
|
|
gepro Začetnik
Pridružen/-a: Pet Nov 2005 12:04 Prispevkov: 19
|
Objavljeno: Tor Mar 06, 2007 12:29 am Naslov sporočila: |
|
|
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 |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Tor Mar 06, 2007 8:19 am Naslov sporočila: ATmega32 in tipke povezane v matriko |
|
|
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 |
|
|
|
|
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
|