lugf 发表于 2018-9-21 16:47:22

HC595驱动

STM8如何控制HC595驱动8个LED,希望大神们能发个程序上来看一下,谢谢!

lugf 发表于 2018-9-22 15:38:37

本帖最后由 lugf 于 2018-9-22 17:45 编辑




void LED_HC595(void)
{
       
        static u8 DISP_LED[]={0x00,0X01,0X02,0x03,0x04,0x05,0x06,0x07};
       
        static u8 a=0x80;
        static u8 i=0;
        static u8 b=0;//定义id=0
       
                for(b=0;b<8;b++)
                {

                GPIO_WriteHigh(GPIOA, GPIO_PIN_5);       
                delay_ms(2);

                GPIO_Write(GPIOA, GPIO_PIN_3);
                {
                (DISP_LED);
                }


                GPIO_WriteHigh(GPIOA, GPIO_PIN_4);
                delay_ms(2);
                }
                        GPIO_WriteLow(GPIOA, GPIO_PIN_5);       
                        GPIO_WriteLow(GPIOA, GPIO_PIN_4);
                       
                        a>>1;
}


这样写,LED完全没反应,哪位兄弟帮忙解释一下,或者发一个正确的源代码给我参考一下,多谢了

lugf 发表于 2018-9-21 17:40:48

哪位兄弟指导一下,多谢了

stm1024 发表于 2018-9-21 19:06:38

你可以参考一下以前的51代码啊。74HC595应该不难吧,注意关键是ST_CP的状态

toofree 发表于 2018-9-22 00:11:51

这还需要伸手要代码吗?
百度一下,讲原理的很多。代码也不少,就贴个图吧。



maxtch 发表于 2018-9-22 01:17:35

74HC595 建议接在硬件 SPI 上,这样操作简单:MOSI 接 SER,SCK 接 SRCLK,nCS 接 RCLK(按照 TI 手册上各管脚的名字)。用 SPI 硬件直接写数据,就可以并行输出了。如果一次写入多个字节,只有最后一个字节是有效的。多片 74HC595 可以级联,SRCLK、RCLK 并联,上一片的 Q7' 接下一片的 SER,SPI 发数据的时候从最远一片发起,字节数等于 595 片数。

lugf 发表于 2018-9-22 10:19:35

多谢各位大神的回复,我是初学者,哪位兄弟发个源代码上来参考一下。

lugf 发表于 2018-9-22 15:49:23

本帖最后由 lugf 于 2018-9-22 17:52 编辑

PA5为SCK,PA4为RCK,PA3为SER。 希望兄弟们指点一下

robter 发表于 2018-9-24 23:03:14

虚心学习,很好

lugf 发表于 2018-9-26 11:59:49

哪位大神帮助一下我这个问题,还没有得到解决,在线等,多谢了
页: [1]
查看完整版本: HC595驱动