74HC597( 8位输入锁存移位存放器) 使用总结

管脚图:

74HC597( 8位输入锁存移位存放器) 使用总结_第1张图片

典型应用:

74HC597( 8位输入锁存移位存放器) 使用总结_第2张图片

真值表:
74HC597( 8位输入锁存移位存放器) 使用总结_第3张图片

时序图:
74HC597( 8位输入锁存移位存放器) 使用总结_第4张图片

//应用程序

sbit HC597_PL0  = P0^3;  //并行加载  (高电平时禁止输出(高阻态))
sbit HC597_STcp = P0^2;  //移位时钟  (上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变)
sbit HC597_SHcp = P0^1;  //储存时钟  (上升沿时数据寄存器的数据移位)
sbit HC597_MR0  = P0^0;  //主复位    (低电平时将移位寄存器的数据清零)

sbit HC597_U1D = P1^0;   //数据口

unsigned char read_HC597(void)
{
    unsigned char  Dat1=0;
    u8  i = 0;
    HC597_MR0 = 0;  //清除寄存器数据
    _nop_();_nop_();

    HC597_PL0  = 0;  // 
    HC597_STcp = 0; 

    _nop_();_nop_();

    HC597_MR0  = 1;  //输入数据
    _nop_();_nop_();    

    HC597_PL0  = 1;  //读取开关数据
    HC597_STcp = 1;  //RCK置上升沿(数据加载到输入锁存器)  

    for(i=0;i<8;i++)
    {
         Dat1 <<= 1 ;
        if(HC597_U1D) Dat1 |= 0x01;

        HC597_SHcp = 0; //数据可变
        _nop_();    
        HC597_SHcp = 1; //数据不变  
        _nop_();    
    }
    return Dat1;
}

你可能感兴趣的:(单片机)