STM32连接74HC595控制LED

2019-08-14 19:28发布

把程序下载进去没显示呢,求大神指导



void HC595_Init(void)
{

GPIO_InitTypeDef  GPIO_InitStructure;
         
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);         
        
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_4;                                 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 
GPIO_Init(GPIOG, &GPIO_InitStructure);                                       
GPIO_ResetBits(GPIOG,GPIO_Pin_4);

}



#define HC595_SI PGout(0)
#define HC595_SCK PGout(1)
#define HC595_RCLK PGout(2)





char LED[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void sendbyte(unsigned char byte)
{
        unsigned char num,i;
        num=byte;
        for(i=0;i<8;i++)
        {
                HC595_SCK=0;
                delay_ms(5);
               
                if((num&0x80)==0x80)
                HC595_SI=1;
                else
                HC595_SI=0;
                num=num<<1;
                HC595_SCK=1;
                delay_ms(5);
        }
}

void out595()
{
        HC595_RCLK=0;
        delay_ms(5);
        HC595_RCLK=1;
        delay_ms(5);
        HC595_RCLK=0;
       
}




main()
{
      while(1)
     {
                for(i=0;i<8;i++)
                {
                        sendbyte(LED[i]);
                        out595();
                        delay_ms(300);

                }
      }
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
刘仿
1楼-- · 2019-08-16 02:39
高电平有效
守候ocean
2楼-- · 2019-08-16 06:56
shuaigew88 发表于 2016-10-21 12:38
char LED[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void sendbyte(unsigned char byte)
{

程序改了又改 你这个最好用
御剑江湖
3楼-- · 2019-08-16 10:22
你原理图贴上来看看
守候ocean
4楼-- · 2019-08-16 10:44
御剑江湖 发表于 2017-7-28 10:31
你原理图贴上来看看

是我的电路吗?
shuaigew88
5楼-- · 2019-08-16 14:56
 精彩回答 2  元偷偷看……

一周热门 更多>