stm32F103 驱动74HC595


#define RCK595 PAout(4)
#define SI595 PAout(7)
#define SCK595 PAout(5)

 

void _74HC595_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能PORTA,PORTE时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}

void _74HC595_SendData(unsigned char dat) //单片机将dat这个数据发送到74HC595
{
unsigned char a;
unsigned char i=50;

SCK595=0;
RCK595=0;
for(a=0; a<8; a++)
{
SI595 = dat>>7;
dat <<= 1;

SCK595 = 1;
while(i--);
SCK595 = 0;
i = 50;
}
i = 50;
RCK595 = 1;
while(i--);
RCK595 = 0;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM