2016年8月10日 星期三

74hc595 詳細研究



SHCP  ->  CLOCK PIN

STCP   ->  LATCH PIN

DS       ->   DATA pin





tw  ->  6ns

詳細的時間
































sample code如下

#define  SHIFT_CLOCK   LATBbits.LATB4       //RB4
#define  SHIFT_LATCH    LATBbits.LATB3        //RB3
#define  SHIFT_DATA      LATBbits.LATB2         //RB2

#define  SHIFT_CLOCK_DIR   TRISBbits.TRISB4
#define  SHIFT_LATCH_DIR    TRISBbits.TRISB3
#define  SHIFT_DATA_DIR       TRISBbits.TRISB2


void shiftdata595(unsigned char _shiftdata)
{
    unsigned int i;
    unsigned char temp;
    temp = _shiftdata;
    i=8;
    while (i>0)
    {
        //if (temp.F7==0)
        if(temp & 0x80)
        {
            SHIFT_DATA = 1;
        }
        else
        {
            SHIFT_DATA = 0;
        }
        temp = temp<<1;
        SHIFT_CLOCK = 1;
        delay_1us();
        SHIFT_CLOCK = 0;
        i--;
    }
}


void  latch595_on()
{
    // low active
    delay_1us();
    SHIFT_LATCH = 0;
}

void  latch595_off()
{
   //  delay_1us();
     SHIFT_LATCH = 1;
}


void shift_register_init()
{
   SHIFT_CLOCK_DIR  = 0;
   SHIFT_LATCH_DIR  = 0;
   SHIFT_DATA_DIR   = 0;
}

void main(void)
{          

   char val=1;

     shift_register_init();
       while(1){
           latch595_on();
           shiftdata595(val); //
           latch595_off();
       }
}






沒有留言:

張貼留言