找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18825|回复: 26
打印 上一主题 下一主题
收起左侧

16LED流水灯 74HC595驱动的 带仿真和程序

  [复制链接]
跳转到指定楼层
楼主
ID:137190 发表于 2016-9-8 22:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用51单片机和2个74hc595做的16led流水灯程序,仿真原理图详见下图:
16led流水灯的源程序:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int


  5. sbit Sh_cp=P2^0;
  6. sbit Ds=P2^1;
  7. sbit St=P2^2;

  8. sbit Sh_cp1=P1^0;
  9. sbit Ds1   =P1^1;
  10. sbit St1   =P1^2;

  11. uchar temp;
  12. uchar temp1;
  13. void In_Data(void)
  14. {
  15.          unsigned char i;
  16.          for(i=0;i<8;i++)
  17.          {
  18.           Sh_cp=0;
  19.           _nop_();_nop_();
  20.           temp<<=1;Ds=CY;
  21.           Sh_cp=1;
  22.           _nop_();_nop_();
  23.           Sh_cp=0;
  24.           _nop_();_nop_();
  25.          }
  26. }

  27. void Out_Data(void)
  28. {
  29.          St=0;
  30.          _nop_();_nop_();
  31.          St=1;                          //上升沿送到锁存器
  32.          _nop_();_nop_();
  33.          St=0;            //锁存显示
  34. }
  35. void In_Data1(void)
  36. {
  37.          unsigned char i;
  38.          for(i=0;i<8;i++)
  39.          {
  40.           Sh_cp1=0;
  41.           _nop_();_nop_();
  42.           temp1<<=1;Ds1=CY;
  43.           Sh_cp1=1;
  44.           _nop_();_nop_();
  45.           Sh_cp1=0;
  46.           _nop_();_nop_();
  47.          }
  48. }

  49. void Out_Data1(void)
  50. {
  51.          St1=0;
  52.          _nop_();_nop_();
  53.          St1=1;                          //上升沿送到锁存器
  54.          _nop_();_nop_();
  55.          St1=0;            //锁存显示
  56. }

  57. void DelayMS(unsigned int ms)
  58. {
  59.         unsigned char i;
  60.         while(ms--)
  61.         for(i=0;i<120;i++);
  62. }

  63. void main()
  64. {
  65.    uchar i,j;
  66.         while(1)
  67.         {

  68.                 for(j=2;j>0;j--)
  69.                 {       temp1=j;
  70.                                  In_Data1();
  71.                             Out_Data1();
  72.                         for(i=0;i<8;i++)
  73.                         {
  74.                                 temp=1<<i;
  75.                                  In_Data();
  76.                             Out_Data();
  77.                             DelayMS(1000);
  78.                         }

  79.                         //        DelayMS(2000);
  80.                    }
  81.         }
  82. }
复制代码




下载地址:
74HC595流水灯.rar (40.69 KB, 下载次数: 444)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏8 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:136460 发表于 2016-9-11 08:26 | 只看该作者
51黑有你更精彩
回复

使用道具 举报

板凳
ID:140489 发表于 2016-9-26 12:25 | 只看该作者
很好的学习资料
回复

使用道具 举报

地板
ID:116743 发表于 2017-4-20 11:34 | 只看该作者
好像很不错的样子
回复

使用道具 举报

5#
ID:74784 发表于 2017-4-20 22:14 | 只看该作者
为什么要用 595呢?
s51/s52单片机可以直接驱动led的
回复

使用道具 举报

6#
ID:201630 发表于 2017-5-17 05:52 | 只看该作者
好的学习资料
回复

使用道具 举报

7#
ID:116743 发表于 2017-6-3 11:10 | 只看该作者
lxa0 发表于 2017-4-20 22:14
为什么要用 595呢?
s51/s52单片机可以直接驱动led的

595控制更加简单方便
回复

使用道具 举报

8#
ID:193628 发表于 2017-6-3 21:25 | 只看该作者
595应用的好例子
回复

使用道具 举报

9#
ID:208231 发表于 2017-6-6 00:06 来自手机 | 只看该作者
有用定时器方式控制的程序图吗
回复

使用道具 举报

10#
ID:265196 发表于 2017-12-22 12:35 | 只看该作者
请问要加入开关K1、K2让流水灯转换时间由1s变为0.5s应该怎么设计
回复

使用道具 举报

11#
ID:255972 发表于 2018-4-2 22:23 | 只看该作者
学习了
回复

使用道具 举报

12#
ID:281881 发表于 2018-5-19 05:10 | 只看该作者

595应用的好例子
回复

使用道具 举报

13#
ID:352518 发表于 2018-6-15 15:28 来自手机 | 只看该作者
感觉好难呐
回复

使用道具 举报

14#
ID:353458 发表于 2018-6-17 21:29 | 只看该作者
谢谢楼主啊
回复

使用道具 举报

15#
ID:450478 发表于 2018-12-20 09:21 | 只看该作者
有其他链接吗
回复

使用道具 举报

16#
ID:417658 发表于 2018-12-20 12:52 | 只看该作者
怎么没有见到仿真程序呢?
回复

使用道具 举报

17#
ID:459007 发表于 2018-12-31 15:29 | 只看该作者
请问要加入开关K1、K2让流水灯转换时间由1s变为0.5s应该怎么设计
回复

使用道具 举报

18#
ID:590194 发表于 2019-9-16 09:32 | 只看该作者
这个可以有,,支持 但是还不是很明确
回复

使用道具 举报

19#
ID:130167 发表于 2019-11-29 09:54 | 只看该作者
不是级联方式的 有点坑了
回复

使用道具 举报

20#
ID:688006 发表于 2020-1-23 17:16 | 只看该作者

51黑有你更精彩
回复

使用道具 举报

21#
ID:754167 发表于 2020-5-17 17:38 | 只看该作者
感谢分享
回复

使用道具 举报

22#
ID:753786 发表于 2020-5-19 13:14 | 只看该作者
楼主可以私吗,,,,想做个关于595的应用
回复

使用道具 举报

23#
ID:333449 发表于 2020-6-5 18:12 | 只看该作者
lxa0 发表于 2017-4-20 22:14
为什么要用 595呢?
s51/s52单片机可以直接驱动led的

不用驱动芯片  只用单片机 你能驱动多少led
回复

使用道具 举报

24#
ID:317998 发表于 2023-1-25 22:42 | 只看该作者
请问:要让某一个LED输出点亮怎么编程?比如只要第15个LED亮
回复

使用道具 举报

25#
ID:579397 发表于 2023-1-26 03:17 | 只看该作者
jsjsjs97 发表于 2017-12-22 12:35
请问要加入开关K1、K2让流水灯转换时间由1s变为0.5s应该怎么设计

设置一个变量代入延时函数 void DelayMS(unsigned int ms),按键按下就改变变量
回复

使用道具 举报

26#
ID:997051 发表于 2023-1-26 11:41 | 只看该作者
感觉74HC595浪费了
才用级联方式,两个就好.
比如:P20/A8-----595-1---11(SH_CP)
     P21/A9-----595-1---14(DS)
     P22/A10----595-1---12(ST_CP)


回复

使用道具 举报

27#
ID:997051 发表于 2023-1-26 12:55 | 只看该作者
16LED流水灯 74HC595驱动的 带仿真和程序(清理)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表