اطلاعیه

Collapse
No announcement yet.

چگونه رمز قفل رمزی در eeprom میکروکنترولر ثبت کنم؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    چگونه رمز قفل رمزی در eeprom میکروکنترولر ثبت کنم؟

    با سلام

    من برنامه زیر رو دارم ولی مشکلش اینه که پسورد اول و پسورد دوم را در فلش میکرو ذخیره میکنه
    برای اینکه در EEProm میکرو ذخیره بشه تا با هربار خاموش و روشن کردن دستگاه قفل رمزی آخرین پسورد تغییر یافته ذخیره شده و از بین نرود چه تغییراتی در برنامه زیر بایستی انجام شود.
    اگه ممکنه تغییرات لازمه را اعمال فرمایید ممنون میشم.

    کد:
    $regfile = "M32DEF.DAT"
    $crystal = 8000000
    Config Kbd = Porta
    Config Portb = Output
    Dim B As Byte
    Dim C As Byte
    Dim D As Byte
    Dim E As Byte
    Dim F As Byte
    Dim G As Byte
    Dim H As Byte
    Dim I As Byte
    Dim J As Word
    Dim L As Word
    Dim M As Word
    Dim N As Word
    Dim P As Word
    Dim Q As Word
    Dim R As Word
    Dim S As Word
    Dim K As Byte
    Dim O As Byte
    Dim A As Word
    Dim T As Byte
    Dim X As Word
    Dim Y As Word
    Set Portb.2
    Cursor Off
    Cls
    Lcd "Project Name:"
    Locate 2 , 2
    Lcd "*Digital Luck*"
    Waitms 500
    Cls
    Lcd "Doen by:"
    Locate 2 , 2
    Lcd "M.Jafarzadegan"
    Waitms 500
    Cls
    Lcd "Micro Controler"
    Locate 2 , 4
    Lcd "*Bahman 87*"
    Waitms 500
    L = 1234
    G = 3
    T = 0
    O = 0
    K = 2
    A = 4321
     Maine:
     Cls
     Lcd "inter password"
     Cursor Blink
     Y = L
     Mmain:
     Do
     Waitms 50
         B = Getkbd()
      If B < 12 Then
      Goto Main
      End If
     Loop
     Main:
     Do
     If B = 0 Then
      Reset B
      C = 1
      Goto Main2
     End If
     If B = 4 Then
      Reset B
      C = 2
      Goto Main2
     End If
     If B = 8 Then
      Reset B
      C = 3
      Goto Main2
     End If
     If B = 1 Then
      Reset B
      C = 4
      Goto Main2
     End If
     If B = 5 Then
      Reset B
      C = 5
      Goto Main2
     End If
     If B = 9 Then
      Reset B
      C = 6
      Goto Main2
     End If
     If B = 2 Then
      Reset B
      C = 7
      Goto Main2
     End If
     If B = 6 Then
      Reset B
      C = 8
      Goto Main2
     End If
     If B = 10 Then
      Reset B
      C = 9
      Goto Main2
     End If
     If B = 11 Then
     Reset B
     C = 12
     T = 3
      Goto Main2
     End If
     If B = 7 Then
      Reset B
      C = 0
      Goto Main2
     End If
     If B = 3 Then
      Reset B
      C = 11
      O = 3
      Goto Main2
     End If
     Loop
     Main2:
     If C = 11 Then
      Goto Main7
     End If
     If C = 12 Then
     Goto Main13
     End If
     If G = 3 Then
     Locate 2 , 1
     Lcd "*"
     E = C
     Decr G
     Goto Mmain
     End If
     If G = 2 Then
     Locate 2 , 2
     Lcd "*"
     F = C
     Decr G
     Goto Mmain
     End If
     If G = 1 Then
     Locate 2 , 3
     Lcd "*"
     H = C
     Decr G
     Goto Mmain
     End If
     If G = 0 Then
     Locate 2 , 4
     Lcd "*"
     I = C
     G = 3
     End If
     Main3:
     M = H * 10
     N = F * 100
     P = E * 1000
     Q = M + I
     R = N + Q
     S = P + R
     Goto Main7
     Main8:
     Do
     If L = A And T = 2 Then
     Goto Main13
     End If
     If L <> S And T = 1 Then
     Goto Main13
     End If
      If L = S Then
      Reset Portb.1
      Goto Main4
     End If
     If L <> S Then
      Set Portb.1
     End If
      Goto Main5
     Loop
     Main4:
     Cls
     Lcd "ok"
     Set Portb.0
     Waitms 100
     Reset Portb.0
     K = 2
     L = Y
     Goto Maine
     Main5:
     Do
     If K = 0 Then
      Goto Main6
     Else
      Cls
      Lcd "your try"
      Locate 1 , 10
      Lcd K
      Locate 2 , 9
      Lcd "!alarm!"
      Decr K
      Goto Mmain
     End If
     Loop
     Main6:
     Cls
     Lcd "int master pass"
     Reset L
     L = A
     K = 0
     Goto Mmain
     Main7:
     Do
     Main11:
      If O = 3 Then
      L = A
      Cls
      Lcd "int master pass"
      Decr O
      Goto Mmain
      End If
      If O = 2 And L = S Then
      Decr O
      Cls
      Lcd "int new password"
      Goto Mmain
      End If
      If O = 1 Then
      L = S
      Cls
      Lcd L
      Waitms 100
      Cls
      Decr O
      Goto Maine
      End If
      If O = 0 Then
      Goto Main8
      End If
      If O = 2 And L <> S Then
      Cls
      Lcd "eror"
      O = 3
      Waitms 100
      Goto Main11
      End If
     Loop
     Main13:
     Do
     Main14:
      If T = 3 Then
      X = L
      L = A
      Cls
      Lcd "int master pass"
      Decr T
      Goto Mmain
      End If
      If T = 2 And A = S Then
      Decr T
      Cls
      Lcd "new master pass"
      Goto Mmain
      End If
      If T = 1 Then
      A = S
      L = X
      Cls
      Lcd A
      Waitms 100
      Cls
      Decr T
      Goto Maine
      End If
      If T = 0 Then
      Goto Main8
      End If
      If T = 2 And A <> S Then
      Cls
      Lcd "eror"
      T = 3
      Waitms 100
      Goto Main14
      End If
     Loop
    End                            'end program

    #2
    پاسخ : چگونه رمز قفل رمزی در eeprom میکروکنترولر ثبت کنم؟

    1) این هم فایل پروتئوس برنامه گفته شده هستش::
    http://www.4shared.com/get/87855560/4443f0c/AVR-Luck.html

    2) در ضمن من اگر برنامه ای در EEPROM میکرو پروگرم کنم چطور میتونم پاکش کنم (شنیدم بایستی با ماورابنفش اینکار انجام بشه راسته؟؟)

    دیدگاه


      #3
      پاسخ : چگونه رمز قفل رمزی در eeprom میکروکنترولر ثبت کنم؟

      dim omid as eram byte

      omid=223
      waitms 4


      به همین سادگی یه متغیر بایت تو eerom ذخیره میشه
      نکتش تو اون وقفه 4 میلی ثانیس
      علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

      دیدگاه


        #4
        پاسخ : چگونه رمز قفل رمزی در eeprom میکروکنترولر ثبت کنم؟

        کی گفته باید با ماورای بنفش پاکش کنید. اون آی سی هاییکه با مورای بنفش پاک میشن eprom هستن نه eeprom. eeprom داخل میکرو هست و شما هر جای برنامه که بخواید می تونید توش بنویسید یا ازش بخونید و یا حتی پاکش کنید.
        خدايا
        من در كلبه ي فقيرانه ي خود چيزي دارم كه تو در عرش كبريايي خود نداري
        من چون تويي دارم و تو چون خودي نداري
        امام سجاد (ع)

        دیدگاه


          #5
          پاسخ : چگونه رمز قفل رمزی در eeprom میکروکنترولر ثبت کنم؟

          سلام
          eeprom ها قابل نوشتن و خواندن هستند.
          writeeeprom value,address
          با این دستور شما می توانید روی آدرس مشخص شده مقدار متغیر(Value) را بریزید چون حافظه های Eerpom میکرو 8 بیتی است اگر متغیر 8 بیتی باشد یک خانه ی حافظه را پر می کند و اگر 16 بیتی باشد 2 تا خانه ی حافظه را پر می کند.گ
          readeeprom value,address'
          با این دستور می توان از آدرس حافظه eeprom خواند و در داخل متغیر قرار داد. اگر متغیر 8 بیتی باشد یک خانه از حافظه را می خواند و اگر 16 بیتی باشد دو خانه از حافظه را می خواند.

          حافظهeeprom یک حافظه دائمی است یعنی با قطع برق اطلاعات آن از بین نمی رود. در حالت عادی تمام خانه های حافظه با مقدار FFh پر شده اند پس برای پاک کردن خانه های حافظه کافی است مقدار ff را در داخل حافظه بریزیم.

          دیدگاه

          لطفا صبر کنید...
          X