اطلاعیه

Collapse
No announcement yet.

برنامه چشمک زدن ؟

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

    برنامه چشمک زدن ؟

    سلام چطور میتونم یک برنامه ساده بنویسیم که دو عدد led داشته باشه و این دو عدد یکی به pb.0 ویکی به pb.1 متصل بشود ، بطوری که led سبز که به pb.0 متصل است دو بار چشمک بزند با تاخیر یک ثانیه (تاخیر نرم افزاری) و led قرمز که به pb.1 متصل است چهار بار چشمک بزند و با تاخیر یک ثانیه . ؟ میشه کمک کنید، یه جایی گفتن باید از توابع استفاده کنی ، ولی نمیدونم چطوری میشه کمک کنید ؟ ممنون
    خدایا یکی بزرگترین آرزویهایم در این دنیا این است که همه مردم حالشان خوب باشد و احساس خوشبختی داشته باشند....

    #2
    پاسخ : برنامه چشمک زدن ؟


    #include <mega8.h>
    #include <delay.h>


    #define led_green PORTB.0
    #define led_red PORTB.1


    int i;




    void green(void)
    {
    for(i=0;i<=1;i++)
    {
    led_green=1;
    delay_ms(1000);
    led_green=0;
    delay_ms(1000);
    }
    }


    void red(void)
    {
    for(i=0;i<=3;i++)
    {
    led_red=1;
    delay_ms(1000);
    led_red=0;
    delay_ms(1000);
    }
    }




    void main(void)
    {


    DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (1<<DDB1) | (1<<DDB0);
    PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);


    while (1)
    {
    green();
    red();
    }
    }



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

    دیدگاه


      #3
      پاسخ : برنامه چشمک زدن ؟

      اگر منظورتون اینه که توام این دو تا چشمک بزنن که باید با تایمر یا RTOS باشه که همزمان اجرا بشن و اگر پشت هم کار بکنن که برنامه بالا رو دوستمون گذاشتن کفایت میکنه و البته نیازی به وجود تابع نبود و میشد با کد هم درستش کرد
      Aristar Group - Always And Forever

      دیدگاه


        #4
        پاسخ : برنامه چشمک زدن ؟

        نوشته اصلی توسط Aristar نمایش پست ها
        اگر منظورتون اینه که توام این دو تا چشمک بزنن که باید با تایمر یا RTOS باشه که همزمان اجرا بشن و اگر پشت هم کار بکنن که برنامه بالا رو دوستمون گذاشتن کفایت میکنه و البته نیازی به وجود تابع نبود و میشد با کد هم درستش کرد
        سیستم عامل های ریل تایم دستورات رو بصورت همزمان اجرا نمیکنن چون در میکروها پردازش موازی نداریم. بلکه به دلیل تخصیص منابع به بهینه ترین شکل دستورات اجرا میشن تا فاصله زمانیشون تا حد امکان کم بشه.
        ولی این چیزی که دوستمون خواستن مساله خاصی نیس که نیاز به سیستم عامل داشته باشه.
        www.gam-co.blogsky.com

        دیدگاه


          #5
          پاسخ : برنامه چشمک زدن ؟

          ممنون ..اما سوال این هست که به غیر از حلقه for ویا while از روش دیگری هم میشه استفاده کرد ؟
          خدایا یکی بزرگترین آرزویهایم در این دنیا این است که همه مردم حالشان خوب باشد و احساس خوشبختی داشته باشند....

          دیدگاه


            #6
            پاسخ : برنامه چشمک زدن ؟

            نوشته اصلی توسط fmicro نمایش پست ها
            ممنون ..اما سوال این هست که به غیر از حلقه for ویا while از روش دیگری هم میشه استفاده کرد ؟
            بله میشه از وقفه تایمر برای این کار استفاده کرد.که با هر یک ثانیه یک کاری برات انجام بده
            الهم صل علی محمد و آل محمد و عجل فرجهم
            www.adaksell.com

            دیدگاه


              #7
              پاسخ : برنامه چشمک زدن ؟

              نوشته اصلی توسط vahidabedi نمایش پست ها
              سیستم عامل های ریل تایم دستورات رو بصورت همزمان اجرا نمیکنن چون در میکروها پردازش موازی نداریم.
              بله مشخصا نداره.منظور بنده هم اعلام گزینه های متفاوت بود که یا باید از دو تایمر استفاده کنین یا اگر برنامه خیلی پیچیده باشه باید از RTOS استفاده بشه که اونم پردازش موازی نیست و فقط چون با سرعت Task ها رو پرادزش میکنه شبیه حالت موازی میشه.

              دلیل: ادغام دو پست برای جلوگیری از اسپم

              نوشته اصلی توسط fmicro نمایش پست ها
              ممنون ..اما سوال این هست که به غیر از حلقه for ویا while از روش دیگری هم میشه استفاده کرد ؟
              بله.شما از یک یا دو تایمر میتونین استفاده کنین و حالتی رو داشته باشین که بدون حلقه اینکار صورت بگیره.اگر تایمر بتونه در یک ثانیه بدون تنظیمات سرریز بشه که همون کافیه وگرنه مثلا اگر 100 میلی ثانیه باشه یک متغیر برای شمارش قرار بدین که هر ده بار یک ثانیه رو بهتون نشون بده
              Aristar Group - Always And Forever

              دیدگاه

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