树莓派资料
显示屏资料
系统下载
树莓派Pico
首页 动态 发帖 版块 我的
 退出
游客  
等级:
金币:
经验值:

树莓派RP2040使用74HC595四位数码管模块 Python资料

  8597 
 0
 2
趣    

一:数码管74HC595芯片介绍

此款数码管采用74HC595芯片能够将8位串行输入转化为并行输出(三态输出)的芯片,并且能够通过级联的方式进行拓展。芯片是由1个8bit移位寄存器、1个8bit存储寄存器、1个8bit的( 三态) 输出端口。(注:三态输出指的是 高电平(1)、低电平(0)、高阻态(Z)三种状态)当多个设备共用总线时,高阻态可用作来避免总线冲突,如如I2C、SPI总线中,从设备(Slave)在不通信时输出高阻抗。

ImageImage

DS:串行数据输入端口,与FPGA相连接,通过该端口将串行数据移入到移位寄存器当中,如果输入的数据超过8bit,如:输入了14bit数据,那么最前面输入的6bit数据将会通过Q7S输入到级联的另一块74HC595芯片中。


SHCP:移位寄存器时钟输入,上升沿时将串行数据移入到移位寄存器中。


STCP:存储寄存器时钟输入,上升沿时将移位寄存器中的数据移入到存储寄存器中。


OE(上划线):低电平有效,将存储寄存器中的数据通过Q0~Q7输出。


MR(上划线):低电平有效,复位端口。


静态数码管显示

        数码管对于初学者来说,可能最大的难题就是硬件的时序。此次以上数码管的相关知识,对模块实例化的意义、各个模块之间的关系有了认识,对testbench的实质有了更清晰的认知,也了解到了工程中时序的重要性。重点在于74HC595的STCP、SHCP以及串行输入数据(包括段选和位选)之间的时序逻辑。对于STCP主要注意锁存时机。SHCP则要把握对串行输入数据的采样时刻,注意建立时间和保持时间,RTL视图如下:

Image

仿真波形

Image

Image


6位8段数码管,需要6bit来位选,8bit来段选,也就是14bit的串行数据,通过74HC595芯片转换后并行输出到数码管。对sys_clk(50MHz)进行了4分频,得到了shcp(应该是74HC595最大工作频率达不到50MHz)。注意事项:shcp需要保证在ds的中间采样(满足建立时间和保持时间),stcp需要保证完成14个shcp后进行锁存输出。


二:硬件连接(实操)

以下我们以树莓派RP2040芯片的单片机为例来进行演示实际效果,首先将数码管与单片机进行连接。

树莓派Pico(RP2040)四位数码管模块
3.3VVCC
GNDGND
GP18SDI
GP17SCLK
GP16LOAO

Pico与数码管接线图:

Image


Pico引脚定义图:


二:Python程序源代码

代码功能介绍:分别测试一位至四位数字显示和滚动效果。运行代码后每次将GP0引脚接GND一次,就会触发四位数字滚动,然后随机显示一组四位数。(GP1引脚显示三位数,GP2引脚显示二位数,GP3引脚显示一位数)


四位数码管Python源代码


Image


运行代码后,引脚接一次GND可触发一组不同数字(GP0显示四位数,GP1显示三位数,GP2显示二位数,GP3显示一位数)



技术支持(对本页存在疑难问题可联系我们工程师)

联系人:张工
电话:0755-32914578
QQ:2251000002
微信:扫下方二维码添加,请备注来意

提供:人工智能,IOT物联网,工控数显,嵌入式软硬件开发,科创教育,产品定制,生产,方案解决...


标签:
作者签名:    楼主  2025-08-16 13:29:23
回复列表
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权
您的IP: 18.97.9.171 , 2025-11-12 19:26:01
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权