اطلاعیه

Collapse
No announcement yet.

کد برای چند کاره کردن یک شستی در کد ویژن

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

    کد برای چند کاره کردن یک شستی در کد ویژن

    میخوام یک کلید برام چند کار مختلف انجام بده ی

    #2
    پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

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

    دیدگاه


      #3
      پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

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

      دیدگاه


        #4
        پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

        ببین می خوام یه مدار که چند تا ال ای دی با هم روشن میشن با هر بار زدن کلید حالتشون (رقصشون)عوض بشه یه کدی برای کد ویژن میخوام

        دیدگاه


          #5
          Re: پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

          نوشته اصلی توسط بهنام خ نمایش پست ها
          ببین می خوام یه مدار که چند تا ال ای دی با هم روشن میشن با هر بار زدن کلید حالتشون (رقصشون)عوض بشه یه کدی برای کد ویژن میخوام
          خب اگه کدهای رقص نور دستت باشه بقیش راحته
          کافیه یک کلید تعریف کنی و در شرط زده شدن کلید یک متغیر تعریف کنی(با شرط زده شدن باید AND بشه) که با هر بار زدن کلید اون متغیر یک عدد بیشتر بشه
          بعدش برای هر عدد متغیر یک مد رقص نور تعیین می شه
          اگه با زبان C کار میکنی کدشم میتونم بذارم

          دیدگاه


            #6
            پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

            ببین می خوام یه مدار که چند تا ال ای دی با هم روشن میشن با هر بار زدن کلید حالتشون (رقصشون)عوض بشه یه کدی برای کد ویژن میخوام

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

            اره من تازه کارم دنبال همین کدم بده اگه زحمت نیست

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

            الان یه متغیر مثلاَaتعریف کردم حالا چه کدی بزارم تا وقتی شستی فشار داده میشه به مقدارش یه واحد دیگه اضافه بشه در زبان c
            در ضمن با کد ویژن دارم مینویسم

            دیدگاه


              #7
              Re: پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

              نوشته اصلی توسط بهنام خ نمایش پست ها
              ببین می خوام یه مدار که چند تا ال ای دی با هم روشن میشن با هر بار زدن کلید حالتشون (رقصشون)عوض بشه یه کدی برای کد ویژن میخوام
              کد رو من به صورت کلی اینجا می نویسم بعدش جاهای خالی را با معلومات خود پر کنید دیگه
              if(PIN==0 && a==0){    
              a++;
              led ...
              ...
              ...
              }
              if(PIN==0 && a==1)
              {
              a++;
              led...
              ...
              ...
              }
              ...
              ...
              ...
              ...
              if (PIN==0 && a==5)
              {
              a=0;
              led...
              ...
              ...
              }

              دیدگاه


                #8
                پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                نوشته اصلی توسط بهنام خ نمایش پست ها
                ببین می خوام یه مدار که چند تا ال ای دی با هم روشن میشن با هر بار زدن کلید حالتشون (رقصشون)عوض بشه یه کدی برای کد ویژن میخوام
                فرض میگیرم قراره 3 حالت داشته باشی. یه متغیر تعریف کن مثلا به اسم k با مقدار اولیه صفر. میای توی وقفه کدی مینویسی که هربار این متغیر رو یکی زیاد کنه و اگر رسید به 3 دوباره صفرش کنه تا 3 حالت مختلف برای k پیش بیاد. (0 و 1 و 2)
                کافیه توی حلقه اصلی برنامه با if یا while یا هر روش دیگه ای چک کنی ببینی k چنده و بر اساس اون نوع چشمک زدن رو کنترل کنی.

                دیدگاه


                  #9
                  پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                  ممنون میشم همینا رو مثل دوست قبلی بصورت کد بنویسی که با چه دستوری چک کنم یا با حالت اول برگرده یا بهش یکی اضافه کنم

                  دیدگاه


                    #10
                    پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                    نوشته اصلی توسط بهنام خ نمایش پست ها
                    ممنون میشم همینا رو مثل دوست قبلی بصورت کد بنویسی که با چه دستوری چک کنم یا با حالت اول برگرده یا بهش یکی اضافه کنم
                    #include <mega16.h>

                    int k = 0;


                    interrupt [EXT_INT0] void ext_int0_isr(void)
                    {
                    if(k<2) k++;
                    else k = 0;
                    }


                    void main(void)
                    {
                    GICR = (1<<INT0);
                    MCUCR =(1<<ISC01) | (1<<ISC00);
                    // port configuration

                    while(1)
                    {
                    while(k == 0)
                    {
                    // blink 1
                    }
                    while(k == 1)
                    {
                    // blink 2
                    }
                    while(k == 2)
                    {
                    // blink 3
                    }
                    }
                    }

                    خوب جای کامنت port configuration باید پیکر بندی های پورت و پین و.. رو انجام بدید و جای کامنت های blink هم باید کد مربوط به هر نوع چشمک زنی قرار بگیره. اگر قراره از delay استفاده کنید باید کتابخونه اش رو خودتون اضافه کنید.
                    اما در مورد وقفه خارجی هم باید بگم وقفه خارجی 0 با لبه بالا رونده تحریک میشه.

                    دیدگاه


                      #11
                      پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                      ببخشید هر گاری کردم نشد ببین من میخوام شش تا ال ای دی رو با افکت های مختلف روشن کنم حالا اینجا فقط میخوم با زدن هر بار شستی یه افکت بیاد برنامه رو به زبان سی در کدویژن مینویسم برای مگا 8 هم است گه لطف کنی پایه های ورودی و خروجی رو هم برام پیکربندی کنی چون هر کا ر کردم نشد

                      دیدگاه


                        #12
                        پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                        این برنامه منه ولی کار نمیکنه کلید
                        کد:
                        [FONT=Yekan]#include <mega8.h>[/FONT]#include <delay.h>
                        #define ADC_VREF_TYPE 0x00
                        int k = 0;
                         
                        interrupt [EXT_INT0] void ext_int0_isr(void)
                        {  
                           if(k<2) k++;
                           else k = 0;
                        }
                        void main(void)
                        {
                            GICR = (1<<INT0);
                            MCUCR =(1<<ISC01) | (1<<ISC00);
                             DDRC=0xff;
                             PIND=0x00
                          ;// port configuration
                             
                            while(1)
                            
                            {
                                 while( k== 0)
                                 {
                                   PORTC=0b101010;
                                        delay_ms(75);
                                          PORTC=0b01010101;
                                           delay_ms(75); // blink 1
                                 }
                                 while(k == 1)
                                 {
                                    PORTC=0b000000;
                                        delay_ms(75);
                                          PORTC=0b1000000;
                                           delay_ms(75)
                                           ;// blink 2
                                 }
                                 while(k == 2)
                                 {
                                    PORTC=0b11001;
                                        delay_ms(75);
                                          PORTC=0b001100;
                                           delay_ms(75);// blink 3
                                 }
                            }
                        [FONT=Yekan]}[/FONT]

                        دیدگاه


                          #13
                          پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                          نوشته اصلی توسط بهنام خ نمایش پست ها
                          این برنامه منه ولی کار نمیکنه کلید
                          کد:
                          [FONT=Yekan]#include <mega8.h>[/FONT]#include <delay.h>
                          #define ADC_VREF_TYPE 0x00
                          int k = 0;
                           
                          interrupt [EXT_INT0] void ext_int0_isr(void)
                          {  
                             if(k<2) k++;
                             else k = 0;
                          }
                          void main(void)
                          {
                              GICR = (1<<INT0);
                              MCUCR =(1<<ISC01) | (1<<ISC00);
                               DDRC=0xff;
                               PIND=0x00
                            ;// port configuration
                               
                              while(1)
                              
                              {
                                   while( k== 0)
                                   {
                                     PORTC=0b101010;
                                          delay_ms(75);
                                            PORTC=0b01010101;
                                             delay_ms(75); // blink 1
                                   }
                                   while(k == 1)
                                   {
                                      PORTC=0b000000;
                                          delay_ms(75);
                                            PORTC=0b1000000;
                                             delay_ms(75)
                                             ;// blink 2
                                   }
                                   while(k == 2)
                                   {
                                      PORTC=0b11001;
                                          delay_ms(75);
                                            PORTC=0b001100;
                                             delay_ms(75);// blink 3
                                   }
                              }
                          [FONT=Yekan]}[/FONT]
                          شرمنده یه موردی یادم رفته دیروز اضافه کنم به کد. داخل تابع main خط زیر رو وارد کنید درست میشه:
                          #asm("sei")

                          دیدگاه


                            #14
                            پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                            خب الان این کد درسته ؟ اگه اونم بزارم داخل تابع جواب میده

                            دیدگاه


                              #15
                              پاسخ : کد برای چند کاره کردن یک شستی در کد ویژن

                              نوشته اصلی توسط بهنام خ نمایش پست ها
                              خب الان این کد درسته ؟ اگه اونم بزارم داخل تابع جواب میده
                              اگر مشکل سخت افزاری نباشه، باید جواب بده

                              دیدگاه

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