你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

HC595

[复制链接]
lugf 提问时间:2019-8-7 15:47 /
如何用1个HC595做流水灯,我是初学者,请各位大神指点一下
收藏 评论7 发布时间:2019-8-7 15:47

举报

7个回答
lugf 回答时间:2019-8-8 11:09:08
void main()
{

                unsigned char a;
               
                disableInterrupts();
                CLK_Configuration();
                GPIO_Configuration();
                TIME2_Init();       
                enableInterrupts();
                               
        while(1)

                {
                        //KEY_Demo();
                        //KEY_Demo2();
                        //KEY_Demo1();
       
                        for(a=0;a<8;a++)

                        {

                                LED_HC595( );
                               
                        }

                        delay_ms(100);       
                }
}
lugf 回答时间:2019-8-8 11:09:26
void LED_HC595(void)
{

//volatile unsigned char LED_data=0x0f;
volatile unsigned char LED_data[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};

                //数据传输//
               
                unsigned char c,b,num;
                num= LED_data[8];
                for(b=0;b<8;b++)
                delay_ms(100);       
                {
                        CLR_HC595_RCK;
                        delay_us(500);
       
       
                                for(c=0;c<8;c++)
                                {
                                        CLR_HC595_SCK;
                                       
                                         delay_us(500);
                                        if((num&0x80)==0x80)
                                        SET_HC595_DS;
               
                                        else
                                        CLR_HC595_DS;
                                        delay_us(500);
                                        num<<=1;
       
       
       
                                        SET_HC595_SCK;
                                        delay_us(500);       
                               
                                }
                               
                                        SET_HC595_RCK;
                                        delay_us(500);

                }
       
}
lugf 回答时间:2019-8-8 11:10:15
哪位大神帮忙看一下,这个流水灯的程序有什么问题
zhao.zhao 回答时间:2019-8-11 14:35:09
void LED_HC595(void)
{
    volatile unsigned char LED_data[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
    unsigned char c,b,num;
    //数据传输//
    for(b=0;b<8;b++)     
    {
         delay_us(5);
         num= LED_data[b];
         CLR_HC595_RCK;
         delay_us(5);
         
          for(c=0;c<8;c++)
          {
                 CLR_HC595_SCK;                  
                 delay_us(5);
                 if(num&0x80)
                       SET_HC595_DS;
                 else
                      CLR_HC595_DS;
                 delay_us(5);
                 num <<= 1;
                SET_HC595_SCK;
                delay_us(5);         
         }
                                
         SET_HC595_RCK;
         delay_us(5);
    }      
}

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

zhao.zhao 回答时间:2019-8-11 14:37:31
74HC595速度足够快了,不需要长时间等待的,延迟减短或去掉也可以的,可以提高程序执行的效率

lugf 回答时间:2019-8-15 10:38:32
zhao.zhao 发表于 2019-8-11 14:37
74HC595速度足够快了,不需要长时间等待的,延迟减短或去掉也可以的,可以提高程序执行的效率

...

已经解决问题了,感谢兄弟的回复
zhao.zhao 回答时间:2019-8-15 11:49:40

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版