۲۲-بهمن-۱۳۹۱, ۱۵:۱۶:۴۲
سلام
در سایت جستجو کردم از دوستان هم کمک گرفتم ولی مشکلم حل نشد به همین خاطر این پست را زدم .
دوستان من یک مدار شامل
1 کیپد 3*4
1 میکروکنترل اتمگا 16
2 ال ئی دی
دارم در میکرو برنامه ای بار گذاری میشود که حاوی یک رمز 5 رقمی است .
در صورتی که کاربر رمز صحیح را بزند چراغ سبز و در صورت درج رمز بصورت اشتباه چراغ قرمز روشن می شود .
من برای این پروسه برنامه ای نوشتم که از نظر منطقی بنظر اشتباه نیست ولی وقتی در شبیه ساز روی مدار بارگیری میشود جواب نمی دهد .
ممنون میشم اگر برنامه را نگاه کنید و ایراداتش را بگید .
متاسفانه در فروم های ایرانی زیاد دیدم که کاربری میاد و یک جمله می گه و فکر می کنه که مشکل دوستش را حل کرده ! واقعا اینطور نیست کسی که میاد مشکلی مطرح می کنه مطمئن باشید خیلی گشته و از این نظرات یک خطی و برنامه های جور وا جور دیده ولی نتیجه نگرفته چون میشه گفت انقدر تسلط روی موضوعی که در فورم مطرح می کند ندارد که با یک سرنخ به مقصد برسد .
ممنون از لطفتون
در سایت جستجو کردم از دوستان هم کمک گرفتم ولی مشکلم حل نشد به همین خاطر این پست را زدم .
دوستان من یک مدار شامل
1 کیپد 3*4
1 میکروکنترل اتمگا 16
2 ال ئی دی
دارم در میکرو برنامه ای بار گذاری میشود که حاوی یک رمز 5 رقمی است .
در صورتی که کاربر رمز صحیح را بزند چراغ سبز و در صورت درج رمز بصورت اشتباه چراغ قرمز روشن می شود .
من برای این پروسه برنامه ای نوشتم که از نظر منطقی بنظر اشتباه نیست ولی وقتی در شبیه ساز روی مدار بارگیری میشود جواب نمی دهد .
ممنون میشم اگر برنامه را نگاه کنید و ایراداتش را بگید .
متاسفانه در فروم های ایرانی زیاد دیدم که کاربری میاد و یک جمله می گه و فکر می کنه که مشکل دوستش را حل کرده ! واقعا اینطور نیست کسی که میاد مشکلی مطرح می کنه مطمئن باشید خیلی گشته و از این نظرات یک خطی و برنامه های جور وا جور دیده ولی نتیجه نگرفته چون میشه گفت انقدر تسلط روی موضوعی که در فورم مطرح می کند ندارد که با یک سرنخ به مقصد برسد .
ممنون از لطفتون
کد:
$regfile = "m16def.dat"
$crystal = 8000000
Config Kbd = Portb
'Porta.0 cheragh ghermez (Khata)
Config Porta.0 = Output
'Porta.1 cheragh sabz (Sahih)
Config Porta.1 = Output
'LED TEST
Set Porta.0
Set Porta.1
Waitms 50
'khamosh kardan LED ha
Reset Porta.0
Reset Porta.1
'Moteghaieri ke vorodi ha ra az keypad migirad
Dim Key As Byte
'Password delkhahi ke bar gozari mikonim
Dim Pass(5) As Byte
'Moteghaieri ke meghdarash ra az jadval estekhraj mikonim
Dim Number As Byte
'Input Password
Dim I_pass(5)as Byte
'shomarandeh
Dim C As Byte
'Password = 12345
For C = 0 To 4
Pass(c) = C + 1
Next C
C = 0
Do
Key = Getkbd()
Number = Lookup(key , Keypad_table)
Select Case Number
Case 0 To 9 :
I_pass(c) = Number
Incr C
Case 10:
C = 0
Reset Porta.0
Reset Porta.1
Case 20:
If C = 4 Then
For C = 0 To 4
If I_pass(c) <> Pass(c) Then
Set Porta.0
C = 0
Exit For
'agar halghe ta akharin dor iani c=4 shekaste
'nashod iani tamame char ha ba ham barabarand
Elseif C = 4 Then
C = 0
Set Porta.1
End If
Next C
Else
Set Porta.0
C = 0
End If
End Select
Loop
End 'end program
'10 reset
'20 Enter
'12 zamani ast ke kelidi zade nashodeh
'Keypad Table
Keypad_table:
Data 1 , 2 , 3
Data 4 , 5 , 6
Data 7 , 8 , 9
Data 10 , 0 , 20 , 12