اطلاعیه

Collapse
No announcement yet.

مشکل در ساخت تابلو روان گردان

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

    مشکل در ساخت تابلو روان گردان

    سلام
    من یک تابلو روان گردان حرفه ای دارم میسازم قبلا ساده تر از اینو ساخته بودم
    ولی بدلیل کمبود سواد از شما اساتید کمک می خواهم
    1.موتورمو عوض کردم موتور جانسون سشواری را استفاده کردم ولیrpm اونو
    نمیدونم تو برگه اطلاعاتش اونقدر موتور ها شبیه بودن که نتونستم تشخیص بدم
    تو سایت هست با قیمت4500تومان اگه کسی میدونه بگه http://eshop.eca.ir/product_info.php...oducts_id=1484
    2.علت اینکه پروگرامر من بعد از چند بار پروگرام میکرو رو میسوزونه چیه ولی وقتی تغذیه رابه میکرو میدم هرپایه 0.5ولت ولتاژ داره جریان مجاز میکرو چقدر است
    3.من یک تابع برای تابلو روان گردان نوشتم ولی کدویژن ارور میده:Error:
    Propeller Display.c(87): storage modifier not allowed in this context
    من از مگا8 استفاده میکنم لطفا کمکم کنید من تو برنامه نویسی با cمتوسطم
    کد:
    [font=arial][left]
    /*****************************************************
    Project : Propeller Display
    Version : 3.00.00
    Date  : 2013/03/22
    Author : amir masoud khademi
    
    Chip type        : ATmega8
    Program type      : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model      : Small
    External RAM size    : 0
    Data Stack size     : 256
    *****************************************************/
    #include <mega8.h>
    #include <delay.h>
    #include <stdlib.h>
    int i;
    //External ineterrupt 0  service routine
    
    
    interrupt [EXT_INT0]  void ext_int0_isr(void)
    {
    i++;
    }
    flash unsigned char program[] ={ \
     0x30, \  // ..@@....
     0x48, \  // .@..@...
     0x28, \  // ..@.@...
     0x78, \  // .@@@@...
     0x00, \  // ........
     0x78, \  // .@@@@...
     0x08, \  // ....@...
     0x30, \  // ..@@....
     0x08, \  // ....@...
     0x70, \  // .@@@....
     0x00, \  // ........
     0x48, \  // .@..@...
     0x7A, \  // .@@@@.@.
     0x40, \  // .@......
     0x00, \  // ........
     0x78, \  // .@@@@...
     0x10, \  // ...@....
     0x08, \  // ....@...
     0x10, \  // ...@....
     0x00, \  // ........
     0x00, \  // ........
     0x00, \  // ........
     0x00, \  // ........
     0x00, \  // ........
     0x00, \  // ........
     0x7E, \  // .@@@@@@.
     0x10, \  // ...@....
     0x10, \  // ...@....
     0x68, \  // .@@.@...
     0x00, \  // ........
     0x7E, \  // .@@@@@@.
     0x08, \  // ....@...
     0x08, \  // ....@...
     0x70, \  // .@@@....
     0x00, \  // ........
     0x30, \  // ..@@....
     0x48, \  // .@..@...
     0x28, \  // ..@.@...
     0x78, \  // .@@@@...
     0x00, \  // ........
     0x30, \  // ..@@....
     0x48, \  // .@..@...
     0x28, \  // ..@.@...
     0x7E, \  // .@@@@@@.
     0x00, \  // ........
     0x30, \  // ..@@....
     0x68, \  // .@@.@...
     0x58, \  // .@.@@...
     0x50, \  // .@.@....
     0x00, \  // ........
     0x78, \  // .@@@@...
     0x08, \  // ....@...
     0x30, \  // ..@@....
     0x08, \  // ....@...
     0x70, \  // .@@@....
     0x00, \  // ........
     0x48, \  // .@..@...
     0x7A, \  // .@@@@.@.
     0x40, \  // .@......
     0x00  \  // ........
     };
    void propeller (flash unsigned char str,int replay,int line,int line display,int c,int d,int delay,int rps){
    if(i!=0){
    int row num,o,p,q,w,x,y,z;
    delay_us(d*delay);
    unsigned int a;
    for(w=0;w<=replay;w++){
    
    if(q==1){
    delay_us(c*delay);
    } else {
    q++;
    l=c;
    }
    for(y=0;y<=line display;y++){
    DDRC=0xFF;
    delay_us(delay);
    PORTC=0x00;
    }
    z=line display;
    p=line;
    o=d+c-l;
    if(z<=p){
    a=z;
    a-=p;
    a=abs(a);
    delay_us((o+a)*delay);
    }
    if(z<=2p){
    a=z;
    a-=2p;
    a=abs(a);
    delay_us((o+a)*delay);
    }
    if(z<=3p){
    a=z;
    a-=3p;
    a=abs(a);
    delay_us((o+a)*delay);
    }
    if(z<=4p){
    a=z;
    a-=4p;
    a=abs(a);
    delay_us((o+a)*delay);
    }
    if(z<=5p){
    a=z;
    a-=5p;
    a=abs(a);
    delay_us((o+a)*delay);
    }
    }
    }
    }
    
    void main (void){
    DDRC=0xFF;
    PORTC=0x00; //IC NOT   PIN LED=CAT
    
     // External Interrupt(s) initialization
    // INT0: On
    // INT0 Mode: Falling Edge
    // INT1: Off
    GICR|=0x40;
    MCUCR=0x02;
    GIFR=0x40;
    MCUCSR=0x00;
    
    //Global enable interrupts
    #asm("sei")
    while(1){
    
    }
    }
    [/left][/font]
    که str رشته ورودی replayتکرار درثانیه lineتعدادپیکسل در یک دورline displayتعدادپیکسل نمایش(رشتهstr)
    cزمان تاخیر درزمان شروع نمایش dتعدادشیفت در ثانیه delayتاخیر نمایش یک پیکسل در دور وrpsتعداد دورموتور در ثانیه است.
    وifهای آخربرای بالانس کردن برای رسیدن به مبنا شروع جهت اجرای دستورات بدون هنگ کردن تابلوزیرا کل برنامه بر اساس یک مبنا شروع نوشته شده تا هر دستور نسبت به آن شروع شود
    که میشه با اپتوکانتر سادش کردبهint0وصل شود:به جای
    if(i!=0){}
    دراول برنامه
    کد:
    if(i++){}
    در دریای طوفانی با خدا بودن بهتر از ناخدا بودن است

    #2
    پاسخ : مشکل در ساخت تابلو روان گردان

    سلام دوست عزیز
    منم علاقه مند شدم تا یکیشو بسازم
    تا یه جاهایی هم پیش رفتم
    یه سری اطلاعات اولیه دارم از برنامه نویسیش
    اما نمیدونم چطوری باید بنویسم
    از کجا باید شروع کنم
    بیا به کمک هم از پسش بر بیایم
    انشاءالله بقیه دوستان هم کمک میکنن :nerd:
    فقط یه مشکلی هست
    اونم اینکه من بسکام بلدم
    با سی خیلی آشنا نیستم :cry2:
    یا علی

    دیدگاه


      #3
      پاسخ : مشکل در ساخت تابلو روان گردان

      فک کنم اگه جامپر تغذیه رو از روی پروگرامر بردارید و تغذیه جدا بدید به میکرو مشکلتون حل شه
      چيزي را بگو که بتواني بنويسي
      چيزي را بنويس که بتواني امضا کني
      چيزي را امضا کن که بتواني به آن عمل کني (ناپلئون)

      دیدگاه

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