lugf 发表于 2019-8-8 15:00:01

TLLED 发表于 2019-8-8 11:44
给你一个参考程序




按照你的方式试了和我上面的一样,能在详细点吗?多谢了

TLLED 发表于 2019-8-8 17:41:13

lugf 发表于 2019-8-8 15:00
按照你的方式试了和我上面的一样,能在详细点吗?多谢了

void main()
{

                unsigned char a;
                unsigned char LED_data={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
               
                disableInterrupts();
                CLK_Configuration();
                GPIO_Configuration();
                TIME2_Init();      
                enableInterrupts();
                              
      while(1)

                {
                        //KEY_Demo();
                        //KEY_Demo2();
                        //KEY_Demo1();
      
                        for(a=0;a<8;a++)
                        {
                              //LED_HC595( );
                              SendByte(LED_data);
                                OutCtrl595();
                                delay_ms(1000);   
                        }
                     // delay_ms(100);      
                }
}


大概流程就是这样的

TLLED 发表于 2019-8-8 17:42:08

lugf 发表于 2019-8-8 15:00
按照你的方式试了和我上面的一样,能在详细点吗?多谢了

延时的时间要稍长些,

lugf 发表于 2019-8-8 18:02:33

TLLED 发表于 2019-8-8 17:42
延时的时间要稍长些,

感谢兄弟的热情帮助,我多试几次应该可以了

lugf 发表于 2019-8-8 18:09:55

TLLED 发表于 2019-8-8 17:42
延时的时间要稍长些,

按照你的思路已经可以了,谢谢

maxtch 发表于 2019-8-8 19:52:59

信号太快了。还有,你这是 8051 代码?STM8 和 8051 差异很大。

lugf 发表于 2019-8-9 09:25:26

maxtch 发表于 2019-8-8 19:52
信号太快了。还有,你这是 8051 代码?STM8 和 8051 差异很大。

我是用STM8的,51的以前学过一点,没有用过51单片机

lugf 发表于 2019-8-9 10:03:42

lugf 发表于 2019-8-9 09:25
我是用STM8的,51的以前学过一点,没有用过51单片机

兄弟,再帮忙看一下,程序流水一次就停下来了,没有进入死循环。我用了两层for循环语句,但是程序只执行内层循环,没有执行外循环。

lugf 发表于 2019-8-9 10:04:11

void LED_display(void)
{
                unsigned char e={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
                unsigned char b;

               
                {
                        for(b=0;b<8;b++)
                        {
                                LED_data&=e;
                                LED_HC595();
                                delay_ms(1000);       
                       
                        }
                }       

}

lugf 发表于 2019-8-9 10:04:37

void main()
{
unsigned char a;
                disableInterrupts();
                CLK_Configuration();
                GPIO_Configuration();
                TIME2_Init();       
                enableInterrupts();

        while(1)

                {
                        //KEY_Demo();
                        //KEY_Demo2();
                        //KEY_Demo1();
                        //LED_KEY();
                        for(a=0;a<8;a++)
                        {
                        LED_display();
                        delay_ms(1000);
                        }
                               


                }       
}
页: 1 [2] 3
查看完整版本: HC595