NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4055 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 6 از 6

موضوع: کمک برای نوشتن رمز دیجیتال

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2011
    نوشته ها
    23
    تشکر
    9
    تشکر شده 6 بار در 5 پست

    پیش فرض کمک برای نوشتن رمز دیجیتال

    سلام دوستان من قصد داشتم یه قفل دیجیتال واسه در درست کنم ولی به مشکل برخوردم میخواستم برنامه ایی بنویسم که تا 6 رقم رمز بگیره و وقتی اولین بار اجرا میشه آماده دریافت رمز باشه و با زدن کلید مربع به منزله تایید رمز رمز رو در حافظه پاک نشدنی بریزه و سپس آماده دریافترمز ست شده باشه و با زدن رمز و زدن مبع در رو باز کنه من این برنامه رو نوشتتم نمیدونم مشکلش چیه که کار نمیکنه لطفا راهنماییم کنید
    کد:
    '$sim
    $regfile = "m8def.dat"
    $crystal = 4000000
    Config Portb = Output
    Config Kbd = Portd , Debounce = 100 , Delay = 5
    '===============================================================================
    Dim A As Byte , B As Byte , C As Dword , D As Byte , R As Byte , Z As Byte , Q As Byte , F As Long , _
     G As Dword , E As Byte , K As Dword , N As Byte , X As Byte , P As Word , _
      L As Byte
    
      Readeeprom Q , 2
      Readeeprom K , 1
    
    C = 0
    E = 0
    X = 0
    N = 0
    
    Main:
    
    If Q <> 2 Then Goto Firest
    
    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
    
    Incr X
    C = C * 10
    C = C + B
    
    Sound Portb.3 , 100 , 25
    
      If X > 6 Then Goto Wrong
    
    Goto Main
    
    
    '===============================================================================
    Case 23:
    
    If C = K Then Goto Ok
    
    If X < 6 Then Goto Wrong
    
    If C <> K Then Goto Wrong
    
    Goto Main
    
    '===============================================================================
    
    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
     Waitms 20
    Goto Main
    '=======================================================
    Firest:
    
    Set Portb.3
    
    Z = Getkbd()
    If Z = 16 Then Goto Firest
    Check:
    R = Getkbd()
    If R <> 16 Then Goto Check
    F = Lookup(z , Keydata)
    Select Case F
    '===============================================================================
    Case 0 To 9:
    
    Incr E
    G = G * 10
    G = G + F
    
      If E > 6 Then Goto Wrong
    
       K = G
    
    Writeeeprom K , 1
    Waitms 20
    Readeeprom K , 1
    
    Goto Main
    
    
    Case 23:
    
    If E < 6 Then
    Goto Wrong
    
    If E > 6 Then
     Goto Wrong
     Q = 2
    Writeeeprom Q , 2
    Waitms 20
    Readeeprom Q , 2
    
    Goto Main
    
    End If
    End If
    End Select
    End
    Goto Main
    '===============================================================================
    Keydata:
    Data , 7 , 8 , 9 , 20 , 4 , 5 , 6 , 21 , 1 , 2 , 3 , 22 , 23 , 0 , 24 , 25

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2011
    نوشته ها
    23
    تشکر
    9
    تشکر شده 6 بار در 5 پست

    پیش فرض

    در ضمن میخواستم بدونم چطور میشه یه برنامه رو خط به خط در پرتئوس اجرا کرد چراکه اگر بشه این کار رو کرد من تا حدودی میتونم مشکلم رو حل کنم و ببینم ایراد کارم از کجاست

  4. #3
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    در مورد پست اول با بسکام کار نمی کنم که راهنماییتون کنم دوستان بسکام کار حرفه ای هستند تو سایت و اما در مورد پست دوم
    شما به جای اینکه دکمه start را در نرم افزار مذکور بزنید دکمه کناری اوون یعنی step را بزنید و در ضمن فایل cof و یا obj را در ای سی قرار بدهید و برای اجرای هر خط دکمه step را بزنید
    موفق باشید
    ویرایش توسط Ma3ood : 22-03-2013 در ساعت 01:27

  5. تشکرها از این نوشته :


  6. #4
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2011
    نوشته ها
    23
    تشکر
    9
    تشکر شده 6 بار در 5 پست

    پیش فرض

    من برنامه و به این چیزی که در زیر میبینید رسوندم ولی متاسفانه با این که تو محیط شبیه سازی کار میکنه تو عمل درست کار نمیکنه لطفا راهنماییم کنید
    کد:
    '$sim
    $regfile = "m8def.dat"
    $crystal = 4000000
    Config Portb = Output
    Config Portc = Input
    Config Kbd = Portd , Debounce = 100 , Delay = 5
    '===============================================================================
    Dim A As Byte , B As Byte , C As Dword , D As Byte , R As Byte , Z As Byte , Q As Byte , F As Byte , _
     G As Dword , E As Byte , K As Dword , X As Byte , L As Dword,
    
    
    Readeeprom K , 1
    
    C = 0
    G = 0
    X = 0
    E = 0
    
    
    Main:
    
    
    Reset Portb.7
    Set Portb.6
    
    A = Getkbd()
    If Pinc.0 = 1 Then Goto Firest
    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:
    
    
    Incr X
    C = C * 10
    C = C + B
    
    Sound Portb.3 , 100 , 25
    
    
    
    
    Goto Main
    
    
    '===============================================================================
    Case 23:
     Readeeprom K , 1
    
      L = K
    If C = L Then Goto Ok
    
    If X < 6 Then Goto Wrong
    
    If C <> L Then Goto Wrong
    
    Goto Main
    
    '===============================================================================
    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
    E = 0
    L = 0
    K = 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
    G = 0
    X = 0
    E = 0
    L = 0
    K = 0
    
    Goto Main
    '=======================================================
    Firest:
    Reset Portb.6
    Set Portb.7
    
    Z = Getkbd()
    If Z = 16 Then Goto Firest
    Check:
    R = Getkbd()
    If R <> 16 Then Goto Check
    F = Lookup(z , Keydata)
    Select Case F
    '===============================================================================
    Case 0 To 9:
    
    Incr E
    G = G * 10
    G = G + F
    
    Sound Portb.3 , 100 , 30
    If E > 6 Then
    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
    
     E = 0
     G = 0
     End If
       Goto Firest
    
    
     Goto Firest
    
    Case 23:
    
    If E < 6 Then
    
     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
    
     E = 0
     G = 0
    
    
    
    
    Goto Firest
      If E > 6 Then
    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
    
     E = 0
     G = 0
       Goto Firest
    
    If E = 6 Then
     K = G
    Sound Portb.3 , 100 , 20
    Sound Portb.3 , 100 , 40
    Sound Portb.3 , 100 , 60
    Writeeeprom K , 1
      Readeeprom K , 1
      Reset Portb.7
    Goto Main
    End If
    End If
    End If
    End Select
    
     '========================================================================
    
    '===============================================================================
    Keydata:
    Data , 7 , 8 , 9 , 20 , 4 , 5 , 6 , 21 , 1 , 2 , 3 , 22 , 23 , 0 , 24 , 25

  7. #5
    کاربر علاقه مند esmaeil57 آواتار ها
    تاریخ عضویت
    Nov 2008
    نوشته ها
    66
    تشکر
    46
    تشکر شده 14 بار در 7 پست

    پیش فرض

    سلام دوست گرامی

    برنامه قفل رمز هر طوری که بنویسید باید قابلیت تغییر رمز رو داشته باشه. یه برنامه ساده و در عین حال عملی و مناسب رو در وبلاگم گذاشتم میتونید به آدرس زیر مراجعه کنید:
    www.esmaeil-avr.Mihanblog.com
    ویرایش توسط esmaeil57 : 27-03-2013 در ساعت 16:41

  8. #6
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    اگه توی محیط شبیه سازی کار میکنه مشکل از بستن سخت افزاریتونه وگرنه خطای شبیه سازی بسیار کمه
    و شما باید دنبال دلیل برای رفع اون باشید.
    مشکلاتی که در عمل دارید را بنویسید

موضوعات مشابه

  1. مشکل در آنالوگ به دیجیتال (adc)
    توسط mzarkoob در انجمن LPC series (NXP)
    پاسخ: 16
    آخرين نوشته: 22-01-2014, 00:52
  2. کمک در مورد تبدیل آنالوگ به دیجیتال
    توسط vackiom در انجمن الکترونیک
    پاسخ: 5
    آخرين نوشته: 23-05-2013, 20:19
  3. انتقال دیتا ازمیکرو بهpcبا اترنت
    توسط ali asghar در انجمن مخابرات
    پاسخ: 3
    آخرين نوشته: 22-04-2013, 12:22
  4. پاسخ: 14
    آخرين نوشته: 20-02-2011, 01:44
  5. قفل رمز دیجیتالی
    توسط sam166 در انجمن AVR
    پاسخ: 14
    آخرين نوشته: 21-08-2010, 11:26

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •