ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2012/10/17
    4
    0

    تابلو روان با دیکدر

    سلام دوستان
    من میخوام یه تابلو روان8*16 بسازم که توی سخت افزارش به جای لچ از ic دیکدر استفاده بشه.
    در حال حاضر یه مدار دارم که توش از آی سی 74hc573 استفاده شده.ولی استادم گفته حتمآ از دیکدر استفاده کن.
    در ضمن برای برنامه نویسیشم که به زبان c هست.احتیاج به کمک دارم.
    ممنون میشم جوابمو زود بدین.
  2. #2
    2007/04/28
    586
    2

    پاسخ : تابلو روان با ديکدر

    نقل قول نوشته اصلی توسط np_1990k
    سلام دوستان
    من ميخوام يه تابلو روان8*16 بسازم که توي سخت افزارش به جاي لچ از ic ديکدر استفاده بشه.
    در حال حاضر يه مدار دارم که توش از آي سي 74hc573 استفاده شده.ولي استادم گفته حتمآ از ديکدر استفاده کن.
    در ضمن براي برنامه نويسيشم که به زبان c هست.احتياج به کمک دارم.
    ممنون ميشم جوابمو زود بدين.
    خب يه ديکدر 16*4 لازم داري که به ستون ها ميدي و بعدش ميتوني داده 8 بيتي به سطرها بدي
    برعکس هم ميشه ولي اونطوري چون 2 بايت بايد به خروجي بدي منطقي نيست
    [size=1.45em][glow=red,2,300]تاپيک هاي ايجاد شده[/glow][/size]
    • [li]

      مهمان عزیز شما حق دیدن لینک ها را ندارید

      عضویت

      [/li]
  3. #3
    2012/10/17
    4
    0

    پاسخ : تابلو روان با دیکدر

    ممنون.
    میشه بهم بگین توی سخت افزارش آیا حتمآ لازمه که از آی سی uln2803 واسه جریان دهی استفاده کنم یا نه؟
    شماره آی سی دیکدر رو هو اگه بهم بگین ممنون میشم.
    و سوال آخرم اینکه توی برنامش که به زبان c هست چه تغییری باید ایجاد کنم؟
  4. #4
    2007/04/28
    586
    2

    پاسخ : تابلو روان با ديکدر

    نقل قول نوشته اصلی توسط np_1990k
    ممنون.
    ميشه بهم بگين توي سخت افزارش آيا حتمآ لازمه که از آي سي uln2803 واسه جريان دهي استفاده کنم يا نه؟
    شماره آي سي ديکدر رو هو اگه بهم بگين ممنون ميشم.
    و سوال آخرم اينکه توي برنامش که به زبان c هست چه تغييري بايد ايجاد کنم؟
    74154 ديکدر 4*16 هست ولي منطق خروجي Low هست
    پيشنهاد بهتر استفاده از 74159 هست که خروجي Open collector داره
    حتما نبايد از ULN استفاده کنين ولي در کل براي تقويت جريان بايد کاري کنين
    برنامه هم به نحوه طراحي شما مربوط ميشه
    [size=1.45em][glow=red,2,300]تاپيک هاي ايجاد شده[/glow][/size]
    • [li]

      مهمان عزیز شما حق دیدن لینک ها را ندارید

      عضویت

      [/li]
  5. #5
    2012/10/17
    4
    0

    پاسخ : تابلو روان با ديکدر

    يه برنامه ي کلي دارم که البتهsearch کردم.
    حالا دقيقا نميدونم بايد چي رو تغيير بدم.
    کد:
    #include <mega8.h>
    #include <delay.h>
    // Declare your global variables here
    #define scan PORTD
    #define dat PORTB
    #define le1 PORTC.0
    #define le2 PORTC.1
    #define endi 2
    #define endj 8
    #define endp 8
    
    
    flash unsigned char buf_len1[9][8]=      //right
    {
    //#define buf_len_ 36
    
    0x00 ,0x01 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,0x04 ,
    0xC0 ,0x80 ,0xBF ,0xA8 ,0xB8 ,0x00 ,0x80 ,0x00 ,
    0x30 ,0x00 ,0xBF ,0xA5 ,0xA5 ,0x80 ,0x83 ,0x81 ,
    0x00 ,0x00 ,0xFF ,0x4C ,0x4F ,0x00 ,0x80 ,0x0F ,
    0x00 ,0x00 ,0xFD ,0x05 ,0xC5 ,0x44 ,0x44 ,0xC4 ,
    0x00 ,0x00 ,0xC7 ,0x45 ,0xC7 ,0x00 ,0x00 ,0x00 ,
    0x30 ,0x00 ,0xFF ,0x16 ,0x17 ,0x00 ,0x00 ,0x07 ,
    0x03 ,0x02 ,0xFA ,0x02 ,0xE2 ,0x20 ,0x20 ,0xE0 ,
    0x9E ,0x10 ,0x1E ,0x12 ,0x1E ,0x00 ,0x00 ,0x00 
    };
    flash unsigned char buf_len2[9][8]=      //lift
    {
    //#define buf_len_ 32
    
    0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
    0x00 ,0x01 ,0x01 ,0x01 ,0x01 ,0x01 ,0x00 ,0x00 ,
    0xE3 ,0x12 ,0x10 ,0x10 ,0x10 ,0x10 ,0xE0 ,0x00 ,
    0xEF ,0x49 ,0x41 ,0x41 ,0x41 ,0x41 ,0xE3 ,0x00 ,
    0x8F ,0x08 ,0x02 ,0x03 ,0x02 ,0x08 ,0x8F ,0x00 ,
    0xC7 ,0x82 ,0x82 ,0x83 ,0x82 ,0x82 ,0xC7 ,0x00 ,
    0x70 ,0x20 ,0x20 ,0xE0 ,0x20 ,0x20 ,0x70 ,0x00 ,
    0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,
    0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 
    };
    unsigned char i=0;
    unsigned char j=0;
    unsigned char p=0;
    unsigned char z=0;
    unsigned char k=0;
    unsigned char endz=0;
    unsigned char endk=0;
    unsigned char char1=0;
    unsigned char char2=0;
    char a[8]={1, 2, 4 ,8 ,16, 32 ,64 ,128 }; //     128,64,32,16,8,4,2,1
    void lift();
    void right();
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0xFF;
    
    // Port C initialization
    // Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out 
    // State6=T State5=T State4=T State3=T State2=0 State1=0 State0=0 
    PORTC=0x00;
    DDRC=0x07;
    
    // Port D initialization
    // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
    // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
    PORTD=0x00;
    DDRD=0xFF;
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    TCCR0=0x00;
    TCNT0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer 1 Stopped
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer 2 Stopped
    // Mode: Normal top=FFh
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    MCUCR=0x00;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    while (1)
       {  
        endz=15; //speed
        endk=4; //tole matn
        right(); 
         
        endz=15; //speed
        endk=4; //tole matn
        lift();
         
       };
    }
    void lift()
     { 
    //#define endi 2
    //#define endj 8
    //#define endp 8
    //endz=15; //speed
    //endk=7; //tole matn
      for(k=0;k<endk;k++)      //tole matn
        {
         for(p=0;p<endp;p++)   // 8
          {
           for(z=0;z<endz;z++) //speed
           {
            for(j=0;j<endj;j++) // 8   
            {
              for(i=0;i<endi;i++)  // 2
               {
               char1=~buf_len2[endk-k+i][j]>>p;   //>>p
               char2=~buf_len2[endk-k-1+i][j]<<8-p ; //<<8-p      
               dat=(char1+char2);//buf_len1[i][j];
               if(i==0)
               le1=1;
               if(i==1)
               le2=1;
               delay_us(1);
               le1=0;
               le1=0;
               }
            scan=a[j]; //0x01<<j
            delay_ms(1); 
            scan=0;   
            }
           } 
         }
       } 
     }
    void right()
     {
         for(k=0;k<endk;k++)
         {
         for(p=0;p<endp;p++)
           {
            for(z=0;z<endz;z++)
           {
           
            for(j=0;j<endj;j++)    
            {
              for(i=0;i<endi;i++)
               {
               char1=~buf_len1[i+k][j]<<p;
               char2=~buf_len1[i+k+1][j]>>8-p;       
               dat=char1+char2;//buf_len1[i][j];
               if(i==0)
               le1=1;
               if(i==1)
               le2=1;
               delay_us(1);
               le1=0;
               le1=0;
               }
           scan=a[j]; //0x01<<j
            delay_ms(1); 
            scan=0;   
            }
           } 
         }
         }
     
     }
    البته يه سخت افزاري هم هست که نميدونم مربوط به اين برنامس يا نه؟
  6. #6
    2012/10/17
    4
    0

    پاسخ : تابلو روان با دیکدر

    نمیدونم شبیه سازی سخت افزارش رو از پرتیوس چه جوری اینجا بذارم؟
  7. #7
    2008/06/02
    مشهد
    126
    1

    پاسخ : تابلو روان با دیکدر

    دوست عزیز برای اینکار آی سی های دکودر مخصوصش وجود داره که به راحتی کار میکنن .
    MAX7219 یکی از نمونه ها هستش . فقط یک میکرو معمولی با پورت سریال میخود و دیگر هیچ . 8*8 هستش . قابل افزایش هستش . رجوع به دیتاشیت آی سی . شما دیتا رو با پورت سریال میدین به این آی سی و خودش ماتریکس رو نمایش میده . همین !
    ommunicates with target board microcontroller via four SPI lines (DIN, DOUT, CLK and CS)
    موفق و شاد باشید .
    if all men are the same
    then
    why do women take so long to choose one ?
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. تجربه 2 هفته ای از ساخت تابلو ثابت و تابلو روان
    توسط mohammad-mim در انجمن تابلو ثابت LED
    پاسخ: 0
    آخرين نوشته: 2016/01/21, 10:50
  2. تابلو روان 8*8 ومشکل نمایش نام بر روی تابلو روان.
    توسط asadr939 در انجمن تابلو روان و تلویزیون شهری
    پاسخ: 0
    آخرين نوشته: 2015/01/09, 10:14
  3. تابلو روان و نمایش ساعت بر روی تابلو روان
    توسط noorworkshop در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2015/01/04, 12:51
  4. پاسخ: 3
    آخرين نوشته: 2014/10/19, 22:55
  5. تابلو روان يا تابلو تبليغاتي يا تابلو LED
    توسط محمد نحوی در انجمن برنامه نویسی و اینترفیس
    پاسخ: 41
    آخرين نوشته: 2011/10/08, 22:45

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •