اطلاعیه

Collapse
No announcement yet.

راه اندازی 7segment با شیفت رجیستر 74hc164

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

    راه اندازی 7segment با شیفت رجیستر 74hc164

    با سلام خدمت دوستان
    من قصد راه اندازی 7segment از طریق شیفت رجیستر 74164 و به زبان c را دارم ولی متاسفانه نمی توانم.سایت را هم زیر و رو کردم چیزی که من متوجه بشم پیدا نشد.دوستان توجه داشته باشند نمی خواهم از طریق rxd,txd انجام بشه بلکه می خواهم از هر پایه دلخواه امکان ارسال اطلاعات به صورت سریال مقدور باشه. همچنین دنبال دستورات مشابه shift in , shift out که در بسکام کاربرد دارد در زبان c هستم. پیشاپیش از راهنمایی شما متشکرم.

    #2
    پاسخ : راه اندازی 7segment با شیفت رجیستر 74hc164

    من قصد راه اندازی 7segment از طریق شیفت رجیستر 74164 و به زبان c را دارم ولی متاسفانه نمی توانم
    ابتدا برای راه اندازی مدارتون باید ساختار 74164 را بشناسید

    ولی در کل کار بسیار ساده ای هست :biggrin:
    این کد را ببین و تحلیلش کن

    [code=c]
    #include <mega8.h>
    #include <delay.h>

    #define _BV(x) (1<<(x))

    char num[10] = {0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6 };

    void clear(void)
    {
    PORTD&=~_BV(0);
    delay_us(100);
    PORTD|=_BV(0);
    delay_us(100);
    }


    void shift_num(unsigned char n)
    {
    unsigned char i;
    for(i=0;i<8;i++)
    {
    if((n & _BV(i))!=0)PORTD |= _BV(2);
    else PORTD &= ~_BV(2);

    PORTD|=_BV(1);
    delay_us(200);
    PORTD&=~_BV(1);
    delay_us(200);
    }
    }



    void main(void)
    {
    unsigned char d;
    DDRD=0x07;
    PORTD=0x00;
    clear();

    while(1)
    {
    for(d=0;d<10;d++)
    {
    clear();
    shift_num(num[d]);
    delay_ms(500);
    }
    }
    }
    [/code]

    موفق باشید
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    دیدگاه


      #3
      پاسخ : راه اندازی 7segment با شیفت رجیستر 74hc164

      از پاسخ شما ممنونم

      دیدگاه

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