[学习资料] 74HC59驱动数码管方法

[复制链接]
 楼主| mintspring 发表于 2025-1-23 11:07 | 显示全部楼层 |阅读模式

先看手册,通过上升沿移位和搬移字节。
所以要用到上升沿

如果级联可以这样
数据会先进入位码的芯片,再进入段码的芯片。
由于是移位寄存器,因此先进入的数据位会移动到最后那个段码里,所以在程序中是先给8位的段码数据,后给8位的位码数据,最后传输完16位的段码与位码数据后再执行将移位寄存器的数据整体搬移到存储寄存器,以显示新的数据。
该芯片显示数码管非静态显示,因此需要不停的执行,每次显示1个数码管,一共八个,循环显示,视觉上就像一直在点亮一样。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mintspring 发表于 2025-1-23 11:10 | 显示全部楼层

为什么低电平也可以呢?
其实初始化IO的时候默认都是低电平,所以在上面的低电平发生前已经发生了一个上升沿了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mintspring 发表于 2025-1-23 11:10 | 显示全部楼层
所以采用下面的写法效果也是一样的,而且更容易理解
  1. /**************** 向HC595发送一个字节函数 ******************/
  2. void Send_595(u8 dat)
  3. {
  4.     u8  i;
  5.     for(i=0; i<8; i++)
  6.     {
  7.         dat <<= 1;
  8.         P_HC595_SER   = CY;
  9.         P_HC595_SRCLK = 0;
  10.         P_HC595_SRCLK = 1;
  11.     }
  12. }

  13. /********************** 显示扫描函数 ************************/
  14. void DisplayScan(void)
  15. {
  16.     Send_595(t_display[LED8[display_index]]);   //输出段码
  17.     Send_595(~T_COM[display_index]);            //输出位码

  18.     P_HC595_RCLK = 0;
  19.     P_HC595_RCLK = 1;
  20.     if(++display_index >= 8)    display_index = 0;  //8位结束回0
  21. }

  22. /********************** Timer0 1ms中断函数 ************************/
  23. void timer0 (void) interrupt 1
  24. {
  25.     DisplayScan();  //1ms扫描显示一位
  26.     B_1ms = 1;      //1ms标志

  27. }
 楼主| mintspring 发表于 2025-1-23 11:12 | 显示全部楼层
这是动态显示,而且需要MCU一直参与扫描过程。如果想让单片机解放出来可以使用类似MAX7219的驱动器,这样驱动器会自己扫描显示相关内容。
huangcunxiake 发表于 2025-1-23 14:42 | 显示全部楼层
GN1650 是2线串口共阴极8段4位/7*4位键盘扫描并带部分组合按键功能LED驱动控制专用电路。
zhuotuzi 发表于 2025-1-24 17:11 | 显示全部楼层
还没用过这种芯片呢,不知道好用不。
huahuagg 发表于 2025-1-25 11:46 | 显示全部楼层
看明白了,原来的是隐藏了一个低电平状态。
heisexingqisi 发表于 2025-1-25 11:47 | 显示全部楼层
之前注意到这个芯片 ,没用过,不知道如何用,这个贴讲解的非常好,懂了,原来可以级联啊,准备买几个玩玩。
wanduzi 发表于 2025-1-25 12:12 | 显示全部楼层
传输完16位的段码与位码数据后再执行将移位寄存器的数据整体搬移到存储寄存器,以显示新的数据。
wanduzi 发表于 2025-1-25 12:14 | 显示全部楼层
这种级联,最多可以级联多少个?
wanduzi 发表于 2025-1-25 12:14 | 显示全部楼层
级联太多不会影响速度吗?
wanduzi 发表于 2025-1-25 12:14 | 显示全部楼层
刷新率是不是和级联数量也有关系
lvuu 发表于 2025-2-28 23:42 | 显示全部楼层
移位寄存器通过时钟信号的上升沿来进行数据的移位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

302

主题

4962

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部

302

主题

4962

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部