ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 8 از 8
  1. #1
    2014/01/02
    اهر
    52
    8

    Question کمک به تکمیل برنامه pwmبه زبان ****

    باسلام خدمت دوستان عزیز
    من یدونه برنامه نوشتم برا مگا هشت وpwmاونو راه اندازی کردم و led به طور منظم کم نور و پرنور میشه و لی نیاز دارم که وقتی مثلا pinc.0 که به عنوان ورودی در نظر گرفته شده وقتی یک شد led شروع به پر نور شدن بکنه و وقتی دیوتی سایکل به 100% رسید همینجوری ثابت بمونه تا وقتی که یکی دیگه از پین های ورودی(pinc.1) یک شد دیوتی سایکل شروع به کاهش کنه و وقتی به کمترین حد رسید ثابت بمونه تا وقتی که pinc.0 دوباره 1 بشه .حالا تو بسکام میتونم خروجی ها رو نسبت به ورودی ها کنترل کنم و با یک شدن ورودی دستور مورد نظر رو انجام بده ولی متاسفانه نتونستم pwm رو کنترل کنم لطفا دوستان راهنمایی کنن تا برنامه رو تکمیل کنم اینم برنامه ای که برا pwm نوشتم:

    $regfile = "m8def.dat"
    $crystal = 1200000
    Config Timer1 = Pwm , Prescale = 8. , Pwm = 10 , Compare A Pwm = Clear Down , _
    Compare B Pwm = Clear Up


    Dim A As Integer , B As Integer
    Reset Pwm1a
    Do
    For A = 0 To 1024 Step
    Pwm1a = A
    Waitms 100
    Next A
    For B = 1024 To 0 Step -1
    Pwm1a = B
    Waitms 100
    Next B
    Loop
    End
    در ارزويه روزي که تمام جوانان اين مملکت تمامي امکانات بروز را براي تحقق به ايده هاي خود در اختيار داشته باشند.....................
  2. #2
    2017/04/13
    49
    14

    پاسخ : کمک به تکمیل برنامه pwmبه زبان ****

    من برا مگا۳۲ و فرکانس ۸ مگاهرتز نوشتم حالا شما خودت یه کمی تاخیر ها رو دستکاری کن درست میشه
    یادم رفت بگم که کلیدها رو با یه مقاومت ۱۰ کیلو به پایه ها وصل کن یعنی مقاومت از زمین وصل بشه به پایه و کلید هم از vcc وصل بشه به پایه
    مثل این :








    کد:
    $regfile = "m32def.dat"
    $crystal = 8000000
    Config Timer1 = Pwm , Prescale = 8. , Pwm = 10 , Compare A Pwm = Clear Down , _
    Compare B Pwm = Clear Up
    Config Portc = Input
    Portc = 255
    
    
    Dim A As Integer , B As Integer
    Reset Pwm1a
    Do
    If Pinc.1 = 1 Then
    For A = 0 To 950 Step 1
    Pwm1a = A
    Waitus 300
    Next A
    End If
    If Pinc.0 = 1 Then
    For B = 950 To 0 Step -1
    Pwm1a = B
    Waitus 300
    Next B
    End If
    Loop
    End
    ویرایش توسط test001 : 2019/02/08 در ساعت 10:46
  3. #3
    2017/04/13
    49
    14

    پاسخ : کمک به تکمیل برنامه pwmبه زبان ****

    راستی فراموش کردم بگم برا اینکه نویز کلیدها برطرف بشه می تونی از دستور debounce استفاده کنی
    اطلاعات بیشتر:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    ویرایش توسط test001 : 2019/02/08 در ساعت 11:32
  4. #4
    2014/01/02
    اهر
    52
    8

    پاسخ : کمک به تکمیل برنامه pwmبه زبان ****

    نقل قول نوشته اصلی توسط test001

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    من برا مگا۳۲ و فرکانس ۸ مگاهرتز نوشتم حالا شما خودت یه کمی تاخیر ها رو دستکاری کن درست میشه...........[/CODE]
    خیلی ممنون دوست عزیز بابت برنامه میشه این قسمت رنامه رو که زیر نوشتم برام توضیح بدین؟

    Portc = 255


    If Pinc.1 = 1 Then
    در ارزويه روزي که تمام جوانان اين مملکت تمامي امکانات بروز را براي تحقق به ايده هاي خود در اختيار داشته باشند.....................
  5. #5
    2014/01/02
    اهر
    52
    8

    پاسخ : کمک به تکمیل برنامه pwmبه زبان ****

    برنامه رو ریختم تو ایسی و رو برد برد بستم یه مقدار با اون چیزی که مد نظرمه فرق داره وقتی دیوتی سایکل از0% شروع میشه و به 100% میرسه دیگه رو 100% ثابت نمیمونه و دوباره صفر میشه اما من میخام وقتی از 0% به 100% رسید رو همون 100% بمونه تا دستور بعدی
    در ارزويه روزي که تمام جوانان اين مملکت تمامي امکانات بروز را براي تحقق به ايده هاي خود در اختيار داشته باشند.....................
  6. #6
    2017/04/13
    49
    14

    پاسخ : کمک به تکمیل برنامه pwmبه زبان ****

    نقل قول نوشته اصلی توسط AMIR987

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

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

    Portc = 255


    If Pinc.1 = 1 Then
    خواهش میکنم

    Portc = 255
    اگر در حالتی که پورت ورودی تعریف شده مقدار FF یا همون ۲۵۵ رو در پورت بریزیم باعث فعال شدن مقاومت pull - up داخلی میکروکنترلر میشه و باعث میشه نویز کم بشه

    If Pinc.1 = 1 Then
    اگر مقدار ورودی پایه ۱ از پورت c برابر ۱ (یعنی ولتاژ +5) شد آنگاه فلان کار رو انجام بده
  7. #7
    2014/01/02
    اهر
    52
    8

    پاسخ : کمک به تکمیل برنامه pwmبه زبان ****

    نقل قول نوشته اصلی توسط test001

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    خواهش میکنم

    Portc = 255
    اگر در حالتی که پورت ورودی تعریف شده مقدار FF یا همون ۲۵۵ رو در پورت بریزیم باعث فعال شدن مقاومت pull - up داخلی میکروکنترلر میشه و باعث میشه نویز کم بشه

    If Pinc.1 = 1 Then
    اگر مقدار ورودی پایه ۱ از پورت c برابر ۱ (یعنی ولتاژ +5) شد آنگاه فلان کار رو انجام بده
    مرسی برا اون مشکلی که بالا گفتم خودم برنامه رو تغییر دادم و درست شد فقط برنامه رو میزارم بی زحمت یه نگاه بندازین ببینین درسته



    If Pinc.1 = 1 Then
    Start Timer1
    For A = 0 To 1024 Step 1
    Pwm1a = A


    If A = 1024 Then
    Stop Timer1
    End If


    Waitms 4
    Next A
    End If




    If Pinc.0 = 1 Then
    Start Timer1
    For B = 1024 To 0 Step -1
    Pwm1a = B


    If B = 0 Then
    Stop Timer1
    End If


    Waitms 4
    Next B
    End If
    در ارزويه روزي که تمام جوانان اين مملکت تمامي امکانات بروز را براي تحقق به ايده هاي خود در اختيار داشته باشند.....................
  8. #8
    2017/04/13
    49
    14

    پاسخ : کمک به تکمیل برنامه pwmبه زبان ****

    نقل قول نوشته اصلی توسط AMIR987

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

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



    If Pinc.1 = 1 Then
    Start Timer1
    For A = 0 To 1024 Step 1
    Pwm1a = A


    If A = 1024 Then
    Stop Timer1
    End If


    Waitms 4
    Next A
    End If




    If Pinc.0 = 1 Then
    Start Timer1
    For B = 1024 To 0 Step -1
    Pwm1a = B


    If B = 0 Then
    Stop Timer1
    End If


    Waitms 4
    Next B
    End If
    اره درسته البته میتونین برنامه رو اینطوری هم بنویسین که نویز کلیدها گرفته بشه:
    کد:
    $regfile = "m32def.dat"
    $crystal = 8000000
    Config Timer1 = Pwm , Prescale = 8. , Pwm = 10 , Compare A Pwm = Clear Down , _
    Compare B Pwm = Clear Up
    Config Portc = Input
    Portc = 255
    
    
    Dim A As Integer , B As Integer
    Reset Pwm1a
    Do
    Debounce Pinc.1 , 1 , Turn_off , Sub
    Debounce Pinc.0 , 1 , Turn_on , Sub
    Loop
    End
    
    Turn_off:
    Start Timer1
    For A = 0 To 950 Step 1
    Pwm1a = A
    Waitus 300
    Next A
    Stop Timer1
    Return
    
    Turn_on:
    Start Timer1
    For B = 950 To 0 Step -1
    Pwm1a = B
    Waitus 300
    Next B
    Stop Timer1
    Return
    مثلا این خط
    Debounce Pinc.1 , 1 , Turn_off , Sub
    یعنی اینکه پایه ۱ پورت c رو چک کن اگر ۱ بود به زیر برنامه turn_off پرش کن
    ویرایش توسط test001 : 2019/02/08 در ساعت 14:40
نمایش نتایج: از 1 به 8 از 8

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

  1. راهنمایی جهت تکمیل نمودن یک برنامه به زبان ****
    توسط AMIR987 در انجمن میکروکنترلرهای AVR
    پاسخ: 9
    آخرين نوشته: 2017/10/02, 23:02
  2. پاسخ: 3
    آخرين نوشته: 2015/12/02, 18:14
  3. تکمیل و عیب یابی برنامه کنترلر rgb
    توسط zoheyr79 در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2015/06/23, 10:43
  4. کمک در تکمیل برنامه
    توسط hamed.zahedi در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2014/05/23, 11:53
  5. ّبروژه تکمیل شده ولت متر به زبان بیسیک
    توسط hosein-eghbali در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2009/02/04, 00:21

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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