久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4824|回復: 18
打印 上一主題 下一主題
收起左側

單片機40個流水燈如何編程呢?求思路 利用38譯碼器來拓展io口

[復制鏈接]
跳轉到指定樓層
樓主
利用38譯碼器來拓展io口
這一方法能實現流水燈嗎,能的話如何編寫程序呢,望大神指導

51hei圖片20191022142940.png (150.57 KB, 下載次數: 83)

51hei圖片20191022142940.png

51hei截圖20191022143134.png (133.1 KB, 下載次數: 74)

51hei截圖20191022143134.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2019-10-22 22:02 | 只看該作者
給你寫了一個示例參考
595驅動LED仿真.zip (103.94 KB, 下載次數: 27)



  1. #include<REG51.H>

  2. sbit Sh=P2^0;
  3. sbit Ds=P2^1;
  4. sbit St=P2^2;

  5. unsigned char a1=0xff,b1=0xff,c1=0xff,d1=0xff,e1=0xfe;

  6. void DelayMS(unsigned int ms)
  7. {
  8.         unsigned char i;
  9.         while(ms--)
  10.         for(i=0;i<120;i++);
  11. }

  12. void In_Data(unsigned char a,b,c,d,e)
  13. {
  14.         unsigned char i,j,k;       
  15.         for(i=0;i<5;i++)
  16.         {
  17.                 if(i==0)k=a;
  18.                 if(i==1)k=b;
  19.                 if(i==2)k=c;
  20.                 if(i==3)k=d;
  21.                 if(i==4)k=e;
  22.                 for(j=0;j<8;j++)
  23.                 {
  24.                         k<<=1;
  25.                         Ds=CY;
  26.                         Sh=0;
  27.                         Sh=1;
  28.                 }
  29.         }
  30.         St=0;
  31.         St=1;
  32. }

  33. void main()
  34. {

  35.         while(1)
  36.         {
  37.                 In_Data(a1,b1,c1,d1,e1);
  38.                 DelayMS(500);
  39.                 if(e1!=0xff)
  40.                 {
  41.                         e1=e1<<1|0x01;
  42.                         if(e1==0xff)
  43.                                 d1=0xfe;
  44.                 }
  45.                 else if(d1!=0xff)
  46.                 {
  47.                         d1=d1<<1|0x01;
  48.                         if(d1==0xff)
  49.                                 c1=0xfe;
  50.                 }
  51.                 else if(c1!=0xff)
  52.                 {
  53.                         c1=c1<<1|0x01;
  54.                         if(c1==0xff)
  55.                                 b1=0xfe;
  56.                 }
  57.                 else if(b1!=0xff)
  58.                 {
  59.                         b1=b1<<1|0x01;
  60.                         if(b1==0xff)
  61.                                 a1=0xfe;
  62.                 }
  63.                 else if(a1!=0xff)
  64.                 {
  65.                         a1=a1<<1|0x01;
  66.                         if(a1==0xff)
  67.                                 e1=0xfe;
  68.                 }
  69.         }
  70. }
復制代碼



回復

使用道具 舉報

板凳
ID:235200 發表于 2019-10-23 00:03 | 只看該作者
五個74138,依次控制輸入CBA對應0-7的同時,P30-P35依次只控制有一根為低電平,不過你的電路是錯誤的,74138的E1應該接高電平
回復

使用道具 舉報

地板
ID:627982 發表于 2019-10-23 21:49 | 只看該作者
wulin 發表于 2019-10-22 22:02
給你寫了一個示例參考

謝謝,很有用
回復

使用道具 舉報

5#
ID:627982 發表于 2019-10-23 22:19 | 只看該作者
wulin 發表于 2019-10-22 22:02
給你寫了一個示例參考

能解釋說明一下代碼的意思嗎?還有那個cY是什么意思呢
回復

使用道具 舉報

6#
ID:628137 發表于 2019-10-23 22:43 來自觸屏版 | 只看該作者
38譯碼可以達到要求
回復

使用道具 舉報

7#
ID:235200 發表于 2019-10-24 08:12 | 只看該作者
寂寞的大餅 發表于 2019-10-23 22:19
能解釋說明一下代碼的意思嗎?還有那個cY是什么意思呢

CY是寄存器PSW的最高位,進行移位時,會把1位數據移入到這里存儲
回復

使用道具 舉報

8#
ID:213173 發表于 2019-10-24 09:06 | 只看該作者
寂寞的大餅 發表于 2019-10-23 22:19
能解釋說明一下代碼的意思嗎?還有那個cY是什么意思呢

40位數據已經超出無符號長整型數據類型32位,不能一次傳輸,所以用for嵌套,將8位數據連續傳輸5次。
特殊功能寄存器PSW中,CY表示的含義是溢出標志位。也可以寫成如下代碼,由高到低傳輸,只是效率略低。
for(j=0;j<8;j++)
{
    Ds=(k&0x80)>>7;//讀取最高位
    Sh=0;
    Sh=1;
    k<<=1;
}
回復

使用道具 舉報

9#
ID:627982 發表于 2019-10-25 12:58 | 只看該作者
wulin 發表于 2019-10-24 09:06
40位數據已經超出無符號長整型數據類型32位,不能一次傳輸,所以用for嵌套,將8位數據連續傳輸5次。
特 ...

能不能通篇說一下,尤其是整個原理的工作流程,如何實現流水燈的
回復

使用道具 舉報

