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();
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言