اطلاعیه

Collapse
No announcement yet.

atmega16 به جای atmega8

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

    atmega16 به جای atmega8

    سلام
    من یه پروژه ای رو با استفاده از آی سیatmega8 انجام دادم منتها الان در همون پروژه لازمه atmega16 به جای atmega8 بذارم در واقع پورت کم آوردم....
    حالا می خوام بدونم که چه تغییراتی در برنامه باید بدم آخه من دیتا شیت هر دوشو نگاه کردم رجیسترهاش کاملا مشابهن...اما نمیدونم چرا با برنامه قبلی جواب نمیده؟؟!!زبان برنامه هم c هست(codvision)
    ممنون میشم کمکم کنید...
    ====================
    هر موفیت بزرگی نتیجه هزاران تلاش کوچک و عادی ست...که مورد توجه و ستایش افراد دیگر قرار نگرفته اند...
    =====================

    #2
    پاسخ : atmega16 به جای atmega8

    تو برنامت از چیا استفاده کردی ؟
    A-Hosseini

    دیدگاه


      #3
      پاسخ : atmega16 به جای atmega8

      نوشته اصلی توسط ELECGIRL
      سلام
      من یه پروژه ای رو با استفاده از آی سیatmega8 انجام دادم منتها الان در همون پروژه لازمه atmega16 به جای atmega8 بذارم در واقع پورت کم آوردم....
      حالا می خوام بدونم که چه تغییراتی در برنامه باید بدم آخه من دیتا شیت هر دوشو نگاه کردم رجیسترهاش کاملا مشابهن...اما نمیدونم چرا با برنامه قبلی جواب نمیده؟؟!!زبان برنامه هم c هست(codvision)
      ممنون میشم کمکم کنید...
      سلام دوست عزیز
      برنامتو بزار ببینیم چه طوریه؟
      در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

      دیدگاه


        #4
        پاسخ : atmega16 به جای atmega8


        #include <mega8.h>
        #define red_1 PORTB.0
        #define yellow_1 PORTB.1
        #define green_1 PORTB.2
        #define green_a PORTB.6
        #define red_a PORTB.7


        unsigned char sw,time;
        unsigned char DISPLAY (unsigned char input){
        switch(input){
        case 1:{return 0x06;break;}
        case 2:{return 0x5B;break;}
        case 3:{return 0x4F;break;}
        case 4:{return 0x66;break;}
        case 5:{return 0x6D;break;}
        case 6:{return 0x7D;break;}
        case 7:{return 0x07;break;}
        case 8:{return 0x7F;break;}
        case 9:{return 0x6F;break;}
        case 0:{return 0x3F;break;}
        }
        }
        interrupt [TIM1_COMPA] void timer1_compa_isr(void)
        { time--;

        PORTD=DISPLAY(time);

        switch(sw){
        case 0:
        {green_a=0;
        red_a=1;



        yellow_1=0;


        green_1=1;
        red_1=0;


        break;
        }
        case 1:
        {
        green_a=0;
        red_a=0;


        yellow_1=1;


        green_1=0;
        red_1=0;


        break;
        }
        case 2:
        {
        green_a=1;
        red_a=0;



        yellow_1=0;


        green_1=0;
        red_1=1;


        break;
        }
        case 3:
        {
        green_a=1;
        red_a=0;


        yellow_1=0;


        green_1=0;
        red_1=1;


        break;
        }
        }
        if (time ==0 ){
        time=10;
        sw++;
        sw=sw%4;
        }
        }




        void main(void)
        {

        PORTB=0x00;
        DDRB=0xFF;


        PORTC=0x00;
        DDRC=0xFF;


        PORTD=0x00;
        DDRD=0xFF;


        TCCR0=0x00;
        TCNT0=0x00;


        TCCR1A=0x00;
        TCCR1B=0x0D;
        TCNT1H=0x00;
        TCNT1L=0x00;
        ICR1H=0x00;
        ICR1L=0x00;
        OCR1AH=0x03;
        OCR1AL=0xD1;
        OCR1BH=0x00;
        OCR1BL=0x00;


        ASSR=0x00;
        TCCR2=0x00;
        TCNT2=0x00;
        OCR2=0x00;


        MCUCR=0x00;


        TIMSK=0x10;


        time=10;

        ACSR=0x80;
        SFIOR=0x00;


        #asm("sei&quot

        while (1)
        {

        };
        }
        این برنامه واسه atmega8 جواب میده..البته کامل نیست که یک پورت کم داشته باشه ولی برنامه اصلی هم روالش دقیقا مثل همینه....من خط اولشو تغییر دادم پورت A مربوط به atmega16 رو هم به عنوان خروجی تعریف کردم ولی جواب نمیده ...دیگه نمیدونم باید چیکارکنم؟؟
        ====================
        هر موفیت بزرگی نتیجه هزاران تلاش کوچک و عادی ست...که مورد توجه و ستایش افراد دیگر قرار نگرفته اند...
        =====================

        دیدگاه


          #5
          پاسخ : atmega16 به جای atmega8

          دوستان کسی نمیدونه باید چیکار کنم ؟ !!! من همچنان منتظر پاسخ شما هستم.......
          ====================
          هر موفیت بزرگی نتیجه هزاران تلاش کوچک و عادی ست...که مورد توجه و ستایش افراد دیگر قرار نگرفته اند...
          =====================

          دیدگاه


            #6
            پاسخ : atmega16 به جای atmega8

            نوشته اصلی توسط ELECGIRL
            دوستان کسی نمیدونه باید چیکار کنم ؟ !!! من همچنان منتظر پاسخ شما هستم.......
            سلام
            برنامت ظاهرا مشکلی نداره. یک سوال:
            پروژه جدید رو چطوری معرفی میکنی با CodeWizard ؟
            در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

            دیدگاه


              #7
              پاسخ : atmega16 به جای atmega8

              سعی نکن همین برنامه رو تغییر بدی
              یه برنامه جدید ایجاد کن ، بعد کد های اینو کپی کن توش ، اونجا تغییرش بده
              Share OR Die

              دیدگاه


                #8
                پاسخ : atmega16 به جای atmega8


                [/quote]
                سلام
                برنامت ظاهرا مشکلی نداره. یک سوال:
                پروژه جدید رو چطوری معرفی میکنی با CodeWizard ؟
                [/quote]
                در codewizard بدون وارد کردن مشخص کردن لبه های تایمر و ... اون رو save میکنم ویک پروژه جدید ایجاد میکنم و بعد در اون برنامه جدید رو با تمام کدهاش کپی میکنم.. قبلا هم این کارو کردم و مشکلی پیش نیومده...اما نمی دونم این سری چرا جواب نمیده؟!!!
                ====================
                هر موفیت بزرگی نتیجه هزاران تلاش کوچک و عادی ست...که مورد توجه و ستایش افراد دیگر قرار نگرفته اند...
                =====================

                دیدگاه


                  #9
                  پاسخ : atmega16 به جای atmega8

                  نوشته اصلی توسط Mahdi.N
                  سعی نکن همین برنامه رو تغییر بدی
                  یه برنامه جدید ایجاد کن ، بعد کد های اینو کپی کن توش ، اونجا تغییرش بده
                  دقیقا همین کارو کردم ولی جواب نمیده!!
                  ====================
                  هر موفیت بزرگی نتیجه هزاران تلاش کوچک و عادی ست...که مورد توجه و ستایش افراد دیگر قرار نگرفته اند...
                  =====================

                  دیدگاه


                    #10
                    پاسخ : atmega16 به جای atmega8

                    نوشته اصلی توسط ELECGIRL

                    دقیقا همین کارو کردم ولی جواب نمیده!!
                    سلام
                    میکرو سالمه (mega32)؟
                    توی پروتئوس چک کردی ؟
                    در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

                    دیدگاه


                      #11
                      پاسخ : atmega16 به جای atmega8

                      برنامه در پروتئوس جواب نمیده...و خیلی عجیبه که پایه های میکرو به جای اینکه قرمز و آبی باشند اکثرا آبی یعنی صفرند و بقیه هم خاکستری اند!!!!یعنی فکر میکنم اصلا روتین وقفه ش اجرا نمیشه چون پورت هایی که به عنوان خروجی تعریف شدند در پروتئوس همچنان صفر باقی می مونند و طبق برنامه تغییری نمی کنند!!!!
                      ====================
                      هر موفیت بزرگی نتیجه هزاران تلاش کوچک و عادی ست...که مورد توجه و ستایش افراد دیگر قرار نگرفته اند...
                      =====================

                      دیدگاه


                        #12
                        پاسخ : atmega16 به جای atmega8

                        نوشته اصلی توسط ELECGIRL
                        برنامه در پروتئوس جواب نمیده...و خیلی عجیبه که پایه های میکرو به جای اینکه قرمز و آبی باشند اکثرا آبی یعنی صفرند و بقیه هم خاکستری اند!!!!یعنی فکر میکنم اصلا روتین وقفه ش اجرا نمیشه چون پورت هایی که به عنوان خروجی تعریف شدند در پروتئوس همچنان صفر باقی می مونند و طبق برنامه تغییری نمی کنند!!!!
                        سلام
                        ببین دوست عزیز یه کار دیگه رو انجام بده
                        با استفاده از codewizard تمامی تنظیمات مورد نیاز رو انجام بده (از قبیل وقفه ، پورتها و...) و بعدش بقیه اجزای برنامه رو بهش اضافه کن
                        در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

                        دیدگاه


                          #13
                          پاسخ : atmega16 به جای atmega8

                          سلام
                          مشکلم حل شد و حالا دیگه جواب میده ...فقط وقتی که می خواستم پروژه جدید ایجاد کنم در قسمت کدویزارد فقط آی سی atmega16رو انتخاب کردم و بعد برنامه اصلی رو در اون کپی پیست کردم و به همین راحتی جواب داد ...از دوستانی که زحمت کشیدن و در این تاپیک شرکت کردن ممنونم.... :agree:
                          ====================
                          هر موفیت بزرگی نتیجه هزاران تلاش کوچک و عادی ست...که مورد توجه و ستایش افراد دیگر قرار نگرفته اند...
                          =====================

                          دیدگاه


                            #14
                            پاسخ : atmega16 به جای atmega8

                            نوشته اصلی توسط ELECGIRL
                            سلام
                            مشکلم حل شد و حالا دیگه جواب میده ...فقط وقتی که می خواستم پروژه جدید ایجاد کنم در قسمت کدویزارد فقط آی سی atmega16رو انتخاب کردم و بعد برنامه اصلی رو در اون کپی پیست کردم و به همین راحتی جواب داد ...از دوستانی که زحمت کشیدن و در این تاپیک شرکت کردن ممنونم.... :agree:
                            سلام

                            اگه مورد دیگه ای بود مطرح کن با هم روش کار میکنیم
                            در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

                            دیدگاه

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