سلام دوستان من بعد از مدتها الآن که تو سربازیم قصد نوشتن برنامه قفل دیجیتال رو دارم که با دیدن و استفاده کردن از پروژه های دوستان و درس گرفتن از اونها و جاهایی هم کپی گرفت از اونها تا یه جاهایی پیش رفتم لطفا راهنماییم کنید من میخوام یه قفل رمز دار بنویسم که بعد از وصل شدن برق یک کلید داشته باشه که با زدن اون آماده دریافت رمز بشه و بعد از وارد کردن رمز و فشردن کلید مربع رمز جدید ست بشه و با قطع برق از بین نره و هر زمان که کلید ذکر شده رو فشار بدیم وارد قسمت ست کردن رمز جدید بشه
در زمانی هم که میخوای رمز جدید رو وارد کنیم با زدن کلید مربع تاییدش کنیم که رمز رو وارد کردیم اگر درست بود باز بشه در غیر این سورت پیام خطا بده البته از طریق بازر
حالا من برنامم رو اینجا قرار میدم لطفا راهنماییم کنید تا کاملش کنم با تشکر
در زمانی هم که میخوای رمز جدید رو وارد کنیم با زدن کلید مربع تاییدش کنیم که رمز رو وارد کردیم اگر درست بود باز بشه در غیر این سورت پیام خطا بده البته از طریق بازر
حالا من برنامم رو اینجا قرار میدم لطفا راهنماییم کنید تا کاملش کنم با تشکر
کد:
'$sim $regfile = "m8def.dat" $crystal = 4000000 Config Portb = Output Config Pinb.0 = Input Config Kbd = Portd , Debounce = 100 , Delay = 5 '=============================================================================== Dim A As Byte , B As Byte , C As Long , D As Byte , Z As Byte , Q As Byte , F As Long , _ G As Long , E As Byte , K As Word , N As Byte , X As Byte , P As Word , _ L As Byte Readeeprom K , 1 C = 0 E = 0 X = 0 N = 0 Main: A = Getkbd() If A = 16 Then Goto Main Ese: D = Getkbd() If D <> 16 Then Goto Ese B = Lookup(a , Keydata) Select Case B '=============================================================================== Case 0 To 9: Readeeprom K , 1 Waitms 50 Incr X C = C * 10 C = C + B Sound Portb.3 , 100 , 25 If X > 5 Then Goto Wrong If X = 5 Then Goto Main Goto Main '=============================================================================== Case 23: If X < 6 Then Goto Wrong Else If K = C Then Goto Ok Else If K <> C Then Goto Wrong Else Goto Main End If End If End If '=============================================================================== End Select End '=============================================================================== Ok: Sound Portb.3 , 100 , 20 Sound Portb.3 , 100 , 40 Sound Portb.3 , 100 , 60 Sound Portb.3 , 100 , 85 Sound Portb.3 , 100 , 100 Sound Portb.3 , 100 , 125 Sound Portb.3 , 100 , 150 Sound Portb.3 , 100 , 180 Sound Portb.3 , 100 , 200 Set Portb.4 Waitms 500 Reset Portb.4 C = 0 G = 0 X = 0 Goto Main '=============================================================================== Wrong: Sound Portb.3 , 200 , 20 Sound Portb.3 , 200 , 40 Sound Portb.3 , 200 , 20 Sound Portb.3 , 200 , 40 Sound Portb.3 , 200 , 20 C = 0 X = 0 Goto Main '=============================================================================== Keydata: Data , 7 , 8 , 9 , 20 , 4 , 5 , 6 , 21 , 1 , 2 , 3 , 22 , 23 , 0 , 24 , 25
دیدگاه