[51单片机] 74HC595串转并流水灯

[复制链接]
 楼主| zhaodaren 发表于 2018-7-20 12:41 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 zhaodaren 于 2018-7-20 12:48 编辑

为什么这个程序实现的不是流水灯啊,还求各位大佬解答,不胜感激
#include<reg52.h>
#include<intrins.h>
sbit CLK=P3^5;
sbit SRCLK=P3^6;
sbit SER=P3^4;
void yishu(b);
unsigned char b,i,m,c;
unsigned  int z,n,y;
void delay(z)
{
while(z--);
}
void main()

{
        c= 0x01;
   while(1)
        {
                yishu(c);
                c = _crol_(c,1);
                delay(50000);
        }               
}
void yishu(b)
{
        SRCLK = 1;
        CLK = 1;
for(i=0;i<8;i++)
{
  SER=b>>7;
   b<<=1;
   SRCLK=0;
   _nop_();
_nop_();
    SRCLK=1;
  }
CLK=0;
   _nop_();
_nop_();
    CLK=1;
}
 楼主| zhaodaren 发表于 2018-7-20 12:45 来自手机 | 显示全部楼层
我是想用74HC595串转并的功能来实现流水灯,但不知是什么地方出错了,所以并没有实现这个功能
Cjy_JDxy 发表于 2018-7-20 18:34 | 显示全部楼层
你的595不移位时点灯成功了吗?
cainiao518 发表于 2018-7-20 18:54 | 显示全部楼层
zhaodaren 发表于 2018-7-20 12:45
我是想用74HC595串转并的功能来实现流水灯,但不知是什么地方出错了,所以并没有实现这个功能 ...

实现的是怎样 的效果
 楼主| zhaodaren 发表于 2018-7-20 19:00 来自手机 | 显示全部楼层
cainiao518 发表于 2018-7-20 18:54
实现的是怎样 的效果

实现的功能是第一个灯一直亮着,然后后面灯依次点亮,但点亮后不熄灭,直到第八个灯亮后才熄灭,就这样一直循环
 楼主| zhaodaren 发表于 2018-7-20 19:01 来自手机 | 显示全部楼层
Cjy_JDxy 发表于 2018-7-20 18:34
你的595不移位时点灯成功了吗?

不懂
Cjy_JDxy 发表于 2018-7-20 20:02 | 显示全部楼层

你不是要实现流水灯吗?我的意思,你先不实现流水灯,先想让他哪个灯亮就让它哪个灯亮,先实现静态的效果。
lysfht123 发表于 2018-7-20 22:17 | 显示全部楼层
清零刷新试试。
xurexi 发表于 2018-7-23 14:46 | 显示全部楼层
怎么不把delay(5000)放for循环里头?流水那么快!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

23

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部