اطلاعیه

Collapse
No announcement yet.

کمک در RFID EM-19

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

    کمک در RFID EM-19

    سلام خدمت همه دوستان

    بنده ماژول EM-19 رو از همین فروشگاه خریداری کردم ولی در راه اندازی اون دچار مشکل شدم
    چون نیازی برای نمایش کد تگها ندارم احتیاجی به ال سی دی نیست

    در اصل میخوام به کمک ماژول یک تگ رو ذخیره کنم و وقتی تگ به ماژول نزدیک کردم رله رو فعال کنه و تا وقتی که تگ دور نشده رله فعال بمونه
    و در صورت نیاز با یک کلید بتونیم تگ اول رو پاک و تگ جدید رو جایگذین کرد
    نمونه هایی از برنامه های به زبان بسکام رو میزارم تا با کمک شما عزیزان بتونم به نتیجه برسم
    حالا از کجا شروع کنم؟؟؟؟؟


    نوشته اصلی توسط 2alborz نمایش پست ها
    سلام اقا جواد من یکی برای em19درست کردم یک جاهای به مشکل بر خورد کردم می تونید مشکلاتشو برام برطرف کنید

    $regfile = "m8def.dat"
    $crystal = 8000000
    $baud = 9600
    '-------------------------------------------------------------------------------
    Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1
    Config Lcd = 16 * 2
    '-------------------------------------------------------------------------------

    Dim E As Byte , P As Byte
    Dim C(12)as String * 1
    Dim Code As String * 10

    Dim A As String * 10
    Dim K As String * 10
    Dim B As String * 10
    'Dim C As String * 11
    Dim D As String * 10
    Dim N As Word
    Dim H As Byte
    '****************************** '
    Cls
    Cursor Off
    '******************************
    Door_open Alias Pind.2 'Portd.2
    'Config Portd.2 = Output
    Config Pinc.2 = Input
    Config Pinc.3 = Input

    '******************************
    Declare Sub F
    Declare Sub S

    Do

    Cls : Lcd "<<insert Card>>" : Wait 1


    Step1:
    Incr E
    C(e) = Waitkey()
    If E < 12 Then Goto Step1



    For E = 3 To 12
    Incr P
    Mid(code , P , 1) = C(e)
    Next


    E = 0 : P = 0
    'Cls : Lcd Code : Wait 4
    'Goto F
    Gosub F
    Return
    Loop
    '******************************************

    'F:
    Sub F
    'Code = " "

    'Do
    For N = 0 To 512 Step 65
    Cls
    '******************************
    Readeeprom B , N

    '******************************
    If Pinc.2 = 1 Then Goto S 'Gosub S
    '******************************

    If B = Code Then

    Door_open = 1
    Locate 1 , 4
    Lcd "Welcome"
    Locate 2 , 5
    Lcd "Opened"
    Wait 2
    Door_open = 0
    Code = "mk"
    End If
    Next N
    '******************************
    Locate 2 , 4
    Lcd Code
    Waitms 600

    'Loop
    'End
    End Sub
    '*****************************

    S:



    For N = 0 To 512 Step 65
    K = "0000000000"
    Writeeeprom K , N
    Waitms 10
    Next N
    N = 0
    H = 1
    Do



    Cls
    Locate 1 , 4
    Lcd "Save user"
    Locate 2 , 1
    Lcd "(" ; H ; "):" ; Code
    Waitms 600
    If Pinc.2 = 1 Then
    Writeeeprom Code , N
    Code = "Successful"
    Locate 2 , 1
    Lcd "(" ; H ; "):" ; Code
    Waitms 2000

    N = N + 65
    Incr H

    'Code = "next tag"
    Lcd "next tag"
    If H = 4 Then
    Locate 2 , 1
    Lcd "(" ; H ; "):" ; "Memory Full"
    Waitms 3000
    N = 0
    H = 1

    '******************************
    End If
    End If

    '******************************
    If Pinc.3 = 1 Then Goto Step1 '


    Loop

    [B]'IN THE NAME OF ALLAH
    'RFID READER WITH EEPROM MEMORY
    'CODE BY : JAVAD MOOSAVI
    'SPRING 2016
    'ALL RIGHTS RESERVED
    '***********************************
    $regfile = "m32def.dat"
    $crystal = 8000000
    $baud = 9600
    $hwstack = 32
    $swstack = 10
    $framesize = 50

    Dim J As Integer
    Dim Count As Integer
    Dim A As Byte : A = 0
    Dim Aa As String * 1 : Aa = ""
    Dim Rfid As String * 20 : Rfid = ""
    Dim Chk As Integer

    'Validate Var
    Dim U As Integer
    Dim V As Integer
    Dim H As Integer

    Dim I As Integer

    Dim M_er(10) As Eram Integer
    Dim M(10) As Integer

    Dim Tmp(10) As Integer



    Config Porta.0 = Input

    Config Lcd = 16x2
    Config Lcdpin = Pin , Db7 = Pind.6 , Db6 = Pind.5 , Db5 = Pind.4 , Db4 = Pind.3 , Rs = Pind.7 , E = Pinc.0
    Enable Interrupts
    Enable Urxc
    On Urxc C_read

    Initlcd
    Cursor Off
    Waitms 400
    Cls
    Waitms 100

    Cls
    Waitms 50
    Lcd "***ONLY ALLAH***"
    Waitms 1000

    Cls

    Lcd " RFID RF01D "
    Locate 2 , 1
    Lcd "PRO. CARD READER"
    Waitms 2000
    Cls
    Lcd "INITIALIZING...."

    Disable Interrupts
    Disable Urxc

    M(1) = 0 : M(2) = 0 : : M(3) = 0 : : M(4) = 0 : : M(5) = 0 : : M(6) = 0 : : M(7) = 0 : : M(8) = 0 : M(9) = 0 : M(10) = 0

    'Loading EEPROM to SRAM Memory
    For H = 1 To 10
    M(h) = M_er(h)
    Waitms 300
    Locate 2 , 1
    Lcd H ; "0% COMPLETED"
    Next
    Waitms 100

    Enable Interrupts
    Enable Urxc

    Cls
    Lcd "READY!"
    Waitms 500
    Locate 2 , 1
    Lcd "CONTACT YOUR TAG"



    Do
    If Pina.0 = 1 Then
    Cls
    Lcd " WRITING MODE "
    Waitms 2000
    Cls
    Lcd "READY!"
    Waitms 500
    Locate 2 , 1
    Lcd "CONTACT YOUR TAG"
    End If
    Waitms 400
    Loop



    End
    C_read:

    Count = 0
    J = 0
    U = 0
    A = 0
    Aa = ""
    Rfid = ""

    For I = 0 To 12

    Inputbin , A

    If A = 13 Then Exit For

    Aa = Chr(a)

    If Aa = "0" Or Aa = "1" Or Aa = "2" Or Aa = "3" Or Aa = "4" Or Aa = "5" Or _
    Aa = "6" Or Aa = "7" Or Aa = "8" Or Aa = "9" Then

    'Check Card Validity
    Incr J
    Chk = Asc(aa)
    If Chk = M(j) Then Incr Count
    '/Check Card Validity

    'Register Data to Valid Cards Variable
    Incr U
    Tmp(u) = Chk
    '/Register Data to Valid Cards Variable

    'Tag Total Code
    Rfid = Rfid + Aa

    End If

    Next

    If Pina.0 = 0 Then
    Cls
    'Check Cards
    If Count = 10 Then
    Lcd " ACCESS GRANTED "
    Locate 2 , 1
    Lcd "CODE:" ; Rfid
    End If

    If Count <> 10 Then
    Lcd "ACCESS IS DENIED"
    Locate 2 , 1
    Lcd "CODE:" ; Rfid
    End If

    End If


    If Pina.0 = 1 Then
    Cls
    Lcd " WRITING MODE "
    Locate 2 , 1
    Lcd "CODE:" ; Rfid
    Waitms 2000
    Cls
    Locate 1 , 1
    Lcd "SAVING TAG ID..."
    For V = 1 To 10
    M_er(v) = Tmp(v)
    Waitms 400
    Locate 2 , 1
    Lcd V ; "0% COMPLETED"
    Next
    Waitms 50

    Cls
    Lcd "FINISHED SAVING"
    For H = 1 To 10
    M(h) = M_er(h)
    Waitms 200
    Locate 2 , 1
    Lcd "UPDATING..." ; H ; "0%"
    Next
    Waitms 50

    End If
    Return[/B]
لطفا صبر کنید...
X