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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求教怎么用74HC595控制三個4位的數碼管

  [復制鏈接]
跳轉到指定樓層
樓主
求各位大神教一下怎么用一個74HC595控制三個4位的數碼管
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:383177 發表于 2018-8-6 15:58 | 只看該作者

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:383439 發表于 2018-8-6 17:08 | 只看該作者
daijun 發表于 2018-8-6 15:58
壇子里就有:http://www.zg4o1577.cn/bbs/dpj-44575-1.html

壇子里那個討論我也看過,可是還是不懂怎么去用一個595控制三個四位的數碼管
回復

使用道具 舉報

地板
ID:383439 發表于 2018-8-6 17:38 | 只看該作者
daijun 發表于 2018-8-6 15:58
壇子里就有:http://www.zg4o1577.cn/bbs/dpj-44575-1.html

壇子里的討論沒有說到具體的方法
回復

使用道具 舉報

5#
ID:7485 發表于 2018-8-6 18:56 | 只看該作者
本帖最后由 ahshmj 于 2018-8-6 18:59 編輯

看不懂你說的是什么?“三個四位的數碼管”?

如果就一個數碼管(就顯示一位數)用一個595可以作為段驅動。如果有兩位或以上,就需要兩片595,一個做段驅動,一個做位驅動。
如果你是“三個四位的數碼管”我可以理解成3*4=12個數碼管,如果是這樣,你就需要3片595,一片段驅動,兩片位驅動(級聯)。
回復

使用道具 舉報

6#
ID:273583 發表于 2018-8-6 20:42 | 只看該作者
弄懂74HC595,看這里,本人在學習中整理。其實,理解74HC595,記住它可以 鎖存 數據,這樣 就理解了!前一秒比如用P1口送出數據到74HC595(U1), 鎖存;下一個秒用同一個P1口送到74HC595(U2);分時輸出,這樣就理解了

74HC595的中文資料-主要是針對時序圖.docx

312.2 KB, 下載次數: 41

回復

使用道具 舉報

7#
ID:273583 發表于 2018-8-6 20:43 | 只看該作者
若想更明白 ,可以看 云龍單片機  ---點陣部分,講的 透徹!
回復

使用道具 舉報

8#
ID:383652 發表于 2018-8-7 08:34 | 只看該作者
這個網上一搜一堆程序吧
回復

使用道具 舉報

9#
ID:285686 發表于 2018-8-7 11:37 | 只看該作者
我發一個完整的程序,看一下就明白了。可以直接用
  1. #include <AT89X51.H>

  2. unsigned char code fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  3. unsigned char code segbit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
  4. unsigned char  disbuf[8]={0,0,0,0,0,0,0,0};


  5. //-----------------------------------------------------------------------------
  6. // 函數原形定義
  7. #define uchar unsigned char

  8. void main (void);                                        // 主函數
  9. void LED4_Display (void);                        // LED顯示
  10. void LED_OUT(uchar X);                                // LED單字節串行移位函數

  11. unsigned char code LED_0F[];                // LED字模表

  12. sbit DIO = P1^0;                                //串行數據輸入
  13. sbit RCLK  = P1^1;                                //時鐘脈沖信號——上升沿有效
  14. sbit SCLK = P1^2;                                //打入信號————上升沿有效

  15. //-----------------------------------------------------------------------------
  16. // 全局變量
  17. uchar LED[8];        //用于LED的8位顯示緩存


  18. //*****************************************************************************
  19. // 主程序
  20. //
  21. void main (void)
  22. {

  23.         LED[0]=1;
  24.         LED[1]=2;
  25.         LED[2]=3;
  26.         LED[3]=4;
  27.         LED[4]=5;
  28.         LED[5]=6;
  29.         LED[6]=7;
  30.         LED[7]=8;

  31.         while(1)
  32.         {
  33.                 LED4_Display ();
  34.         }
  35. }

  36. void LED4_Display (void)
  37. {
  38.         unsigned char code *led_table;          // 查表指針
  39.         uchar i;
  40.         //顯示第1位
  41.         led_table = LED_0F + LED[0];
  42.         i = *led_table;

  43.         LED_OUT(i);                       
  44.         LED_OUT(0x01);               

  45.         RCLK = 0;
  46.         RCLK = 1;
  47.         //顯示第2位
  48.         led_table = LED_0F + LED[1];
  49.         i = *led_table;

  50.         LED_OUT(i);               
  51.         LED_OUT(0x02);               

  52.         RCLK = 0;
  53.         RCLK = 1;
  54.         //顯示第3位
  55.         led_table = LED_0F + LED[2];
  56.         i = *led_table;

  57.         LED_OUT(i);                       
  58.         LED_OUT(0x04);       

  59.         RCLK = 0;
  60.         RCLK = 1;
  61.         //顯示第4位
  62.         led_table = LED_0F + LED[3];
  63.         i = *led_table;

  64.         LED_OUT(i);                       
  65.         LED_OUT(0x08);               

  66.         RCLK = 0;
  67.         RCLK = 1;
  68.         //顯示第5位
  69.         led_table = LED_0F + LED[4];
  70.         i = *led_table;

  71.         LED_OUT(i);                       
  72.         LED_OUT(0x10);       

  73.         RCLK = 0;
  74.         RCLK = 1;
  75.         //顯示第6位
  76.         led_table = LED_0F + LED[5];
  77.         i = *led_table;

  78.         LED_OUT(i);                       
  79.         LED_OUT(0x20);       

  80.         RCLK = 0;
  81.         RCLK = 1;
  82.         //顯示第7位
  83.         led_table = LED_0F + LED[6];
  84.         i = *led_table;

  85.         LED_OUT(i);                       
  86.         LED_OUT(0x40);       

  87.         RCLK = 0;
  88.         RCLK = 1;
  89.         //顯示第8位
  90.         led_table = LED_0F + LED[7];
  91.         i = *led_table;

  92.         LED_OUT(i);               
  93.         LED_OUT(0x80);       

  94.         RCLK = 0;
  95.         RCLK = 1;
  96. }

  97. void LED_OUT(uchar X)
  98. {
  99.         uchar i;
  100.         for(i=8;i>=1;i--)
  101.         {
  102.                 if (X&0x80) DIO=1; else DIO=0;
  103.                 X<<=1;
  104.                 SCLK = 0;
  105.                 SCLK = 1;
  106.         }
  107. }

  108. unsigned char code LED_0F[] =
  109. {// 0         1          2           3        4         5          6           7        8         9          A           b        C    d          E    F    -
  110.         0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8C,0xBF,0xC6,0xA1,0x86,0xFF,0xbf
  111. };



