نمایش نتایج 1 تا 7 از 7

نام تاپیک: مشکل delay در چراغ چشمک زن

  1. #1

    مشکل delay در چراغ چشمک زن

    سلام
    من با کد ویژن یه برنامه چراغ چشمک زن نوشتم
    و هرعددی رو بریا delay_ms میدم
    اصلا برای delay اهمیتی قائل نیست و باز همون آهنگ خاموش روشن شدن خود رو دنبال میکنه
    ممنون میشم کمک کنید اینم سورس

    #include <mega16.h>
    #include <delay.h>

    void main ()
    {
    PORTA=0x00;
    DDRA=0xFF;
    for(;;)
    {
    if(PORTA.0==0)
    {
    PORTA.1=1;
    delay_ms(5);
    }
    if(PORTA.1==1)
    {
    PORTA.0=0;
    }
    if(PORTA.1==0)
    {
    PORTA.0=1;
    delay_ms (5);
    }
    }
    }


  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: مشکل delay در چراغ چشمک زن

    فکر می کنم فیوز بیت ها رو موقع پروگرام کردن بردتون ست نکرده اید.

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

  3. #3

    نقل قول: مشکل delay در چراغ چشمک زن

    نقل قول نوشته شده توسط javady_joon مشاهده تاپیک
    سلام
    من با کد ویژن یه برنامه چراغ چشمک زن نوشتم
    و هرعددی رو بریا delay_ms میدم
    اصلا برای delay اهمیتی قائل نیست و باز همون آهنگ خاموش روشن شدن خود رو دنبال میکنه
    ممنون میشم کمک کنید اینم سورس

    #include <mega16.h>
    #include <delay.h>

    void main ()
    {
    PORTA=0x00;
    DDRA=0xFF;
    for(;;)
    {
    if(PORTA.0==0)
    {
    PORTA.1=1;
    delay_ms(5);
    }
    if(PORTA.1==1)
    {
    PORTA.0=0;
    }
    if(PORTA.1==0)
    {
    PORTA.0=1;
    delay_ms (5);
    }
    }
    }

    اگه میخواید چشمک زن بنویسید چرا پیچیدش کردید؟ الگوریتم برنامتون مشکل داره:

    پورت a رو خروجی تعریف کردید و از 2 تا پایه اش استفاده کردید. اول چک می کنه پایه 0 خاموشه (که هست) بعد میاد پایه 1 رو روشن می کنه، بعد بررسی میکنه پایه 1 روشنه (که همین الان روشن شده!) در نتیجه پایه 0 رو خاموش میکنه (که لازم هم نیست چون از اول خاموش بوده). بعد چک میشه که پایه 1 خاموشه (که نیست!) و میره اول لوپ.

    در واقع این شرطهایی که گذاشتید اضافی هستند.پس برنامه شما درواقع اینه:


    void main ()
    {
    PORTA=0x00;
    DDRA=0xFF;
    for(;;)
    {
    PORTA.1=1;
    delay_ms(5);
    }
    }

    با این برنامه ای که شما اینجا گذاشتید اصلا نباید چشمک بزنه!؟

  4. #4

    نقل قول: مشکل delay در چراغ چشمک زن

    #include <mega16.h>
    #include <delay.h>

    void main ()
    {
    PORTA=0x00;
    DDRA=0xFF;
    PORTA.0=0;
    while(1)
    {
    PORTA.0=1;
    delay_ms(500)
    PORTA.0=1;
    delay_ms(500);
    }
    }

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

  5. #5
    کاربر دائمی آواتار yashar666
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    طهران
    پست
    332

    نقل قول: مشکل delay در چراغ چشمک زن

    این ساده تره :


    void main ()
    {
    PORTA=0x00;
    DDRA=0x01;
    while(1)
    {
    PORTA.0=~(PORTA.0);

    delay_ms(500);
    }
    }



    قیوز بیت
    اسیلاتور چک کن درست ست کرده باشی
    آخرین ویرایش به وسیله yashar666 : چهارشنبه 12 فروردین 1394 در 01:34 صبح

  6. #6

    نقل قول: مشکل delay در چراغ چشمک زن

    سلام
    تو برنامتون مقدار 5 برای delay خیلی خیلی کمه که اصلا به چشم نمیاد. 5میلی ثانیه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    از 1000 میلی استتفاده کنید که بشه 1 ثانیه

  7. #7
    کاربر جدید
    تاریخ عضویت
    اسفند 1394
    محل زندگی
    tehran
    پست
    29

    Lightbulb نقل قول: مشکل delay در چراغ چشمک زن

    از آنجا که چشم انسان قادر به دیدن تغییرات زیر 20ms نمی باشد در نتیجه شما احساس می کنید که هیچ تغییری در روند برنامتون ایجاد نمیشه . از همین ضعف انسان هست که فیلمسازان قادرند فیلم را برای ما به نمایش بذارند و یا اینکه فیلمی که با دوربین خودتون میگیرید رو مشاهده می کنید.(تحقیقات در این مورد رو میذرام به عهده خودتون)
    مطلب بعدی که باید مد نظر داشته باشی اینه که نباید توقع داشته باشید عینه همون delay که شما تو برنامتون استفاده میکنید در عمل هم همون میزان تاخیر ایجاد بشه!!!!!!!! مثلاً اگر برا 1 ثانیه تاخیر نوشتید delay_ms(1000) مطمئناً تو عمل درست در نمیاد.!!! چون با توجه به فرکانس کاری میکرو و زمانی که هر دستور برا اجرا نیاز داره باعث ایجاد اختلاف خواهد شد که برا رفع این مورد یعنی دقیقتر شدن میتونید خودتون یه تابع جدید بنویسید که در اون تاخیر رو ایجاد کنید یا اینکه از تایمر میکرو استفاده کنید.

    امیدوارم نوش دارو بعداز مرگ سهراب نبوده باشه

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: جمعه 04 مرداد 1392, 08:35 صبح
  2. مشکل چشمک زدن یوزر کنترل هنگام اسکرول کردن
    نوشته شده توسط saied_hacker در بخش C#‎‎
    پاسخ: 0
    آخرین پست: دوشنبه 20 خرداد 1392, 20:04 عصر
  3. مبتدی: ایحاد چراغ چشمک زن
    نوشته شده توسط amir_varasteh در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: پنج شنبه 30 دی 1389, 18:11 عصر
  4. مختصات چراغ چشمک زن در memo
    نوشته شده توسط aks2download در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: جمعه 23 اسفند 1387, 00:28 صبح
  5. مشکل چشمک TCanvas
    نوشته شده توسط _alish_ در بخش برنامه نویسی در Delphi
    پاسخ: 6
    آخرین پست: سه شنبه 27 مرداد 1383, 11:00 صبح

قوانین ایجاد تاپیک در تالار

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