STM32控制两片HC595驱动数码管的问题

2019-08-20 17:14发布

帮顶
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
xfcjava3
2019-08-20 19:53
请楼主参考,我原来用到项目中的HC595的驱动部分:
#define  HC595_SerDAT  GPIO_Pin_6   //PC.6--->数据
#define  HC595_SCK            GPIO_Pin_8   //PA.8--->移位时钟
#define  HC595_RCK           GPIO_Pin_7   //PC.7--->锁存时钟               



/****************************************************************************       
* 功    能:        输出8bits串行数据函数
*---------------------------------------------------------------------------*
* 入口参数:num: 串行数据
* 出口参数:nil
****************************************************************************/       
void HC595_Out_Byte(u8 num)
{   
   u8 i;         

   GPIO_ResetBits(GPIOC, HC595_RCK);  // HC595_RCK=0       

   for(i=8;i>0;i--)
     {
          GPIO_ResetBits(GPIOA, HC595_SCK);  //HC595_SCK=0

          GPIO_WriteBit(GPIOC, HC595_SerDAT,(BitAction)(num&0x80)); //  HC595_SerDAT=num&0x80                          
                                  
          GPIO_SetBits(GPIOA, HC595_SCK);   //HC595_SCK=1

          num<<=1;        
     }

    GPIO_SetBits(GPIOC, HC595_RCK);  //HC595_RCK=1; //上升沿时移位寄存器的数据进入数据存储寄存       
}

       




一周热门 更多>