找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 20606|回復(fù): 26
打印 上一主題 下一主題
收起左側(cè)

16LED流水燈 74HC595驅(qū)動的 帶仿真和程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:137190 發(fā)表于 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. }
復(fù)制代碼




下載地址:
74HC595流水燈.rar (40.69 KB, 下載次數(shù): 451)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏8 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:136460 發(fā)表于 2016-9-11 08:26 | 只看該作者
51黑有你更精彩
回復(fù)

使用道具 舉報

板凳
ID:140489 發(fā)表于 2016-9-26 12:25 | 只看該作者
很好的學(xué)習(xí)資料
回復(fù)

使用道具 舉報

地板
ID:116743 發(fā)表于 2017-4-20 11:34 | 只看該作者
好像很不錯的樣子
回復(fù)

使用道具 舉報

5#
ID:74784 發(fā)表于 2017-4-20 22:14 | 只看該作者
為什么要用 595呢?
s51/s52單片機可以直接驅(qū)動led的
回復(fù)

使用道具 舉報

6#
ID:201630 發(fā)表于 2017-5-17 05:52 | 只看該作者
好的學(xué)習(xí)資料
回復(fù)

使用道具 舉報

7#
ID:116743 發(fā)表于 2017-6-3 11:10 | 只看該作者
lxa0 發(fā)表于 2017-4-20 22:14
為什么要用 595呢?
s51/s52單片機可以直接驅(qū)動led的

595控制更加簡單方便
回復(fù)

使用道具 舉報

8#
ID:193628 發(fā)表于 2017-6-3 21:25 | 只看該作者
595應(yīng)用的好例子
回復(fù)

使用道具 舉報

9#
ID:208231 發(fā)表于 2017-6-6 00:06 來自手機 | 只看該作者
有用定時器方式控制的程序圖嗎
回復(fù)

使用道具 舉報

10#
ID:265196 發(fā)表于 2017-12-22 12:35 | 只看該作者
請問要加入開關(guān)K1、K2讓流水燈轉(zhuǎn)換時間由1s變?yōu)?.5s應(yīng)該怎么設(shè)計
回復(fù)

使用道具 舉報

11#
ID:255972 發(fā)表于 2018-4-2 22:23 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報

12#
ID:281881 發(fā)表于 2018-5-19 05:10 | 只看該作者

595應(yīng)用的好例子
回復(fù)

使用道具 舉報

13#
ID:352518 發(fā)表于 2018-6-15 15:28 來自手機 | 只看該作者
感覺好難吶
回復(fù)

使用道具 舉報

14#
ID:353458 發(fā)表于 2018-6-17 21:29 | 只看該作者
謝謝樓主啊
回復(fù)

使用道具 舉報

15#
ID:450478 發(fā)表于 2018-12-20 09:21 | 只看該作者
有其他鏈接嗎
回復(fù)

使用道具 舉報

16#
ID:417658 發(fā)表于 2018-12-20 12:52 | 只看該作者
怎么沒有見到仿真程序呢?
回復(fù)

使用道具 舉報

17#
ID:459007 發(fā)表于 2018-12-31 15:29 | 只看該作者
請問要加入開關(guān)K1、K2讓流水燈轉(zhuǎn)換時間由1s變?yōu)?.5s應(yīng)該怎么設(shè)計
回復(fù)

使用道具 舉報

18#
ID:590194 發(fā)表于 2019-9-16 09:32 | 只看該作者
這個可以有,,支持 但是還不是很明確
回復(fù)

使用道具 舉報

19#
ID:130167 發(fā)表于 2019-11-29 09:54 | 只看該作者
不是級聯(lián)方式的 有點坑了
回復(fù)

使用道具 舉報

20#
ID:688006 發(fā)表于 2020-1-23 17:16 | 只看該作者

51黑有你更精彩
回復(fù)

使用道具 舉報

21#
ID:754167 發(fā)表于 2020-5-17 17:38 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

22#
ID:753786 發(fā)表于 2020-5-19 13:14 | 只看該作者
樓主可以私嗎,,,,想做個關(guān)于595的應(yīng)用
回復(fù)

使用道具 舉報

23#
ID:333449 發(fā)表于 2020-6-5 18:12 | 只看該作者
lxa0 發(fā)表于 2017-4-20 22:14
為什么要用 595呢?
s51/s52單片機可以直接驅(qū)動led的

不用驅(qū)動芯片  只用單片機 你能驅(qū)動多少led
回復(fù)

使用道具 舉報

24#
ID:317998 發(fā)表于 2023-1-25 22:42 | 只看該作者
請問:要讓某一個LED輸出點亮怎么編程?比如只要第15個LED亮
回復(fù)

使用道具 舉報

25#
ID:579397 發(fā)表于 2023-1-26 03:17 | 只看該作者
jsjsjs97 發(fā)表于 2017-12-22 12:35
請問要加入開關(guān)K1、K2讓流水燈轉(zhuǎn)換時間由1s變?yōu)?.5s應(yīng)該怎么設(shè)計

設(shè)置一個變量代入延時函數(shù) void DelayMS(unsigned int ms),按鍵按下就改變變量
回復(fù)

使用道具 舉報

26#
ID:997051 發(fā)表于 2023-1-26 11:41 | 只看該作者
感覺74HC595浪費了
才用級聯(lián)方式,兩個就好.
比如:P20/A8-----595-1---11(SH_CP)
     P21/A9-----595-1---14(DS)
     P22/A10----595-1---12(ST_CP)


回復(fù)

使用道具 舉報

27#
ID:997051 發(fā)表于 2023-1-26 12:55 | 只看該作者
16LED流水燈 74HC595驅(qū)動的 帶仿真和程序(清理)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表