اطلاعیه

Collapse
No announcement yet.

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

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

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

    به نام خدا
    با عرض سلام
    من یک مدار میخواهم بسازم با 80c51 یا هر میکرویی که به نظر شما مناسبت تر است
    البته من این برنامه را به زبان بیسک برای avr نوشتم ولی نتیجه ان بسیار بد بود
    این مدار دارای 4 رله و یک عدد شستی میباشد
    با فشردن شستی اول رله 1 را به مدت 4 دقیقه و30 ثانیه روشن میکند سپس بعد از خاموش کردن رله
    رله 2 را به مدت 25 ثانیه روشن میکند بعد از خاموش کردن این رله 10 ثانیه مکث میکند سپس به مدت 25 ثانیه رله 3 را به مدت 25 ثانیه روشن میکند سپس بعد از خاموش کردن این رله دوباره 10 ثانیه استراحت میکند
    واین چرخه را به مدت 7 دقیقه انجام دهد یعنی
    25 ثانیه رله دوم روشن سپس 10 ثانیه استراحت و 25 ثانیه رله 3 روشن و 10 ثانیه استراحت
    ودر پایان 7 دقیقه , رله 4 را به مدت 30 ثانیه روشن کند

    ونکته دیگر اینکه بعد از اتمام کار دوباره به اول برنامه برگردد وتا زدن شستی مدار صبر کند


    #2
    پاسخ : در خواست کمک برای برنامه نویسی برای راه اندازی چند رله

    نوشته اصلی توسط telmak
    به نام خدا
    با عرض سلام
    من یک مدار میخواهم بسازم با 80c51 یا هر میکرویی که به نظر شما مناسبت تر است
    البته من این برنامه را به زبان بیسک برای avr نوشتم ولی نتیجه ان بسیار بد بود
    این مدار دارای 4 رله و یک عدد شستی میباشد
    با فشردن شستی اول رله 1 را به مدت 4 دقیقه و30 ثانیه روشن میکند سپس بعد از خاموش کردن رله
    رله 2 را به مدت 25 ثانیه روشن میکند بعد از خاموش کردن این رله 10 ثانیه مکث میکند سپس به مدت 25 ثانیه رله 3 را به مدت 25 ثانیه روشن میکند سپس بعد از خاموش کردن این رله دوباره 10 ثانیه استراحت میکند
    واین چرخه را به مدت 7 دقیقه انجام دهد یعنی
    25 ثانیه رله دوم روشن سپس 10 ثانیه استراحت و 25 ثانیه رله 3 روشن و 10 ثانیه استراحت
    ودر پایان 7 دقیقه , رله 4 را به مدت 30 ثانیه روشن کند

    ونکته دیگر اینکه بعد از اتمام کار دوباره به اول برنامه برگردد وتا زدن شستی مدار صبر کند

    سلام دوست عزیز
    متعجبم که چرا این برنامه با AVR جواب نداده. احتمالاً اشکال از AVR نبوده. اگر برنامه شما درست بوده باشه (که باتوجه به راحتی کدنویسی در bascom همینطور بوده ) احتمالاً مشکال از جای دیگست.
    بگذریم. تا حالا خودتون چیزی نوشتید؟ برنامه فکر نکنم چیز خاصی داشته باشه. یه تاخیر کوچیک بنویسید و در موارد مختلف به تعداد متوالی فراخونی کنید.
    در مورد تاخیر تو همین قسمت 8051 نمونش هست. بگردید پیدا میشه.
    حالا این تاخیر ها چقدر باید دقیق باشه؟

    فعلاً به این سوالها جواب بدید تا بعد.

    دیدگاه


      #3
      پاسخ : در خواست کمک برای برنامه نویسی برای راه اندازی چند رله

      سلام:
      همون جور که دوستمون freedom_truth گفتن خیلی راحت میشه این برنامه رو با AVR نوشت احتمالا یه جایی توی نوشتن برنامه اشتباه کردید که جواب نگرفتین به نظر من این موضوع رو توی قسمت AVR مطرح کنید و برنامه رو اونجا قرار بدید تا دوستان بهتر به شما کمک کنن

      دیدگاه


        #4
        پاسخ : در خواست کمک برای برنامه نویسی برای راه اندازی چند رله

        نوشته اصلی توسط telmak
        به نام خدا
        با عرض سلام
        من یک مدار میخواهم بسازم با 80c51 یا هر میکرویی که به نظر شما مناسبت تر است
        البته من این برنامه را به زبان بیسک برای avr نوشتم ولی نتیجه ان بسیار بد بود
        این مدار دارای 4 رله و یک عدد شستی میباشد
        با فشردن شستی اول رله 1 را به مدت 4 دقیقه و30 ثانیه روشن میکند سپس بعد از خاموش کردن رله
        رله 2 را به مدت 25 ثانیه روشن میکند بعد از خاموش کردن این رله 10 ثانیه مکث میکند سپس به مدت 25 ثانیه رله 3 را به مدت 25 ثانیه روشن میکند سپس بعد از خاموش کردن این رله دوباره 10 ثانیه استراحت میکند
        واین چرخه را به مدت 7 دقیقه انجام دهد یعنی
        25 ثانیه رله دوم روشن سپس 10 ثانیه استراحت و 25 ثانیه رله 3 روشن و 10 ثانیه استراحت
        ودر پایان 7 دقیقه , رله 4 را به مدت 30 ثانیه روشن کند

        ونکته دیگر اینکه بعد از اتمام کار دوباره به اول برنامه برگردد وتا زدن شستی مدار صبر کند

        با سلام

        یه برنامه با 8051

        ORG 00H

        SW_1 EQU 090H
        RL_1 EQU 091H
        RL_2 EQU 092H
        RL_3 EQU 093H
        RL_4 EQU 094H
        BZ_1 EQU 095H
        ;*************************
        MAIN : MOV P1,#FFH
        ACALL 10_SEC_DELAY ; OPTIONAL
        ;*************************
        START :
        MOV R3, # 06D ; 6 * ( 35 + 35 ) = 420 SEC = 7 MIN
        ;**************************************KEY PRESS SCAN**********
        JB SW_1,$
        CLR BZ_1 ; KEY PRESS BUZZER ON ( OPTIONAL )
        JNB SW_1,$
        SETB BZ_1 ; KEY PRESS BUZZER OFF ( OPTIONAL )
        SETB SW_1
        ;************************************** RELAY 1 >> 4 MIN & 30 SEC ( 270 SEC ) = ON
        MOV R2,#270D ; (4 * 60) + 30 = 4MIN & 30SEC
        CLR RL_1 ; RELAY 1 = ON
        ACALL DELAY ; 270 SEC DELAY
        SETB RL_1 ; RELAY 1 = OFF
        ;***************************************RELAY 2 >> 25 SEC = ON & 10 SEC = OFF
        MOV R2,#25D
        CLR RL_2 ; RELAY 2 = ON
        ACALL DELAY ; 25 SEC DELAY
        SETB RL_2 ; RELAY 2 = OFF
        ;************************************************* *******
        MOV R,#10D
        ACALL DELAY
        ;***************************************RELAY 3 >> 25 SEC = ON & 10 SEC = OFF
        MOV R2,#25D
        CLR RL_3 ; RELAY 3 = ON
        ACALL DELAY ; 25 SEC DELAY
        SETB RL_3 ; RELAY 3 = OFF
        ;************************************************* *******
        MOV R,#10D
        ACALL DELAY
        ;***************************************RELAY 4 >> 30 SEC = ON
        MOV R2,#30D
        CLR RL_4 ; RELAY 3 = ON
        ACALL DELAY ; 30 SEC DELAY
        SETB RL_4 ; RELAY 3 = OFF
        ;************************************************* *************
        MOV P1,#FFH
        AJMP START
        ;************************************************* *******
        DELAY: ACALL 1_SEC ; 1 SEC ROUTINE
        DJNZ R2,DELAY ; 270 ( 1 SEC )
        RET
        ;************************************************* *********
        1_SEC :
        MOV R7, # XX H
        MOV R6, # XX H
        DEL_1: DJNZ R7, $
        DJNZ R6, DEL_1
        RET
        ;************************************************* ***********

        دیدگاه

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