با سلام خدمت دوستان گرامی
من کیبورد 4*4 رو به میکرو m32 وصل کردم، و با مقومت 470 اهم و بدون مقاومت توی پروتئوس امتحانش کردم. مشکلی که داره اینه که هر ردیف فقط یک عدد رو توی lcd نشون می ده.
یعنی ردیف اول فقط 1 و ردیف دوم فقط 5 و ردیف سوم فقط 9 رو نشون می دن.
لطفا راهنمایی ام کنید.
اینم برنامه اش:
من کیبورد 4*4 رو به میکرو m32 وصل کردم، و با مقومت 470 اهم و بدون مقاومت توی پروتئوس امتحانش کردم. مشکلی که داره اینه که هر ردیف فقط یک عدد رو توی lcd نشون می ده.
یعنی ردیف اول فقط 1 و ردیف دوم فقط 5 و ردیف سوم فقط 9 رو نشون می دن.
لطفا راهنمایی ام کنید.
اینم برنامه اش:
$regfile = "m32def.dat"
$crystal = 10000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.6 , Rs = Porta.7
Config Portd = Input
Config Porta = Output
Config Kbd = Portd , Debounce = 100 , Delay = 10
Dim A As Byte
Dim B As Byte
Cls
Main:
Do
A = Getkbd()
B = Lookup(a , Keydata)
If A > 15 Then
Goto Main
Else
Cls
Lcd B
End If
Loop
End
Keydata:
Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , 10 , 11 , 12 , 13 , 14 , 15
$crystal = 10000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.3 , Db7 = Porta.2 , E = Porta.6 , Rs = Porta.7
Config Portd = Input
Config Porta = Output
Config Kbd = Portd , Debounce = 100 , Delay = 10
Dim A As Byte
Dim B As Byte
Cls
Main:
Do
A = Getkbd()
B = Lookup(a , Keydata)
If A > 15 Then
Goto Main
Else
Cls
Lcd B
End If
Loop
End
Keydata:
Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , 10 , 11 , 12 , 13 , 14 , 15
دیدگاه