سلام من برنامه ی زیر رو با mega8 انجام میدم مثل ساعت سوییسی کار می کنه اما با mega32 چینی میزنه!!!! :NO:
احتمال میدم از فرکانس باشه نظر شما؟؟؟؟؟
البته اینم بگم هر ردیف رو فقط یه عدد میخونه!!!!
اینم شماتیک:
http://www.4shared.com/file/257528573/486e57d6/keypad.html
احتمال میدم از فرکانس باشه نظر شما؟؟؟؟؟
$regfile = "m32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , _
Db7 = Portb.7 , Rs = Portb.2 , E = Portb.3
Config Portb = Output
Config Porta = Input
Config Kbd = Porta , Debounce = 50 , Delay = 10
Dim A As Byte
Do
A = Getkbd()
Waitms 10
A = Lookup(a , Mb)
If A < 16 Then
Select Case A
Case 0 To 9:
Cls
Lcd A
Case 10:
Cls
Deflcdchar 0 , 32 , 4 , 32 , 31 , 32 , 4 , 32 , 32 ' replace ? with number (0-7)
Locate 1 , 1
Lcd Chr(0)
Case 11:
Cls
Deflcdchar 1 , 17 , 10 , 4 , 10 , 17 , 32 , 32 , 32 ' replace ? with number (0-7)
Home
Lcd Chr(1)
Case 12:
Cls
Lcd "_"
Case 13:
Cls
Lcd ""
Case 14:
Cls
Lcd "="
Case 15:
Cls
Lcd "+"
End Select
End If
A = 0
Loop
End
Mb:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , _
Db7 = Portb.7 , Rs = Portb.2 , E = Portb.3
Config Portb = Output
Config Porta = Input
Config Kbd = Porta , Debounce = 50 , Delay = 10
Dim A As Byte
Do
A = Getkbd()
Waitms 10
A = Lookup(a , Mb)
If A < 16 Then
Select Case A
Case 0 To 9:
Cls
Lcd A
Case 10:
Cls
Deflcdchar 0 , 32 , 4 , 32 , 31 , 32 , 4 , 32 , 32 ' replace ? with number (0-7)
Locate 1 , 1
Lcd Chr(0)
Case 11:
Cls
Deflcdchar 1 , 17 , 10 , 4 , 10 , 17 , 32 , 32 , 32 ' replace ? with number (0-7)
Home
Lcd Chr(1)
Case 12:
Cls
Lcd "_"
Case 13:
Cls
Lcd ""
Case 14:
Cls
Lcd "="
Case 15:
Cls
Lcd "+"
End Select
End If
A = 0
Loop
End
Mb:
Data 7 , 8 , 9 , 10 , 4 , 5 , 6 , 11 , 1 , 2 , 3 , 12 , 13 , 0 , 14 , 15
البته اینم بگم هر ردیف رو فقط یه عدد میخونه!!!!
اینم شماتیک:
http://www.4shared.com/file/257528573/486e57d6/keypad.html
دیدگاه