چک کردن از درست نوشتن برنامه بسکام
تبلیغات تجاری در گروه تخصصی تعمیرکاران ( تعرفه تبلیغات )
چک کردن از درست نوشتن برنامه بسکام چک کردن از درست نوشتن برنامه بسکام چک کردن از درست نوشتن برنامه بسکام چک کردن از درست نوشتن برنامه بسکام چک کردن از درست نوشتن برنامه بسکام
نمایش نتایج: از 1 به 1 از 1
  1. #1

    https://www.tamirkaran.ir/star/roshan.gifhttps://www.tamirkaran.ir/star/khamosh.gifhttps://www.tamirkaran.ir/star/khamosh.gifhttps://www.tamirkaran.ir/star/khamosh.gifhttps://www.tamirkaran.ir/star/khamosh.gif
    عضو گروه
    sinasat آنلاین نیست.

    تاریخ عضویت
    August 2012
    نوشته ها
    2
    تشکر
    0
    1 بار در ا پست از ایشان تشکر شده است.
    پسندیده شده
    0
    مورد پسند شما
    0
    میزان امتیاز
    10
    گروه تعمیرکاران تخصصی ترین مرجع الکترونیک در ایران
    Array

    Talking چک کردن از درست نوشتن برنامه بسکام

    من یک برنامه نوشتم مال در بازکن تلفنی میخواستم ببینم درست نوشتمش اینم برنامه

    کد PHP:
    $regfile "m8def.dat"
    $crystal 8000000
    '$baud = 9600
    Config Portd = Input
    Config Portb.7 = Input
    Config Portb.6 = Output
    Config Portc.5 = Output
    Config Portc.4 = Output
    Config Portc.3 = Output
    Config Debounce = 50
    Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = _
    Portc.0 , E = Portb.2 , Rs = Portb.1
    Config Lcd = 16 * 2
    Cursor Off
    Cls
    Declare Sub Main
    Dim D As Long , Seco As Byte , A As Byte , B As Byte , C As String * 8 , F As Long
    Dim E As Eram Long
    Sina:
    Delay
    Home
    Lcd "    Waiting"
    Wait 1
    Do
    If Pinb.7 = 1 Then Jmp Q
    Loop
    Q:
    Cls
    Home L
    Lcd "    javab"
    Waitms 50
    Set Portb.6
    Cls
    If E = &HFFFFFFFF Then
    jmp Here
    Else
    jmp Sh
    End If
    Here:
    E = 123456
    Sh:
    Cls : Home : Lcd "PASSWORD ENTER=quot;
    B = 0 : C = "" :
    Locate 2 , 1
    Call Main
    If E = D Then
       If Pind = &B00001010 Then
        Goto Bb
       Else
        Jmp Control
       End If
    Else
     Cls : Home
     Lcd "Wrong Password"
     Reset Portb.6
     Wait 2 : Cls : Home : Jmp Sina
    End If
    Bb:
    Cls : Cursor Off : Home
    Lcd "1:Change Pass"
    Locate 2 , 1 : Lcd "2:Back"
    Bc:
    A = Pind
    If Seco <= 60 And A > &B00001100 Then
     Reset Portb.6
     Goto Sina
    '
    --------------------------
    Lookup(Jadval)
    If 
    49 Then Jmp Change
    If 50 Then Jmp Sh
    jmp Bc
    Change
    :
    Cls Cursor Off Home
    Lcd 
    "Type Old Pass"
    Locate 2 1
    Call Main
    If D Then
       jmp Gh
    Else
       
    Cls Home Lcd "Wrong Pass" Wait 2
       Reset Portb.6
       jmp sina
    End 
    If
    Gh:
    Cls Cursor Off Home
    Lcd 
    "Type New Pass"
    Locate 2 1
    Call Main
    D
    jmp Bb
    End

    Control
    :
    Cls
    Home
    Lcd 
    "    wellcome"
    Wait 3
    Cls
    000
    :
    Do
    If 
    Seco <= 60 And Pind < &B00001100 Then
     jmp klid
    Else
     
    Reset Portb.6
     jmp sina
    End 
    If
    Klid:
    If 
    Pind = &B00000001 Then Goto Relay1
    If Pind = &B00000010 Then Goto Relay2
    If Pind = &B00000011 Then Goto Relay3
    If Pind = &B00000100 Then Goto Relay1_off
    If Pind = &B00000101 Then Goto Relay2_off
    If Pind = &B00000110 Then Goto Relay3_off
    If Pind = &B00001001 Then Goto Int_off

    Loop


    ' LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABEL LABELLABEL

    '
    **************************************TV***************************************

    Int_off:
    Waitms 10
    Reset Portb.6
    Waitms 10
    jmp sina


    Relay1
    :

        
    Cls
        Set Portc.5
        
    If Portc.5 1 Then
        Locate 1 
    4
        Lcd 
    "Relay1 on"
        
    End If
        
    Waitms 100
        jmp 0000

    Relay1_off
    :

        
    Cls
        Reset Portc.5
        
    If Portc.5 1 Then
        Locate 1 
    4
        Lcd 
    "Relay1 off"
        
    End If
        
    Waitms 100
        jmp 0000


    '***************************************WASHER**********************************​


    Relay2:

        Cls
        Set Portc.4
        If Portc.4 = 1 Then
        Locate 1 , 3
        Lcd "Relay2"
        End If
        Waitms 100
        jmp 0000

    Relay2_off:

        Cls
        Reset Portc.4
        If Portc.4 = 1 Then
        Locate 1 , 3
        Lcd "Relay2 Off"
        End If
        Waitms 100
        jmp 0000



    '
    **************************************FAN**************************************


    Relay3:

        
    Cls
        Set Portc.3
        
    If Portc.3 1 Then
        Locate 1 
    3
        Lcd 
    "Relay3 ON"
        
    End If
        
    Waitms 100
        jmp 0000

    Relay3_off
    :

        
    Cls
        Reset Portc.3
        
    If Portc.3 1 Then
        Locate 1 
    3
        Lcd 
    "Relay3 Off"
        
    End If
        
    Waitms 100
        jmp 0000



    End                                                         
    'end program
    '
    -----------------------------------------------------------

    Main:
    ""
    Aa:
    Pind
    If Seco <= 60 And > &B00001100 Then
     Reset Portb.6
     
    Goto Sina
    Lookup(Jadval)
    Select Case A
    '----------------------
    Case 48 To 57:
    If B < &B00001000 Then
       Incr B
       Lcd String(1 , A)
       C = C + String(1 , A)
    End If
    jmp Aa
    '
    ----------------------
    Case 
    35:
    Val(c)
    End Select
    Return
    '--------------------------------------------------
    Jadval:
    Data 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 42 , 35 


    توضیحات برنامه
    این در بازکن تلفنی طوریه که شما اول بعد جواب دادن گوشی توسط دستگاه از شما رمز پیش فرض 123456 رو میخواد با زدن کلید مربع وارد میشوید و رمز نیز قابل تغییر میباشه و چند تا رله هم داره که بعد از وارد شدن قابلیت قطع و وصل داره
    توضیحات برنامه
    اولش که همه پیکر بندی
    اگر پین b.7 یک شد یعنی تلفن در حال زنگ زدنه و گوشی رو جواب بده
    و پین b.6 یک کن تا رله وصل بشه و گوشی جواب داده بشه
    در خط بعدی میگه اگر متغیر E مساوی با یک شد چون در eeprom مقدار اولیش 1 است
    پرش میکنه به لیبل here و متغیر e=123456 می کنه
    (اما وقتی کاربر رمز رو عوض کنه و برق مدار رو قطع کنه شرط here برقرار نمیشه و به لیبل sh پرش میکنه
    و دیگه کاری به داخل e نداره
    خط بعدی متغیر ها رو مقدار دهی می کنیم
    و سابروتین main رو فراخونی میکنه که توضیحاتش رو در آخر میدم
    اگر متغیر e=d شد
    برو خط بعدی پین d هم به آی سی mt8870 وصله
    اگر pind=10 شد برو به لیبل bb
    ذر غیر اینصورت
    برو به لیبل کنترل
    در غیر اینصورت پسورد اشتباه است گوشی رو قطع کن
    حالا بقیه توضیحات برنامه
    وبرو به لیبل اولیه سینا
    در این شرط اگر شما کلید ستاره رو بزنید به قسمت تغییر رمز میروید که شماره کلید ستاره 1010 است و به لیبل bb
    مراجعه می کند و روی LCD تایپ میکنه 1 -change pass در خط بعدی 2-back و بعد میره به لیبل Bc و PINd=A میکنه
    و اگر در مدت 60 ثانیه و عدد وارد شده بزرگتر از 1100 بود گوشی رو قطع میکنه و میره به لیبل sina
    در غیر اینصورت میره خط بعدی متغیر A را با اعداد داخل لیبل jadval مقایسه میکند و در صورت برابر بودن با هر کدام عدد رو داخل متغیر A میریزه
    اگر a=49 شد که همون 1 است برو لیبل Change
    اگر a=50 شد که همون 2 است برو به لیبل sh
    در غیر اینصورت اگر هر کدام از شرطها برقرار نبود به لیبل Bc برو
    لیبل Change
    روی LCD تایپ میشه Pass قدیمی رو از شما میخواد
    فراخوانی لیبل Main
    اگر E=d شد یعنی پسورد صحیح است و به لیبل GH میره
    در غیر اینصورت پسورد اشتابه است گوشی تلفن قطع میشه و میره به لیبل sina
    لیبل GH
    از شما میخواد رمز جدید خود را وارد کنید و E=D قرار میده و میره به لیبل Bb
    لیبل Control
    داخل حلقه اگر در مدت 60 ثانیه و عددی کوچکتر از 1100 وارد شد برو به لیبل klid
    در غیر اینصورت تلفن رو قطع کن و برو به لیبل sina
    لیبل klid
    در لیبل کلید هم براساس عدد وارد شده به رله مربوطه میره
    سابروتین Main
    متغیر های B, C رو مقدار دهی میکنه
    PIND = A
    اگر در مدت 60 ثانیه و مقدار A بزرگتر از 1100 شد شرط برقرار و گوشی تلفن قطع و به لیبل sina میره
    در غیر اینصورت خط بعدی متغیر A رو با مقادیر داخل لیبل jadval مقایسه میکنه و در صورت برابر بودن عدد مورد نظر رو میریز داخل متغیر A

    اینم PCB که خودم درست کردم و در اصل طرح کلی رو از روی این پروژه برداشتمش فقط تغییراتی کلی دادم مثلا مگا 16 رو کردم مگا 8 و جای پایه اشم کمی تغییر کرده
    دانلود proje asli zip
    اینم PCB
    دانلود rar

    برنامه رو هم که تغییر دادم تا بشه که با رمز وارد شد و رمز رو هم تغییر داد که از روی پروژه قفل رمزدار زیر نوشتمش برای همین میگم ببینم درست نوشتمش چون مجبور بودم تغییراتی توش انجام بدم چون ماکه صفحه کلید نداریم مثل قفل رمزدار برای همین خروجی mt8870 که به Pind وصله اعداد رو به ما میده
    اینم لینک در ست پروژه قفل رمز دار
    دانلود zip
    منبع :Www.TamirKaran.ir
    یک کاربر برای این پست سودمند از sinasat عزیز تشکر کرده اند: MiAnAbY

 

 

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

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

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
پرداخت آنلاین حق عضویت
فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
تمام حقوق برای گروه تخصصی تعمیركاران محفوظ است و هرگونه کپی برداری پیگرد قانونی خواهد داشت.
سامانه پیام کوتاه گروه : 50002050031501
© Copyright TamirKaran.ir 2010-2021 | Hosted by PersianWhois.com
logo-samandehi