标题: 16LED流水灯 74HC595驱动的 带仿真和程序 [打印本页]

作者: 51黑ff    时间: 2016-9-8 22:49
标题: 16LED流水灯 74HC595驱动的 带仿真和程序
使用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, 下载次数: 451)


作者: 东北那谁    时间: 2016-9-11 08:26
51黑有你更精彩
作者: lids    时间: 2016-9-26 12:25
很好的学习资料
作者: xxhei    时间: 2017-4-20 11:34
好像很不错的样子
作者: lxa0    时间: 2017-4-20 22:14
为什么要用 595呢?
s51/s52单片机可以直接驱动led的
作者: kawenlomg    时间: 2017-5-17 05:52
好的学习资料
作者: xxhei    时间: 2017-6-3 11:10
lxa0 发表于 2017-4-20 22:14
为什么要用 595呢?
s51/s52单片机可以直接驱动led的

595控制更加简单方便
作者: cjhahang    时间: 2017-6-3 21:25
595应用的好例子
作者: 落叶无痕23    时间: 2017-6-6 00:06
有用定时器方式控制的程序图吗
作者: jsjsjs97    时间: 2017-12-22 12:35
请问要加入开关K1、K2让流水灯转换时间由1s变为0.5s应该怎么设计
作者: xichandoujigu    时间: 2018-4-2 22:23
学习了
作者: bgswqy    时间: 2018-5-19 05:10

595应用的好例子
作者: 本来无一物    时间: 2018-6-15 15:28
感觉好难呐
作者: 科比科比    时间: 2018-6-17 21:29
谢谢楼主啊
作者: 何大    时间: 2018-12-20 09:21
有其他链接吗
作者: msmn    时间: 2018-12-20 12:52
怎么没有见到仿真程序呢?
作者: SDDK    时间: 2018-12-31 15:29
请问要加入开关K1、K2让流水灯转换时间由1s变为0.5s应该怎么设计

作者: sq8422779    时间: 2019-9-16 09:32
这个可以有,,支持 但是还不是很明确
作者: leilei373    时间: 2019-11-29 09:54
不是级联方式的 有点坑了
作者: srfj    时间: 2020-1-23 17:16

51黑有你更精彩
作者: zhang923    时间: 2020-5-17 17:38
感谢分享
作者: zjwhsm    时间: 2020-5-19 13:14
楼主可以私吗,,,,想做个关于595的应用

作者: 465448    时间: 2020-6-5 18:12
lxa0 发表于 2017-4-20 22:14
为什么要用 595呢?
s51/s52单片机可以直接驱动led的

不用驱动芯片  只用单片机 你能驱动多少led
作者: 熊乔中    时间: 2023-1-25 22:42
请问:要让某一个LED输出点亮怎么编程?比如只要第15个LED亮
作者: 405616736    时间: 2023-1-26 03:17
jsjsjs97 发表于 2017-12-22 12:35
请问要加入开关K1、K2让流水灯转换时间由1s变为0.5s应该怎么设计

设置一个变量代入延时函数 void DelayMS(unsigned int ms),按键按下就改变变量
作者: 无名氏1957    时间: 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)



作者: 无名氏1957    时间: 2023-1-26 12:55
16LED流水灯 74HC595驱动的 带仿真和程序(清理)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1