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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
12
返回列表 發(fā)新帖
樓主: asdadqw2
打印 上一主題 下一主題
收起左側(cè)

用5個74hc595芯片級聯(lián),控制27位數(shù)碼管,數(shù)碼管顯示閃爍問題

  [復制鏈接]
回帖獎勵 10 黑幣 回復本帖可獲得 10 黑幣獎勵! 每人限 1 次(中獎概率 50%)
41#
ID:384109 發(fā)表于 2024-4-15 15:34 | 只看該作者
看代碼,你是對595的使用有誤解吧
回復

使用道具 舉報

42#
ID:33145 發(fā)表于 2024-4-15 15:49 | 只看該作者
yqs138168 發(fā)表于 2024-4-15 15:26
看看我的程序,新思路,與你的寫法不一樣,效率高很多

還有一種方案,使用專用顯示驅(qū)動芯片,例如MAX7219
回復

使用道具 舉報

43#
ID:33145 發(fā)表于 2024-4-15 15:58 | 只看該作者
數(shù)碼管仿真模型參數(shù)修改

數(shù)碼管仿真模型參數(shù)修改.jpg (142.7 KB, 下載次數(shù): 238)

數(shù)碼管仿真模型參數(shù)修改.jpg
回復

使用道具 舉報

44#
ID:213173 發(fā)表于 2024-4-15 17:04 | 只看該作者
給你一個仿真示例,如果實物效果不好就按10樓建議處理,以留給主函數(shù)足夠時間運行其它代碼。




  1. #include <reg51.H>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. #define ulong unsigned long
  5. sbit P_HC595_SER   = P2^0;
  6. sbit P_HC595_SRCLK = P2^1;
  7. sbit P_HC595_RCLK  = P2^2;
  8. sbit A0=P2^3;
  9. sbit B0=P2^4;
  10. sbit C0=P2^5;
  11. uchar code table[]={
  12. // 0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
  13.   0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,
  14. //  G   H    J    K    L    M    N    o    P     Q    r   t   
  15.   0x3d,0x76,0x1E,0x70,0x38,0x37,0x54,0x5C,0x73,0x67,0x50,0x78};
  16. ulong num=0xfffffffe;
  17. bit flag;//標志

  18. /**************** 向HC595發(fā)送一個字節(jié)函數(shù) ******************/
  19. void Send_595(uchar dat)
  20. {               
  21.         uchar i;
  22.         for(i=0;i<8;i++)
  23.         {
  24.                 dat <<= 1;
  25.                 P_HC595_SER  = CY; //溢出位賦值數(shù)據(jù)輸出端
  26.                 P_HC595_SRCLK = 1; //移位時鐘
  27.                 P_HC595_SRCLK = 0;
  28.         }
  29. }
  30. /**************** 向HC595發(fā)送5個字節(jié)驅(qū)動碼 ******************/
  31. void DisplayScan()
  32. {       
  33.         static uchar i;

  34.         Send_595(num>>24);//向HC595發(fā)送位碼
  35.         Send_595(num>>16);//向HC595發(fā)送位碼
  36.         Send_595(num>>8);//向HC595發(fā)送位碼
  37.         Send_595(num);   //向HC595發(fā)送位碼
  38.         Send_595(table[i]);//向HC595發(fā)送段碼
  39.         P_HC595_RCLK = 1;//鎖存輸出數(shù)據(jù)
  40.         P_HC595_RCLK = 0;
  41.         num=num<<1|0x01;
  42.         if(++i>=27)
  43.         {
  44.                 num=0xFFFFFFFE;
  45.                 i=0;
  46.         }
  47. }

  48. void InitTimer0(void)//740us
  49. {
  50.     TMOD = 0x01;
  51.     TH0 = 0x0FD;
  52.     TL0 = 0x1C;
  53.     EA = 1;
  54.     ET0 = 1;
  55.     TR0 = 1;
  56. }

  57. void main()
  58. {
  59.         P_HC595_SRCLK = 0;//初始化移位時鐘端
  60.         P_HC595_RCLK  = 0;//初始化鎖存輸出端
  61.         InitTimer0();
  62.         while(1)
  63.         {
  64.                 if(flag)
  65.                 {
  66.                         flag=0;
  67.                         DisplayScan();
  68.                         //其它程序
  69.                 }
  70.         }
  71. }
  72. void Timer0Interrupt(void) interrupt 1
  73. {
  74.         TH0 = 0xFD;
  75.         TL0 = 0x1C;
  76.         flag=1;
  77. }
復制代碼




回復

使用道具 舉報

45#
ID:57657 發(fā)表于 2024-4-16 08:48 | 只看該作者
27個數(shù)碼管每個8段共有216段,使用16行16列掃描只需要4個74HC595 最多驅(qū)動256個點陣(16*16或32*8)或32位8段數(shù)碼管。
如果單片機有16個IO口空閑,那么只需要2片74HC595就能驅(qū)動,32個IO口空閑一片都不需要(需要IO口支持強推挽模式)。
仿真的動態(tài)掃描閃爍可以調(diào)整 Minimum Trigger Time 的毫秒?yún)?shù),具體是否閃爍需要實物驗證。
回復

使用道具 舉報

46#
ID:332444 發(fā)表于 2024-4-16 09:17 | 只看該作者
很簡單的,取消延時語句,測量時間是多少,若時間剛好則可取消延時,若還是時間過多則要考慮修改電路。
回復

使用道具 舉報

