اطلاعیه

Collapse
No announcement yet.

آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

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

    آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

    توی یه مداری از atmega88 استفاده شده من هرجا گشتم نتونستم این آی سی رو گیر بیارم

    آیا میشه بجای 88 از atmega128 استفاده کنم ؟؟؟؟

    نمیخوام توی PCB تغییرات ایجاد کنم

    ممنون میشم راهنمایی کنید

    #2
    پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

    mega128 بجای mega88 ! :eek: oo: :surprised:

    با یه نگاه کوچولو به دیتا شیت 2 آی سی میشه فهمید که مگا 88 . 32 پین و مگا 128 . 64 پین داره (مگه اینکه بجای یه مگا 128 دو تا مگا 88 بذاری :mrgreen: )
    شوخی کردم

    مگا 88 رو میتونی از لیون الکترونیک بخری یا به جاش میتونی از مگا 168 یا مگا 8 استفاده کنی و اگه مشکل حافظه برنامه رو نداشته باشی می تونی از مگا 48 استفاده کنی

    دیدگاه


      #3
      پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

      نوشته اصلی توسط majid sh
      mega128 بجای mega88 ! :eek: oo: :surprised:

      با یه نگاه کوچولو به دیتا شیت 2 آی سی میشه فهمید که مگا 88 . 32 پین و مگا 128 . 64 پین داره (مگه اینکه بجای یه مگا 128 دو تا مگا 88 بذاری :mrgreen: )
      شوخی کردم

      مگا 88 رو میتونی از لیون الکترونیک بخری یا به جاش میتونی از مگا 168 یا مگا 8 استفاده کنی و اگه مشکل حافظه برنامه رو نداشته باشی می تونی از مگا 48 استفاده کنی
      سلام راست میگه داش مجید مگا 88 تو امجد داره البته اگه تهران هستین اگه نه تو سایتهای فروشگاه الکترونیک فکر کنم باشن

      در ضمن از مگا هشت هم میشه استفاده کرد اگه فایل هگز رو دارید بریزید توش :mrgreen: اگه فایل خود برنامه رو داری نوع میکرو رو تغییر بده بعد بریز توش :mrgreen:
      AV Maziton 100
      Render By Artlantis Studio
      [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

      دیدگاه


        #4
        پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

        سلام
        ممنون از شما

        لیوان الکترونیک موجود نداره !!!

        ممنون میشم اگه جایی رو سراغ دارید و مطمئن هستید این آی سی رو داره شماره تماس رو برای من قرار بدید

        یعنی حافظه 88 با حافظه اتمگا 8 یکیه ؟؟؟

        با تشکر از شما

        دیدگاه


          #5
          پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

          حافظه mega88 با mega8 یکیه، میشه بجاش استفاده کرد

          دیدگاه


            #6
            پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

            دوستان مطمئن هستید حافظه هردو یکیه ؟؟؟؟؟

            سایزش هم با اتمگا 88 یکیه ؟؟؟

            پایه هاشون دقیقا عین همه ؟؟

            چون فیبر مدارچاپی رو چاپ کردم فقط مونده این آی سی که گیرم نیومده

            دیدگاه


              #7
              پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟


              mega88 نوع کاملتر و بهینه سازی شده mega8 هستش از لحاظ پین کاملا با هم سازگارن البته mega88 یه سری امکانات اضافی داره مثلا تمام پینها وقفه خارجی رو میتونن دریافت کنن. روشنه که اگه تو برنامتون از این امکان استفاده شده باشه دیگه نمیشه از mega 8 استفاده کرد

              ولی یه انتخاب بهتر و جایگزین مناسب برای مگا88 آی سی مگا 168 هستش که تنها تفاوت عمده اون با مگا88 حافظه فلش بیشتره که این برا برنامه شما مسلما ایجاد اشکال نمیکنه و تو بازار هم موجوده (من همین هفته پیش 20 عدد از این آی سی رو بصورت اینترنتی خریدم)
              من قدیما از مگا 8 زیاد استفاده میکردم ولی از وقتی با سری mega48/88/168 آشنا شدم دیگه اصلا سراغ مگا8 نمیرم

              دیدگاه


                #8
                پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

                سلام

                من این آی سی رو برای یک چشمک زن چند حالته میخوام استفاده کنم که 22 عدد ال ای دی رو روشن و خاموش میکنه

                در مورد وقفه خارجی چیزی نمیدونم بیشتر توضیح بدید ممنون میشم

                دیدگاه


                  #9
                  پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟


                  با توجه به پروِژه شما بدون شک mega8 جواب کارتون رو میده

                  دیدگاه


                    #10
                    پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

                    سلام

                    الان با استفاده از آی سی اتمگا 8 باید چه تغییراتی توی برنامه داده بشه ؟؟؟

                    من توی پروتئوس تست کردم با اتمگا 88 جواب میده ولی با اتمگا 8 جواب نمیده

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

                    کد PHP:
                    #include <avr/io.h>
                    #include <util/delay.h>
                    #include <avr/interrupt.h>
                    #include <avr/pgmspace.h>


                    volatile uint8_t i=0;


                    #define MAX_STEP 16


                    #define START_DELAY 500

                    #define INIT_DELAY 10


                    #define HEAT_DELAY 110



                    const uint8_t led_level[MAX_STEPPROGMEM =
                        {
                    250,240,200,150,100,50,40,30,
                         
                    25,20,15,10,5,1,1,1};
                         
                    /*1,3,7,15,31,63,127,255,
                         255,240,230,230,230,220,220,210,
                         210,200,200,190,190,180,180,170,
                         160,160,150,150,140,140,130,130,
                         130,120,110,100,90,80,70,60,
                         70,80,90,100,120,130,140,150};*/
                         
                    int ni,nj,nl;
                        

                    ISR (TIMER0_OVF_vect)
                        {
                            
                    PORTB 0xFF;
                            
                    PORTC 0xFF;
                            
                    PORTD 0xFF;
                        };
                     
                    ISR (TIMER0_COMPA_vect)
                        {
                            
                    PORTB 0x00;
                            
                    PORTC 0x00;
                            
                    PORTD 0x00;
                        };


                    int ledON(int val)
                    {
                        switch (
                    val) {
                        case 
                    0:
                            
                    PORTC |= _BV(0);
                        break;
                        case 
                    1:
                            
                    PORTB |= _BV(5);
                        break;
                        case 
                    2:
                            
                    PORTB |= _BV(4);
                        break;
                        case 
                    3:
                            
                    PORTB |= _BV(3);
                        break;
                        case 
                    4:
                            
                    PORTB |= _BV(2);
                        break;
                        case 
                    5:
                            
                    PORTB |= _BV(1);
                        break;
                        case 
                    6:
                            
                    PORTB |= _BV(0);
                        break;
                        case 
                    7:
                            
                    PORTD |= _BV(7);
                        break;
                        case 
                    8:
                            
                    PORTD |= _BV(6);
                        break;
                        case 
                    9:
                            
                    PORTD |= _BV(5);
                        break;
                        case 
                    10:
                            
                    PORTB |= _BV(7);
                        break;
                        case 
                    11:
                            
                    PORTB |= _BV(6);
                        break;
                        case 
                    12:
                            
                    PORTD |= _BV(4);
                        break;
                        case 
                    13:
                            
                    PORTD |= _BV(3);
                        break;
                        case 
                    14:
                            
                    PORTD |= _BV(2);
                        break;
                        case 
                    15:
                            
                    PORTD |= _BV(1);
                        break;
                        case 
                    16:
                            
                    PORTD |= _BV(0);
                        break;
                        case 
                    17:
                            
                    PORTC |= _BV(5);
                        break;
                        case 
                    18:
                            
                    PORTC |= _BV(4);
                        break;
                        case 
                    19:
                            
                    PORTC |= _BV(3);
                        break;
                        case 
                    20:
                            
                    PORTC |= _BV(2);
                        break;
                        case 
                    21:
                            
                    PORTC |= _BV(1);
                        break;
                        }
                    }

                    int ledOFF(int val)
                    {
                        switch (
                    val) {
                        case 
                    0:
                            
                    PORTC &= ~(_BV(0));
                        break;
                        case 
                    1:
                            
                    PORTB &= ~(_BV(5));
                        break;
                        case 
                    2:
                            
                    PORTB &= ~(_BV(4));
                        break;
                        case 
                    3:
                            
                    PORTB &= ~(_BV(3));
                        break;
                        case 
                    4:
                            
                    PORTB &= ~(_BV(2));
                        break;
                        case 
                    5:
                            
                    PORTB &= ~(_BV(1));
                        break;
                        case 
                    6:
                            
                    PORTB &= ~(_BV(0));
                        break;
                        case 
                    7:
                            
                    PORTD &= ~(_BV(7));
                        break;
                        case 
                    8:
                            
                    PORTD &= ~(_BV(6));
                        break;
                        case 
                    9:
                            
                    PORTD &= ~(_BV(5));
                        break;
                        case 
                    10:
                            
                    PORTB &= ~(_BV(7));
                        break;
                        case 
                    11:
                            
                    PORTB &= ~(_BV(6));
                        break;
                        case 
                    12:
                            
                    PORTD &= ~(_BV(4));
                        break;
                        case 
                    13:
                            
                    PORTD &= ~(_BV(3));
                        break;
                        case 
                    14:
                            
                    PORTD &= ~(_BV(2));
                        break;
                        case 
                    15:
                            
                    PORTD &= ~(_BV(1));
                        break;
                        case 
                    16:
                            
                    PORTD &= ~(_BV(0));
                        break;
                        case 
                    17:
                            
                    PORTC &= ~(_BV(5));
                        break;
                        case 
                    18:
                            
                    PORTC &= ~(_BV(4));
                        break;
                        case 
                    19:
                            
                    PORTC &= ~(_BV(3));
                        break;
                        case 
                    20:
                            
                    PORTC &= ~(_BV(2));
                        break;
                        case 
                    21:
                            
                    PORTC &= ~(_BV(1));
                        break;
                        }
                    }

                    int AllON () {
                     
                    int j;
                     
                    0;
                     while (
                    &lt22) {
                        
                    ledON(j);
                        
                    j++;
                     }
                    }
                    int AllOFF () {
                     
                    int j;
                     
                    0;
                     while (
                    &lt22) {
                        
                    ledOFF(j);
                        
                    j++;
                     }
                    }
                     

                    int main(void)
                    {

                     
                    DDRB 0xFF;
                     
                    DDRC 0xFF;
                     
                    DDRD 0xFF;
                     
                    PORTB 0x00;
                     
                    PORTC 0x00;
                     
                    PORTD 0x00;

                     
                    _delay_ms(START_DELAY);
                     
                    //////////////
                    while (1) {
                     
                    PORTB |= _BV(PB0);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTB |= _BV(PB7);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTB |= _BV(PB4);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTC |= _BV(PC3);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTC |= _BV(PC5);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTB |= _BV(PB1);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTB |= _BV(PB6);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTB |= _BV(PB2);
                     
                    //////////////////
                     
                    _delay_ms(INIT_DELAY); 
                     
                    PORTD |= _BV(PD0);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTC |= _BV(PC4);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTB |= _BV(PB3);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTB |= _BV(PB5);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTC |= _BV(PC1);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTC |= _BV(PC2);
                     
                    //////////////////
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTC |= _BV(PC0);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTD |= _BV(PD7);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTD |= _BV(PD4);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTD |= _BV(PD3);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTD |= _BV(PD5);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTD |= _BV(PD1);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTD |= _BV(PD6);
                     
                    _delay_ms(INIT_DELAY);
                     
                    PORTD |= _BV(PD2);
                     
                     
                    _delay_ms(HEAT_DELAY);
                    ///////////////////

                    PORTB 0;
                    PORTC 0;
                    PORTD 0;

                    //_delay_ms(500); 

                    ni 1;
                    nj 0;
                    nl 0;
                    while (
                    ni<2) {

                        while (
                    nj<=22) {
                            
                    ledON(nj);
                            
                    _delay_ms(10); 
                            
                    nj++;
                        }

                        
                    nj 0;
                        while (
                    nj<22) {
                            
                    ledOFF(nj);
                            
                    _delay_ms(10); 
                            
                    nj++;
                        }
                        
                    nj 0;
                        
                    ledON(0);
                        while (
                    nj<22) {
                            
                    ledON(21-nj);
                            
                    _delay_ms(10); 
                            
                    nj++;
                        }
                        
                    nj 0;
                        
                    ledON(0);
                        while (
                    nj<22) {
                            
                    ledOFF(21-nj);
                            
                    _delay_ms(10); 
                            
                    nj++;
                        }

                        
                    nj 0;
                        while (
                    nl &lt3) {
                            while (
                    nj<=22) {
                                
                    ledON(21-nj);
                                
                    _delay_ms(3);
                                
                    ledOFF(21-nj); 
                                
                    nj++;
                            }
                            
                    nj 0;
                            
                    nl++;
                        }
                        
                        
                    nj 0;
                        
                    nl 0;
                        while (
                    nl &lt3) {
                            while (
                    nj<=22) {
                                
                    ledON(21-nj);
                                
                    ledON(20-nj);
                                
                    _delay_ms(3);
                                
                    ledOFF(21-nj);
                                
                    ledOFF(20-nj); 
                                
                    nj++;
                            }
                            
                    nj 0;
                            
                    nl++;
                        }
                        
                        
                    nj 0;
                        
                    nl 0;
                        while (
                    nl &lt3) {
                            while (
                    nj<=22) {
                                
                    ledON(21-nj);
                                
                    ledON(20-nj);
                                
                    ledON(19-nj);
                                
                    _delay_ms(4);
                                
                    ledOFF(21-nj);
                                
                    ledOFF(20-nj); 
                                
                    ledOFF(19-nj); 
                                
                    nj++;
                            }
                            
                    nj 0;
                            
                    nl++;
                        }
                        
                        
                    nj 0;
                        
                    nl 0;
                        while (
                    nl &lt4) {
                            while (
                    nj<=22) {
                                
                    ledON(21-nj);
                                
                    ledON(20-nj);
                                
                    ledON(19-nj);
                                
                    ledON(18-nj);            
                                
                    _delay_ms(5);
                                
                    ledOFF(21-nj);
                                
                    ledOFF(20-nj); 
                                
                    ledOFF(19-nj); 
                                
                    ledOFF(18-nj); 
                                
                    nj++;
                            }
                            
                    nj 0;
                            
                    nl++;
                        }
                        
                        while (
                    nl &lt4) {
                            while (
                    nj<=22) {
                                
                    ledON(21-nj);
                                
                    ledON(20-nj);
                                
                    ledON(19-nj);
                                
                    ledON(18-nj);        
                                
                    ledON(17-nj);    
                                
                    _delay_ms(6);
                                
                    ledOFF(21-nj);
                                
                    ledOFF(20-nj); 
                                
                    ledOFF(19-nj); 
                                
                    ledOFF(18-nj); 
                                
                    ledOFF(17-nj); 
                                
                    nj++;
                            }
                            
                    nj 0;
                            
                    nl++;
                        }
                        
                        while (
                    nl &lt4) {
                            while (
                    nj<=22) {
                                
                    ledON(21-nj);
                                
                    ledON(20-nj);
                                
                    ledON(19-nj);
                                
                    ledON(18-nj);        
                                
                    ledON(17-nj);    
                                
                    ledON(16-nj);
                                
                    _delay_ms(7);
                                
                    ledOFF(21-nj);
                                
                    ledOFF(20-nj); 
                                
                    ledOFF(19-nj); 
                                
                    ledOFF(18-nj); 
                                
                    ledOFF(17-nj); 
                                
                    ledOFF(16-nj); 
                                
                    nj++;
                            }
                            
                    nj 0;
                            
                    nl++;
                        }
                        
                        while (
                    nl &lt4) {
                            while (
                    nj<=22) {
                                
                    ledON(21-nj);
                                
                    ledON(20-nj);
                                
                    ledON(19-nj);
                                
                    ledON(18-nj);        
                                
                    ledON(17-nj);    
                                
                    ledON(16-nj);
                                
                    ledON(15-nj);
                                
                    _delay_ms(8);
                                
                    ledOFF(21-nj);
                                
                    ledOFF(20-nj); 
                                
                    ledOFF(19-nj); 
                                
                    ledOFF(18-nj); 
                                
                    ledOFF(17-nj); 
                                
                    ledOFF(16-nj); 
                                
                    ledOFF(15-nj); 
                                
                    nj++;
                            }
                            
                    nj 0;
                            
                    nl++;
                        }

                        
                    nj 0;
                        
                    nl 0;
                        while (
                    nl &lt4) {
                            
                    AllON();
                            
                    _delay_ms(30);
                            
                    AllOFF();
                            
                    _delay_ms(25);
                            
                    AllON();
                            
                    _delay_ms(55);
                            
                    AllOFF();
                            
                    _delay_ms(110);
                            
                    nl++;
                        }
                        
                    //PORTB = 0;
                        //PORTC = 0;
                        //PORTD = 0;
                        // PORTB |= _BV(PB6);
                        // PORTB |= _BV(PB7);
                        // _delay_ms(300); 
                        // PORTB &= ~(_BV(PB7));
                        //_delay_ms(300);
                        //PORTB = 0;
                        
                    ni++;
                        
                    nj 0;
                    }


                     
                    TCCR0A 0<<WGM00|0<<WGM01
                     
                    TCCR0B 0<<WGM02|0<<WGM01|0<<CS02|1<<CS01|1<<CS00;
                     
                    //OCR0A = 0xFF;
                     
                     
                    TIMSK0 _BV(TOIE0); 
                     
                    TIMSK0 |= _BV(OCIE0A); 
                     
                    sei(); 
                     
                     
                     
                    // _delay_ms(HEAT_DELAY);
                     //_delay_ms(200);
                     //OCR0A = 0x01;
                     //_delay_ms(200); 
                     //OCR0A = 64; 
                     //_delay_ms(200); 
                     //OCR0A = 128; 
                     // _delay_ms(200); 
                     //OCR0A = 0xFF; 
                     
                     
                     
                     
                    1;
                     
                     
                     
                    nl 0;
                     

                     while (
                    nl <= 511
                        {
                            
                    cli();
                            
                    TCCR0B 0
                            
                    //TCNT0 = 0;
                            
                    OCR0A i;
                            
                    //OCR0A = led_level[i];
                            
                    i++;
                        
                            
                    //if ( i > MAX_STEP ) i = 0; 
                            
                    TCCR0B 0<<WGM02|0<<WGM01|0<<CS02|1<<CS01|1<<CS00
                            
                    sei();
                            
                    _delay_us(1000);
                            
                    nl++;
                        
                        }

                        
                    cli();
                        
                    /*cli();
                        AllOFF();
                        _delay_ms(50);
                        AllON();
                        _delay_ms(50);
                        AllOFF();*/
                    };
                     
                    return 
                    0;

                    دیدگاه


                      #11
                      پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

                      سلام

                      کسی نیست بتونه راهنماییمون کنه ؟؟؟ :bye

                      دیدگاه


                        #12
                        پاسخ : آیا میشه بجای atmega88 از atmega 128 استفاده کنیم ؟؟؟

                        سلام خدمت دوستان
                        فکر کنم باید از توی نرم افزار آیسی تون رو انتخاب کنین
                        همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
                        لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
                        تایپیک های من:
                        حل تمام مشکلات atmega128a (eca.ir)
                        آموزش کار با سایت (eca.ir)

                        دیدگاه

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