10#
ID:213173 發表于 2019-10-25 14:36 | 只看該作者
寂寞的大餅 發表于 2019-10-25 12:58
能不能通篇說一下,尤其是整個原理的工作流程,如何實現流水燈的

由于40個流水燈是輪流點亮的,編程就極其簡單,與8個流水燈的程序幾乎一樣。主循環周期約500ms,也就是0.5s左移1位,初始e1=0xfe;1111 1110,左移1位后+1=1111 1101,以此類推,循環8次就是1111 1111,以0xff作為進位判斷條件,重復5次就完成一輪40個LED流水。如果把40個LED做成花樣流水就比較復雜些,需要事先設計幾個二維數組保存預定花樣,由按鍵或其它方法控制和調用這些數組完成花樣流水。
回復

使用道具 舉報

11#
ID:401564 發表于 2019-10-25 14:36 | 只看該作者
哥們,你不會連流水燈怎么實現都不知道吧?
不要折騰那么多了,直接上一個引腳多的STC單片機就可以了,什么譯碼器都不要,只要串聯電阻LED就可以了的
程序就一個一個亮過去就可以了,完了就有流水的效果了
回復

使用道具 舉報

12#
ID:630052 發表于 2019-10-25 15:06 | 只看該作者
先看一下基礎吧
回復

使用道具 舉報

13#
ID:627982 發表于 2019-10-25 15:29 | 只看該作者
Y_G_G 發表于 2019-10-25 14:36
哥們,你不會連流水燈怎么實現都不知道吧?
不要折騰那么多了,直接上一個引腳多的STC單片機就可以了,什么譯 ...

老哥,師傅要求用32個I/O口的單片機并通過數電知識拓展口來點亮40個流水燈,俺是新手,基本不會。
回復

使用道具 舉報

14#
ID:627982 發表于 2019-10-25 16:19 | 只看該作者
wulin 發表于 2019-10-25 14:36
由于40個流水燈是輪流點亮的,編程就極其簡單,與8個流水燈的程序幾乎一樣。主循環周期約500ms,也就是0. ...

大佬能將每一段小程序解釋一下嗎,謝謝啦,慚愧了
回復

使用道具 舉報

15#
ID:401564 發表于 2019-10-26 08:26 | 只看該作者
寂寞的大餅 發表于 2019-10-25 15:29
老哥,師傅要求用32個I/O口的單片機并通過數電知識拓展口來點亮40個流水燈,俺是新手,基本不會。

我也不會,我從來都沒有用過74138,端口擴展也沒有用過
但就算我沒有用過,我也可以說這很簡單
當你學到單片機編程這一塊的時候,你就應該在這之前把數字電路和模擬電路的基礎打好,如果你現在還不會這些,那就說你不會就可以了,"我不會"這三個字說出來不丟人,人都是從不會學過來的,如果你還想在這條路上走下去,那就還得回去學數字電路
你在這問,人家給了你代碼和電路,你依然還是不會的
當然,如果你沒有在這條路繼續走下去的打算,就當我什么也沒說
回復

使用道具 舉報

16#
ID:383215 發表于 2019-10-27 11:36 | 只看該作者
單片機擴展40個輸出口點亮流水燈,用5片74138是最差方案,只能做到同時亮5個LED,最佳方案是用5片CD4094,最多占用單片機4個I/O口,就是擴展100個輸出口也是占用單片機4個I/O口,可以做到40個LED全亮全滅,想編出什么花樣都可以。
回復

使用道具 舉報

17#
ID:914959 發表于 2021-5-2 14:30 | 只看該作者
kmsj 發表于 2019-10-27 11:36
單片機擴展40個輸出口點亮流水燈,用5片74138是最差方案,只能做到同時亮5個LED,最佳方案是用5片CD4094, ...

cd4094可以用什么代替嗎?
回復

使用道具 舉報

18#
ID:383215 發表于 2021-5-2 18:38 | 只看該作者
dugu@520 發表于 2021-5-2 14:30
cd4094可以用什么代替嗎?

CD4094可以用74HC595代替,樓上已經有介紹,只是74HC595我很少用,CD4094用習慣了,現在發現74HC595布線更容易,速度應該更快。
回復

使用道具 舉報

19#
ID:89515 發表于 2021-5-2 19:58 | 只看該作者
就只是做流水燈的話,用4017不是更簡單,一個時鐘信號就行了,非用單片機的話,循環程序就一句。
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区三区桃乃木香奈 | 青青草一区二区三区 | 国产丝袜一区二区三区免费视频 | 中文在线一区二区 | 亚洲色图婷婷 | 黄色日本视频 | 国产成人精品免费视频大全最热 | 亚洲福利一区 | 亚洲欧美在线观看 | 精品福利视频一区二区三区 | 丁香久久 | 精品久久成人 | 国产精品一区二区不卡 | 成人一区在线观看 | 天天插天天操 | 一区二区视频 | 天堂久久av | 在线成人| 免费一区二区 | 欧美视频中文字幕 | 日韩成人精品视频 | 日韩欧美高清 | 欧美片网站免费 | 亚洲精品久久久久久久久久久 | 91久久久久 | 伊人超碰 | 久久精品国产一区二区 | 成人午夜在线观看 | 99免费精品视频 | 成人欧美一区二区三区在线播放 | 午夜专区| 97avcc| 久久国产精品免费一区二区三区 | 久久国产高清 | 插插宗合网 | 国产一区二区三区免费 | 国产精品伦理一区二区三区 | 久久久久网站 | 欧美激情一区二区三级高清视频 | 中文字幕乱码一区二区三区 | 国产精品国产 |