47#
ID:298743 發(fā)表于 2024-4-16 16:29 | 只看該作者
yqs138168 發(fā)表于 2024-4-15 15:21
24個共陰數(shù)碼管+5個74HC595,仿真軟件為Proteus8.11版本,,,可以正常顯示。

真是奇怪了,我將你的8位一組數(shù)碼管換成兩個四位一組的數(shù)碼管就顯示不出來了
回復

使用道具 舉報

48#
ID:298743 發(fā)表于 2024-4-16 19:06 | 只看該作者
神奇,把long拆分成4個unchar ,12MHZ現(xiàn)在又可以了,之前要用到33MHZ才可以的
回復

使用道具 舉報

49#
ID:292903 發(fā)表于 2024-7-27 01:11 | 只看該作者
zhuls 發(fā)表于 2024-4-13 09:23
switch(i) //逐位輸入數(shù)據(jù)
        {
        case 0:

哈哈,我也是這樣覺得的,第一眼都看麻了
回復

使用道具 舉報

50#
ID:619259 發(fā)表于 2024-7-27 12:55 | 只看該作者
xiaobendan001 發(fā)表于 2024-4-13 07:12
595不是有控制端嗎?怎么還消隱?164才需要消隱吧。我用2片595級聯(lián)輸出,發(fā)現(xiàn)市場上大部分595都不能用,只 ...

一、消隱與否,是數(shù)碼管決定,而不是芯片決定。凡是使用動態(tài)掃描的多位數(shù)碼管顯示,都必須消隱。HC164因芯片內(nèi)部無鎖存功能,在聯(lián)級驅(qū)動數(shù)碼管時只能通過復位端清零來實現(xiàn)消隱,屬于硬件消隱。HC595內(nèi)部有鎖存功能,可以采用軟件消隱,即通過程序關段電平或位電平的方法,也可以采用硬件消隱,即通過復位端清零來實現(xiàn)消隱,但得多用一個IO口。
二、“市場上大部分595都不能用”,這樣的結(jié)論過于草率,在做案例時遇到問題,應該先考慮程序的問題。我個人做了很多學生競賽的題目,多次購買并使用了很多的595芯片,驅(qū)動流水燈、數(shù)碼管、LED點陣等,未遇到595損壞不能用的情況。
回復

使用道具 舉報

51#
ID:1109793 發(fā)表于 2024-7-27 15:08 | 只看該作者
cy009 發(fā)表于 2024-7-27 12:55
一、消隱與否,是數(shù)碼管決定,而不是芯片決定。凡是使用動態(tài)掃描的多位數(shù)碼管顯示,都必須消隱。HC164因 ...

可能還是我水平太菜,嘗試各種方法,不好使的就是不好使。只用一片都沒有問題。級聯(lián)就各種奇怪現(xiàn)象。用價格較高的就沒問題。實際上在嘉立創(chuàng)買過一種,那個LOGO我以前沒用過,也就那樣吧。級聯(lián)偶爾也會出現(xiàn)不該有的輸出跳動一下。
回復

使用道具 舉報

52#
ID:491577 發(fā)表于 2024-7-29 12:06 | 只看該作者
595的額定電流為35ma,大部分應用都是不加限流電阻的,所以595位電流是大于35ma的,短時間不斷刷595是沒有問題的,如果因為程序卡住595刷新不及時造成某一位長時間超電流導通就會燒595,樓主發(fā)現(xiàn)數(shù)碼管閃爍就是刷新不及時的表現(xiàn),樓主的程序效率太低,無法及時刷新595造成的,要改程序提高效率。如果樓主在8個595段碼腳加上300歐姆以上的限流電阻保證大部分595都好用了。595數(shù)據(jù)可以同步刷新所以不需要消隱。
回復

使用道具 舉報

53#
ID:1110448 發(fā)表于 2024-7-29 14:46 | 只看該作者
27位8段是216段,開方是14.9,不用開方也知道接近256,就是16*16,所以用4片就可以了;
如果不想用4片,也要用少的行列值分頻吧,,用8C * 32S 可以降低要求了,其實總數(shù)據(jù)量是差不多的,只是降低了中斷次數(shù)
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av先锋资源 | 欧美日韩在线一区二区三区 | 四色永久| 欧美一级黑人aaaaaaa做受 | 免费一级大片 | 伊人伊成久久人综合网站 | 午夜久久久久久久久久一区二区 | 最近中文字幕免费 | 国产第一区二区 | 成人精品| av一二三区 | 久久噜噜噜精品国产亚洲综合 | 成人在线视频免费观看 | 国产偷录视频叫床高潮对白 | 久久久久免费 | 美国黄色一级片 | 一区二区三区四区国产 | 国产亚洲精品区 | 久久久网 | 久久久.com | 国产精品久久久久久久久免费高清 | www.日韩在线 | 激情欧美日韩一区二区 | 国产精品久久影院 | 国产精品久久久久久久久久免费看 | www.99精品 | 色噜噜狠狠色综合中国 | 天堂成人国产精品一区 | 男人天堂久久久 | 成人免费在线视频 | 亚洲中字在线 | 青青操91 | 看羞羞视频免费 | 91高清免费 | 欧美日韩视频在线播放 | 99热这里有精品 | 免费视频二区 | 日韩欧美视频网站 | 日韩精品一区二区三区中文在线 | 日韩日韩日韩日韩日韩日韩日韩 | 天天爽夜夜爽精品视频婷婷 |