NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2692 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 4 از 4

موضوع: راهنمایی برنامه نویسی فلاشر با اتمگا8

  1. #1
    کاربر فعال
    تاریخ عضویت
    Apr 2012
    نوشته ها
    115
    تشکر
    28
    تشکر شده 118 بار در 71 پست

    پیش فرض راهنمایی برنامه نویسی فلاشر با اتمگا8

    با سلام یه برنامه نوشتم که پرت دی میکرو اتمگا 8 رو خروجی تعریف کردم میخام هر پین پرت دی بمدت 50 میلی ثانیه روشن و بعدی روشن و خاموش بشه البته تعدادش 50 بار و بره برای یه دستور دیگه مثلا 4 تا پین روشن بشه
    این متن برنامه هس
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portd = Output
    Dim A As Byte
    Dim B As Byte
    Dim C As Byte
    A = &B00000001
    C = &B00001111
    Do
    For B = 1 To 50
    Portd = A
    Rotate A , Left
    Waitms 50
    Next
    Portd = C
    Loop
    end
    ولی وقتی کامپایل و اجراش میکنم فقط روی دستور روتیت میچرخه و دستور بعدی اجرا نمیشه
    برای معرفی حلقه با تعداد تکرار معین چکار باید کزد؟

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  4. #2
    همکار علمی zakariya moradi آواتار ها
    تاریخ عضویت
    Sep 2012
    نام
    ذکریا مرادی
    نوشته ها
    206
    تشکر
    86
    تشکر شده 448 بار در 125 پست

    پیش فرض راه ساده تر

    سلام
    این نمونه کد رو به ساده ترین حالت مینویسم که دوستان تازه وارد هم سر در بیارن :
    کد:
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Portd = Output
    Config Portc = Output
    Dim tedad As Byte
    
    
    tedad=0
      Do
      PORTB=&B00000001
    waitms 50
    PORTB=&B00000010
    waitms 50
    PORTB=&B00000100
    waitms 50
    PORTB=&B00001000
    waitms 50
    PORTB=&B00010000
    waitms 50
    PORTB=&B00100000
    waitms 50
    PORTB=&B01000000
    waitms 50
    PORTB=&B10000000
    waitms 50
    
    incr tedad
    
    if tedad=50 then 
    tedad=0
    PORTC=&B00001111
    waitms 500
    PORTC=&B00000000
    end if
    
         Loop
    end
    در این مثال با هر بار اجرا شدن حلقه 1 واحد به tedad اضافه میشه و بعد از رسیدن به عدد 50 دستور داخل شرط اجرا میشه که در مثال با روشن شد 4 تا از پین های پورت c می باشد .

  5. کاربران : 2 تشکر کرده اند از شما zakariya moradi برای ارسال این پست سودمند:


  6. #3
    کاربر علاقه مند
    تاریخ عضویت
    Aug 2008
    نوشته ها
    23
    تشکر
    0
    تشکر شده 4 بار در 3 پست

    پیش فرض

    سلام دوست عزیز
    در اصل برنامه شما داره دستور بعد از for رو هم اجرا میکنه ولی مشکل اینه که چون بعد از دستور portd=c تاخیری نزاشتین بخاطر همین سریع اجرا میشه و یعد از اون دستور portd=A اجرا میشه

  7. تشکرها از این نوشته :


  8. #4
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    پیش فرض

    نقل قول نوشته اصلی توسط flishet نمایش پست ها
    سلام دوست عزیز
    در اصل برنامه شما داره دستور بعد از for رو هم اجرا میکنه ولی مشکل اینه که چون بعد از دستور portd=c تاخیری نزاشتین بخاطر همین سریع اجرا میشه و یعد از اون دستور portd=A اجرا میشه

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

  1. همکار برای مقاله نویسی
    توسط medadnoki در انجمن گفت و گوي آزاد
    پاسخ: 0
    آخرين نوشته: 12-03-2013, 13:27
  2. کمک در برنامه نویسی و سخت افزار
    توسط BaRdIa در انجمن AVR
    پاسخ: 6
    آخرين نوشته: 15-08-2010, 03:00
  3. راهنمایی در برنامه نویسی
    توسط REZA_KLNTR در انجمن AVR
    پاسخ: 56
    آخرين نوشته: 13-01-2010, 04:46
  4. نرم افزار برنامه نویسی lg
    توسط emansad در انجمن آموزش نرم افزارهای برق و الکترونیک
    پاسخ: 1
    آخرين نوشته: 04-07-2009, 18:53
  5. اشنایی با نرم افزار برنامه نویسی
    توسط 1nafar در انجمن سنسور و ماژول های اندازه گیری
    پاسخ: 0
    آخرين نوشته: 17-06-2009, 22:55

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

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