復制代碼
回復

使用道具 舉報

10#
ID:101726 發表于 2018-8-13 12:10 | 只看該作者
danpianji3501 發表于 2018-8-6 20:43
若想更明白 ,可以看 云龍單片機  ---點陣部分,講的 透徹!

我下載了,在 016-LED點陣驅動原理及應用 沒有看到595啊介紹啊
回復

使用道具 舉報

11#
ID:384109 發表于 2018-8-13 13:46 | 只看該作者
laoguang 發表于 2018-8-13 12:10
我下載了,在 016-LED點陣驅動原理及應用 沒有看到595啊介紹啊

你需要看595的數據手冊,595是串行數據輸入,并行數據輸出,8個輸出引腳,數碼管一般說的是8段的數碼管,就是顯示一個8字加小數點。多位的數碼管一般用動態顯示的方式驅動,可以找動態顯示的資料。如果使用595連接數碼管的段引腳,那就需要一個其他的芯片連接數碼管的位引腳。595主要是用來減少使用單片機引腳的數量。
回復

使用道具 舉報

12#
ID:340820 發表于 2018-8-13 15:08 | 只看該作者
Q0--Q7: 八位并行輸出端,可以直接控制數碼管的8個段。
Q7': 級聯輸出端。將它接下一個595的DS端。
DS: 串行數據輸入端,級聯的話接上一級的Q7'。
回復

使用道具 舉報

13#
ID:111634 發表于 2018-8-13 18:31 | 只看該作者
本帖最后由 zl2168 于 2018-8-14 17:59 編輯

介紹你幾個參考案例,自己去對照研究。
實例59  74LS595串行選通8LED數碼管動態顯示
實例59 74LS595×2選通8位LED動態顯示.rar (45.12 KB, 下載次數: 45)
Proteus仿真一下,確認有效。

以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設計有詳細說明,程序語句條條有注解。
回復

使用道具 舉報

14#
ID:383439 發表于 2018-8-16 14:24 | 只看該作者
ahshmj 發表于 2018-8-6 18:56
看不懂你說的是什么?“三個四位的數碼管”?

如果就一個數碼管(就顯示一位數)用一個595可以作為段驅 ...

是總共十二個數碼管把讀取到的數字動態顯示,用三個74hc595能做到嗎?
回復

使用道具 舉報

15#
ID:386381 發表于 2018-8-16 17:50 來自手機 | 只看該作者
看595PDF有詳細介紹,典型應用電路
回復

使用道具 舉報

16#
ID:386692 發表于 2018-8-16 21:13 | 只看該作者
Bryant1 發表于 2018-8-16 14:24
是總共十二個數碼管把讀取到的數字動態顯示,用三個74hc595能做到嗎?

兩只595控12個com,一只595控ABCDEFGH,不過估計動態顯示效果一般。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲九九精品 | 欧美久久电影 | 成人免费av在线 | 精品九九在线 | 亚洲一区二区三区在线 | 欧美一区二区三区一在线观看 | 亚洲电影一区二区三区 | 亚洲精彩免费视频 | 欧美激情99 | 99精品热视频 | 久久福利网站 | 国产乱码精品1区2区3区 | 日韩中文字幕免费在线观看 | 麻豆久久| 国产在线观看不卡一区二区三区 | 国产精品日韩欧美 | 亚洲精品99 | 中文字幕一区二区三区精彩视频 | 免费午夜视频在线观看 | 在线高清免费观看视频 | 四虎成人av | 久久综合狠狠综合久久综合88 | 国产午夜精品一区二区三区嫩草 | 黄色网址在线免费观看 | 日韩成人国产 | 精品综合网 | 91精品国产综合久久久久久首页 | 国产无人区一区二区三区 | 亚洲第一视频网站 | 国产成人网 | 欧美日韩国产不卡 | 久久久婷 | 男人av在线播放 | 精品一区二区三区在线观看国产 | 一级欧美日韩 | 亚洲国产精品一区二区第一页 | 欧美91| 亚洲精品国产成人 | 黄网址在线观看 | 久草在线 | 韩日在线观看视频 |